設計數據庫需要明確三點
1、標識實體 (Entity) 標識數據庫要管理的關鍵對象或實體(名詞)
相當於表格的名字
2、標識每個實體的屬性(Attribute)(名詞)
相當於表格的列
3、標識實體之間的關系(Relationship)(動詞)
表格之間的關系,主鍵與外鍵關系
在E-R圖中,實體用矩形表示,屬性用橢圓表示,關系用菱形表示。

表格之間的關系
1.一對一:X中的一個實體最對與Y中的一個實體關聯, 並且Y中的一個實體最多與X中的一個實體關聯. Eg:一個人只有一張身份證.
用1:1表示
2.一對多:X中的一個實體可以與Y中的任意數量的實體關聯; Y中的一個實體最多與X中的一個實體關聯. Eg:一個班級有多名學生.
用1:n表示
3.多對多:X中的一個實體可以與Y中的任意數量的實體關聯,反之亦然. Eg:學生和課程之間的關系,一個學生可以有多門課程,一門課程可以對應多名學生.
用m:n表示
例:
4、某醫院病房計算機管理中心需要如下信息: 科室:科名、科地址、科電話、醫生姓名 病房:病房號、床位號、所屬科室名 醫生:姓名、職稱、所屬科室名、年齡、工作證號 病人:病歷號、姓名、性別、診斷、主管醫生、病房號 其中,一個病房只能屬於一個科室,一個科室可以有多個病房,一個醫生只屬於一個科室,一個科室可以有多名醫生,一個醫生可負責多個病人的診治,一個病人的主管醫生只有一個。一個病人只能住一間病房,一間病房可以入住多名病人。 完成如下設計: (1) 設計該計算機管理系統的E-R圖 (2) 將該E-R圖轉換為關系模式結構。
E-R圖

重點
1.如果是1:1的關系:那么將實體轉換成表,將任意1端實體的主鍵拿到另一端實體做外鍵。
2.如果是1:N的關系:那么將實體轉換成表,關系不成表,將1端實體的主鍵拿到N端實體做外鍵。
3.如果是M:N的關系:將實體轉換成表,關系形成表,同時將兩端實體的主鍵拿過來作為該表的外鍵,形成復合主鍵。
數據庫設計三大范式
為了建立冗余較小、結構合理的數據庫,設計數據庫時必須遵循一定的規則。在關系型數據庫中這種規則就稱為范式。范式是符合某一種設計要求的總結。要想設計一個結構合理的關系型數據庫,必須滿足一定的范式。
第一范式:確保每列保持原子性
要求表的每個字段必須是不可分割的獨立單元
第二范式:確保表中的每列都和主鍵相關
在第一范式的基礎上,要求每張表只表達一個意思。表的每個字段都和表的主鍵有依賴。
第三范式:確保每列都和主鍵列直接相關,而不是間接相關
在第二范式基礎,要求每張表的主鍵之外的其他字段都只能和主鍵有直接決定依賴關系。
