1、關系型數據庫
關系型數據庫:是一種建立在關系模型(數學模型)上的數據庫。
關系模型:一種所謂建立在關系上的模型。關系模型包含三個方面:
數據:數據存儲的問題,二維表(有行和列)
操作指令集合:所有SQL語句
完整性約束:表內數據約束(字段與字段),表與表之間約束(外鍵)
2、關系型數據庫的設計
關系型數據庫:從需要存儲的數據需求中分析,如果是一類數據(實體)應該設計成一張二維表;表是由表頭(字段名:用來規定數據的名字)和數據部分組成(實際存儲的數據單元)
二維表:行和列
表頭 字段名1 字段名2 數據單元 數據1 數據線以實際的案例來進行分析:分析一個教學系統,講師負責教學,教學生,在教室裡面教學生
①找出系統中所存在的實體:講師表,學生表,班級表
②找出實體中應該存在的數據信息
講師:姓名,性別,年齡,工資……
學生:姓名,性別,學號,學科……
班績:班級名字,教室編號……
關系型數據庫:維護實體內部,實體與實體之間的聯系
實體內部聯系:每個學生都有姓名,性別,學科信息
姓名 性別 學號 學科 年齡 陳滔 女 030310303 化學工程 22 杜洪 男 030320305 化工原理 付威 030330303 物理化學第二行的所有字段,都是在描述陳明這個學生(內部聯系);第二列只能放性別(內部約束)——實體內部的聯系
關系型數據庫的特點之一:如果有表中對應的某一個字段沒有值(數據),但是系統依然要分配空間:關系型數據庫比較浪費空間
實體與實體之間的聯系:每個學生肯定屬於某個班級,每個班級一定有多個學生(一對多)
第二行的所有字段,都是在描述陳明這個學生(內部聯系);第二列只能放性別(內部約束)——實體內部的聯系
關系型數據庫的特點之一:如果有表中對應的某一個字段沒有值(數據),但是系統依然要分配空間:關系型數據庫比較浪費空間
實體與實體之間的聯系:每個學生肯定屬於某個班級,每個班級一定有多個學生(一對多)
姓名 性別 學號 學科 年齡 陳滔 女 030310303 化學工程 22 杜洪 男 030320305 化工原理 付威 030330303 物理化學班級表
班級名稱 教室編號 化工原理 B203 物理化學 A305問題:從上述兩個表中能否確定哪個學生屬於哪個班級或者哪個班級有哪些學生?
解決方案:在學生表中增加一個班級字段來指向班級(必須能夠唯一的找到一個班級信息)
姓名 性別 學號 學科 年齡 班級信息 陳滔 女 030310303 化學工程 22 化工原理 杜洪 男 030320305 化工原理 物理化學 付威 030330303 物理化學 物理化學學生實體與班級實體的關聯關系——實體與實體之間的關系