網(wǎng)絡(luò)數(shù)據(jù)庫原理及應(yīng)用
《網(wǎng)絡(luò)數(shù)據(jù)庫原理及應(yīng)用》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)絡(luò)數(shù)據(jù)庫原理及應(yīng)用(73頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、網(wǎng)絡(luò)數(shù)據(jù)庫原理及應(yīng)用,主講:刁仁宏,2005年9月 第2頁,聯(lián)系方式,Tel:028- 13438142532 Email:I 群號碼:17036867 課件密碼:123456,聲明:以上信息不得再向我詢問,2005年9月 第3頁,教學(xué)目的,了解數(shù)據(jù)庫技術(shù)的發(fā)展方向。 深入理解數(shù)據(jù)庫系統(tǒng)的基本概念。 掌握數(shù)據(jù)庫設(shè)計的一般方法,能夠使用MS SQL Server進行數(shù)據(jù)庫設(shè)計。 初步具備進行數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計開發(fā)的能力。,2005年9月 第4頁,教學(xué)計劃,第1章 數(shù)據(jù)庫理論基礎(chǔ) 2學(xué)時 第2章 SQL Server 2000安裝和常用工具 2學(xué)時 第3章 Transact-SQL語言基礎(chǔ) 2學(xué)時
2、 第4章 數(shù)據(jù)庫基本對象操作和管理 2學(xué)時 第5章 數(shù)據(jù)的查詢和修改 2學(xué)時 第6章 實施數(shù)據(jù)完整性 2學(xué)時 第7章 數(shù)據(jù)庫高級對象操作和管理 2學(xué)時 第8章 數(shù)據(jù)庫系統(tǒng)的安全性管理 2學(xué)時 第9章 應(yīng)用系統(tǒng)實例 2學(xué)時 上機實習(xí)(時間具體通知) 14學(xué)時,2005年9月 第5頁,第1章 數(shù)據(jù)庫理論基礎(chǔ),教學(xué)內(nèi)容: 數(shù)據(jù)庫發(fā)展簡史 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu) 數(shù)據(jù)庫設(shè)計過程數(shù)據(jù)庫設(shè)計過程 關(guān)系數(shù)據(jù)庫設(shè)計的規(guī)范化和非規(guī)范化 數(shù)據(jù)庫應(yīng)用結(jié)構(gòu),2005年9月 第6頁,1.1 數(shù)據(jù)庫發(fā)展簡史,數(shù)據(jù)庫系統(tǒng)的萌芽出現(xiàn)于60年代。當(dāng)時計算機開始廣泛地應(yīng)用于數(shù)據(jù)管理,
3、對數(shù)據(jù)的共享提出了越來越高的要求。傳統(tǒng)的文件系統(tǒng)已經(jīng)不能滿足人們的需求了,能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)應(yīng)運而生。 按照數(shù)據(jù)模型的特點將傳統(tǒng)數(shù)據(jù)庫系統(tǒng)分成網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫三類。 網(wǎng)狀DBMS(1961年、通用電氣公司、集成數(shù)據(jù)管理系統(tǒng)(IDMS)) 層次型DBMS ,IBM公司在1968年開發(fā)的IMS(Information Management System),2005年9月 第7頁,1.1.2 關(guān)系數(shù)據(jù)庫的由來,網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫已經(jīng)很好地解決了數(shù)據(jù)的集中和共享問題,但數(shù)據(jù)的獨立性和抽象有很大缺陷。用戶在對這兩種數(shù)據(jù)庫進行存取數(shù)據(jù)時,仍然需要明確數(shù)
4、據(jù)的存儲結(jié)構(gòu),指出存取路徑。關(guān)系數(shù)據(jù)庫能較好地解決了這些問題。 1969年E.F. Codd發(fā)明了關(guān)系數(shù)據(jù)庫。 1976年霍尼韋爾(Honeywell)公司開發(fā)了第一個商用關(guān)系數(shù)據(jù)庫系統(tǒng)Multics Relational Data Store。,2005年9月 第8頁,1.1.3 結(jié)構(gòu)化查詢語言,Structured Query Language,結(jié)構(gòu)化查詢語言 。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。 SQL-89標(biāo)準(zhǔn) SQL-92標(biāo)準(zhǔn) SQL3標(biāo)準(zhǔn),2005年9月 第9頁,1
5、.1.4 面向?qū)ο髷?shù)據(jù)庫,主要設(shè)計思想是企圖用新型數(shù)據(jù)庫系統(tǒng)來取代現(xiàn)有的數(shù)據(jù)庫系統(tǒng)。 一般把數(shù)據(jù)庫系統(tǒng)分為三代: 支持層次模型和網(wǎng)狀模型的第一代數(shù)據(jù)庫系統(tǒng)。 支持關(guān)系模型的第二代數(shù)據(jù)庫系統(tǒng)。 支持面向?qū)ο蟮臄?shù)據(jù)模型的第三代數(shù)據(jù)庫系統(tǒng)。,2005年9月 第10頁,1.2 數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng),1.2.1 文件管理系統(tǒng),購物者購買玩具,先查找文件File2,判斷此用戶是否合法;如果合法則訪問File1,判斷有無此玩具;如果也有, 則將訂單信息寫到文件File3中,2005年9月 第11頁,1.2.2 數(shù)據(jù)庫管理系統(tǒng)(DBMS),數(shù)據(jù)庫(DB) 數(shù)據(jù)庫是存放數(shù)據(jù)的“倉庫”,是相關(guān)數(shù)據(jù)(計算機中
6、表達信息的符號)的集合 數(shù)據(jù)庫是以一定的數(shù)據(jù)結(jié)構(gòu)形式存儲在一起的相互有關(guān)的具有冗余數(shù)據(jù)少、共享性、獨立性、完整性等特點的數(shù)據(jù)集合,2005年9月 第12頁,1.2.2 數(shù)據(jù)庫管理系統(tǒng)(DBMS),用戶與操作系統(tǒng)之間的一組數(shù)據(jù)管理軟件,它們能組織、存儲、維護、獲取數(shù)據(jù)等。,2005年9月 第13頁,1.2.2 數(shù)據(jù)庫管理系統(tǒng)(DBMS),一個數(shù)據(jù)庫管理系統(tǒng)應(yīng)該具備如下功能: 數(shù)據(jù)定義功能:定義數(shù)據(jù)的結(jié)構(gòu)、數(shù)據(jù)與數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系、數(shù)據(jù)的完整性約束等; 數(shù)據(jù)操縱功能:實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操縱,包括插入、刪除和修改數(shù)據(jù); 數(shù)據(jù)查詢功能:實現(xiàn)靈活的數(shù)據(jù)查詢功能,使用戶可以方便地使用數(shù)據(jù)庫中的數(shù)據(jù); 數(shù)
7、據(jù)控制功能:實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的安全性控制、完整性控制等各方面的控制功能; 數(shù)據(jù)管理功能:實現(xiàn)數(shù)據(jù)庫的備份和恢復(fù); 數(shù)據(jù)通信功能:在分布式數(shù)據(jù)庫或提供網(wǎng)絡(luò)操作功能的數(shù)據(jù)庫中還必須提供數(shù)據(jù)的通信功能。 還有性能優(yōu)化、并發(fā)控制等,2005年9月 第14頁,1.2.3 數(shù)據(jù)庫系統(tǒng)(DBS),由數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系統(tǒng)(Application)、數(shù)據(jù)管理員(DBA)和用戶(USER)組成 DB:是集成的、結(jié)構(gòu)化的Data的集合,是DBMS的管理對象 DBMS:是DBS的核心軟件,負(fù)責(zé)對DB的使用、控制和管理 USER:管理和使用DB的人員 DBA:設(shè)計、管理和使用DB的人員
8、Application:是應(yīng)用DB中的Data的一些軟件,2005年9月 第15頁,1.2.3 數(shù)據(jù)庫系統(tǒng)(DBS),,數(shù)據(jù)庫 (Database),,應(yīng)用程序 Application,,,數(shù)據(jù)庫管理系統(tǒng) (DBMS),,,,,,用戶(user),數(shù)據(jù)庫管理員(DBA),,用戶(user),圖1-3 數(shù)據(jù)庫系統(tǒng)組成,2005年9月 第16頁,1.2.3 數(shù)據(jù)庫系統(tǒng)(DBS),,,2005年9月 第17頁,1.3 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu),三級模式結(jié)構(gòu) 內(nèi)模式(存儲模式)是最接近物理存儲的,也就是數(shù)據(jù)的物理存儲方式; 描述數(shù)據(jù)庫的物理存儲結(jié)構(gòu) 由DBMS提供的工具或語言完成 模式(邏輯模式、概念模式)是
9、介于內(nèi)模式和外模式之間的中間層次。描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu) . 現(xiàn)實世界中數(shù)據(jù)庫用戶的數(shù)據(jù)抽象 描述整個數(shù)據(jù)庫的結(jié)構(gòu) 著重描述實體、屬性、關(guān)系和約束 外模式(子模式、用戶模式)是最接近用戶的,也就是用戶所看到的數(shù)據(jù)視圖;描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu) 。 描述特定用戶組感興趣的那部分的數(shù)據(jù)庫,2005年9月 第18頁,1.3 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu),2005年9月 第19頁,1.3 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu),三級模式結(jié)構(gòu)的優(yōu)點 保證數(shù)據(jù)的獨立性 簡化了用戶接口 有利于數(shù)據(jù)共享 利于數(shù)據(jù)的安全保密,2005年9月 第20頁,1.3.2 數(shù)據(jù)庫的二級模式映像功能,數(shù)據(jù)庫管理系統(tǒng)在三個模式之間提供了兩層映像: 外模
10、式/模式映像 定義了該外模式與模式之間的對應(yīng)關(guān)系。通常包含在各自的外模式描述中。 模式/內(nèi)模式映像 數(shù)據(jù)庫的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系,該映像通常包含在模式描述中 。,2005年9月 第21頁,1.4 數(shù)據(jù)庫設(shè)計過程,2005年9月 第22頁,1.4.1 數(shù)據(jù)和數(shù)據(jù)模型,數(shù)據(jù)是信息存在的一種形式,只有通過解釋或處理才能成為有用的信息 . 數(shù)據(jù)的靜態(tài)特征 包括數(shù)據(jù)的基本結(jié)構(gòu)、數(shù)據(jù)間的關(guān)系和對數(shù)據(jù)取值范圍的約束。 數(shù)據(jù)的動態(tài)特征 對數(shù)據(jù)可以進行的操作以及操作規(guī)則。對數(shù)據(jù)庫數(shù)據(jù)的操作主要有查詢數(shù)據(jù)和更改數(shù)據(jù),2005年9月 第23頁,1.4.1 數(shù)據(jù)和數(shù)據(jù)模型,模型是現(xiàn)實世界特征的模擬和抽象。
11、 數(shù)據(jù)模型(Data Model)也是一種模型,它是對現(xiàn)實世界數(shù)據(jù)特征的抽象。 概念層數(shù)據(jù)模型。信息世界的概念。 也稱為概念模型或信息模型,它是從數(shù)據(jù)的應(yīng)用語義視角來抽取模型并按用戶的觀點來對數(shù)據(jù)和信息進行建模。這類模型主要用在數(shù)據(jù)庫的設(shè)計階段,它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。 組織層數(shù)據(jù)模型。計算機世界的概念。是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。 層次模型(用樹型結(jié)構(gòu)組織數(shù)據(jù))。 網(wǎng)狀模型(用圖形結(jié)構(gòu)組織數(shù)據(jù))。 關(guān)系模型(用簡單二維表結(jié)構(gòu)組織數(shù)據(jù))。 對象關(guān)系模型(用復(fù)雜的表格以及其他結(jié)構(gòu)組織數(shù)據(jù))。,現(xiàn)實世界中的客觀事物的抽象過程,2005年9月 第25頁,1.4.1 數(shù)據(jù)和數(shù)據(jù)模型,數(shù)據(jù)模型包括:
12、 數(shù)據(jù)結(jié)構(gòu)。對系統(tǒng)靜態(tài)特性的描述。 一類是與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象,比如關(guān)系模型中的域、屬性和關(guān)系等; 另一類是與數(shù)據(jù)之間關(guān)系有關(guān)的對象,它從數(shù)據(jù)組織層表達數(shù)據(jù)記錄與字段的結(jié)構(gòu)。 數(shù)據(jù)操作。操作及有關(guān)的操作規(guī)則。 數(shù)據(jù)檢索:在數(shù)據(jù)集合中提取用戶感興趣的內(nèi)容,不改變數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)值。 數(shù)據(jù)更新:包括插入、刪除和修改數(shù)據(jù),此類操作改變數(shù)據(jù)的值。 數(shù)據(jù)完整性約束。 是一組完整性規(guī)則的集合。,2005年9月 第26頁,1.4.2 概念層數(shù)據(jù)模型,用于信息世界的建模 ,是面向用戶、面向現(xiàn)實世界的數(shù)據(jù)模型,它與具體的DBMS無關(guān)。 常用的概念模型是實體關(guān)系(Entity-Relationship,
13、簡稱E-R)模型。 主要涉及三個概念:實體、屬性和關(guān)系。,2005年9月 第27頁,1.4.2 概念層數(shù)據(jù)模型,1.實體(Entity) 實體是具有相同性質(zhì)并且彼此之間可以相互區(qū)分的現(xiàn)實世界對象的集合。 在關(guān)系數(shù)據(jù)庫中,一般一個實體被映射成一個關(guān)系表,表中的一行對應(yīng)一個可區(qū)分的現(xiàn)實世界對象(這些對象組成了實體),稱為實體實例(entity instance)。 在E-R圖中用矩形框表示具體的實體,把實體名寫在框內(nèi)。,2005年9月 第28頁,1.4.2 概念層數(shù)據(jù)模型,2屬性(Attribute) 實體所具有的特征稱為它的屬性。是描述實體或者關(guān)系(在下面說明)的性質(zhì)的數(shù)據(jù)項。 每個實體都有一個
14、標(biāo)識符(或叫實體的鍵),標(biāo)識符是實體中的一個屬性或者幾個屬性的組合,每個實體實例在標(biāo)識符上具有不同的值。 在E-R圖中用橢圓表示屬性,橢圓內(nèi)寫上屬性名。,2005年9月 第29頁,1.4.2 概念層數(shù)據(jù)模型,3關(guān)系(Relationship ) 實體內(nèi)部的關(guān)系 組成實體的各屬性之間的關(guān)系 。如“職工”實體中,假設(shè)有“職工號”和“部門經(jīng)理號” 。 不同實體之間的關(guān)系 例?!巴婢摺睂嶓w(設(shè)有屬性:ID號、名稱、價格、重量、商標(biāo)ID)和“商標(biāo)”實體(設(shè)有屬性:商標(biāo)ID、商標(biāo)名稱、商標(biāo)說明)之間的“商標(biāo)ID” 關(guān)系用菱形框表示,框內(nèi)寫上關(guān)系名,并用連線將有關(guān)的實體連接起來。,2005年9月 第30頁,
15、1.4.2 概念層數(shù)據(jù)模型,關(guān)系有三種類型: 一對一(1:1) 一對多(1:n) 多對多(m:n),2005年9月 第31頁,1.4.2 概念層數(shù)據(jù)模型,2005年9月 第32頁,1.4.2 概念層數(shù)據(jù)模型,用矩形表示實體,矩形框內(nèi)寫上實體名。 實體的屬性用橢圓表示,橢圓內(nèi)寫上屬性名,并用無向邊與其實體相連。,學(xué)生,學(xué)號,姓名,性別,系,入學(xué)時間,,,,,,2005年9月 第33頁,1.4.2 概念層數(shù)據(jù)模型,關(guān)系(實體間的聯(lián)系) 用菱形表示,關(guān)系以適當(dāng)?shù)暮x命名,名字寫在菱形框中; 用無向連線將參加相應(yīng)聯(lián)系的實體矩形框分別與菱形相連; 并在連線上標(biāo)明聯(lián)系的類型,即1:1,1:N或N:M 如聯(lián)
16、系具有屬性,也要用無向邊與該聯(lián)系連接起來,教學(xué),教師,學(xué)生,,,姓名,工號,姓名,學(xué)號,,,,,1,N,2005年9月 第34頁,1.4.2 概念層數(shù)據(jù)模型,E-R圖的畫法 確定系統(tǒng)中的實體 確定每個實體的屬性 確定實體間的關(guān)系,2005年9月 第35頁,E-R圖的畫法,確定每個實體的屬性,學(xué)生,學(xué)號,姓名,性別,系,入學(xué)時間,,,,,,課程,課程號,課程名稱,,,2005年9月 第36頁,E-R圖的畫法,確定實體間的關(guān)系,學(xué)生,課程,學(xué)習(xí),,,M,N,成績,,2005年9月 第37頁,E-R圖的畫法,學(xué)生,課程,學(xué)習(xí),,,M,N,成績,,學(xué)號,姓名,性別,系,入學(xué)時間,,,,,,課程號,課程
17、名稱,,,2005年9月 第38頁,練習(xí),用E-R圖描述圖書信息管理的數(shù)據(jù)模型 每個借書人有姓名、借書證號和單位屬性,每個借書人可以借5本書,每本圖書有總編號、分類號、書號、作者、定價和位置屬性,同一本書可以相繼被幾個人借閱。,2005年9月 第40頁,1.4.3 組織層數(shù)據(jù)模型,1.層次模型 用樹結(jié)構(gòu)表示實體之間聯(lián)系的模型叫層次模型。 樹由節(jié)點和連線組成,節(jié)點代表實體型,連線表示兩實體型間的一對多聯(lián)系。 樹有以下特性: 每棵樹有且僅有一個節(jié)點無父節(jié)點,此節(jié)點稱為樹的根(Root)。 樹中的其它節(jié)點都有且僅有一個父節(jié)點,2005年9月 第41頁,1.4.3 組織層數(shù)據(jù)模型,層次模型示意圖,20
18、05年9月 第42頁,1.4.3 組織層數(shù)據(jù)模型,2.網(wǎng)狀模型 是一個滿足下列條件的有向圖 可以有一個以上的節(jié)點無父節(jié)點。 至少有一個節(jié)點有多于一個的父節(jié)點(排除樹結(jié)構(gòu))。,2005年9月 第43頁,1.4.3 組織層數(shù)據(jù)模型,3.對象關(guān)系模型(用復(fù)雜的表格以及其他結(jié)構(gòu)組織數(shù)據(jù)) 引入對象的觀念。如: InterSystems 公司的Cach數(shù)據(jù)庫 SQL Server的table 數(shù)據(jù)類型 Oracle的大型對象數(shù)據(jù)類型,2005年9月 第44頁,1.4.3 組織層數(shù)據(jù)模型,4. 關(guān)系模型 表示實體以及實體之間關(guān)系的模型稱為關(guān)系數(shù)據(jù)模型 用二維表來表示實體及其相互聯(lián)系,字段,記錄,2005年
19、9月 第45頁,1.4.3 組織層數(shù)據(jù)模型,關(guān)系模型中的基本術(shù)語 關(guān)系(表) 關(guān)系就是二維表 ,每一列不可再分 ,屬性不能重名 ,可交換列的前后順序 。 元組(行) 表中的每一行數(shù)據(jù)稱作是一個元組 屬性(列) 表中的每一列是一個屬性值集,列可以命名,稱為屬性名 。,2005年9月 第46頁,1.4.3 組織層數(shù)據(jù)模型,關(guān)系模型中的基本術(shù)語 主鍵(PK) 用于惟一的確定表中的一個元組。 外鍵(FK) 當(dāng)一個表的主鍵在另一個表中作為一個屬性存在時,它就在另外一個表中被稱作是外鍵,外鍵是可以重復(fù)的。 域 屬性的取值范圍就稱為域。,2005年9月 第47頁,1.4.3 組織層數(shù)據(jù)模型,關(guān)系模型的數(shù)據(jù)操
20、作 關(guān)系模型的操作對象是集合,而不是行,也就是操作的對象以及操作的結(jié)果都是完整的表(行的集合,而不只是單行,當(dāng)然,只包含一行數(shù)據(jù)的表是合法的,空表或不包含任何數(shù)據(jù)行的表也是合法的)。 查詢、插入、刪除和修改四種操作。,2005年9月 第48頁,1.4.3 組織層數(shù)據(jù)模型,關(guān)系模型的數(shù)據(jù)完整性約束 實體完整性 引用完整性 域完整性 用戶自定義完整性,2005年9月 第49頁,1.4.3 組織層數(shù)據(jù)模型,(1) 實體完整性 指的是關(guān)系數(shù)據(jù)庫中所有的表都必須有主鍵,而且表中不允許存在如下的記錄。 無主鍵值的記錄 主鍵值相同的記錄 關(guān)系模型中使用主鍵作為記錄的惟一標(biāo)識 。在關(guān)系數(shù)據(jù)庫中主屬性不能取空值
21、。 關(guān)系數(shù)據(jù)庫中的空值是特殊的標(biāo)量常數(shù),它既不是“0”,也不是沒有值,它代表未定義的或者有意義但目前還處于未知狀態(tài)的值。數(shù)據(jù)庫中的空值用“NULL”表示。,2005年9月 第50頁,1.4.3 組織層數(shù)據(jù)模型,(2)引用完整性(參照完整性 ) 引用完整性一般是指多個實體或關(guān)系表之間的關(guān)聯(lián)關(guān)系。 一個表中某列的取值受另一個表的某列的取值范圍約束的特點就稱為引用完整性。 在關(guān)系數(shù)據(jù)庫中用外鍵(Fk)來實現(xiàn)引用完整性。 例1-1 “玩具”表和“種類”表所包含的屬性如下,其中主鍵用下劃線標(biāo)識。 玩具(玩具ID,名稱,種類ID,價格,重量,產(chǎn)地) 種類(種類ID,種類,描述),2005年9月 第51頁,
22、1.4.3 組織層數(shù)據(jù)模型,(3)域完整性 域完整性或語義完整性。確保了只有在某一合法范圍內(nèi)的值才能存儲到一列中??梢酝ㄟ^限制數(shù)據(jù)類型、值的范圍和數(shù)據(jù)格式來實施域完整性。 (4)用戶自定義完整性 是針對某一具體應(yīng)用領(lǐng)域定義的數(shù)據(jù)約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須要滿足應(yīng)用語義的要求。,2005年9月 第52頁,1.4.4 E-R模型轉(zhuǎn)化為關(guān)系模型,三個世界術(shù)語對應(yīng),2005年9月 第53頁,1.4.4 E-R模型轉(zhuǎn)化為關(guān)系模型,將實體轉(zhuǎn)換表 信息世界 機器世界 實體 表 屬性 表的列(字段) 實例 表的行(記錄) 碼 表的某列(鍵) 注
23、意表的命名規(guī)范,,,,,2005年9月 第54頁,1.4.4 E-R模型轉(zhuǎn)化為關(guān)系模型,將關(guān)系映射成一個表 一個1:1關(guān)系可以轉(zhuǎn)換為一個獨立的關(guān)系表,也可以與任意一端所對應(yīng)的關(guān)表合并。例1-2。 一個1:n關(guān)系可以轉(zhuǎn)換為一個獨立的表,也可以與n端所對應(yīng)的表合并。例1-3 。 一個m:n關(guān)系轉(zhuǎn)換為一個表。與該關(guān)系相連的各實體的關(guān)鍵字以及關(guān)系本身的屬性均轉(zhuǎn)換為該表的屬性,新表的關(guān)鍵字包含各實體的關(guān)鍵字,同時新表中各實體的關(guān)鍵字為引用各自實體的外關(guān)鍵字。例1-4 。 3個或3個以上實體間的一個多元關(guān)系可以轉(zhuǎn)換為一個表。與該多元關(guān)系相連的各實體的關(guān)鍵字以及關(guān)系本身的屬性均轉(zhuǎn)換為此表的屬性,而此表的關(guān)鍵
24、字包含各實體的關(guān)鍵字,同時新表中的各實體的關(guān)鍵字為引用各自實體的外關(guān)鍵字。 具有相同碼的表可以合并。,2005年9月 第55頁,E-R模型轉(zhuǎn)換關(guān)系模型示例1-2,部門表(部門號(PK),部門名,經(jīng)理號(FK))。 經(jīng)理表(經(jīng)理號(PK) ,經(jīng)理名,電話)。,部門表(部門號(PK) ,部門名) 。 經(jīng)理表(經(jīng)理號(PK) ,部門號(FK),經(jīng)理名,電話) 。,部門表(部門號(PK) ,部門名) 。 經(jīng)理表(經(jīng)理號(PK) ,經(jīng)理名,電話)。 部門經(jīng)理表(經(jīng)理號(FK) ,部門號(FK))。,2005年9月 第56頁,E-R模型轉(zhuǎn)換關(guān)系模型示例1-3,商標(biāo)表(商標(biāo)ID (PK) ,商標(biāo)名) 。 玩
25、具表(玩具ID (PK) ,玩具名,商標(biāo)ID (FK) )。,商標(biāo)表(商標(biāo)ID (PK) ,商標(biāo)名) 。 玩具表(玩具ID (PK) ,玩具名,單價,產(chǎn)地 ) 。 商標(biāo)玩具表(商標(biāo)ID (FK) ,玩具ID (FK) ),2005年9月 第57頁,E-R模型轉(zhuǎn)換關(guān)系模型示例1-4,購物者表(購物者ID(PK),購物者名,性別,地址)。 玩具表(玩具ID (PK),玩具名,單價,產(chǎn)地)。 購物者玩具表(購物者ID,玩具ID,數(shù)量)其中(購物者ID,玩具ID)為組合主鍵,同時也為引用購物者表和玩具表的外鍵 。,2005年9月 第58頁,1.5關(guān)系數(shù)據(jù)庫設(shè)計的規(guī)范化和非規(guī)范化,如果修改一個學(xué)生的地址
26、,就需要修改和那個學(xué)生相關(guān)的多行內(nèi)容,否則將引起數(shù)據(jù)的不一致。,更新異常 插入、修改、刪除數(shù)據(jù)可能導(dǎo)致不一致性。 不一致性 數(shù)據(jù)重復(fù)時,更容易引發(fā)錯誤。 無謂地占用額外的磁盤空間。,2005年9月 第59頁,1.5關(guān)系數(shù)據(jù)庫設(shè)計的規(guī)范化和非規(guī)范化,要設(shè)計出一個好的數(shù)據(jù)庫,應(yīng)該遵循下列規(guī)則: 每張表中都應(yīng)有一個標(biāo)識列。 每張表中只能存放一種實體的數(shù)據(jù)。 應(yīng)避免接收帶有NULL值的列。 應(yīng)避免值或列的重復(fù)。,2005年9月 第60頁,1.5.1 規(guī)范化設(shè)計,規(guī)范化將導(dǎo)致滿足某些特定規(guī)則并代表某些范式的表的形成。 范式用于確保數(shù)據(jù)庫中不存在各種類型的異常和不一致。 表結(jié)構(gòu)總是屬于某個特定的范式。,2
27、005年9月 第61頁,1第一范式(1NF),當(dāng)表中的每個單元含且僅含一個值時,這個表叫做第一范式(1 NF)。,2005年9月 第62頁,1.5.1 規(guī)范化設(shè)計,函數(shù)依賴 給定一個關(guān)系(你可以稱其為表,也可以稱其為關(guān)系)R,如果R中A的每個值都與B的某個確定值相對應(yīng),則屬性A函數(shù)依賴于B。換句話說,當(dāng)且僅當(dāng)對于B的每個值都能夠在A中找到一個確定的值時,屬性A函數(shù)依賴于B。屬性 B稱為決定因子。,2005年9月 第63頁,2第二范式(2NF),當(dāng)一個表是1 NF 且一行中的每個屬性都依賴于整個關(guān)鍵字(不僅僅是關(guān)鍵字的一部分)時,該表就可以稱作第二范式。,2005年9月 第64頁,2第二范式(2
28、NF),2005年9月 第65頁,3第三范式(3NF),當(dāng)一個關(guān)系是2 NF,且其中的每個非關(guān)鍵字屬性僅函數(shù)依賴于主關(guān)鍵字時,這樣的關(guān)系稱為3 NF。,2005年9月 第66頁,3第三范式(3NF),2005年9月 第67頁,1.5.2非規(guī)范化設(shè)計,規(guī)范化的最終產(chǎn)物是一系列相關(guān)的表,這些表構(gòu)成了數(shù)據(jù)庫。但有的時候,為了得到簡單的輸出,你得連接多個表。這影響了查詢的性能。在這種情況下,更明智的做法是引入一定程度的冗余,包括引入額外的列或額外的表。為了提高性能,在表中故意引入冗余的做法稱為非規(guī)范化 在下列情況下可以考慮進行非規(guī)范化處理: 大量頻繁的查詢過程所涉及的表都需要進行連接。 主要的應(yīng)用程序
29、在執(zhí)行時要將表連接起來進行查詢。 對數(shù)據(jù)的計算需要臨時表或進行復(fù)雜的查詢。,2005年9月 第68頁,1.6 數(shù)據(jù)庫應(yīng)用結(jié)構(gòu),1.6.1 客戶機/服務(wù)器結(jié)構(gòu),,2005年9月 第69頁,1.6.1 客戶機/服務(wù)器結(jié)構(gòu),Client/Server體系結(jié)構(gòu) 由多個用戶共享的信息和功能,稱為服務(wù)器。 執(zhí)行后臺服務(wù),如管理共享外設(shè)、控制對共享數(shù)據(jù)庫的操縱、接受并應(yīng)答客戶機的請求等。 每個用戶所專有,稱為客戶。 負(fù)責(zé)執(zhí)行前臺功能,如管理用戶接口、數(shù)據(jù)處理和報告請求等。 優(yōu)點 將一個應(yīng)用系統(tǒng)分成兩大部分,由多臺計算機分別執(zhí)行,使它們有機的結(jié)合在一起,協(xié)同完成整個系統(tǒng)的應(yīng)用,從而達到系統(tǒng)中軟、硬件資源最大限
30、度的利用。,2005年9月 第70頁,1.6.2互聯(lián)網(wǎng)應(yīng)用結(jié)構(gòu),,2005年9月 第71頁,1.7 小結(jié),數(shù)據(jù)庫發(fā)展簡史 數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng) 文件管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu) 三級模式結(jié)構(gòu) 數(shù)據(jù)庫的二級模式映像功能 數(shù)據(jù)庫設(shè)計過程 數(shù)據(jù)和數(shù)據(jù)模型 概念層數(shù)據(jù)模型 組織層數(shù)據(jù)模型 E-R模型轉(zhuǎn)化為關(guān)系模型 關(guān)系數(shù)據(jù)庫設(shè)計的規(guī)范化和非規(guī)范化 數(shù)據(jù)庫應(yīng)用結(jié)構(gòu),2005年9月 第72頁,思考題,設(shè)計并規(guī)范一些表,來記錄和完成一下功能: 現(xiàn)在有一家網(wǎng)上玩具商店,通過網(wǎng)絡(luò)銷售玩具,購物者通過注冊自己的信息成為合法用戶,才能購買玩具。 商店有各種不同廠商,適合不同年齡層次人的玩具。 購物者購買玩具可以給自己或送給別人(暫且都叫接受者)投遞時需要填寫接受者的詳細(xì)信息。 購買完成后,玩具經(jīng)過包裝通過各種不同的投遞方式出貨。 要求詳細(xì)記錄每個購物者的每筆交易和發(fā)生的費用,包括玩具的價格,包裝的價格,投遞的價格等等。,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護納稅人的合法權(quán)益)
- 2024《文物保護法》全文解讀學(xué)習(xí)(加強對文物的保護促進科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩