![數(shù)據(jù)庫(kù)系統(tǒng)概論_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/43c7967a-2930-4161-9feb-209c311fd05f/43c7967a-2930-4161-9feb-209c311fd05f1.gif)
![數(shù)據(jù)庫(kù)系統(tǒng)概論_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/43c7967a-2930-4161-9feb-209c311fd05f/43c7967a-2930-4161-9feb-209c311fd05f2.gif)
![數(shù)據(jù)庫(kù)系統(tǒng)概論_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/43c7967a-2930-4161-9feb-209c311fd05f/43c7967a-2930-4161-9feb-209c311fd05f3.gif)
![數(shù)據(jù)庫(kù)系統(tǒng)概論_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/43c7967a-2930-4161-9feb-209c311fd05f/43c7967a-2930-4161-9feb-209c311fd05f4.gif)
![數(shù)據(jù)庫(kù)系統(tǒng)概論_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/43c7967a-2930-4161-9feb-209c311fd05f/43c7967a-2930-4161-9feb-209c311fd05f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)系統(tǒng)概論 1天水電大天水電大 楊彩玲楊彩玲聯(lián)系電話:聯(lián)系電話:8621863E-mail:數(shù)據(jù)庫(kù)系統(tǒng)概論 2目 錄v第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述 v第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 v第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 v第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL v第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 v第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論 v第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) v第第8章章 SQL系統(tǒng)環(huán)境系統(tǒng)環(huán)境 v第第9章章 面向?qū)ο蟛樵冋Z(yǔ)言面向?qū)ο蟛樵冋Z(yǔ)言 數(shù)據(jù)庫(kù)系統(tǒng)概論 3第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述 1.1 數(shù)據(jù)管理技術(shù)的發(fā)展數(shù)
2、據(jù)管理技術(shù)的發(fā)展 數(shù)據(jù)管理:如何對(duì)數(shù)據(jù)進(jìn)行分類組織儲(chǔ)存檢索及維護(hù)。 數(shù)據(jù)管理的三個(gè)階段: 人工管理階段 文件系統(tǒng)階段 數(shù)據(jù)庫(kù)系統(tǒng)階段 數(shù)據(jù)庫(kù)系統(tǒng)概論 4第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述人工管理階段人工管理階段 時(shí)間:20世紀(jì)50年代中期以前 背景: 硬件:外存只有卡片、紙帶、磁帶 軟件:匯編語(yǔ)言 數(shù)據(jù)批處理 特點(diǎn): 數(shù)據(jù)不進(jìn)行保存 沒(méi)有專門(mén)的數(shù)據(jù)管理軟件 數(shù)據(jù)面向應(yīng)用 只有程序的概念 數(shù)據(jù)庫(kù)系統(tǒng)概論 5第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述文件系統(tǒng)階段文件系統(tǒng)階段 時(shí)間:20世紀(jì)50年代末到60年代中期 背景: 硬件:磁盤(pán)磁鼓等直接存取的外存設(shè)備 軟件:操作系統(tǒng)高級(jí)語(yǔ)言操作系統(tǒng)中的文件系統(tǒng)是
3、專門(mén)用于數(shù)據(jù)管理的軟件 文件批處理聯(lián)機(jī)實(shí)時(shí)處理 特點(diǎn): 數(shù)據(jù)可以長(zhǎng)期保存在磁盤(pán)上 文件系統(tǒng)提供了數(shù)據(jù)與程序之間的存取方法 數(shù)據(jù)冗余度大 文件之間缺乏聯(lián)系,相互孤立 數(shù)據(jù)庫(kù)系統(tǒng)概論 6第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)庫(kù)系統(tǒng)階段 時(shí)間:20世紀(jì)60年代末 背景: 硬件:大容量的磁盤(pán) 聯(lián)機(jī)實(shí)時(shí)處理 特點(diǎn): 數(shù)據(jù)的結(jié)構(gòu)化 數(shù)據(jù)共享性好 數(shù)據(jù)獨(dú)立性好 數(shù)據(jù)存取粒度小 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,database management system) 數(shù)據(jù)庫(kù)系統(tǒng)概論 7第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述1.2 有關(guān)數(shù)據(jù)庫(kù)的基本術(shù)語(yǔ)有關(guān)數(shù)據(jù)庫(kù)的基本術(shù)語(yǔ) 數(shù)據(jù):計(jì)算機(jī)用來(lái)描述事物的記錄(
4、文字圖形圖像聲音) 數(shù)據(jù)模型:是人們對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)特征的抽象。(真實(shí)性易理解易實(shí)現(xiàn)) 數(shù)據(jù)模型三要素:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作和完整性約束 數(shù)據(jù)模型類型:層資模型網(wǎng)狀模型關(guān)系模型 數(shù)據(jù)庫(kù):由DBMS管理的數(shù)據(jù)的聚集 數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS:是數(shù)據(jù)庫(kù)系統(tǒng)核心,用戶開(kāi)發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)是建立在特定的DBMS之上 數(shù)據(jù)庫(kù)系統(tǒng)概論 8第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)DBS(database system):包括和數(shù)據(jù)庫(kù)有關(guān)的整個(gè)系統(tǒng):數(shù)據(jù)庫(kù)DBMS應(yīng)用程序數(shù)據(jù)庫(kù)管理員和用戶等。 數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)該是: 允許用戶用一種叫做“數(shù)據(jù)定義語(yǔ)言“的專用語(yǔ)言建立新的數(shù)據(jù)庫(kù)。 允許用戶用一種叫做“數(shù)據(jù)操作語(yǔ)言“或者
5、“查詢語(yǔ)言“的專用語(yǔ)言來(lái)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢和更新 支持存儲(chǔ)大量的數(shù)據(jù),保證對(duì)數(shù)據(jù)的正確及安全使用 控制多用戶的并發(fā)訪問(wèn),保證并發(fā)方問(wèn)不相互影響,不損壞數(shù)據(jù) 數(shù)據(jù)庫(kù)系統(tǒng)概論 9第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)的完整性 數(shù)據(jù)的安全性 并發(fā)控制 數(shù)據(jù)庫(kù)的恢復(fù) 為用戶提供了友好的接口 數(shù)據(jù)庫(kù)系統(tǒng)概論 10第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述1.3 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng) 什么是關(guān)系?就是一張表 表名表名 屬性(域)屬性(域) 元組元組 鍵碼鍵碼:根據(jù)關(guān)系中的某個(gè)屬性或?qū)傩约?能唯一確定一個(gè)元組,由把這個(gè)屬性(集)稱為關(guān)系的鍵碼。 關(guān)系不僅可以用來(lái)表示某個(gè)實(shí)體,也可以用來(lái)表示實(shí)體和實(shí)
6、體之間的聯(lián)系關(guān)系模型 數(shù)據(jù)以“關(guān)系”的形式,也就是二維表的形式來(lái)表示,其數(shù)據(jù)模型就是關(guān)系模型。 數(shù)據(jù)庫(kù)系統(tǒng)概論 11第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng) 以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫(kù)系統(tǒng)就是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),是當(dāng)前數(shù)據(jù)庫(kù)系統(tǒng)的主流。 1.4 數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu) 三層模式:外模式、模式、內(nèi)模式 二層映象功能:外模式/模式映象和模式/內(nèi)模式映象 三層模式結(jié)構(gòu)三層模式結(jié)構(gòu) 外模式外模式:又稱為用戶模式,是數(shù)據(jù)庫(kù)用戶和數(shù)據(jù)庫(kù)系統(tǒng)的接口,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是數(shù)據(jù)庫(kù)用戶可以看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描描述。 一個(gè)數(shù)據(jù)庫(kù)通常都有多個(gè)外模式。一個(gè)應(yīng)
7、用程序只能使用一個(gè)外模式,但同一外模式可為多個(gè)應(yīng)用程序所用。 數(shù)據(jù)庫(kù)系統(tǒng)概論 12第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述模式模式:可細(xì)分為概念模式和邏輯模式,是所有數(shù)據(jù)庫(kù)用戶的公共數(shù)據(jù)視而不見(jiàn)釁,是數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。 一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。模式不但要描友誼賽數(shù)據(jù)的邏輯結(jié)構(gòu),還要描述數(shù)據(jù)之音的聯(lián)系、數(shù)據(jù)的完整性、安全性要求。 內(nèi)模式:內(nèi)模式:又稱為存儲(chǔ)模式,是數(shù)據(jù)庫(kù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。 一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。內(nèi)模式并不涉及物理記錄,也不涉及硬件設(shè)備。三層模式關(guān)系:數(shù)據(jù)庫(kù)模式是數(shù)據(jù)庫(kù)的核心和關(guān)鍵,外模式通常是模式的了集。數(shù)據(jù)按外模式的描
8、述提供用戶,按內(nèi)模式的描述存儲(chǔ)在硬盤(pán)上,而模式介于外、內(nèi)模式之間,既不涉及外部的訪問(wèn),也不涉及內(nèi)部的存儲(chǔ),從而起到隔離作用,有利于保持?jǐn)?shù)據(jù)的獨(dú)立性,內(nèi)模式依賴于全局邏輯結(jié)構(gòu),但可以獨(dú)立于具體的存儲(chǔ)設(shè)備。數(shù)據(jù)庫(kù)系統(tǒng)概論 13第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述兩層映象功能兩層映象功能 映象:是一種對(duì)應(yīng)規(guī)則,說(shuō)明映象雙方如何進(jìn)行轉(zhuǎn)換。 外模式/模式映象 作用:把描述局部邏輯結(jié)構(gòu)的外模式與描述全局邏輯結(jié)構(gòu)的模式聯(lián)系趣來(lái)。 當(dāng)模式改變時(shí),只要對(duì)外模式/模式映象做相應(yīng)的改變,使外模式保持不變,則以外模式為依據(jù)的應(yīng)用程序不受影響,從而保證了數(shù)據(jù)與程序之間的邏輯獨(dú)立性,也就是數(shù)據(jù)的邏輯獨(dú)立性 模式/內(nèi)模式映
9、象 數(shù)據(jù)庫(kù)系統(tǒng)概論 14第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述作用:把描述全局邏輯結(jié)構(gòu)的模式與描述物理結(jié)構(gòu)的內(nèi)模式聯(lián)系起來(lái)。 當(dāng)內(nèi)模式改變時(shí),比如存儲(chǔ)設(shè)備或存儲(chǔ)方式有所改變,只要模式/內(nèi)模式映象做相應(yīng)的改變,使模式保持不變,則應(yīng)用程序就不受影響,從而保證了數(shù)據(jù)與程序之的物理獨(dú)立性。 1.5 DBMS的體系結(jié)構(gòu)的組成概述的組成概述 DBMS的主要組成部分如圖示(P10圖1.8) 三種類型的DBMS輸入:查詢、更新、模式更新 數(shù)據(jù)庫(kù)系統(tǒng)概論 15第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述查詢: 兩種生成方式:(1)通過(guò)通用的查詢接口 (2)通過(guò)應(yīng)用程序的接口 更新:對(duì)數(shù)據(jù)的插入、修改和刪除等操作統(tǒng)稱為更新
10、(如上的兩種生成方式) 模式更新:數(shù)據(jù)庫(kù)的模式是指數(shù)據(jù)的邏輯結(jié)構(gòu)。模式更新命令一般只能由數(shù)據(jù)庫(kù)管理員使用。 查詢處理程序查詢處理程序 任務(wù)任務(wù)是把用較高級(jí)的語(yǔ)言所表示的數(shù)據(jù)庫(kù)操作轉(zhuǎn)換成一系列對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求。它的一個(gè)重要任務(wù)是“優(yōu)化”查詢,即為給予定的查詢找出好的解答算法。 數(shù)據(jù)庫(kù)系統(tǒng)概論 16第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述存儲(chǔ)管理程序存儲(chǔ)管理程序 包括兩部分:文件管理程序和緩沖區(qū)管理程序。它既管理磁盤(pán)存儲(chǔ)器上的數(shù)據(jù)文件,又管理存放數(shù)據(jù)文件部分內(nèi)容的內(nèi)存緩沖區(qū)。 事務(wù)管理程序事務(wù)管理程序 事務(wù)是數(shù)據(jù)庫(kù)的基本工作單元。典型的DBMS允許用戶把一個(gè)或多個(gè)數(shù)據(jù)庫(kù)操作組成“事務(wù)”。數(shù)據(jù)庫(kù)系統(tǒng)常常允
11、許多個(gè)事務(wù)并發(fā)地執(zhí)行,事務(wù)管理程序的任務(wù)任務(wù)就是保證這些事務(wù)全都能正確執(zhí)行。 事務(wù)的特性: 原子性 一致性 隔離性 數(shù)據(jù)庫(kù)系統(tǒng)概論 17第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述持久性 如何實(shí)現(xiàn)上述特性: 加鎖 日志文件 事務(wù)提交 客戶程序客戶程序/服務(wù)程序體系結(jié)構(gòu)服務(wù)程序體系結(jié)構(gòu) 數(shù)據(jù)庫(kù)管理系統(tǒng)通常支持客戶程序/服務(wù)程序體系結(jié)構(gòu),DBMS的核心部分都屬于服務(wù)程序,而客戶程序則負(fù)責(zé)用戶接口。 1.6 數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程 數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程示意圖 數(shù)據(jù)庫(kù)系統(tǒng)概論 18第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 2.1 對(duì)象定義語(yǔ)言對(duì)象定義語(yǔ)言O(shè)DL 對(duì)象定義語(yǔ)言對(duì)象定義語(yǔ)言:通過(guò)給出類的屬性、
12、聯(lián)系和方法來(lái)描述面向?qū)ο蟮哪P?。屬性用?shù)據(jù)類型來(lái)描友誼賽。常用的數(shù)據(jù)類型包括整型、字符串、枚舉型以及結(jié)構(gòu)、集合、數(shù)組、包和列表等形式的結(jié)構(gòu)類型。其中集合、數(shù)組、包和列表又統(tǒng)稱為聚集類型。聯(lián)系用與之相連的類來(lái)描述。聯(lián)系有單值聯(lián)系和多值聯(lián)系之分。 數(shù)據(jù)庫(kù)系統(tǒng)概論 19第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模面向?qū)ο蟮脑O(shè)計(jì)面向?qū)ο蟮脑O(shè)計(jì) 對(duì)象:指某種可觀察、可研究的實(shí)體。 類:具有相似特性的對(duì)象歸為一類。 三種特性: 屬性(attribute):類型是由基本的數(shù)據(jù)類型構(gòu)成的。只有有限的幾種。 聯(lián)系(relationship):類型是對(duì)某類對(duì)象的引用或是這種引用的集合。 方法(method):是能用于該類對(duì)象
13、的函數(shù)。 數(shù)據(jù)庫(kù)系統(tǒng)概論 20第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模:在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),對(duì)現(xiàn)實(shí)世界進(jìn)行分析、抽象、并從中找出內(nèi)在聯(lián)系,進(jìn)而確定數(shù)據(jù)庫(kù)的結(jié)構(gòu),這一過(guò)程就稱為數(shù)據(jù)庫(kù)建軍模。它主權(quán)包括兩部分內(nèi)容:確定最基本的數(shù) 據(jù)結(jié)構(gòu);對(duì)約束建模。 數(shù)據(jù)庫(kù)模式的兩種表示法:實(shí)體聯(lián)系模型(E/R);對(duì)象定義語(yǔ)言(ODL)本章導(dǎo)讀數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(建模和實(shí)現(xiàn)2.2 實(shí)體聯(lián)系模型(E/R圖)數(shù)據(jù)庫(kù)系統(tǒng)概論 21第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 類的說(shuō)明類的說(shuō)明 說(shuō)明一個(gè)類的最簡(jiǎn)單形式: 關(guān)鍵字interface(接口) 類的名字 用花括號(hào)括起來(lái)的類的特性表 Example: interface 數(shù)據(jù)庫(kù)系
14、統(tǒng)概論 22第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 的屬性的屬性 Interface Course Attribute integer CourseNo; /課程號(hào) attribute string CourseName; /課程名 Attribute string Teacher; /任課老師 1.若增加一個(gè)結(jié)構(gòu)類型的Date屬性,用年月是表示: Attribute Sturct Date integer Year,interger Month,interger DayCourseDate; /開(kāi)課日期 數(shù)據(jù)庫(kù)系統(tǒng)概論 23第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 例2:電影類Movie Interfac
15、e Movie attribute string Title; /電影名 attribute integer Year; /電影制作年 attribute integer Length; /電影長(zhǎng)度 attribute enum Filmcolor,blackwhiteType;電影類型 ; 注意:type的類型是枚舉類型,屬性type有兩種可能的取值(color,blackwhite)。 數(shù)據(jù)庫(kù)系統(tǒng)概論 24第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 中的聯(lián)系和反向聯(lián)系中的聯(lián)系和反向聯(lián)系 注意: 描述一個(gè)對(duì)象需把屬性和對(duì)象間的聯(lián)系都描述出來(lái)才更完整 。 例1:course 和student類間建立聯(lián)系
16、 在course添加代碼: Relationship Set students ; /選課學(xué)生集合 (注意有無(wú)set的區(qū)別: Relationship student represent; /課代表 )數(shù)據(jù)庫(kù)系統(tǒng)概論 25第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模在student類的說(shuō)明中添加: Relationship Set courses; /所選課程集合 一個(gè)完整的課程類定義: Interface course attribute integer courseno; attribute string coursename; attribut string Teacher; Relationshi
17、p Set students inverse student: :courses; 數(shù)據(jù)庫(kù)系統(tǒng)概論 26第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模例2:movie 和 actor 在movie中添加: relationship set actor; /演員集合 在actor中添加: relationship set movie; /出演電影集合 數(shù)據(jù)庫(kù)系統(tǒng)概論 27第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模反向聯(lián)系 例1:students和course并不是兩個(gè)毫不相干的聯(lián)系,如果某個(gè)學(xué)生出現(xiàn)在某門(mén)課程的選課學(xué)生集合中,那么這門(mén)課程就應(yīng)該在這個(gè)學(xué)生的所選課程集合中;反之亦然。 相應(yīng)代語(yǔ)句修改如下: 在course
18、中: relationship set students inverse Student:course; /選課學(xué)生集合及其反向聯(lián)系 在student中: relationship set courses inverse course:students; 數(shù)據(jù)庫(kù)系統(tǒng)概論 28第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模例2:movie和actor類中的語(yǔ)句修改如下: relationship Setactors inverse Actor: :movies; relationship Set movies inverse Movie: :actors; 數(shù)據(jù)庫(kù)系統(tǒng)概論 29第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模
19、聯(lián)系的三種類型:多對(duì)多,多對(duì)一或一對(duì)多,一對(duì)一。聯(lián)系的三種類型:多對(duì)多,多對(duì)一或一對(duì)多,一對(duì)一。 P21-P23(舉例講)2.2 實(shí)體聯(lián)系模型(E/R圖)屬性:它用某個(gè)簡(jiǎn)單類型的什來(lái)描述對(duì)象的某個(gè)方面。 屬性的類型:整型、浮點(diǎn)型、字符類型、字符串類型、布爾類型、枚舉類型、結(jié)構(gòu)、集合、數(shù)組等類型。 數(shù)據(jù)庫(kù)系統(tǒng)概論 30第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模例1:學(xué)生選課數(shù)據(jù)庫(kù)(Course) 三個(gè)主要部分: 實(shí)體集 屬性 聯(lián)系: 與ODL區(qū)別:ODL中一對(duì)反向的聯(lián)系在E/R圖中用單一的聯(lián)系來(lái)表示,而且ODL中的聯(lián)系最多只能涉及兩個(gè)類,而E/R圖中的聯(lián)系可以涉及兩個(gè)以上的實(shí)體集。 學(xué)生選課數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)
20、計(jì)(P23 圖2.2) 數(shù)據(jù)庫(kù)系統(tǒng)概論 31第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 電影資料數(shù)據(jù)庫(kù)(P24圖2.3) 實(shí)體和實(shí)體集、聯(lián)系與聯(lián)系集圖中聯(lián)系的三種類型 一對(duì)一、一對(duì)多或多對(duì)一、多對(duì)多 聯(lián)系中的角色聯(lián)系中的角色(P25圖2.5) 聯(lián)系的多向性(聯(lián)系的多向性(P2526) 多元聯(lián)系轉(zhuǎn)換為二元的聯(lián)系 2.3 設(shè)計(jì)原則設(shè)計(jì)原則真實(shí)性真實(shí)性 最基本的設(shè)計(jì)原則:類(實(shí)體集)和屬性應(yīng)當(dāng)是真實(shí)的,應(yīng)當(dāng)反映客觀現(xiàn)實(shí)。 數(shù)據(jù)庫(kù)系統(tǒng)概論 32第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 避免冗余避免冗余 設(shè)計(jì)過(guò)程中注意:任何事物都只表達(dá)一次,否則既浪費(fèi)空間,又容易造成不必要的麻煩。 簡(jiǎn)單性簡(jiǎn)單性 設(shè)計(jì)過(guò)程中,要設(shè)法避免引
21、入過(guò)多的元素,要應(yīng)該盡量簡(jiǎn)單明了。 合理選擇元素類型合理選擇元素類型 思想:假如某個(gè)事物具有比名稱更多的信息(屬性),那么作為類/實(shí)體集來(lái)實(shí)現(xiàn)更加合適;然而,如果它除了名稱之外不具有其他信息,那么作為屬性可能更合適。 數(shù)據(jù)庫(kù)系統(tǒng)概論 33第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 2.4 子類子類子類(子類(subclass): 從一個(gè)類中取出具有某些附加特性的對(duì)象組成一個(gè)附屬的類,稱為子類。子類除了具有原有類的特性以外,還具有自己附加的特性屬性和/或聯(lián)系。用這種類與子類的層次關(guān)系往往能更好地反映現(xiàn)實(shí)世界的層次結(jié)構(gòu)。ODL和E/R都支持這種層次結(jié)構(gòu)。 數(shù)據(jù)庫(kù)系統(tǒng)概論 34第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模
22、 中的子類中的子類 例1:為研究生定義一個(gè)類Student的子類:Postgraduate Interface Postgraduate:Student attribute string Tutor; ; 注意:子類能自動(dòng)繼承其超類的所有特性(屬性和聯(lián)系) 例2:為動(dòng)畫(huà)片定義一個(gè)Movie的子類cartoon interface Cartoon:Movie relationship Set voices; ; 數(shù)據(jù)庫(kù)系統(tǒng)概論 35第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 中的多重繼承:中的多重繼承:一個(gè)類可以有多個(gè)子類,而子類本身又可以具有子類。一個(gè)類還可能有多個(gè)超類。 一個(gè)類有多個(gè)子類: 例:在mo
23、vie中定義了cartoon的子類,假設(shè)再定義謀殺片子類Murder: interface Murder:Movie attribute string Weapon; 數(shù)據(jù)庫(kù)系統(tǒng)概論 36第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 子類又可有子類,一個(gè)類可有多個(gè)超類 interface Cartoon-Murder:Cartoon,Murder; 注意:如此復(fù)雜,易造成混淆,如不同類中不同屬性域的相同屬性名。 避免由于多重繼承而產(chǎn)生的沖突的機(jī)制: 指出特性(屬性或者聯(lián)系)的兩個(gè)定義中哪一個(gè)適用于子類。 重新命名有相同名字的另一個(gè)特性。 為子類重新定義在它的一個(gè)或多個(gè)超大型類中已經(jīng)定義過(guò)的某些特性。 數(shù)據(jù)
24、庫(kù)系統(tǒng)概論 37第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 圖中的子類(圖中的子類(isa) P30 圖2.10 圖中的繼承圖中的繼承 P30-31圖2.11 2.5 對(duì)約束的建模對(duì)約束的建模對(duì)約束建模對(duì)約束建模:反映客觀世界的各種數(shù)據(jù),一般都不是孤立的,往往有著錯(cuò)綜復(fù)雜的內(nèi)在聯(lián)系,而且對(duì)其取什也有一定的限制和要求,要使所建立的數(shù)據(jù)庫(kù)準(zhǔn)確、全面地反映現(xiàn)實(shí)世界,就要對(duì)這些內(nèi)容進(jìn)行說(shuō)明、加以規(guī)范,這就是對(duì)約束建模。對(duì)約束建模是數(shù)據(jù)庫(kù)建模的重要組成部分。對(duì)約束建模最重要的兩部分是:說(shuō)明某個(gè)屬性或?qū)傩约瘶?gòu)成鍵碼;說(shuō)明實(shí)體集(或類、關(guān)系)之間的引用完整性約束。 數(shù)據(jù)庫(kù)系統(tǒng)概論 38第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模
25、 常見(jiàn)的約束信息: 鍵碼:是在ODL中類的范圍內(nèi)唯一標(biāo)識(shí)一個(gè)對(duì)象,或者在E/R圖中實(shí)體集的范圍內(nèi)唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性或?qū)傩约?單值約束要求某個(gè)屬性的值是唯一的,鍵碼是單值約束的主要來(lái)源。 引用完整性約束要求某個(gè)對(duì)象所引用的值在數(shù)據(jù)庫(kù)中確實(shí)存在。 域約束要求某個(gè)屬性的值必須處于特定的范圍內(nèi)或者取自特性值的集合。 一般約束是要求在數(shù)據(jù)庫(kù)中保存的任意斷言。 數(shù)據(jù)庫(kù)系統(tǒng)概論 39第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 鍵碼鍵碼 ODL: 一個(gè)鍵碼(由一個(gè)屬性組成) interface studio(key name) ; 一個(gè)鍵碼(由屬性集組成) interface Movie(key(title,ye
26、ar) ; 多個(gè)鍵碼 interface Studio(key name,studioNo) ; 數(shù)據(jù)庫(kù)系統(tǒng)概論 40第第2章章 數(shù)據(jù)庫(kù)建模數(shù)據(jù)庫(kù)建模 E/R(用下劃線表示):一個(gè)鍵碼(由一個(gè)屬性組成) 一個(gè)鍵碼(由屬性集組成) 多個(gè)鍵碼:把主鍵碼看成實(shí)體集唯一的鍵碼。 單值約束:?jiǎn)沃导s束: 引用完整性:引用完整性:一個(gè)實(shí)體中某個(gè)特定屬性(集)(通常稱為外鍵碼)的取值,如果不是空值,則只能引用另一個(gè)實(shí)體確實(shí)存在的鍵碼屬性(集)的值,而不能引用該鍵碼屬性取值以外的任何值,兩個(gè)實(shí)體之音的這種聯(lián)系就稱為引用完整性。 其他類型的約束其他類型的約束 數(shù)據(jù)庫(kù)系統(tǒng)概論 41第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系
27、模型和關(guān)系運(yùn)算 3.1 關(guān)系模型的基本概念關(guān)系模型的基本概念 關(guān)系模型:用稱為關(guān)系的二維表來(lái)表示數(shù)據(jù),其數(shù)據(jù)模型就稱為關(guān)系模型。二維表的行稱為元組,列以屬性開(kāi)頭,對(duì)于每個(gè)屬性,都有元組的一個(gè)分量與之對(duì)應(yīng)。(例如P39圖3.1)屬性屬性:屬性就是關(guān)系的標(biāo)題欄中各列的名字,描述了該列各數(shù)據(jù)項(xiàng)的含義。模式模式:關(guān)系的名稱和關(guān)系的屬性集稱為關(guān)系的模式。例:student(StudentNo,StudentName,Age,Dept)元組元組:除了關(guān)系的標(biāo)題欄外,其他各行統(tǒng)稱為“元組”。數(shù)據(jù)庫(kù)系統(tǒng)概論 42第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 元組和對(duì)象的聯(lián)系和區(qū)別:可以認(rèn)為一個(gè)元組就表示一
28、個(gè)對(duì)象,而元組所屬的關(guān)系就表示對(duì)象所屬的類。對(duì)象具有同一性,而元組沒(méi)有。域:域: 關(guān)系模型要求每個(gè)元組的每個(gè)分量都是原子的,即必須屬于某種基本類型,假設(shè)與關(guān)系的每個(gè)屬性相關(guān)的特定基本類型稱為“域”,那么關(guān)系的任何元組的每個(gè)分量都必須在對(duì)應(yīng)列的域中取值。關(guān)系的等價(jià)表示法關(guān)系的等價(jià)表示法 我們可以重新排和列,而關(guān)系并不改變。關(guān)系的實(shí)例關(guān)系的實(shí)例 給定關(guān)系中元組的集合稱為該關(guān)系的“實(shí)例”。數(shù)據(jù)庫(kù)系統(tǒng)概論 43第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 3.2 從從ODL設(shè)計(jì)到關(guān)系設(shè)計(jì)設(shè)計(jì)到關(guān)系設(shè)計(jì) 先用ODL或者E/R圖來(lái)進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),再將該設(shè)計(jì)轉(zhuǎn)換成關(guān)系模型。為什么非要把一步能完成的事情轉(zhuǎn)
29、換成兩步?(P41)從從ODL屬性到關(guān)系屬性屬性到關(guān)系屬性 若類的所有特性都是屬性,而不是聯(lián)系或者方法,并且屬性都是原子類型。在這種情況下,對(duì)類建立對(duì)應(yīng)的關(guān)系,類的第個(gè)屬性對(duì)應(yīng)于該關(guān)系的一個(gè)屬性。而要把類中的對(duì)轉(zhuǎn)換成元組,只需把該對(duì)象在類的四個(gè)屬性上的取值作為元組的分量即可。數(shù)據(jù)庫(kù)系統(tǒng)概論 44第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 類中的非原子屬性類中的非原子屬性 1) 如果某屬性是多個(gè)值的集合,則針對(duì)每個(gè)值建立一個(gè)元組。(例P42圖3.4)2) 如果某屬性的類型是定長(zhǎng)的數(shù)組,則在關(guān)系中用帶有數(shù)組和下標(biāo)的屬性來(lái)表示類中的數(shù)組類型的屬性。(例P43圖3.5)單值聯(lián)系的表示單值聯(lián)系的表
30、示 方法:只需要建立相關(guān)類中構(gòu)成鍵碼的屬性集就可以表示相關(guān)類的對(duì)象。(例P44圖3.6)多值聯(lián)系的表示多值聯(lián)系的表示 方法:首先,和單值聯(lián)系一樣,要找出表示每個(gè)相關(guān)對(duì)象的鍵碼;其次,和表示集合類型的屬性一樣,為相關(guān)對(duì)象集合的每個(gè)元素建立一個(gè)元組。(例P44圖3.7)數(shù)據(jù)庫(kù)系統(tǒng)概論 45第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 缺點(diǎn):數(shù)據(jù)冗余大。聯(lián)系與反向聯(lián)系的表示聯(lián)系與反向聯(lián)系的表示 同一樣聯(lián)系,無(wú)須兩者都表示出來(lái),只要在其中一個(gè)地方表示就可以了。子類的表示子類的表示 原則:1)每個(gè)子類都對(duì)應(yīng)于一個(gè)關(guān)系;2) 這個(gè)關(guān)系用相應(yīng)子類的所有特性(包括從超類繼承下來(lái)的全部特性)來(lái)表示。數(shù)據(jù)庫(kù)系
31、統(tǒng)概論 46第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 3.3 從從E/R圖到關(guān)系設(shè)計(jì)圖到關(guān)系設(shè)計(jì) E/R與ODL主要有以下區(qū)別:1) 在E/RL圖中,聯(lián)系作為獨(dú)立的概念存在,而不是像ODL那樣作為特性嵌套在類定義中,這有助于避免數(shù)據(jù)冗余。2) 在ODL中,屬性可能是任意的聚集類型,比如集合;而在E/R圖中,雖然并沒(méi)有嚴(yán)格規(guī)定允許使用的數(shù)據(jù)類型,但通常都認(rèn)為允許使用結(jié)構(gòu)化的數(shù)據(jù),而不允許使用集合或者其他聚集類型的數(shù)據(jù)。3) 在E/R圖中,聯(lián)系可以具有屬性,而ODL中沒(méi)有相應(yīng)的概念。數(shù)據(jù)庫(kù)系統(tǒng)概論 47第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 實(shí)體集到關(guān)系的轉(zhuǎn)換實(shí)體集到關(guān)系的轉(zhuǎn)換
32、直接把E/R圖中的屬性對(duì)應(yīng)成相應(yīng)的屬性。(例P46圖3.8、圖3.9)聯(lián)系到關(guān)系的轉(zhuǎn)換聯(lián)系到關(guān)系的轉(zhuǎn)換 對(duì)于一個(gè)聯(lián)系R,它所對(duì)應(yīng)的關(guān)系應(yīng)該具有如下屬性:一是聯(lián)系R所涉及到的每個(gè)實(shí)體集的鍵碼屬性(集),二是R本身的屬性。從E/R圖轉(zhuǎn)換到關(guān)系模式比從ODL轉(zhuǎn)換到關(guān)系模式的優(yōu)點(diǎn):在ODL中,雙向ODL聯(lián)系會(huì)帶來(lái)大量數(shù)據(jù)冗余;而從E/R圖出發(fā),用單個(gè)的關(guān)系就可以表示雙向的聯(lián)系。數(shù)據(jù)庫(kù)系統(tǒng)概論 48第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 “屬于屬于”聯(lián)系到關(guān)系的轉(zhuǎn)換聯(lián)系到關(guān)系的轉(zhuǎn)換 新建立的關(guān)系的屬性包括被屬于的實(shí)體集的鍵碼及相應(yīng)實(shí)體集的屬性。3.4 關(guān)系代數(shù)(關(guān)系代數(shù)(p47p54) 關(guān)系代
33、數(shù):是以代數(shù)的形式對(duì)關(guān)系模式進(jìn)行查詢的一種語(yǔ)方,其中要運(yùn)算并、交、差、選擇、投影、笛卡兒積、自然連接、連接和改名。綜合使用這些運(yùn)算可以表達(dá)各種各樣的查詢要求。數(shù)據(jù)庫(kù)系統(tǒng)概論 49第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 關(guān)系的集合運(yùn)算:并、交、差關(guān)系的集合運(yùn)算:并、交、差 關(guān)系R和S必須滿足條件:1)兩者的模式具有相同的屬性集;2) 對(duì)兩者進(jìn)行集合運(yùn)算之前,要對(duì)兩者的屬性列進(jìn)行排序,保證兩個(gè)關(guān)系的屬性順序相同。運(yùn)算定義如下:1) RS,是R中的元素和S中的元素共同組成的集合。2) RS,是既出現(xiàn)在R中又出現(xiàn)在S中的元素組成的集合。3) RS,是只在R中出現(xiàn),不在S中出現(xiàn)的元素組成的集合
34、。數(shù)據(jù)庫(kù)系統(tǒng)概論 50第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 投影投影 該運(yùn)算作用于關(guān)系R將產(chǎn)生一個(gè)新關(guān)系S,S只具有R的某幾個(gè)屬性列。選擇選擇 該運(yùn)算作用于關(guān)系R也將產(chǎn)生一個(gè)新關(guān)系S,S的元組集合是R的一個(gè)滿足某條件C的子集。笛卡兒積笛卡兒積 R X S,其關(guān)系模式是R和S的模式的并集,是R和S的元組以所有可能的方式組合起來(lái)。當(dāng)R和S有同名的屬性,至少要為其中一個(gè)屬性重新命名。數(shù)據(jù)庫(kù)系統(tǒng)概論 51第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 自然連接自然連接 其關(guān)系模式是R和S模式的并集。假設(shè)A1、A2、An是R和S的模式中的公共屬性,那么如果R的元組r和S的元組s在這些屬性上
35、取值都相同,r和s組合而成的元組就歸入該自然連接中。連接連接 先將R和S笛卡兒積,然后從R X S的元組中選擇滿足條件C的元組集合。改名改名 1) 只改關(guān)系名2) 不僅該關(guān)系名,且改屬性名 數(shù)據(jù)庫(kù)系統(tǒng)概論 52第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 復(fù)合運(yùn)算復(fù)合運(yùn)算 基本運(yùn)算和導(dǎo)出運(yùn)算基本運(yùn)算和導(dǎo)出運(yùn)算 除了交、連接、自然連接這三種運(yùn)算可由其他運(yùn)算導(dǎo)出外,另外六種運(yùn)算并、選擇、投影、笛卡兒積和改名都是基本運(yùn)算,每一種都不能由另外五種運(yùn)算導(dǎo)出。3.5關(guān)系演算關(guān)系演算 關(guān)系演算:把數(shù)理邏輯中的謂詞演算應(yīng)用到關(guān)系中,就是所謂的關(guān)系演算。在關(guān)系演算中,以元組為變量稱為元組關(guān)系演算,而以域?yàn)樽?/p>
36、量,則稱為域關(guān)系演算。關(guān)系代數(shù)中的8種運(yùn)算都可用元組關(guān)系演算表達(dá)式來(lái)表達(dá),用關(guān)系演算表達(dá)查詢時(shí),還常用到存在量詞不達(dá)意和全稱量詞。 數(shù)據(jù)庫(kù)系統(tǒng)概論 53第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 元組關(guān)系演算元組關(guān)系演算 什么是原子公式?公式是定義?運(yùn)算符的優(yōu)先級(jí)?1、 交2、 并3、 差4、 選擇5、 投影6、 笛卡兒積7、 自然連接8、 連接9、 復(fù)雜的關(guān)系代數(shù)表達(dá)式數(shù)據(jù)庫(kù)系統(tǒng)概論 54第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 域關(guān)系演算域關(guān)系演算 元組關(guān)系演算的表達(dá)式中用的是元組變量,而域關(guān)系演算表達(dá)式中用的是元組分量的變量,簡(jiǎn)稱為域變量。3.6 關(guān)系邏輯關(guān)系邏輯 關(guān)系邏輯
37、:是以邏輯的形式對(duì)關(guān)系模型進(jìn)行查詢的一種語(yǔ)言,具體用的查詢語(yǔ)言稱為數(shù)據(jù)邏輯。在數(shù)據(jù)邏輯中,用規(guī)則來(lái)表達(dá)查詢。規(guī)則主要由稱為部關(guān)系原子和含有一個(gè)或多個(gè)原子的體組成。體中的原子稱為子目標(biāo),既可以是關(guān)系原子,也可以是算術(shù)原子。關(guān)系代數(shù)中的8種運(yùn)算也都能用數(shù)據(jù)邏輯規(guī)則來(lái)表達(dá)??傊P(guān)系代數(shù)、關(guān)系演算和關(guān)系邏輯完全等價(jià)。數(shù)據(jù)庫(kù)系統(tǒng)概論 55第第3章章 關(guān)系模型和關(guān)系運(yùn)算關(guān)系模型和關(guān)系運(yùn)算 謂詞和原子謂詞和原子 規(guī)則和查詢規(guī)則和查詢 從關(guān)系代數(shù)到數(shù)據(jù)邏輯從關(guān)系代數(shù)到數(shù)據(jù)邏輯 1、交2、并3、差4、選擇5、投影6、笛卡兒積7、自然連接8、連接10、 復(fù)雜的關(guān)系代數(shù)表達(dá)式數(shù)據(jù)庫(kù)系統(tǒng)概論 56第第4章章 數(shù)據(jù)庫(kù)
38、語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL 4.1 SQL的特點(diǎn)的特點(diǎn) 1) 高度非過(guò)程化2) 面向集合的操作方式3) 簡(jiǎn)潔易學(xué),靈活易用4.2 簡(jiǎn)單查詢簡(jiǎn)單查詢 1) 格式: SELECT * /*表示關(guān)系中所有的屬性名,可自己按要求羅列幾個(gè)屬性 FROM 關(guān)系名數(shù)據(jù)庫(kù)系統(tǒng)概論 57第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL WHERE 選擇條件2) 來(lái)的結(jié)果關(guān)系中的屬性另個(gè)取名SELECT 屬性的原名 AS 別名例:(P71) SELECT Studentname as name,清華大學(xué)學(xué)生 as description, 2000-Age AS BirthYear FROM Student 數(shù)據(jù)庫(kù)系統(tǒng)概論 58
39、第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL選擇條件的構(gòu)成選擇條件的構(gòu)成 字符串的比較字符串的比較 屬性名 like 字符串1)% 能和由任意字符組成的任意長(zhǎng)度的字符序列匹配,-能和任意一個(gè)字符匹配。1) 用兩個(gè)連續(xù)的單引號(hào)來(lái)表示一個(gè)真正的、單獨(dú)的單引號(hào),而不表示字符串的結(jié)束。而在 % 和 - 之前加上轉(zhuǎn)義符表示這里的%和-是一個(gè)普通的字符。連續(xù)兩個(gè)就表示一個(gè)真正的 。日期和時(shí)間的比較日期和時(shí)間的比較 YYYY-MM-DD HH:MM:SS(.X)數(shù)據(jù)庫(kù)系統(tǒng)概論 59第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL輸出的排序輸出的排序 OEDER BY 聚合運(yùn)算符聚合運(yùn)算符 11) SUM22) AVG33)
40、 MIN44) MAX55) COUNT分組分組 GROUP BY 分組屬性 HAVING 條件數(shù)據(jù)庫(kù)系統(tǒng)概論 60第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL4.3 連接查詢連接查詢 連接查詢:對(duì)涉及兩個(gè)或兩個(gè)以上的關(guān)系進(jìn)行查詢,最本的方法是采用連接查詢。其查詢語(yǔ)句把關(guān)系代數(shù)中的自然連接、選擇和投影簡(jiǎn)單地融合在一起。 查詢的并、交、差查詢的并、交、差 并:UNION交:INTERSECT差:EXCEPT連接與笛卡兒積(連接與笛卡兒積(P77) 元組變量元組變量 數(shù)據(jù)庫(kù)系統(tǒng)概論 61第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL4.4 嵌套查詢嵌套查詢 嵌套查詢:把SELECT-FROM-WHERE查詢作為
41、子查詢用于另一個(gè)查詢的WHERE子句中,稱為嵌套查詢??砂堰\(yùn)算符EXISTS、IN、ALL和ANY用于子查詢的結(jié)果關(guān)系來(lái)表示布爾值條件;若對(duì)表達(dá)式求反,可在適當(dāng)位置加上NOT,如果能確信子查詢的結(jié)果為單值(僅一個(gè)元組、一個(gè)分量),就可以在外層查詢的WHERE子句中直接用比較運(yùn)算符。數(shù)據(jù)庫(kù)系統(tǒng)概論 62第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL產(chǎn)生單值的子查詢(產(chǎn)生單值的子查詢(P79) 涉及到關(guān)系的選擇條件涉及到關(guān)系的選擇條件 1) EXIST2) IN3) ALL4) ANY涉及到元組的選擇條件涉及到元組的選擇條件 數(shù)據(jù)庫(kù)系統(tǒng)概論 63第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL相關(guān)子查詢相關(guān)子查詢
42、簡(jiǎn)單的子查詢是在整個(gè)嵌套查詢過(guò)程中只求一次值,并將查詢結(jié)果用于其外查詢。更為復(fù)雜的子查詢是在整個(gè)過(guò)程中多次求值,每次對(duì)子查詢中來(lái)自子查詢外部元組變量的某一項(xiàng)賦一個(gè)值,這一類子查詢稱為相關(guān)子查詢。對(duì)于相關(guān)子查詢來(lái)說(shuō),外層關(guān)系有多少個(gè)元組,就要做多少次子查詢。而對(duì)于非相關(guān)子查詢,子查詢只做一次,隨后對(duì)外層關(guān)系的每個(gè)元組所作的處理均為此為共同的基礎(chǔ)。如果我們不希望得到重復(fù)的查詢結(jié)果,可以在關(guān)鍵字SELECT后面加上關(guān)鍵字DISTINCT。SQL中用包(bag)而不是集合(set)作為關(guān)系的數(shù)據(jù)模型,一個(gè)重要的原因就是節(jié)省時(shí)間。另外還有一個(gè)重要原因就是用包更能體現(xiàn)統(tǒng)計(jì)特性。數(shù)據(jù)庫(kù)系統(tǒng)概論 64第第4章
43、章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL數(shù)據(jù)庫(kù)更新數(shù)據(jù)庫(kù)更新 插入插入 INSERT INTO R(A1,A2,An) VALUES(V1,V2,V3,Vn)刪除刪除 DELETE FROM R WHERE修改修改 UPDATE R SET A1=E1,A2=E2,An=En WHERE數(shù)據(jù)庫(kù)系統(tǒng)概論 65第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL4.6 定義關(guān)系模式定義關(guān)系模式 數(shù)據(jù)定義:(P98)屬性的數(shù)據(jù)類型1) CHAR(n)2) BIT(n)3) INT4) FLOAT5) DATE數(shù)據(jù)庫(kù)系統(tǒng)概論 66第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL定義表定義表 1)格式:CREATE TABLE( A1數(shù)
44、據(jù)類型, A2數(shù)據(jù)類型, An);2)NOT NULL表示某個(gè)屬性的分量值不能為空;UNIQUE表示對(duì)某個(gè)屬性進(jìn)行單值約束;DEFAULT用來(lái)指定某個(gè)屬性的分量的默認(rèn)值。數(shù)據(jù)庫(kù)系統(tǒng)概論 67第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL撤銷表撤銷表 格式:DROP TABLE R更改關(guān)系模式更改關(guān)系模式 格式:ALTER TABLE R 具體的更改操作建立和撤銷索引建立和撤銷索引 索引:就是一種為關(guān)系中的給定屬性提供存取路徑的數(shù)據(jù)結(jié)構(gòu)。CREATE INDEX索引名ON關(guān)系名(屬性名);DROP INDEX 索引名;數(shù)據(jù)庫(kù)系統(tǒng)概論 68第第4章章 數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言SQL4.7 視圖的定義和查詢視圖
45、的定義和查詢 它們實(shí)際上并不存在,只是在邏輯上可以看作是一張表,我們稱之為“視圖”(view)。我們可以把視圖當(dāng)成是普通的關(guān)系一樣予以建立,查詢、修改或者刪除。定義視圖定義視圖 CREATE VIEW視圖名AS子查詢;事實(shí)上,數(shù)據(jù)庫(kù)中只存放視圖的定義,實(shí)際的數(shù)據(jù)仍然放在原基本表的物理存放位置上。視圖不僅可以建立在一個(gè)基本表上,也可以建立在多個(gè)基本表上。也可以建立在另一個(gè)視圖之上。查詢視圖查詢視圖 更新視圖更新視圖 撤消視圖撤消視圖 DROP VIEW數(shù)據(jù)庫(kù)系統(tǒng)概論 69 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 查詢優(yōu)化查詢優(yōu)化:對(duì)于給定的查詢選擇代價(jià)最小的操作序列,使查詢過(guò)程既省時(shí)間
46、,具有較高的效率,這就是所謂的查詢優(yōu)化。對(duì)于關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),用戶只要提出“做什么”,而由系統(tǒng)解決“怎么做”的問(wèn)題。具體來(lái)說(shuō),是數(shù)據(jù)庫(kù)管理系統(tǒng)中的查詢處理程序自動(dòng)實(shí)現(xiàn)查詢優(yōu)化。數(shù)據(jù)庫(kù)系統(tǒng)概論 70 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 5.1 查詢優(yōu)化的一般策略查詢優(yōu)化的一般策略 1) 選擇運(yùn)算盡早進(jìn)行。2) 投影運(yùn)算與選擇運(yùn)算同時(shí)進(jìn)行。3) 將笛卡兒積與隨后的選擇運(yùn)算合并為連接運(yùn)算。4) 投影運(yùn)算與其他運(yùn)算同時(shí)進(jìn)行。5) 尋找公共子表達(dá)式并將結(jié)果加以存儲(chǔ)。6) 對(duì)文件進(jìn)行預(yù)處理。數(shù)據(jù)庫(kù)系統(tǒng)概論 71 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 5.2 關(guān)系代數(shù)的等價(jià)變換關(guān)系代
47、數(shù)的等價(jià)變換 變換規(guī)則變換規(guī)則 1) 連接或笛卡兒積的交換律2) 連接或笛卡兒積的結(jié)合律3) 投影的串接律4) 選擇的交換/串接律5) 選擇與投影的交換/串接律6) 選擇對(duì)笛卡兒積的分配律7) 投影對(duì)笛卡兒積的分配律8) 選擇對(duì)并的分配律9) 投影對(duì)并的分配律10) 擇對(duì)差的分配律數(shù)據(jù)庫(kù)系統(tǒng)概論 72 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 應(yīng)用舉例應(yīng)用舉例 P1055.3 查詢優(yōu)化步驟查詢優(yōu)化步驟 步驟:1)把查詢轉(zhuǎn)換成一種內(nèi)部表示2)利用關(guān)系代數(shù)等價(jià)變換規(guī)則以及查詢優(yōu)化的一般策略,將語(yǔ)法樹(shù)進(jìn)行優(yōu)化3)選擇適當(dāng)?shù)牡蛯哟嫒÷窂?)生成一組查詢計(jì)劃,從中選擇一個(gè)代價(jià)最小的數(shù)據(jù)庫(kù)系統(tǒng)概論
48、 73 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 5.4 并發(fā)調(diào)度并發(fā)調(diào)度 并發(fā)調(diào)度并發(fā)調(diào)度:安排事務(wù)執(zhí)行的次序稱為調(diào)度;利用分時(shí)的方法同時(shí)處理多個(gè)事務(wù),則稱為事務(wù)的并發(fā)調(diào)度,也就是并發(fā)操作的調(diào)度。事務(wù)事務(wù) 事務(wù)事務(wù):是在數(shù)據(jù)庫(kù)上的一個(gè)或多個(gè)操作的序列,它必須以原子的方式執(zhí)行,也就是說(shuō),所有的操作要么都做,要么都不做。在SQL中我們不必給出任何專門(mén)的事務(wù)開(kāi)如語(yǔ)句,但是必須明確地結(jié)束一個(gè)事務(wù)。1) SQL語(yǔ)句COMMIT(提交)使事務(wù)成功地結(jié)束。2) SQL語(yǔ)句ROLLBACK(退回)使事務(wù)不成功地終止。數(shù)據(jù)庫(kù)系統(tǒng)概論 74 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 數(shù)據(jù)不一致性
49、數(shù)據(jù)不一致性 并發(fā)操作的不正確高度可能會(huì)帶來(lái)三種數(shù)據(jù)不一致性:1)丟失修改;2)讀“臟”數(shù)據(jù);3)不可重復(fù)讀;可串行化調(diào)度可串行化調(diào)度 可串行化調(diào)度可串行化調(diào)度:當(dāng)且僅當(dāng)多個(gè)事務(wù)并發(fā)執(zhí)行的結(jié)果與按某一次序串行執(zhí)行其結(jié)果相同,則認(rèn)為并發(fā)操作是正確的,并稱這種調(diào)度策略為可串行化調(diào)度。數(shù)據(jù)庫(kù)系統(tǒng)概論 75 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 5.5 封鎖管理封鎖管理 封鎖機(jī)制中的主要概念封鎖機(jī)制中的主要概念 封鎖封鎖:指的是某事務(wù)在對(duì)某數(shù)據(jù)對(duì)象(如關(guān)系)進(jìn)行操作以前,先請(qǐng)求系統(tǒng)對(duì)其加鎖,成功加鎖之后該事務(wù)就對(duì)該數(shù)據(jù)對(duì)象有了控制權(quán),只有該事務(wù)對(duì)其進(jìn)行解鎖之后,其他的事務(wù)才能更新它。數(shù)據(jù)庫(kù)
50、管理系統(tǒng)提供的基本封鎖類型:排它鎖;共享鎖。封鎖對(duì)象的大小稱為封鎖的粒度。封鎖粒度越大,并發(fā)控制的開(kāi)鎖越少;封鎖粒度小了,并發(fā)控制的開(kāi)銷就要增加了。數(shù)據(jù)庫(kù)系統(tǒng)概論 76 第第5章章 查詢優(yōu)化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 封鎖協(xié)議封鎖協(xié)議:封鎖是實(shí)現(xiàn)并發(fā)控制的主要技術(shù)。封鎖分排它鎖(X鎖)和共享鎖(S鎖)兩種類型。對(duì)X鎖或S鎖何時(shí)申請(qǐng)(加鎖)、何時(shí)釋放(解鎖)均有約定的規(guī)則,稱之為封鎖協(xié)議。共有三級(jí)分鎖協(xié)議可分別達(dá)到系統(tǒng)一致性的不同級(jí)別,依次解決不丟失修改、不讀臟數(shù)據(jù)、可重復(fù)讀等問(wèn)題。1、 三級(jí)封鎖協(xié)議1) 1級(jí)封鎖協(xié)議2) 2級(jí)封鎖協(xié)議3) 3級(jí)封鎖協(xié)議數(shù)據(jù)庫(kù)系統(tǒng)概論 77 第第5章章 查詢優(yōu)
51、化和并發(fā)控制查詢優(yōu)化和并發(fā)控制 2、 兩段鎖協(xié)議定義:把事務(wù)的執(zhí)行過(guò)程分成申請(qǐng)封鎖(加鎖)階段和釋放封鎖(解鎖)階段,這種規(guī)則稱為兩段鎖協(xié)議。兩段鎖協(xié)議是保證并發(fā)調(diào)度可串行性的封鎖協(xié)方。也就是說(shuō),凡遵守兩段鎖協(xié)議的任何調(diào)度,都是可串行化的調(diào)度。數(shù)據(jù)庫(kù)系統(tǒng)概論 78第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論6.1 函數(shù)依賴函數(shù)依賴 函數(shù)依賴的定義函數(shù)依賴的定義:如果關(guān)系R中的兩個(gè)元組在某個(gè)特定的屬性集A上一致,則它們?cè)谀硞€(gè)其他特定屬性B上也一致,我們就稱B與A之間的關(guān)系稱為函數(shù)依賴。具體的說(shuō),就是B函數(shù)依賴于A,或者A函數(shù)決定B。數(shù)據(jù)庫(kù)系統(tǒng)概論 79第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)
52、設(shè)計(jì)理論關(guān)系的鍵碼關(guān)系的鍵碼 鍵碼:鍵碼:關(guān)系R中能函數(shù)決定該關(guān)系所有屬性的最小屬性集稱為關(guān)系R的鍵碼。即鍵碼的任何真子集都不能函數(shù)決定該關(guān)系的所有屬性。超鍵碼超鍵碼 函數(shù)依賴規(guī)則函數(shù)依賴規(guī)則 1 分解/合并規(guī)則(P120)數(shù)據(jù)庫(kù)系統(tǒng)概論 80第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論2 平凡依賴規(guī)則函數(shù)依賴A1,A2,AnB1,B2,Bm等價(jià)于A1,A2,AnC1,C2,Ck,其中C是B的子集,但不在A中出現(xiàn)。我們稱這個(gè)規(guī)則為“平凡依賴規(guī)則”。3 傳遞規(guī)則如果 A1,A2,AnB1,B2,Bm和B1,B2,BmC1,C2,Ck,在關(guān)系R中成立,則A1,A2,AnC1,C2,Ck在R中成
53、立。這個(gè)規(guī)則稱為傳遞規(guī)則。數(shù)據(jù)庫(kù)系統(tǒng)概論 81第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論計(jì)算屬性的封閉集計(jì)算屬性的封閉集 屬性的封閉集:屬性的封閉集:對(duì)于給定的函數(shù)依賴集S,屬性集A函數(shù)決定的屬性的集合就是屬性集A在依賴集S下的封閉集。(例p122)6.2 模式設(shè)計(jì)模式設(shè)計(jì) 問(wèn)題的提出問(wèn)題的提出 1) 數(shù)據(jù)冗余2) 修改異常3) 刪除異常4) 插入異常數(shù)據(jù)庫(kù)系統(tǒng)概論 82第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論問(wèn)題的根源問(wèn)題的根源 1、 完全依賴與部分依賴2、 傳遞依賴解決途徑解決途徑 所謂范式就是符合某一種級(jí)別的關(guān)系模式的集合。通過(guò)分解把屬于低級(jí)范式的關(guān)系模式轉(zhuǎn)換為幾個(gè)屬于高級(jí)
54、范式的關(guān)系模式的集合。這一過(guò)程稱為規(guī)范化。1、 第一范式(1NF):一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng)。2、 第二范式(2NF):關(guān)系模式R屬于第一范式,且每個(gè)非主屬性都完全函數(shù)依賴于鍵碼。3、數(shù)據(jù)庫(kù)系統(tǒng)概論 83第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論 第三范式(3NF):關(guān)系模式R屬于第一范式,且每個(gè)非主屬性都不偉遞領(lǐng)帶于鍵碼。4、 BC范式(BCNF):關(guān)系模式R屬于第一范式,且每個(gè)屬性都不傳遞依賴于鍵碼。數(shù)據(jù)庫(kù)系統(tǒng)概論 84第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論分解的原則分解的原則 1、 無(wú)損連接當(dāng)對(duì)關(guān)系模式R進(jìn)行分解時(shí),R的元組將分別在相應(yīng)屬性集進(jìn)行投影
55、而產(chǎn)生新的關(guān)系。如果對(duì)新的關(guān)系進(jìn)行自然連接得到的元組的集合與原關(guān)系完全一致,則稱為無(wú)損連接。2、 保持依賴當(dāng)對(duì)關(guān)系模式R進(jìn)行分解時(shí),R的函數(shù)依賴集也將按相應(yīng)的模式進(jìn)行分解。如果分解后總的函數(shù)依賴集與原函數(shù)依賴集保持一致,則稱為保持依賴。數(shù)據(jù)庫(kù)系統(tǒng)概論 85第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論分解的方法分解的方法 模式分解的兩個(gè)規(guī)則:1、 公共屬性共享2、 相關(guān)屬性合一模式分解的三種方法:1、 部分依賴歸子集;完全依賴隨鍵碼2、 基本依賴為基礎(chǔ),中間屬性作橋梁3、 找違例自成一體,舍其右全集歸一;若發(fā)現(xiàn)仍有違例,再回首如法炮制。數(shù)據(jù)庫(kù)系統(tǒng)概論 86第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)
56、據(jù)庫(kù)設(shè)計(jì)理論關(guān)系模式規(guī)范化小結(jié)關(guān)系模式規(guī)范化小結(jié) 基本思路:從非主屬性到主屬性逐步消除決定因素不是鍵碼的非平凡函數(shù)依賴,從而使每個(gè)決定因素都包含鍵碼(而不是鍵碼的一部分)。6.3 多值依賴多值依賴 屬性獨(dú)立性帶來(lái)的冗余屬性獨(dú)立性帶來(lái)的冗余 數(shù)據(jù)庫(kù)系統(tǒng)概論 87第第6章章 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論多值依賴的定義多值依賴的定義 設(shè)關(guān)系模式為R(A,B,C),其中A,B,C均為屬性(集)。若B,C相互獨(dú)立,且對(duì)A均有多個(gè)取值,我們就把屬性B(或C)和A之間的這種多值相關(guān)性稱為多值領(lǐng)帶這時(shí),在R中就會(huì)出現(xiàn)B,C取值集合的各種可能組合。當(dāng)用對(duì)象定義語(yǔ)言(ODL)定義的類中含有兩個(gè)或多個(gè)多值屬
57、性或多值聯(lián)系時(shí),所轉(zhuǎn)換的關(guān)系模式就會(huì)存在多值依賴。第四范式:第四范式:關(guān)系模式R中的非平凡多值依賴意味著把只有間接聯(lián)系的屬性放在一個(gè)模式中,會(huì)產(chǎn)生數(shù)據(jù)冗余和更新異常。在BC范式基礎(chǔ)上消除非平凡多值依賴,則R屬于第四范式。用規(guī)范的方法分解得到的屬于第四范式的模式能實(shí)無(wú)損連接。 分解成第四范式分解成第四范式 數(shù)據(jù)庫(kù)系統(tǒng)概論 88第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 7.1 概述概述 數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù) 數(shù)據(jù)庫(kù)的生命周期:一是數(shù)據(jù)庫(kù)的設(shè)計(jì)階段,二是數(shù)據(jù)庫(kù)的實(shí)施和運(yùn)行階段。數(shù)據(jù)庫(kù)設(shè)計(jì)的基本任務(wù):根據(jù)一個(gè)單位的信息需求、處理需求和數(shù)據(jù)庫(kù)的支撐環(huán)境(包括DBMS、操作系統(tǒng)和硬件),設(shè)計(jì)出數(shù)據(jù)模式
58、(包括外模式、邏輯(概念)模式和內(nèi)模式)以及典型的應(yīng)用程序。數(shù)據(jù)庫(kù)設(shè)計(jì)的兩種不同的方法:一種是以信息需求為主,兼顧外理需求,這種稱為面向數(shù)據(jù)的設(shè)計(jì)方法;另一種是以處理需求主主,兼顧信息需求,這種方法稱為面向過(guò)程的設(shè)計(jì)方法。數(shù)據(jù)庫(kù)設(shè)計(jì)的成果:一是數(shù)據(jù)模式,二是以數(shù)據(jù)庫(kù)為基礎(chǔ)的典型應(yīng)用程序。數(shù)據(jù)庫(kù)系統(tǒng)概論 89第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn) 1) 反復(fù)性2) 試探性3) 分步進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟(數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟(P143圖圖7.1) 1、 需求分析2、 概念設(shè)計(jì)3、 邏輯設(shè)計(jì)4、 物理設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)概論 90第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)7.2 需求分析需求分
59、析 設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),首先必須確認(rèn)數(shù)據(jù)庫(kù)的用戶和用途。由于數(shù)據(jù)庫(kù)是一個(gè)單位的模擬,數(shù)據(jù)庫(kù)設(shè)計(jì)者必須對(duì)一個(gè)單位的組織機(jī)構(gòu)、各部門(mén)的聯(lián)系、有關(guān)事物和活動(dòng)以及描友誼賽它們的數(shù)據(jù)、信息流程、政策和制度、報(bào)表及其格式和有關(guān)的文檔等有所了解。收集和分析這些資料的過(guò)程稱為需求分析。 元數(shù)據(jù) 數(shù)據(jù)字典(P145)數(shù)據(jù)庫(kù)系統(tǒng)概論 91第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)用領(lǐng)域的調(diào)查應(yīng)用領(lǐng)域的調(diào)查 兩個(gè)階段:第一階段,對(duì)應(yīng)用領(lǐng)域的組織結(jié)構(gòu)、業(yè)務(wù)流程和數(shù)據(jù)流程進(jìn)行調(diào)查,對(duì)現(xiàn)行系統(tǒng)的功能和所需信息有一個(gè)明確的認(rèn)識(shí);第二階估,在第一階段的基礎(chǔ)上進(jìn)行應(yīng)用領(lǐng)域的分析,抽象出應(yīng)用領(lǐng)域的邏輯模型,最后把邏輯模型用數(shù)據(jù)流圖來(lái)表示。定
60、義信息與應(yīng)用(定義信息與應(yīng)用(P147) 定義數(shù)據(jù)庫(kù)系統(tǒng)支持的信息的目的及步驟定義數(shù)據(jù)庫(kù)系統(tǒng)支持的應(yīng)用的目的及步驟數(shù)據(jù)庫(kù)系統(tǒng)概論 92第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)定義操作任務(wù)(定義操作任務(wù)(DBIPO圖)圖) 一個(gè)應(yīng)用包括一個(gè)或多個(gè)數(shù)據(jù)庫(kù)操作任務(wù)。每個(gè)數(shù)據(jù)庫(kù)操作任務(wù)可屬于多個(gè)應(yīng)用。劃分?jǐn)?shù)據(jù)庫(kù)操作任務(wù)的規(guī)則如下:1,2,3,4(P148)定義數(shù)據(jù)項(xiàng)(定義數(shù)據(jù)項(xiàng)(DD) 預(yù)測(cè)未來(lái)的改變預(yù)測(cè)未來(lái)的改變 數(shù)據(jù)庫(kù)系統(tǒng)概論 93第第7章章 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)7.3 概念設(shè)計(jì)概念設(shè)計(jì) 概念設(shè)計(jì)的任務(wù)包括數(shù)據(jù)庫(kù)概念模式設(shè)計(jì)和事務(wù)設(shè)計(jì)兩個(gè)方面。其中事務(wù)設(shè)計(jì)的任務(wù)是,考察需求分析階段提出的數(shù)據(jù)庫(kù)操作任務(wù),形
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit3 It's Too Expensive(說(shuō)課稿)-2024-2025學(xué)年北師大版(一起)英語(yǔ)四年級(jí)上冊(cè)001
- 2025【各行各業(yè)合同協(xié)議模板】【各行各業(yè)合同協(xié)議模板】商鋪轉(zhuǎn)讓協(xié)議
- 2025常用版工程工程合同樣式
- 2023八年級(jí)英語(yǔ)下冊(cè) Module 9 Friendship Unit 1 Could I ask if you've mentioned this to her第二課時(shí)說(shuō)課稿 (新版)外研版
- 2025墻體廣告制作發(fā)布合同
- 2025國(guó)際貿(mào)易合同樣本參考
- Unit 3 My weekend plan Part A Let's talk Let's learn大單元整體說(shuō)課稿表格式-2024-2025學(xué)年人教PEP版英語(yǔ)六年級(jí)上冊(cè)
- 9 生活離不開(kāi)規(guī)則說(shuō)課稿-2023-2024學(xué)年道德與法治三年級(jí)下冊(cè)統(tǒng)編版
- 3 《百合花》 (說(shuō)課稿)-2024-2025學(xué)年高一語(yǔ)文同步說(shuō)課稿與知識(shí)梳理(統(tǒng)編版必修上冊(cè))
- Unit 4 My home PB Let's learn (說(shuō)課稿)-2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
- 2021利達(dá)JB-QG-LD988EL JB-QT-LD988EL 火災(zāi)報(bào)警控制器 消防聯(lián)動(dòng)控制器調(diào)試手冊(cè)
- 醫(yī)院檢驗(yàn)科安全風(fēng)險(xiǎn)評(píng)估報(bào)告表單
- 高一北師大版歷史必修一知識(shí)點(diǎn)總結(jié)9篇
- 2024輸血相關(guān)知識(shí)培訓(xùn)
- 2023年四川省綿陽(yáng)市中考初中學(xué)業(yè)水平考試語(yǔ)文試題【含答案】
- 夏普LCD-46LX750A電視機(jī)使用說(shuō)明書(shū)
- 正大天虹方矩管鍍鋅方矩管材質(zhì)書(shū)
- 2024年山東魯商集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 山東省泰安市2022年初中學(xué)業(yè)水平考試生物試題
- 受賄案例心得體會(huì)
- 第六章ACS6000勵(lì)磁單元
評(píng)論
0/150
提交評(píng)論