MySQL的一些概念

來源:互聯網
上載者:User

標籤:實體   英語   ali   伺服器   修改   完全   str   之間   集合   

資料庫與伺服器、用戶端的層次關係

 

 

關於資料庫

程式中需要儲存資料的方式:

1 變數(列表、元組、集合、字典、嵌套)

2 外存(檔案)(*.ini)

3 表格、Excel(*.xls、*.xlsx、*.csv)

4 結構化資料庫

 

資料庫中的基本概念

記錄(Record):資料庫中的一行

欄位(Field):資料庫中的一列

 

實體(Entity):現實中客觀存在並可以被區分的事物。比如:學生、課程

屬性(Attribute):實體鎖具有的特徵。比如:對於學生實體,所體現的屬性有:學號、姓名、年齡、性別

關係(RelationShip):實體與實體之間的依賴。包括:一對一、一對多、多對多。

以上三者(實體、屬性、關係)可以組成ER圖(實體關聯圖)

 

通過Visio的資料庫模型圖建立表:

 

建表的時候需要考慮範式的約束

一般有如下範式:1NF 2NF 3NF BCNF 4NF 5NF

1NF:屬性不可分

姓名

電話號碼

年齡

有線電話

手機

張三

020-84444444

13777777777

23

李四

020-85555555

13888888888

34

如上,因為電話屬性可以拆分為有線電話和手機,所以不滿足1NF,修改如下:

姓名

有線電話

手機

年齡

張三

020-84444444

13777777777

23

李四

020-85555555

13888888888

34

 

2NF:符合1NF。非主屬性完全依賴於關鍵字

學號

姓名

課程編號

考試成績

101

張三

201

73

102

李四

202

53

該表中的依賴關係:

學號——姓名

(學號、課程編號)——考試成績

該表的關鍵字是:(學號、課程編號)

這裡的非主屬性姓名依賴於學號,是關鍵字的一部分,而不是全部。所以不滿足2NF

需要拆分成兩個表

學號

姓名

101

張三

102

李四

 

學號

課程編號

考試成績

101

201

73

102

202

53

這樣就滿足2NF了

 

3NF:符合1NF和2NF,並且消除傳遞依賴

學號

課程編號

老師

職稱

101(張三)

201(高等數學)

張老濕

磚家

102(李四)

202(大學英語)

陳教授

叫獸

103(王五)

202(大學英語)

陳教授

叫獸

顯然滿足1NF

該表的關鍵字是:(學號、課程編號)。後面的非主屬性完全依賴於關鍵字,所以滿足2NF

(學號、課程編號)——上課老師

老師——職稱

像這種A依賴於B,B依賴於C的設計,就稱為傳遞依賴,是不滿足3NF

需要拆分成兩個表

學號

課程編號

老師

101(張三)

201(高等數學)

張老濕

102(李四)

202(大學英語)

陳教授

103(王五)

202(大學英語)

陳教授

 

老師

職稱

張老濕

磚家

陳教授

叫獸

這樣就滿足了3NF的標準了

後面還有BCNF、4NF、5NF。但是我們設計資料庫一般要求達到3NF即可

MySQL的一些概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.