新聞中心
數據庫系統(tǒng)是現(xiàn)代信息技術中的重要組成部分,其廣泛應用于各個領域,如銀行、證券、電信、醫(yī)療,甚至是互聯(lián)網中的網絡購物和社交等。數據庫系統(tǒng)的設計與實現(xiàn)直接關系到應用程序的性能和可靠性,因此對于數據庫的理解與掌握顯得特別重要。本文將從源碼解析的角度出發(fā),深入分析數據庫系統(tǒng)的基本概念與實現(xiàn)原理。

公司主營業(yè)務:成都網站設計、成都網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出尖山免費做網站回饋大家。
一、數據庫系統(tǒng)概述
數據庫系統(tǒng)是一種通過計算機技術來組織、管理和存取數據的系統(tǒng),它是數據管理科學的基礎。數據庫系統(tǒng)提供了一種高效、安全、可靠的數據管理方式,能夠對數據進行有效管理,從而為各種應用程序提供數據支持。
從功能上來看,一個完善的數據庫系統(tǒng)具有以下特點:
1.數據可持續(xù)性:數據以文件的形式存放在磁盤中,并具有持久性,即使系統(tǒng)崩潰也不會丟失。
2.數據共享和并發(fā)控制:不同的用戶可以同時訪問和共享數據,并且系統(tǒng)能夠保證數據的完整性和隔離性。
3.數據安全:通過用戶、權限、密碼等方式對數據進行管理和控制,保障數據的安全性和可靠性。
4.數據完整性:保證數據的一致性和正確性,防止數據損壞和丟失。
5.數據查詢:提供方便快捷的數據查詢和檢索方式,滿足不同用戶的需求。
二、數據庫系統(tǒng)概念
1.數據模型:數據模型是客觀世界的抽象模型,它用一組數據結構、數據操作及約束條件對客觀世界進行描述。在數據庫系統(tǒng)中,數據模型是一種數據結構規(guī)范,它定義了數據的表示方式和操作方式。常見的數據模型有關系型數據模型、面向對象數據模型等。
2.數據結構:數據結構是一種組織和存儲數據的方式,它定義了數據元素之間的關系和操作方式。在數據庫系統(tǒng)中,數據結構包括數據表、索引、視圖等。
3.數據查詢語言:數據查詢語言是一種用來查詢和操作數據的語言,它分為結構化查詢語言(SQL)和非結構化查詢語言(NoSQL)。SQL是一種關系型數據庫查詢語言,它在數據庫系統(tǒng)中廣泛應用。NoSQL是一種非關系型數據庫查詢語言,它用于處理大數據,分布式存儲等方面。
4.事務:事務是一系列操作的邏輯單元,它是數據庫系統(tǒng)保持一致性、隔離性、持久性的基本方式。事務分為四個屬性(ACID):原子性,一致性,隔離性和持久性。
5.并發(fā)控制:并發(fā)控制是數據庫系統(tǒng)中重要的問題之一,它的目的是使得多個用戶同時訪問同一個數據庫時,保證數據的完整性和隔離性,避免數據沖突和混亂。并發(fā)控制主要采用鎖和MVCC等技術來實現(xiàn)。
三、數據庫系統(tǒng)的源碼解析
數據庫系統(tǒng)的源碼解析是深入理解數據庫系統(tǒng)概念的必要途徑之一。以下是數據庫系統(tǒng)的部分源碼解析。
1.PostgreSQL源碼
PostgreSQL是一種開源的、功能強大的關系型數據庫管理系統(tǒng),它的源代碼完全公開。PostgreSQL的源碼十分龐大,包含了大量的模塊、函數、宏等。其中,最核心的部分是存儲引擎(Storage Engine)和查詢處理器(Query Processor)。
2.MySQL源碼
MySQL是一種流行的開源關系型數據庫管理系統(tǒng),它的源代碼也是完全公開的。MySQL的源代碼包括服務器和客戶端代碼,其中服務器代碼包括存儲引擎、查詢處理器、安全性管理等模塊。存儲引擎是數據庫系統(tǒng)的核心部分,MySQL支持多種存儲引擎,包括InnoDB、MyISAM等。
四、
通過源碼解析,我們可以更深入地理解數據庫系統(tǒng)的概念和實現(xiàn)原理。數據庫系統(tǒng)是現(xiàn)代信息技術中的重要組成部分,它的設計和實現(xiàn)直接影響到應用程序的性能和可靠性。因此,對于數據庫系統(tǒng)的理解和掌握非常關鍵。
未來,數據庫系統(tǒng)將繼續(xù)面臨新的挑戰(zhàn)與機遇,如:大數據、云計算、等,這些都需要數據庫系統(tǒng)不斷進行優(yōu)化、升級和擴展。想要學好數據庫這一門技術,就必須要掌握好其基本概念和實現(xiàn)原理,同時需要深入學習數據庫系統(tǒng)的源碼,以求更好地理解和掌握數據庫系統(tǒng)。
成都網站建設公司-創(chuàng)新互聯(lián)為您提供網站建設、網站制作、網頁設計及定制高端網站建設服務!
(高分)急求連接數據庫的JAVA學生信息管理系統(tǒng)源代碼
你要連的數據庫是SQL 還是ORACLE
但是代碼都查不多
下面的是連接SQL數據庫的代碼
你需要先創(chuàng)建個數據庫,還有表,表的字段是登陸名和密碼
下面的”SA” 是登陸名 “111111” 是密碼
ORACLE 和這個查不多
import java.sql.*;//做數據庫時候必須要引入的包
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
public class DBFactory {
Connection Conn=null;
PreparedStatement Stmt=null;
ResultSet Rs=null;
String driverName=”com.microsoft.jdbc.sqlserver.SQLServerDriver”;
String OracleUserName=”sa”;
String OracleUserPwd=”111111″;
String ConnUrl=”jdbc:
public Connection getConnection()
{
try {
Class.forName(driverName);
} catch (ClassNotFoundException ex) {
System.out.println(“加載驅動程序有錯誤”);
}
try {
Conn = DriverManager.getConnection(ConnUrl, OracleUserName,OracleUserPwd);
} catch (SQLException ex1) {
System.out.print(“取得仿陸連接的時候有錯誤,請核對用戶名和密碼”);
}
return Conn;
}
這個是連接ORACLE數據庫代碼
import java.sql.*;
import oracle.jdbc.driver.OracleDriver;
public class DBFactory {
Connection Conn=null;
PreparedStatement Stmt=null;
ResultSet Rs=null;
String driverName=”oracle.jdbc.driver.OracleDriver”;
String OracleUserName=”scott”;
String OracleUserPwd=”tiger”;
String ConnUr1=”jdbc:oracle:thin:@locahost:1521:Ora”;
public Connection getConnection()
{
try {
Class.forName(driverName);
} catch (ClassNotFoundException ex) {
System.out.println(“加載驅動程序有錯誤”);
}
try {
Conn = DriverManager.getConnection(ConnUr1, OracleUserName,OracleUserPwd);
} catch (SQLException ex1) {
System.out.print(“取得連接時有錯誤,備啟頃旁核請核對用戶名和密碼”);
}
return Conn;
}
希望能追加分數謝謝!
數據庫連接(Connection)者首
數據庫連接
獲取數據庫連接有兩種方法,一種是通過驅動程序管理器DriverManager類,另一種則是使用DataSource接口。這兩種方法都提供了了一個getConnection方法,用戶可以在程序中對它們進行相應處理后調用這個方猜山法來返回數據庫連接。
? DriverManager類
? DataSource接口
? Connection接口
? JDBC URL
jdbc::
?穗嫌中 驅動程序注冊方法
(1)調用Class.forName方法
(2)設置jdbc.drivers系統(tǒng)屬性
? DriverManager方法
DriverManager類中的所有方法都是靜態(tài)方法,所以使用DriverManager類的方法時,不必生成實例。
DriverManager
? getConnection方法
作用是用于獲取數據庫連接,原型如下:
public static Connection getConnection(String url)
throws SQLException;
public static Connection getConnection(String url, String user, String password)
throws SQLException;
public static Connection getConnection(String url, Properties info)
throws SQLException;
? 使用DriverManager的getConnetion方法
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection conn = DriverManager.getConnection
(“jdbc:odbc:sqlserver”, “sa”, “sa”);
? 使用設置jdbc.drivers系統(tǒng)屬性的方法
java -Djdbc.drivers=sun.jdbc.odbc.JdbcOdbcDriver test.java
DataSource 接口
……
//從上下文中查找數據源,并獲取數據庫連接
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(“sqlserver”);
Connection conn = ds.getConnection();
//查詢數據庫中所有記錄
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“SELECT * FROM student”);
……
Connection 接口
Connection接口代表了已經建立的數據庫連接,它是整個JDBC的核心內容。Connnection接口中的方法按照它們所實現(xiàn)的功能,可以分為三類:
? 生成數據庫語句
? 管理數據庫事務
? 獲取數據庫信息
生成數據庫語句
JDBC將數據庫語句分成三種類型 :
? 生成Statement 語句 :
Connection.createStatement()
? 生成PreparedStatement 語句 :
Connection. prepareStatement()
? 生成CallableStatement 語句 :
Connection. prepareCall ()
管理數據庫事務
? 默認情況下,JDBC將一條數據庫語句視為一個完整的事務??梢躁P掉默認事務管理:
public void setAutoCommit(Boolean autoCommit) throws SQLException;
將autoCommit的值設置為false,就關掉了自動事務管理模式
? 在執(zhí)行完事務后,應提交事務:
public void commit() throws SQLException;
? 可以取消事務:
public void rollback() throws SQLException;
第二講 第四部分
數據庫語句
數據庫語句
JDBC數據庫語句共有三種類型:
? Statement:
Statement語句主要用于嵌入一般的SQL語句,包括查詢、更新、插入和刪除等等。
? PreparedStatement:
PreparedStatement語句稱為準備語句,它是將SQL語句中的某些參數暫不指定,而等到執(zhí)行時在統(tǒng)一指定。
? CallableStatement:
CallableStatement用于執(zhí)行數據庫的存儲過程。
Statement 語句
? executeQuery方法
? executeUpdate方法
? execute方法
? close方法
executeQuery方法
? executeQuery方法主要用于執(zhí)行產生單個結果集的SQL查詢語句(QL),即SELECT語句。executeQuery方法的原型如下所示:
? public ResultSet executeQuery(String sql) throws SQLException;
executeUpdate方法
? executeUpdate方法主要用于執(zhí)行 INSERT、UPDATE、DELETE語句,即SQL的數據操作語句(DML)
? executeUpdate方法也可以執(zhí)行類似于CREATE TABLE和DROP TABLE語句的SQL數據定義語言(DDL)語句
? executeUpdate方法的返回值是一個整數,指示受影響的行數(即更新計數)。而對于CREATE TABLE 或 DROP TABLE等并不操作特定行的語句,executeUpdate的返回值總為零。
execute方法
execute方法用于執(zhí)行:
? 返回多個結果集
? 多個更新計數
? 或二者組合的語句
execute方法
? 返回多個結果集:首先要調用getResultSet方法獲得之一個結果集,然后調用適當的getter方法獲取其中的值。要獲得第二個結果集,需要先調用getMoreResults方法,然后再調用getResultSet方法。
? 返回多個更新計數:首先要調用getUpdateCount方法獲得之一更新計數。然后調用getMoreResults,并再次調用getUpdateCount獲得后面的更新計數。
? 不知道返回內容:如果結果是ResultSet對象,則execute方法返回true;如果結果是int類型,則意味著結果是更新計數或執(zhí)行的語句是DDL命令。
execute方法
為了說明如果處理execute方法返回的結果,下面舉一個代碼例子:
stmt.execute(query);
while (true) {
int row = stmt.getUpdateCount();
//如果是更新計數
if (row > 0) {
System.out.println(“更新的行數是:” + row);
stmt.getMoreResults();
continue;
}
execute方法
//如果是DDL命令或0個更新
if (row == 0) {
System.out.println(“沒有更新,或SQL語句是一條DDL語句!”);
stmt.getMoreResults();
continue;
}
//如果是一個結果集
ResultSet rs = stmt.getResultSet;
if (rs != null) {
while (rs.next()) {
// 處理結果集
. . .
}
stmt.getMoreResults();
continue;
}
break;
}
PreparedStatement 語句
登錄一個網站或BBS時 :
? 使用Statement語句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery
(“SELECT password FROM userinfo
WHERE id=userId”);
? 使用PreparedStatement語句
PreparedStatement pstmt=conn.prepareStatement
(“SELECT password FROM userinfo
WHERE id=?”);
pstmt.setString(1, userId);
PreparedStatement語句
? 常用的setter方法
public void setBoolean(int parameterIndex, boolean x) throws SQLException;
public void setByte(int parameterIndex, byte x) throws SQLException;
public void setShort(int parameterIndex, short x) throws SQLException;
public void setInt(int parameterIndex,int x) throws SQLException;
public void setLong(int parameterIndex, long x) throws SQLException;
public void setFloat(int parameterIndex, float x) throws SQLException;
public void setDouble(int parameterIndex, double x) throws SQLException;
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException;
public void setString(int parameterIndex, String x) throws SQLException;
public void setBytes(int parameterIndex, byte x) throws SQLException;
public void setDate(int parameterIndex, Date x) throws SQLException;
public void setTime(int parameterIndex, Time x) hrows SQLException;
public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException;
PreparedStatement語句
? PreparedStatement接口是由Statement接口擴展而來的,重寫了executeQuery方法、executeUpdate方法和execute 方法
? public ResultSet executeQuery() throws SQLException
? public int executeUpdate() throws SQLException
? public boolean execute() throws SQLException
CallableStatement語句
? CallableStatement語句是由Connection接口的prepareCall方法創(chuàng)建的,創(chuàng)建時需要傳入字符串參數,參數的形式為:
? {call procedure_name}
? {? = call procedure_name}
? {call procedure_name}
CallableStatement語句
? 其中的問號是參數占位符,參數共有兩種:
? IN參數
? OUT參數
? IN參數使用setter方法來設置
? OUT參數則使用registerOutParameter方法來設置
CallableStatement 語句
CallableStatement cstmt = con.prepareCall
(“{call getTestData(?, ?)}”);
cstmt.registerOutParameter
(1, java.sql.Types.TINYINT);
cstmt.registerOutParameter
(2, java.sql.Types.DECIMAL, 3);
cstmt.executeQuery();
byte x = cstmt.getByte(1);
java.math.BigDecimal n =
cstmt.getBigDecimal(2, 3);
第二講 第五部分
結 果 集
結果集
? JDBC為了方便處理查詢結果,又專門定義了一個接口,這個接口就是ResultSet接口。ResultSet接口提供了可以訪問數據庫查詢結果的方法,通常稱這個接口所指向的對象為結果集。
? 有兩種方法得到結果集,一種是直接執(zhí)行查詢語句,將結果存儲在結果集對象上;另一種是不存儲返回結果,而在需要時調用數據庫語句的getResultSet方法來返回結果集
結果集
? 結果集指針
由于返回的結果集可能包含多條數據記錄,因此ResultSet 接口提供了對結果集的所有數據記錄輪詢的方法。結果集自動維護了一個指向當前數據記錄的指針,初始時這個指針是指向之一行的前一個位置。 next 方法就是用于向前移動指針的
結果集
? 結果集屬性
默認情況下,結果集是一個不可更新集,并且結果集的指針也只能向前移動。也就是說,在得到了一個結果集之后,用戶只能按照從之一條記錄到最后一條記錄的順序依次向后讀取,而不能跳到任意條記錄上,也不能返回到前面的記錄。不僅如此,結果集的這種輪詢只能進行一次,而不能再將指針重置到初始位置進行多次輪詢
結果集
? 結果集屬性
類型
并發(fā)性
有效性
? 屬性的設置是在生成數據庫語句時通過向生成方法傳入相應的參數設定的,而當結果集已經返回時就不能夠再改變它的屬性了。
結果集生成Statement語句共有三種方法
public Statement createStatement() throws SQLException;
public Statement createStatement
(int resultSetType, int resultSetConcurrency)
throws SQLException;
public Statement createStatement
(int resultSetType, int resultSetConcurrency,
int resultSetHoldability)
throws SQLException;
結果集
? 生成PreparedStatement語句共有六種方法
public PreparedStatement prepareStatement(String sql) throws SQLException;
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
throws SQLException;
public PreparedStatement prepareStatement(String sql, int columnIndexes)
throws SQLException;
public PreparedStatement prepareStatement(String sql, int resultSetType,
int resultSetConcurrency)
throws SQLException;
public PreparedStatement prepareStatement(String sql, int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException;
public PreparedStatement prepareStatement(String sql. String columnNames)
throws SQLException;
結果集
? 生成CallableStatement語句共有三種方法
public CallableStatement prepareCall(String sql)
throws SQLException;
public CallableStatement prepareCall
(String sql, int resultSetType,
int resultSetConcurrency)
throws SQLException;
public CallableStatement prepareCall
(String sql, int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException;
結果集
結果集類型
? 結果集的類型共有三種,TYPE_FORWARD_ON類型的結果集只能向前移動指針,而TYPE_SCROLL_INSENSITIVE類型和TYPE_SCROLL_SENSITIVE類型的結果集則可以任意移動指針。后兩種類型的區(qū)別在于,前者對來自其它處的修改不敏感(靜態(tài)),而后者則對于別人的修改敏感(動態(tài)視圖)。
結果集
結果集類型
? 對于可以任意移動指針的結果集,可以用來移動指針的方法包括:
? next 和previous :
? absolute 和relative :參數可正可負
? afterLast 、beforeFirst 、last 和first :
結果集
結果集并發(fā)性
? 結果集的并發(fā)性共有兩種,CONCUR_READ_ON的結果集是只讀而不可更新的;而CONCUR_UPDATABLE的結果集則是可以通過update方法進行更新的。
? ResultSet接口提供了一組update方法,用于更新結果集中的數據。這些方法與PreparedStatement接口中定義的setter方法一樣,也是與類型相對應的。所有的update方法都以update開頭 。
? 所有的update方法都有兩個參數,之一個參數用于指定更新的列,它可以是列名稱也可以是列的序號;第二個參數則表示將要更新列的值。
結果集
結果集并發(fā)性
? Statement stmt = conn.createStatement
?(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
?ResultSet rs = stmt.executeQuery(“SELECT * FROM student ” +
?”WHERE grade=2 AND math>60 AND physics>60 AND ” +
?”chemistry>60 AND english>60 AND chinese>60″);
?while(rs.next()){
?rs.updateString(“grade”, “3”);
?rs.updateRow();
?}
結果集
結果集有效性
? 結果集的有效性是指在調用了Connection 接口的commit 方法后,結果集是否自動關閉。所以它只有兩個可選值,即HOLD_CURSORS_OVER_COMMIT 和CLOSE_CURSORS_AT_COMMIT 。前者表示調用commit 方法之后,結果集不關閉;而后者則表示關閉結果集。
結果結果集
? 結果集的getter方法
ResultSet接口還提供了一組getter方法,用于返回當前記錄的屬性值。它們都是以get開頭的,后接數據類型。比如,如果要返回一個float類型的列值,則應調用getFloat方法。每一種類型的getter方法都有兩種形式,它們的名稱相同而參數不同。這兩種形式的getter方法都只有一個參數,之一種形式的getter方法參數是String類型的,用于指定列的名稱;另外一種形式的getter方法參數則是int類型的,用于指定列的序號。
能夠看懂MySQL源碼是一種怎么樣的體驗?
首先mysql是c++開發(fā)的。
github地址:
很多大型軟件基本都是c/c++開發(fā)的。你會了c/c++基本就具備了領略程序世界的大門的鑰匙。
mysql是一個完善的數據庫軟件。
最上層:處理連接,授權認證,安全等
第二層:核心服務功能:查詢解析,分析,優(yōu)化,緩存以及所有內置函數(日期,時間,數據,加密等),
存儲過程
,觸發(fā)器,視圖等。
第三層:存儲引擎,存儲引擎負責mysql中數據的存儲和提取。每個引擎各有優(yōu)勢。服務器通過API與存儲引擎進行通信。接口屏蔽了不同引擎的差異,對上層的查詢過程透明。
你如果去讀它,你基本就可以深入到這些業(yè)務點中。然后獲取的提升絕對不是一星半點。你會發(fā)現(xiàn)開發(fā)一個web應用,開發(fā)一個
中間件
如此簡單。你獲取的是大神級工程師的開發(fā)思想,技巧。
舉個例子:MVCC ,innodb 隔離性實現(xiàn)的技術。
設計原理很簡單,也很巧妙。對
數據安全
和高并發(fā)做了平衡處理。
這個是單純學習
計算機語言
,算法
數據結構
給不了的體驗。
當前,你得能看的下去,你有那個恒心。吹牛逼就不要在這里問了?
首先,能看懂 MySQL 源碼的人物,我感覺肯定在技術上是一位大牛,能夠將 C/C++ 語言的 MySQL 源碼看懂,肯定也是一位非常有耐心的技術人,能夠耐著性子去專研。 如果能夠將知畝緩Mysql源碼研究的很透徹的話,我相信出去到大廠找數據庫內核開發(fā)的崗位時,絕對是一個非常巨大的優(yōu)勢。
能看懂 Mysql 的源碼,首先之一點需要對 C/C++ 語言的知識點非常的熟悉,因為 MySQL 底層幾乎都是 C/C++ 語言寫的,比如指針等。 對于 MySQL 源碼能夠看得的話,我相信在和別人談論數據庫相關的問題時,其實也會更加有專業(yè)性和深度,能夠快速的理解對方所說的數據庫問題。
同時,如果對 MySQL 源碼有著很深入了解的話,其實對于數據庫的相關配置優(yōu)化等也會掌握的更好,因為耐鋒你對底層原理了解的很透徹,對于自己做的每一件事情都是有理有搭模據。每個數據庫參數是什么含義,為什么要這樣設置,背后都有你自己的理解和原因。這對于公司來說,也是非常需要這樣的人才。
當初我
校招
的時候,其實準備想投數據庫開發(fā)相關的崗位,當時其實自己也自學過 MySQL 底層的原理(不過我沒有去研究過源碼)。 MySQL 最主要的還是底層可插拔式的存儲引擎,比如 InnoDB、MYISAM等,重點是 InnoDB存儲引擎。學習看 MySQL 源碼的話,我建議可以選擇其中一個模塊開始入手。
我剛開始看 《MySQL 技術內幕:InnoDB存儲引擎》 這本書的時候,上面講解的非常多的 MySQL InnoDB 的原理。先從原理知識入手,再去看源碼會更加好一些,因為你掌握了整體的代碼邏輯方向。說實話直接上手看 MySQL 源碼,將會是很難的一件事情。我相信那些能夠看懂 MySQL 源碼的人,肯定在看源碼之前,有一定的技術知識儲備。
新同學在去研究某一門開源技術組件的源碼時,不建議直接上手去看代碼,你應該是先去整體了解一下該技術組件的整體原理和框架,源碼層則是更加細節(jié)方面的實現(xiàn),你應該帶著某一個問題去看,有針對性和目的性的去看源碼,這樣你的提升才會更加的快速。
我會持續(xù)大數據、數據庫方面的內容,如果你有任何問題,也歡迎關注私信我,我會認真解答每一個問題。期待您的關注
閱讀代碼,一般都是一件繁復的工作。程序員,只要工作需要、或有足夠的時間,都能夠勝任閱讀代碼的工作,特別是數據庫這類功能具體的系統(tǒng)。如果軟件的功能不確定,閱讀起來確實有莫名的困難。年輕時,得到“一套”Z80匯編碼,閑來無聊,嘗試閱讀,數周過去,不得要領。直到在一個忽略了的簡單文檔的闡述上下文中,意識到代碼可能是實現(xiàn)“導彈”穩(wěn)定飛行的側滾控制系統(tǒng)時,閱讀中的問題瞬間都消失了。
拜托啦,我不只能看懂你的SQL,我還可以看懂VB、C++、數據庫我也看
關于數據庫系統(tǒng)概念 源碼的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯(lián),香港虛擬主機被稱為香港虛擬空間/香港網站空間,或者簡稱香港主機/香港空間。香港虛擬主機特點是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機精選cn2+bgp線路訪問快、穩(wěn)定!
新聞名稱:深入理解數據庫系統(tǒng)概念:源碼解析(數據庫系統(tǒng)概念源碼)
文章地址:http://www.5511xx.com/article/cogjcoi.html


咨詢
建站咨詢
