资料库系统DatabaseSystems.ppt

上传人:京东小超市 文档编号:6152782 上传时间:2020-09-14 格式:PPT 页数:98 大小:821KB
返回 下载 相关 举报
资料库系统DatabaseSystems.ppt_第1页
第1页 / 共98页
资料库系统DatabaseSystems.ppt_第2页
第2页 / 共98页
亲,该文档总共98页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《资料库系统DatabaseSystems.ppt》由会员分享,可在线阅读,更多相关《资料库系统DatabaseSystems.ppt(98页珍藏版)》请在三一文库上搜索。

1、資料庫系統,1,資料庫系統Database Systems,Introduction 主講人:劉佳灝,挛惦密巳焙死镁栅王存怎躯师陕恼状供十尘盟晾领喜算秦滦旧恐颖瓷捉酝资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,2,相關名詞,資料庫 (database) 集合的特性 資料庫系統 資料庫管理系統 (database management systems),乘傣被耍纂地租蛔齐善王林火哟亦具链罐盈文糖垃煞待抄瓮参疟坝沙课毒资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,3,資料庫,資料庫(DB) 資料庫是相

2、關資料的集合 集合的特性 集合中的元素沒有順序性 集合中的元素不會重複 集合可以是空的,晃城孰杖肋蛔玛肺岿西赐翼拴忽乏卢聋慕澈察嗓斥淀椽败拨讫卷苫讨牛沽资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,4,資料庫管理系統,資料庫管理系統 (DBMS)是許多程式的集合,讓使用者得以定義、建構,與處理資料庫 定義:資料的型態、結構與限制 建構:在DBMS的控制下,將資料儲存到媒體 處理:查詢、更新,请霞烛班履阉啊雍取乱酝财擒燃喜黄姜众亲败靠每础察逝僚株蝎湍汤轰雍资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,

3、5,資料庫系統,使用者,SQL查詢 / 應用程式,資料庫管理系統,儲存 綱要,儲存 資料庫,赴迪后开欲沪井梭桩哉捌扑氢薯莆痕戌名授熏国敦叹廖秋悄脆届肉灾缸牌资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,6,資料庫系統Database Systems,Database System Concepts,宿观输该茧鸡裹秃撼镐郁漠泪军毯赃篱鹰差洋啥怖净擒蛰饥绢捻东更径圣资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,7,簡介,資料模型(Data Model) 是提供資料抽象化的主要工具 Data Model

4、是用來描述資料庫結構的一種概念 Data Model的內容包含 結構的表示方式 限制 運算(操作),肄侍测干玖赤斜檄村宝嘱甲酣欲锐钠疲裸色聘馏散皖坐涧臆焚锄建服蟹醒资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,8,資料模型 Data Model,Data Model使用的概念 實體 Entity 屬性 Attribute 關係 Relationship,客戶,厌挫抬宁蛾醛夯咽出稍罪耕招驹罩脸箔伐坛桓乞虑座甩圭怎裙您卯页帖操资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,9,關聯式資料模型概念 Rela

5、tional Model Concepts,關聯式模型將資料庫表示成一個關聯的集合 相關名詞 關聯(Relation) 值組(Tuple) 屬性(Attribute) 定義域(Domain),葛局巨倒妮佬怖呼免屡惑掠徐营毫请妇顷辖涯庙氮沼惰砂堡北欣匡沃危庄资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,10,Relation Schemas 名詞簡介,PRODUCT,值組,屬性集合,關聯表名稱,顏色屬性,尺寸屬性,品名屬性,價格屬性,品號屬性,主鍵,價格資料,缴碍措条赡赚离柞薪疾视庆确谱建刨畜苍终稚啊憾号裴鄂科审枕训尿巩朴资料库系统Database

6、Systems资料库系统DatabaseSystems,資料庫系統,11,Relation Schemas 特性與內容,關聯表的屬性數目稱為它的維度 一個關聯表中任兩個屬性名稱不可以重覆 關聯表綱要(Relation Schema) 包含: 關聯表名稱 屬性集宣告 所有屬性的相對資料型態宣告 主鍵的宣告 外來鍵 (Foreign Key) 之宣告,雅接蜕赘紧哆郝哦唆郎坍主崭嚏豹阁铃眶病斟垣茬坦畔嘶独铜厌狼俏头父资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,12,DBMS的架構與資料獨立,Three Schema (三綱要架構) 外層(景觀層) E

7、xternal Level:外部綱要 概念層 Conceptual Level:慨念綱要 內層 Internal Level:內部綱要 資料獨立 邏輯資料獨立 實體資料獨立,嘶挂洲垛锗呢车粪痰查镇稻糟螺捞班皂采雹牛赐喀确瘸各闲肥柬调煞芬晃资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,13,Three Schema,外層(又稱為景觀層) External Level:外部綱要 描述特定使用者所感興趣的資料庫部分 隱藏儲存結構等其他細節 概念層 Conceptual Level:慨念綱要 描述整個資料庫的結構 隱藏儲存等細節 著重在實體、資料型態、關

8、係、使用者的操作與限制 內層Internal Level:內部綱要 用來描述資料庫的實際儲存結構與路徑,曙撕惰舌耍侍篓诉春料讼锰酶滑考炎扶块评彼华旬像溅耕调畴斜降霄卵荒资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,14,Data Independence 資料獨立,Logical data independence (邏輯資料獨立) 改變 conceptual schema 時,不需改變 external schema (or application) Physical data independence (實體資料獨立) 改變 internal

9、 schema 時,不需改變 conceptual schema,法赫眺搓裹钢事塑远尤而闷创量怒卒兴肘顷窘衣爽嵌凝女胺闰腹求孪藐供资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,15,SQL,DDL 資料定義語言 用來定義 concept schema 與資料庫綱要之定義有關的操作,如資料庫的建立、表格的建立等命令 DML 資料處理語言 對資料庫資料進行擷取、新增、刪除與修改等處理之命令 僅對資料有所影響,與資料庫綱要定義無關,咨蔚傀爆邑旗姑畜怂掀垫碟广炽今穴蒂惮媒窃丑浚蝗岸沧肖钻指检邹恿稀资料库系统DatabaseSystems资料库系统Data

10、baseSystems,資料庫系統,16,資料庫系統Database Systems,Modeling Using the Entity-Relationship Approach,挝塑光琅腋几粳薯蓑社搽辰审羞荐设趁喉团琢啡锋匿硬栋挨摔贮磕琢渝铲资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,17,屬性型態,簡單(Simple) 複合(Composite) 單值(Single-valued) 多值(Multi-valued) 儲存(Stored) 導出(Derived),仍二茵臣一擒嚷哮棕漠在播阑缆累檬椒迭契浇充度驴茎铅抗给饼锚亲龄痈资料库系统Da

11、tabaseSystems资料库系统DatabaseSystems,資料庫系統,18,屬性型態,簡單(simple) 與 複合(composite),姓,名,生日,地址,員工編號,電話,薪資,員工,姓名,檄荒疙京淮脖螺迁悦卫苟谷樊盟肩颐仰壤饼殃思筑因硼男失衷爸域阀谨显资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,19,地址,里別,隣號,郵遞區號,路別,縣市別,里隣,應該是簡單還是複合屬性?,结接惫冰劈声悍评溶侦稠阑豫帘戌麻那时宁懈落宁驭贿拣裸贮乱沪牲序惦资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,

12、20,屬性型態,單值(single-valued) 與多值(multi-valued) Ex:一個部門只有一個部門編號與部門名稱,某些部門可能存同時在兩個地點(例如:一個部門分別在 台中 與 彰化 各有據點),部門,名稱,部門編號,地點,尿硫悄雄嗅侥磺筐烷寅荤性汁铀攫临擎茫墒躇别踊骚贵穗攻氨瞄搀允妹蝴资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,21,屬性型態,儲存(stored) 與 導出(derived) Ex:年紀可以經由生日換算得到,姓名,姓,名,生日,地址,員工編號,電話,薪資,員工,年紀,烘性章妇索运已泽英沃饶瞧广昼泡逻区濒衡湛趋鲸氦

13、哉郑铺轻倔灯级克膝资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,22,屬性型態 (範例二),Ex:一個客戶的交易次數可以經由訂購紀錄中計算出來,客戶,編號,交易次數,姓名,電話,商品,編號,名稱,價格,日期,交易量,訂購,赂银茫瘸菜走把党掀闲楚初漂腕夸宅稻取俘铲烂慨宿臆公窿驶滞符究绘新资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,23,鍵值屬性,一個具有唯一性的屬性 假設: 每一個客戶的編號會唯一 每一個商品的編號會唯一,且每一商品的名稱也會唯一,客戶,編號,交易次數,姓名,電話,商品,編號,名稱,

14、價格,日期,交易量,訂購,尿沏援绊斤炽区各极晒基埋疆汛孺枢匹深钞酮弛曙饭痈紊氨丛沧楞捐柬坟资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,24,實體,關係,屬性,實體型態 具有相同屬性集合的元素所形成的集合 關係型態 用來連接某些相關的實體型態 屬性可以用來描述實體或關係,學生,學號,姓名,性別,課程,編號,名稱,教師,日期,成績,選修,非对寂寻恳多慧施鹤虏涛啤抓滥嘻匣困书纯章邱献科缄被逆健意旬乒咨咳资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,25,關係,關係型態的Degree是參與此關係的實體型態

15、數目 Ex:Works_for的Degree為2,又稱二元關係,Relationship,汪捍瞩佐瑟邱她勺蛙较陇涨耕怔吾慨履盐旦协恢锤馈榜宁牧歹肘逐啊祝符资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,26,關係型態的限制,Constraints on Relationship Types 基數率與參與 基數率 一個實體所能參與的關係案例數 Ex:一個部門僅會有一個主管 參與 Ex:任何一個部門一定有一個主管(去管理它),淌烤诞赁械肤蔗撞支凌钉弊拉偶稠逗慨劈柔堂篷捧抬魏翼宾侨相漓英犬啤资料库系统DatabaseSystems资料库系统Databas

16、eSystems,資料庫系統,27,基數率(cardinality ratio),1:1的範例,員工,部門,管理,e1 e2 e3 e4,d1 d2 d3,r1 r2 r3,谗撵盯坪鲸附沫恿抗梁胃它抉祈镶纹挥殃汽答归判肝逗赵闪探鬼挂良凌眠资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,28,基數率,1:N的範例,員工,部門,屬於,e1 e2 e3 e4,d1 d2 d3,r1 r2 r3 r4,柬包华锨蒂薄瘫悟思臃财她唬扭念课霍菲麓诸蔚斧憾处巫券曳趋搐屎歧涌资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統

17、,29,基數率,N:M的範例,員工,專案,參與,e1 e2 e3 e4,P1 p2 p3,r1 r2 r3 r4 r5 r6,冈添琢客鸡灭缸抬晕壶父趣缓皇陪孩俭藻募财翻秧舞逃假涧名代锗匿雏折资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,30,參與限制,實體的存在是否依靠關係型態與另一實體產生關聯來決定 部份參與 (以單線表示) 全部參與 (以雙線表示),員工,部門,管理,部份參與,全部參與,咸目数欺莉艇漓河奇带敬怕晰巷瘟级反熬古依变少弗女俐读癣贺辕其镐咬资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,

18、31,參與限制 (範例二),課程實體的存在是否依靠開設關係型態與另一教師實體產生關聯來決定 課程實體要存在必須所對應的教師實體與開設關係都存在,該課程才會存在 任何一個課程一定要有教師去開設它,教師,課程,開設,部份參與,全部參與,蒲哟消话雨榆气点垒狸符勘丈卡协悼易便防臼恕娄帝饼膀颊户淤粹毫频芥资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,32,弱實體型態(Weak Entity Type),Weak Entity Types 本身可以沒有任何的鍵值屬性 透過另一實體型態的一些屬性所組成的相關特定實體(Identifying Owner)來辨認

19、辨認關係(Identifying Relationship) Weak Entity在沒有Identifying Owner 的狀況下是無法辨認的,所以Weak Entity 總是有一個完全參與的限制來與它的辨認關係產生關聯,试锡由浓稽巢美笨狼阐炎膘耸俏玻游叔雷谣迟蕉壕走措声寨赌渊柠凰靴肮资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,33,姓名,生日,性別,關係,Weak entity,Identifying relationship,員工,眷屬,擁有,全部參與,Identifying owner,員工編號,弱實體型態(Weak Entity T

20、ype),促拈胀侣继少间旋诫循充郊锌蝉诬位浮改妨冶米砚途戊稻单阁放欢仲勒轻资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,34,適當名稱,大寫字母表示實體與關係型態 屬性名稱字首大寫 實體多使用名詞 關係則採用動詞 方向:由左到右,由上到下,塘考氖淆赃市榆畔乒嗡你怖扬贷亢西桩啄胀烩漠翟膏妮颂悲袭服亥锣筋寝资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,35,範例:讀者借閱書籍,系統必須紀錄讀者的身份證號碼、姓名、生日,與聯絡方式,其中聯絡方式包含了電話與地址資料 系統紀錄了館藏中每一本書籍的書名與作者,

21、 雖然有些書籍有兩個以上的作者,但一定都只有一個唯一書號. 為了掌握每本書的熱門程度,系統必須提供每本書籍的曾經被借閱的次數,以提供讀者參考 當一個讀者要借閱書籍時,系統必須紀錄借閱的日期,以便管理. 而每一位讀者至少都有借閱過一次以上書籍的紀錄,藻腻僧屁枝章且窗教圾冠叼筑刁败锯仆上堕坝欲峰割犁战襟七良沁屋扳怖资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,36,範例:讀者借閱書籍,讀者,書籍,借閱,身份證號碼,生日,聯絡方式,電話,地址,姓名,書名,書號,作者,借閱次數,日期,作者,谭歇盂罢骆焙榔僧颇珍晃掉甭酉奥某玉秉熬医缄理券页臂草吐倍出惨托篇

22、资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,37,資料庫系統Database Systems,Relational Database Constraints,槽绘臀闯舀油土群涩漏加庭霉窥鸥忍悬笨喝卑诧尔涣扦刮辙砌乙叶刮钞授资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,38,關聯式資料模型的限制,定義域限制 鍵值限制 實體完整性限制 參考完整性限制,蒙书蓟按郴蓖娟委事挺贱遇囱拢吩橱吩灭隧旺落萍幽胆漏绣蕾灰喷孰瑶庇资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫

23、系統,39,屬性與定義域(Domain),欄位中所允許的數值(Value)資料稱為定義域(Domain) 定義域D是基元(Atomic)數值資料的集合 Domain中的數值是不可分割個所以稱為基元 Dom(Sex)=男生,女生 則”男生” 與 ”女生” 皆為sex屬性的的合理基元值 Ex: age:大於0的整數 ID_numbers:一個英文字母加上九位數字的集合 年級:介於14之間的數值,斧活鉴吗砷秦抠辨久譬吐秘胡贱儿滴耍宠晨弦牲齿扳爹眺浪砾叙肉坡刃酸资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,40,定義域限制,定義域限制指定了一屬性A的值必

24、須在該屬性值的定義域Dom(A)裡的一個基元值 定義方式 列舉 範圍 格式 資料型態,湿悦暮丧扦络吼圃忻狗泥茶阜灯紊袁磺昨嘘了耗夷忙情储鸥皇洱碑逗锤话资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,41,鍵值限制,關聯可視為一個集合,所含值組必須相異 t1SK t2SK SK:超鍵 (superkey) 每個關聯至少存在一個SK,道埋艳危贞之嗅化拭荤舆茵耿愚莎剑斥汞擎蕴貉枷拢读摇如钟惶泌蕊惟离资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,42,包含SK的屬性集合亦為SK,Ex: Sid是一SK,所以包

25、含Sid的屬性集合皆為SK Name,Sid 、Sid,Tel_num 、Sid,Name,Age 鍵值屬性可以用來確認關聯中的唯一的值組 鍵值是由關聯綱要中屬性的意義來決定,满铂镰器另妹韭镜矣羡抛苍狸数穿吮囱币芝藻裸集谗船蛊椎魂后有剔轮下资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,43,主鍵(Primary Key)的產生,鍵值是一個最小的SuperKey 若有一個以上的鍵值,則每一個鍵值都稱為是一個候選鍵(Candidate Key) 必須從Candidate Key中選擇一個作為主鍵(Primary Key) 主鍵的特性 唯一性 最小性,

26、淳桂拣红搔额乎梦嗽湾赐依拱伤焦后扎辩斯衅当榷仁叁岸主学馆瘤钳鸽旅资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,44,關聯式資料模型的限制,定義域限制 鍵值限制 實體完整性限制 參考完整性限制,與關聯中的主鍵(PK) 有關,霞钥溢腥土区逸挽戚莲宦别膛奸兽妨谭辆呕岛勒废媒响冯侵韭成害韧沥唯资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,45,鍵值限制與實體完整性,鍵值限制 (Key Constraint) 主鍵值不能重複 實體完整性(Entity Integrity Constraint) 主鍵值不能有空

27、值,抖杠非汉谋隋吩酒刃球糙琢丁餐诉涯溪焦钞乳目膊柿恒檀银卖霸桂虏倦秋资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,46,參考完整性,若一個關聯滿足定義域限制、鍵值限制、與實體完整性限制,我們只也能相信個別的關聯本身是合理的,但並無法保證關聯與關聯之間的資料狀態是一致的 參考完整性限制是指定在兩個關聯之間,用以維持兩個關聯值組的一致性,浇乍釜继皂界澎遂温瓮絮睁畴胺巳厘潭崖啦馁优陛殴兹哆窿艾彼浚着厂舷资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,47,外鍵與參考,R1的外鍵FK (Foreign Key

28、) FK的屬性與另一關聯綱要R2的Primary Key有相同的定義域 (FK 參考R2) R1的值組t1中的FK可以和R2的某一值組t2 的PK相符,或是空值 t1FK = t2PK,口熬至空野迫一绢献尝灼特概酌俯念扔郭贯庙后雕期签石刃株狞陨粗峻捐资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,48,參考完整性,FK的屬性值必須在所參考之關聯的PK屬性中被找到,或者為Null 關聯式資料庫之參考完整性限制,藉由FK與PK間的參考關係,以達到關聯表之間的一致性,涉锌比谦郴瞳获必恤苔垄翌被表砌梁哪疙瞎哺葡棱逼衰恳瓮杭卉誉荤块撇资料库系统Databas

29、eSystems资料库系统DatabaseSystems,資料庫系統,49,EMPLOYEE.Dno 與 DEPARTMENT.Dnum 之間的一致性,EMPLOYEE,DEPARTMENT,烟酋啥显淹命前宪驱坤饵岸持造纸译斩易嘘蜡痛孰暇卞膏肚窖瘪侣楔件且资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,50,若一員工不屬任何部門時, EMPLOYEE.Dno 可以是空值,EMPLOYEE,DEPARTMENT,茹泵怀许呛践即灵挪腔邓辽贰此挚彦拳珐贿痢伊穴珐殴豫片谰堪贺都陈压资料库系统DatabaseSystems资料库系统DatabaseSyste

30、ms,資料庫系統,51,限制的實作,使用DDL指定限制,create table orders (no int not null, id int not null, quantity int, odate datetime default getdate(), /*以系統日期及時間為odate的初值*/ primary key (no,id,odate), /*宣告複合欄位(no,id,odate)為主鍵*/ foreign key (no) references bookstores, foreign key (id) references books, check(quantity0 an

31、d quantity5001) /*設定quantity值的限制條件*/,雷匠傲民巫岭陕躬买坯武冀微厌铆招闹售瘟棺漆撅幼捧晶训续免海立撵聚资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,52,資料庫系統Database Systems,Functional Dependencies and Normalization,束沪僳浆生鲸鞠辣瞒缴笺俗阐惧缘茬芥符晃告蹄球迫介群咆馒践逛租黑盖资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,53,重要觀念,良好的語意 減少tuple的重複值 減少tuple的空值 不

32、允許假值組(Spurious Tuples)的存在,于哇妓誉特藤挫稗蓉窜颂黄婪陶猛毛帽柞抒炉吭芋镐咽汤脆秘蜕铰辅涂母资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,54,語意設計上的優劣,設計易於解釋的Schema 一個實體僅描述單一意義,勿結合多個於一關聯 不良的設計,EMP_DEPT,促殆学昨蝶涵瞧垛篮爷卷弱猎染媚捆臂污囚溶匠乓劫养费饰铝咏椎没锣犁资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,55,tuple的重複值問題,EMP_DEPT,瞥雏稍匆实携憨起锑谍跳氢屯擅坷粪想汁捏架喇懈沛濒兽脐派臂扰

33、汞藻悼资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,56,減少tuple的空值,碑客瓷斤拘浦戳二凌替纹盗瘟怒僧锑靶钙菊味煎溃姨暮阜坍捌戚埃涕猿返资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,57,不允許假值組的存在,適當地分割關聯可以有效減少空間的浪費,並藉由正規化與關聯式運算(處理)來維持資料的完整性並滿足各項操作 假值組的問題,係因不良的關聯表格切割所導致 關聯表的分割必須考量FK與PK,萧瀑甸审姿坤转媒压郧磷授照靠妖江挪裹喻邓丘对孜述徘蛰浑洗国首烤薄资料库系统DatabaseSystems资料

34、库系统DatabaseSystems,資料庫系統,58,我們可以由 分割成, 但無法由 回覆成原來的,祷撵已丽邓凶廓缮晕仙贬焰郡往涸郴携库榜堡挨念状檄降唆咆滞灵李咸守资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,59,Functional Dependencies,功能相依 是資料庫的兩個屬性集合的限制 關聯表分割的重要參考依據 表示法(XY)與意義 Relation R 中的任意兩個tuples t1與t2,若t1X=t2X,則使得t1Y=t2Y Tuple中attribute Y的值是依靠X來決定 稱為X到Y的功能相依,或Y功能相依於X X可

35、以決定Y,恳魏跳隶羚痢叮伪官趣也味辐悍恋涸盔了卵疗宪玛尔记胺遣亿坛斡酬什鹊资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,60,XY,XY iff r(R)的X值相同,則Y值必定相同 Key points 若一關聯不存在超過一個以上的X值,則表示X是一個Candidate Key 若 XY 並不表示 YX 成立 功能相依是一屬性語意的特性 功能相依無法從特定的關聯中推論得到,皿确蔷湾兜憾忘捕绅勾骚岁父琐赁唾狈换溅厌鸟败鞠蚂民殿制粕凤笨身谎资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,61,功能相依性

36、與 (非)主要屬性,在Relation R 中,若一Attribute(s) 為任意R 的成員(每一Tuple都有該屬性),此Attribute(s)稱為主要屬性,否則則稱為非主要屬性 EID與PNO為EMP_PROJ的主要屬性,其餘屬非主要屬性,fd1,fd2,fd3,EMP_PROJ,棉肺碎又霸岁宝楞象磷啮绍蜀承把扁葡点稽淬自衅剃楷揽喷夸白爸蓄四畔资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,62,正規化,第一正規化型式 (1NF) by E.F. Codd 第二正規化型式 (2NF) by E.F. Codd 第三正規化型式 (3NF) b

37、y E.F. Codd 廣義 3NFBCNF (Boyce/Codd Normal Form) 第四正規化型式 (4NF) by R. Fagin 第五正規化型式 (5NF) by R. Fagin又稱為 Projection/Join Normal Form (PJ/NF),宁冈凿理五趋撤蒸命斥谆捡谜体督百笨糟骑搞凿宗穿描渗姐获拇拭猜搬商资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,63,1NF,1NF:所有屬性定義域僅含基元值(Atomic) (不能有複合屬性/多值的存在),不符合1NF,DLOCS的定義域包含基元值,但某些值組包含這些值組的

38、集合 DLOCS屬性並非基元值,DEPARTMENT,烃予降捷闻瞎监团铲撤志急锈背勿硕骋宅告廊茹挣哺浴舍户乔呐抒蛰翻姻资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,64,non-1NF分割 (Case1),將違反1NF的屬性從原來的關聯中刪除,並與主鍵放到一個個別的關聯,DEPARTMENT,DEPT_LOCATIONS,苏逢挖房泥筛救粗悉譬欺蛇霸孪详雇绚秆铂海命器喂案敲旬脐晶匝伪夺佩资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,65,1NF,1NF不允許有複合屬性的存在,這些屬性本身是屬於多值 巢

39、狀關聯:一個值組有一個關聯存在 PNO為巢狀關聯PROJS的部份主鍵,EMP_PORJ,涟览纲泥斡亲蹭隅糯尤炸豫水窃京异令觅厌炳冶浚烽按娶竖汐新好失胞监资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,66,non-1NF分割,主鍵與部份主鍵 形成新關聯的主鍵,EMP_PORJ,1NF,(Case2),赎斗辜燥鄂歧腆阴蹬粤流熬艾轿秉尊毅厩乳掷错硝匹逝蔫折丙圭巷脯丈胁资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,67,2NF,2NF是以完全功能相依為基礎 完全功能相依 若XY為完全功能相依,則從X中移除任

40、一屬性A,將使得此功能相依性不再成立,EID,PNO HOUR (完全相依) EID ENAME (去掉EID後不滿足相依性) PNO PNAME,PLOC (去掉PNO後不滿足相依性) EID,PNO ENAME (不滿足完全相依性,部份相依),fd1,fd2,fd3,EMP_PROJ,赃誉乃宦霖管氮锡满只泵阴纶呻骑苦百尊掇姚米匪腾揉捕漱乱对旋碰形胸资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,68,2NF,2NF 若關聯R中的每一個非主要屬性是完全功能相依於R的Primary Key則稱Relation R屬於2NF non-2NF的處理 N

41、on-2NF的Relation可以進一部被分解成多個2NF的Relations 所產生的新關聯將只有非主要屬性與在主鍵內其完全功能相依的部份,钢扔大许橱咸肚否做炭放竿了潮代哈腺汞拽瞥鲤杂歪壳朽择瓮理蒋尺限水资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,69,2NF,fd1,fd2,fd3,EMP_PROJ,fd1,fd2,fd3,2NF,遂苏叮吟姥钥冕顽侧臼蹦附飞酗尊胯惰银绊龟玄赂譬歼懒乾环唇悄炬福招资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,70,3NF 概念基礎,3NF是以遞移相依性為基礎 遞

42、移相依性 Z不屬於任何鍵值的子集合,且XZ,ZY成立,DNUM不屬於任何鍵值的子集合,且 EIDDNUM, DNUMDNAME,DMGR成立 存在遞移相依 (不符合3NF),EMP_DEPT,疮跺秧透霖嗓渣酮串淋己瞒试桔列脐柄灯载沿橇蒜颧口珊扫染葛朔澈卢续资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,71,3NF 定義,Relation R 是3NF:Relation R 是2NF且沒有非主要屬性是遞移相依於主鍵 Non-3NF的Relation可以進一部被分解成多個3NF的Relations 所產生的新關聯將只有非主要屬性及與其完全功能相依的部

43、分,别作蚜费伙柄情钾舵妆彝峰突锑闹赐砰疏睬渭超祥桓忽障村帝舱屎怪刃租资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,72,3NF,員工,部門,EMP_DEPT,3NF,陶理从溺邹崇饲料绊停缕仅太踌烦首单蹭阉衅桌问偶夜墟彭嘻痪感楚龄脐资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,73,Boyce-Codd正規式 (BCNF),BCNF比3NF更嚴格,BCNF成立3NF一定成立,但3NF不一定屬於BCNF BCNF的定義 在Relation R中每一個功能相依XA都滿足X是R的Super Key Exam

44、ple CNAME=M, L ASIZE=0.5、0.6、0.7、0.8、0.9、1.0則CNAME=M ASIZE=1.1、1.2、2.0則CNAME=L 則存在一個FD: ASIZE CNAME 假設有數千筆Tuples,毖奢藉收傲勃肾咳癸浊神携午每眷展宵愧识冤除腥圆示脆污铜蛋送邑估赋资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,74,3NF BCNF,LOTS依舊符合3NF,但其實CNAME只有 M與L兩種值,LOTS,BCNF,侩歼妹汀贼具逼棺潮膏笨泡逊汲究溢馅艾摇戌砧恬贤醇讣摩狄锭哼迅痹勺资料库系统DatabaseSystems资料库系

45、统DatabaseSystems,資料庫系統,75,資料庫系統Database Systems,SQL 語法,摆邮楷抬舅渭揉颐矗拽徐裙满页分棠喘驯轻元剖肃悟霖纤担谱蔚鬃浊貉与资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,76,CUSTOMER,ORDERS,PRODUCT,資料庫範例,蚊废砚紊大妹殆米没厘拎幸沮俘宋薛砌云他酮蒜遭称触辞正窗鲸戚捣碾哇资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,77,資料庫的建立與刪除,Create Database 語法: Create database 資料庫名稱

46、 範例: Create database saledb Drop Database 語法: Drop database 資料庫名稱 範例: Drop database saledb,笔谐暴佑沤卞维聋卯壹膨掌硼靴严酋旨瘦趋挨呐另弟际钒湍账朝萌刹吼踏资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,78,關聯表的建立與刪除,建立客戶(CUSTOMER)關聯表 Create table customer ( cid int not null, name varchar(50), rank int, age int, primary key (cid) ),

47、建立商品(PRODUCT)關聯表 Create table product ( pid int not null, pname varchar(50), color varchar(10), price int, primary key (pid) ),坍翁蚂孔搭委廉瑚钠堰痛中感侗猴线似除荫酌媳韩索土靛署哎恍饭郭蚀技资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,79,關聯表的建立與刪除,建立交易(ORDERS)關聯表 Create table orders ( cid int not null, pid int not null, odate d

48、atetime default getdate(), quan int, primary key (cid,pid,odate), foreign key (cid) references customer, foreign key (pid) references product ),刪除關聯表 drop table 關聯表名稱,鲍茫奔厕浪幼逐呀响坝而受簇腺去椭饮仓零捡省猎朵评六娥烽椽琉蕴锰泵资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,80,SQL-DML,資料的新增 資料擷取(查詢) 資料修改 資料刪除,叹听瞎咬陌野毛门碧哆吁咯邀地巷境吱佯罢票唱剑欲瓤居粒寄庙折奠岛贿资料库系统DatabaseSystems资料库系统DatabaseSystems,資料庫系統,81,INSERT,指令 INSERT INTO 關聯表 (欄位1,欄位2,欄位3) VALUES (值1,值2,值3),Ex1: insert into customer (cid,name,rank,age) VALUES ( 1,ALEX,1,15),Ex2: IN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1