日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

三大范式及存儲方式

系統 2356 0

?

數據庫三大范式

第一范式(1NF):
是指數據庫表的每一列都是不可分割的基本數據項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。 個人總結: 不能有表中表。

如數據表不能這樣設計,因為數據表的一個二維表:

?

姓名 思想道德素質測評(20%) ?專業素質測評(60%)?
基礎分 獎勵分 懲罰分 最后得分 排名 ?必修課成績? 獎勵分 懲罰分 最后得分 排名
得分 排名
張三 78 0 0 78 2 71.7 1 0 0.0 71.7 1
王五 78 0 0 78 2 71.3 24 0.0 0.0 71.3 2
李四 78 0 0 78 2 70.8 25 0.0 2.0 68.8 3


而這樣設計是可以的:

?

?

姓名 C語言 java MySQL Oracle
張三 78 88 68 78
王五 78 55 87 78
李四 78 86 91 56

?


第二范式(2NF):
要求數據庫表中的每個實例或行必須可以被惟一地區分,數據庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴(部分函數依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況),也即所有非關鍵字段都完全依賴于任意一組候選關鍵字。 個人總結: 非主屬性依賴于主屬性
如以下成績表

?

student_id course_id grade birthday
20101661 1 56 1991,07,14
20101662 3 58 1993,7,25

這樣設計不行,因為grade完全依賴于主碼student_id、course_id,而birthday只依賴于部分主碼student_id。所以要將其拆分成兩個表

?

student(student_id, birdthday);

grade(student_id, course_id, birthday);?

course_id為聯系student表的外鍵



第三范式(3NF):
要求一個數據庫表中不包含已在其它表中已包含的非主關鍵字信息,在第二范式的基礎上,數據表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴則符合第三范式。 個人總結: 不能有傳遞性

如以下表

?

student_id course_id birthday SD(所在系的名稱) SL(所在宿舍樓)
20101661 1 1991,07,14 軟件學院 1棟
20101662 3 1993,7,25 經管學院 2棟

?

student_id為主碼,SL依賴于student_id,但可以從非主碼屬性SD導出,即知道了SD,也就知道了SL。可以獎這個表拆分成兩個表,如下:

grade(student_id, course_id,SD);

department(SD, SL);

SD為 聯系 grade表的主鍵


數據庫的存儲方式

順序存放,平均查詢次數為關系的記錄個數的1/2;

雜湊存入,平均查詢次數由雜湊算法決定;

索引存放,要確定建立何種索引,及建立索引的表和屬性;

聚簇存放,記錄聚簇是指將不同類型的記錄分配到相同的物理區域中,以充分利用順序性的優點,提高訪問速度。



?

三大范式及存儲方式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 沁阳市| 义马市| 合川市| 安福县| 佛山市| 商城县| 开阳县| 公安县| 临江市| 焉耆| 泰和县| 吴忠市| 铜山县| 梓潼县| 准格尔旗| 余庆县| 祥云县| 抚远县| 建湖县| 宣恩县| 封开县| 丁青县| 且末县| 蒲城县| 南和县| 南宫市| 溧水县| 大厂| 秦安县| 花莲县| 共和县| 镇雄县| 孟州市| 顺平县| 登封市| 拜泉县| 康马县| 鄂伦春自治旗| 嘉峪关市| 云安县| 泽普县|