- 數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程
- 李輝等編著
- 1224字
- 2020-10-23 14:25:07
3.6 關(guān)系的完整性、規(guī)范化理解與應(yīng)用實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/b>
1)了解關(guān)系模型的基本概念,掌握候選碼和主碼的確定。
2)掌握并應(yīng)用完整性規(guī)則。
3)掌握關(guān)系規(guī)范化的定義和方法。
二、驗(yàn)證性實(shí)驗(yàn)
某同學(xué)開發(fā)了X公司員工管理系統(tǒng),其中部門信息表和員工信息表分別如表3-18和表3-19所示。
表3-18 部門信息表

表3-19 員工信息表

請(qǐng)分析:
1)確定部門表和員工表中的候選碼,并陳述理由。
部門表:部門代碼,(負(fù)責(zé)人,部門名)
理由:部門代碼可以唯一標(biāo)識(shí)一個(gè)部門,負(fù)責(zé)人和部門名也可以唯一標(biāo)識(shí)一個(gè)部門
員工表:?jiǎn)T工代碼
理由:?jiǎn)T工代碼能唯一標(biāo)識(shí)一個(gè)員工
2)選擇部門表和員工表的關(guān)鍵字。
部門表:部門代碼
員工表:?jiǎn)T工代碼
3)在部門表和員工表的結(jié)構(gòu)中標(biāo)注主關(guān)鍵字。
部門表(部門代碼,部門名,負(fù)責(zé)人,地點(diǎn))
員工表(員工代碼,姓名,家庭住址,聯(lián)系電話,郵政編碼,部門代碼)
4)在員工表中確定可能的組合關(guān)鍵字,并陳述理由。
員工代碼理由:只有員工代碼能唯一標(biāo)識(shí)一個(gè)員工
5)確定在部門表和員工表中共有的屬性。
部門代碼
6)指出哪個(gè)表中的屬性是外關(guān)鍵字。
員工表中的部門代號(hào)是外關(guān)鍵字
7)確定哪個(gè)表是主表,哪個(gè)表是從表。
主表是員工表,從表是部門表
8)部門表和員工表是如何通過(guò)關(guān)鍵字實(shí)施數(shù)據(jù)完整性的。
部門表中,部門代號(hào)不能為空,這就保證了部門的存在性;
員工表中,員工代碼不能為空,這說(shuō)明有這樣的員工;
三、設(shè)計(jì)性實(shí)驗(yàn)
1.仿照第1題,已知系信息表和學(xué)生信息表分別如表3-20和表3-21所示。
表3-20 系信息表

表3-21 學(xué)生信息表

請(qǐng)分析:
1)確定系信息表和學(xué)生信息表中的候選碼,并陳述理由。
系信息表:
理由:
學(xué)生信息表:
理由:
2)選擇系信息表和學(xué)生信息表的主碼。
系信息表:
學(xué)生信息表:
3)在系信息表和學(xué)生信息表的結(jié)構(gòu)中用下畫線標(biāo)注主關(guān)鍵字。
系信息表(系編號(hào),系名,負(fù)責(zé)人,聯(lián)系電話)
學(xué)生信息表(學(xué)號(hào),姓名,性別,出生年份,系編號(hào),家庭地址)
4)在學(xué)生信息表中確定可能的組合關(guān)鍵字,并陳述理由。
5)確定在系信息表和學(xué)生表中表示相同意思的屬性。
系信息表的__________屬性和學(xué)生信息表的________________屬性
6)指出哪個(gè)表中的哪個(gè)屬性是外關(guān)鍵字,這個(gè)外關(guān)鍵字的存在說(shuō)明了兩張表之間是什么聯(lián)系?
7)確定哪個(gè)表是主表,哪個(gè)表是從表。
8)系信息表和學(xué)生信息表應(yīng)如何實(shí)施3種數(shù)據(jù)完整性。
系信息表的實(shí)體完整性應(yīng)怎么實(shí)施:_____________________________________
學(xué)生信息表的實(shí)體完整性應(yīng)怎么實(shí)施:_______________________________
這兩張表中的參照完整性應(yīng)怎么實(shí)施的:________________________
2.某同學(xué)設(shè)計(jì)了圖書在線交易系統(tǒng),設(shè)計(jì)了如表3-22所示的訂單表,請(qǐng)你用規(guī)范化理論將該表進(jìn)行分解,使之滿足3NF的規(guī)范化要求。
表3-22 訂單表

四、觀察與思考
1.有如表3-23和表3-24所示的兩張表,如果向關(guān)系P中插入新行,新行的值分別列出如下。哪些行能夠插入?若不能插入,為什么?
表3-23 供應(yīng)商關(guān)系S(主碼是“供應(yīng)商號(hào)”)

表3-24 零件關(guān)系P(主碼是“零件號(hào)”,外碼是“供應(yīng)商號(hào)”)

A.(′037′,′綠′,null)
B.(null,′黃′,′T20′)
C.(′201′,′紅′,′T20′)
D.(′105′,′藍(lán)′,′B01′)
E.(′101′,′黃′,′T11′)
2.非規(guī)范化數(shù)據(jù)表帶來(lái)的不利影響是什么?
- Advanced Machine Learning with Python
- Java范例大全
- 零基礎(chǔ)PHP學(xué)習(xí)筆記
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- Vue.js前端開發(fā)基礎(chǔ)與項(xiàng)目實(shí)戰(zhàn)
- Android Studio Essentials
- Service Mesh實(shí)戰(zhàn):基于Linkerd和Kubernetes的微服務(wù)實(shí)踐
- Mastering Linux Security and Hardening
- Swift 4 Protocol-Oriented Programming(Third Edition)
- Web性能實(shí)戰(zhàn)
- Xcode 6 Essentials
- PHP+MySQL動(dòng)態(tài)網(wǎng)站開發(fā)從入門到精通(視頻教學(xué)版)
- Mastering jQuery Mobile
- Python+Office:輕松實(shí)現(xiàn)Python辦公自動(dòng)化
- Mastering Embedded Linux Programming