SQL Server數(shù)據(jù)庫技術(shù)-第1章_第1頁
SQL Server數(shù)據(jù)庫技術(shù)-第1章_第2頁
SQL Server數(shù)據(jù)庫技術(shù)-第1章_第3頁
SQL Server數(shù)據(jù)庫技術(shù)-第1章_第4頁
SQL Server數(shù)據(jù)庫技術(shù)-第1章_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

SQLServer課程概述教師資料葛磊QQ:23756930郵箱同上電話QLServer課程概述課程簡介

SQLServer2000企業(yè)版是一套完整的數(shù)據(jù)庫設(shè)計和分析產(chǎn)品,可提供下一代可擴展電子商務(wù)、各種業(yè)務(wù)和數(shù)據(jù)倉庫解決方案。本課程介紹編寫基本的SQL查詢語句所需的知識,以及利用SQLServer2000進行數(shù)據(jù)庫設(shè)計的知識。預(yù)備知識熟練使用Windows,熟悉基本操作、用戶賬戶的創(chuàng)建、系統(tǒng)監(jiān)視組件的使用-計算機文化基礎(chǔ)掌握網(wǎng)絡(luò)基本知識-計算機網(wǎng)絡(luò)基礎(chǔ)對關(guān)系數(shù)據(jù)庫有初步了解,熟悉基本的SQL語句-數(shù)據(jù)庫基礎(chǔ)SQLServer課程概述課程學(xué)時:68=4*17=34理論+34實踐課程地位:第三學(xué)期專業(yè)主干課程相關(guān)課程:后續(xù)課程-程序開發(fā)課程(Java/.NET)。。。。。。課程考核:卷面70%+平時成績30%(練習(xí)和考勤)考勤:缺課一次(50分鐘*2節(jié))扣1分,遲到一次扣0.5分(超過第一節(jié)課30分鐘算缺課)SQLServer課程概述學(xué)習(xí)目的后續(xù)課程需要就業(yè)需要:程序設(shè)計類、服務(wù)器/網(wǎng)絡(luò)維護類繼續(xù)深造學(xué)習(xí)的需要:新領(lǐng)域物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)數(shù)據(jù)庫技術(shù)的發(fā)展前瞻-大數(shù)據(jù)

大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)與傳統(tǒng)互聯(lián)網(wǎng)之間的關(guān)系。1.物聯(lián)網(wǎng)對應(yīng)了互聯(lián)網(wǎng)的感覺和運動神經(jīng)系統(tǒng)。2.云計算是互聯(lián)網(wǎng)的核心硬件層和核心軟件層的集合,也是互聯(lián)網(wǎng)中樞神經(jīng)系統(tǒng)萌芽。3.大數(shù)據(jù)代表了互聯(lián)網(wǎng)的信息層(數(shù)據(jù)海洋),是互聯(lián)網(wǎng)智慧和意識產(chǎn)生的基礎(chǔ)。

包括物聯(lián)網(wǎng),傳統(tǒng)互聯(lián)網(wǎng),移動互聯(lián)網(wǎng)在源源不斷的向互聯(lián)網(wǎng)大數(shù)據(jù)層匯聚數(shù)據(jù)和接受數(shù)據(jù)。大數(shù)據(jù)和SQLServer的關(guān)系數(shù)據(jù)模型:包括數(shù)據(jù)庫數(shù)據(jù)的結(jié)構(gòu)部分(數(shù)據(jù)類型和類型間的關(guān)系)、數(shù)據(jù)庫數(shù)據(jù)的操作部分和數(shù)據(jù)庫數(shù)據(jù)的約束條件。數(shù)據(jù)模型按應(yīng)用層次分類概念模型E-R模型邏輯模型網(wǎng)狀模型層次模型關(guān)系模型物理模型和硬件、OS、DBMS有關(guān)結(jié)構(gòu)化數(shù)據(jù):能夠用數(shù)據(jù)或統(tǒng)一的結(jié)構(gòu)加以表示,可以用二維表結(jié)構(gòu)來邏輯表達實現(xiàn)。非結(jié)構(gòu)化數(shù)據(jù):無法用數(shù)字或統(tǒng)一的結(jié)構(gòu)表示,如文本、圖像、聲音、網(wǎng)頁等,稱之為非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)屬于非結(jié)構(gòu)化數(shù)據(jù),是非結(jié)構(gòu)化數(shù)據(jù)的特例。大數(shù)據(jù)和SQLServer的關(guān)系數(shù)據(jù)分析層OfficePowerpivot和SharePointPowerView構(gòu)造數(shù)據(jù)模型數(shù)據(jù)擴充層WindowsAzureMarketplace整合數(shù)據(jù)集,提供數(shù)據(jù)挖掘算法數(shù)據(jù)管理層結(jié)構(gòu)化數(shù)據(jù)-SQLServer和SQLServer并行數(shù)據(jù)倉庫;非結(jié)構(gòu)化數(shù)據(jù)-WindowsAzure和WindowsServer上Hadoop;

流數(shù)據(jù)-SQLServerStreamInsight1.SQLServer2012全面支持Hadoop。SQLServer2014針對大數(shù)據(jù)加入內(nèi)存數(shù)據(jù)庫功能,從硬件角度加速數(shù)據(jù)的處理,也被看為是針對大數(shù)據(jù)的改進。2.微軟同時在WindowsAzure平臺和WindowsServer上提供Hadoop,把Hadoop的高性能、高可擴展與微軟產(chǎn)品易用、易部署的傳統(tǒng)優(yōu)勢融合到一起,形成完整的大數(shù)據(jù)解決方案。參考資料互聯(lián)網(wǎng)資源/sql/default.asp/technet//china/technet/可參考書籍《MicrosoftSQLServer2000數(shù)據(jù)庫編程》

ISBN:

7900071024MSDN和TechNetMSDN站點上包含了大量可供開發(fā)人員使用的文檔、代碼和技巧/TechNet站點上包括了IT專業(yè)人員在規(guī)劃、部署、運行、維護和管理時參看和使用的文檔、指南和技巧/technet/SQLServer課程概述學(xué)習(xí)注意事項:梁啟超《論小說與群治之關(guān)系》:“知其然而不知其所以然”,只知道事物的表面現(xiàn)象,不知事物的本質(zhì)及其產(chǎn)生的原因。學(xué)以致用:什么用?怎么用?學(xué)習(xí)的深度和廣度:當(dāng)前階段廣度優(yōu)于深度當(dāng)前的學(xué)習(xí)能力限制深度更多來源于實踐和領(lǐng)悟:“師傅領(lǐng)進門,修行在個人”SQLServer第一章數(shù)據(jù)庫設(shè)計概述本章綜述本章描述了數(shù)據(jù)庫設(shè)計的一般過程,并以開封大學(xué)總務(wù)處總務(wù)管理系統(tǒng)的數(shù)據(jù)庫設(shè)計為應(yīng)用實例,通過需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫的實現(xiàn)四個階段描述了數(shù)據(jù)庫設(shè)計的一般工作過程。本章內(nèi)容數(shù)據(jù)庫設(shè)計基礎(chǔ)數(shù)據(jù)庫設(shè)計過程之一--需求分析數(shù)據(jù)庫設(shè)計過程之二--概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫設(shè)計之三--邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫設(shè)計過程之四—數(shù)據(jù)庫實現(xiàn)技能展示:掌握數(shù)據(jù)庫的基本概念了解數(shù)據(jù)庫設(shè)計的一般流程掌握E-R圖的作圖了解范式的概念,掌握數(shù)據(jù)規(guī)范化的方法1.1數(shù)據(jù)庫設(shè)計基礎(chǔ)開封大學(xué)信息工程學(xué)院數(shù)據(jù)庫基本概念SQLServer數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫在計算機系統(tǒng)中的位置硬件平臺基礎(chǔ)軟件平臺軟件基礎(chǔ)構(gòu)架平臺應(yīng)用軟件平臺軟件產(chǎn)品協(xié)同軟件辦公軟件數(shù)據(jù)庫系統(tǒng)操作系統(tǒng)

中間件應(yīng)用服務(wù)器1.1.1數(shù)據(jù)庫基本概念開封大學(xué)信息工程學(xué)院數(shù)據(jù)庫的地位數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的重要分支。數(shù)據(jù)庫系統(tǒng)與操作系統(tǒng)能夠一樣是計算機系統(tǒng)的基礎(chǔ)軟件,也稱為系統(tǒng)軟件、平臺軟件。它的出現(xiàn)極大地促進了計算機技術(shù)在各行各業(yè)的應(yīng)用數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),是信息化建設(shè)的基礎(chǔ)設(shè)施,它的出現(xiàn)極大地促進了計算機應(yīng)用向各行各業(yè)的滲透。數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。1.1.1數(shù)據(jù)庫基本概念開封大學(xué)信息工程學(xué)院數(shù)據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫系統(tǒng)(DBS)1.1.1數(shù)據(jù)庫基本概念開封大學(xué)信息工程學(xué)院一、數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象。數(shù)據(jù)的定義描述事物的符號記錄。數(shù)據(jù)的種類文本、圖形、圖像、音頻、視頻、檔案記錄等。數(shù)據(jù)的特點數(shù)據(jù)與其語義(含義)是不可分的。開封大學(xué)信息工程學(xué)院數(shù)據(jù)舉例數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的。例如93是一個數(shù)據(jù)語義1:學(xué)生某門課的成績語義2:某人的體重語義3:計算機系2003級學(xué)生人數(shù)語義4:請同學(xué)給出。。。例如:A

語義1:?

語義2:?。。。。。。思考!開封大學(xué)信息工程學(xué)院數(shù)據(jù)舉例學(xué)生檔案中的學(xué)生記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學(xué)生姓名、性別、出生年月、籍貫、所在院系、入學(xué)時間解釋:李明是個大學(xué)生,1972年5月出生,江蘇南京市人,1990年考入計算機系請給出另一個解釋和語義,思考!開封大學(xué)信息工程學(xué)院二、數(shù)據(jù)庫數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)

是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫的基本特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存可為各種用戶共享冗余度較小數(shù)據(jù)獨立性較高易擴展開封大學(xué)信息工程學(xué)院三、數(shù)據(jù)庫管理系統(tǒng)(DBMS)什么是DBMS(DatabaseManagementSystem)位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎(chǔ)軟件,是一個大型復(fù)雜的軟件系統(tǒng)DBMS的用途科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)核心操作在于:存、取常用的數(shù)據(jù)庫管理系統(tǒng)如:1.Microsoft的Access、MicrosoftSQLServer

(最初采用Sybase的技術(shù))2.

Oracle

(2013年,甲骨文已超越

IBM

,成為繼

Microsoft

后全球第二大軟件公司。)3.

Informix是第一個被移植到Linux上的商業(yè)數(shù)據(jù)庫產(chǎn)品。

4.

成立于1984年Sybase

Co的SybaseSQLServer

5.

IBM

的DB2

6.瑞典MySQLAB公司的小型關(guān)系數(shù)據(jù)庫MySQL開封大學(xué)信息工程學(xué)院DBMS的主要功能DBMS功能模塊數(shù)據(jù)定義功能DDL數(shù)據(jù)操縱功能DML數(shù)據(jù)庫的運行控制與管理數(shù)據(jù)庫的建立和維護功能其它功能開封大學(xué)信息工程學(xué)院Definition[d?f?n???n]Manipulation[m?n?pj?le??n]1.數(shù)據(jù)定義功能提供數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),定義數(shù)據(jù)庫中的數(shù)據(jù)對象。主要包括:模式、外模式、存儲模式定義安全性定義(數(shù)據(jù)庫的惡意破壞非法操作和存?。┩暾远x(存在不符合語義的數(shù)據(jù),一般是輸入/出錯誤)開封大學(xué)信息工程學(xué)院圖1-1數(shù)據(jù)庫的三級模式結(jié)構(gòu)開封大學(xué)信息工程學(xué)院用戶級對應(yīng)外模式-不唯一;概念級對應(yīng)模式;物理級對應(yīng)內(nèi)模式-唯一的;

使不同級別的用戶對數(shù)據(jù)庫形成不同的視圖。所謂視圖,就是指觀察、認識和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫在用戶“眼中"的反映,很顯然,不同層次(級別)用戶所“看到’’的數(shù)據(jù)庫是不相同的。

用戶應(yīng)用程序根據(jù)外模式進行數(shù)據(jù)操作,當(dāng)模式發(fā)生改變時,只要改變其外模式一模式映射,就可以使外模式保持不變,對應(yīng)的應(yīng)用程序也可保持不變;當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,只需改變模式一內(nèi)模式映射,就能保持模式不變,因此應(yīng)用程序也可以保持不變。數(shù)據(jù)庫的三級模式結(jié)構(gòu)如下圖所示:

3.數(shù)據(jù)庫的運行控制與管理數(shù)據(jù)庫在建立、運行和維護時由DBMS統(tǒng)一管理和控制,保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)及發(fā)生故障后的系統(tǒng)恢復(fù)2.數(shù)據(jù)操縱功能提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML)實現(xiàn)對數(shù)據(jù)庫的基本操作(查詢、插入、刪除和修改)增、刪、改、查開封大學(xué)信息工程學(xué)院4.數(shù)據(jù)庫的建立和維護功能(實用程序)數(shù)據(jù)庫初始數(shù)據(jù)裝載轉(zhuǎn)換數(shù)據(jù)庫轉(zhuǎn)儲介質(zhì)故障恢復(fù)數(shù)據(jù)庫的重組織性能監(jiān)視分析等5.其它功能DBMS與網(wǎng)絡(luò)中其它軟件系統(tǒng)的通信兩個DBMS系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換異構(gòu)數(shù)據(jù)庫之間的互訪和互操作開封大學(xué)信息工程學(xué)院DBMS的層次結(jié)構(gòu)數(shù)據(jù)文件,數(shù)據(jù)字典,索引,統(tǒng)計數(shù)據(jù)操作系統(tǒng)數(shù)據(jù)存儲層數(shù)據(jù)存取層語言翻譯處理層數(shù)據(jù)庫應(yīng)用層DBMS執(zhí)行物理文件的讀寫操作事務(wù),日志,封鎖,存取路徑,提供單元組接口DDL,DML,DCL,查詢引擎,提供關(guān)系、視圖接口緩沖區(qū),提供數(shù)據(jù)頁操作開封大學(xué)信息工程學(xué)院四、數(shù)據(jù)庫系統(tǒng)什么是數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)

在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成數(shù)據(jù)庫系統(tǒng)的構(gòu)成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員(DBA:DataBaseAdministrator)用戶開封大學(xué)信息工程學(xué)院圖1-2應(yīng)用程序與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系開封大學(xué)信息工程學(xué)院數(shù)據(jù)庫系統(tǒng)各組成成分的關(guān)系用戶應(yīng)用系統(tǒng)數(shù)據(jù)庫用戶用戶操作系統(tǒng)DBMS應(yīng)用開發(fā)工具數(shù)據(jù)庫管理員管理維護在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫開封大學(xué)信息工程學(xué)院數(shù)據(jù)庫應(yīng)用系統(tǒng)軟硬件層次結(jié)構(gòu)應(yīng)用系統(tǒng)硬件操作系統(tǒng)應(yīng)用開發(fā)工具軟件Java/.NETDBMSOracle,Db2,Sybase,SQLServer,Informix圖數(shù)據(jù)庫在計算機系統(tǒng)中的地位開封大學(xué)信息工程學(xué)院1.1.2SQLServer數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計(DatabaseDesign)是指對于給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫結(jié)構(gòu),建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之有效存儲數(shù)據(jù),對數(shù)據(jù)進行操作和管理,以滿足用戶的處理需求的過程數(shù)據(jù)庫設(shè)計大致分為四個階段

1.需求分析 2.概念結(jié)構(gòu)設(shè)計 3.邏輯結(jié)構(gòu)設(shè)計 4.數(shù)據(jù)庫的實現(xiàn)(物理設(shè)計)開封大學(xué)信息工程學(xué)院數(shù)據(jù)庫設(shè)計步驟需求分析概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫實現(xiàn)邏輯結(jié)構(gòu)設(shè)計開封大學(xué)信息工程學(xué)院數(shù)據(jù)庫設(shè)計的基本原則數(shù)據(jù)庫建設(shè)的基本規(guī)律三分技術(shù)、七分管理、十二分基礎(chǔ)數(shù)據(jù)管理數(shù)據(jù)庫建設(shè)項目管理企業(yè)(應(yīng)用部門)的業(yè)務(wù)管理基礎(chǔ)數(shù)據(jù)收集、入庫更新數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理設(shè)計緊密結(jié)合1.2數(shù)據(jù)庫設(shè)計過程之一--需求分析開封大學(xué)信息工程學(xué)院需求分析理論基礎(chǔ)開封大學(xué)總務(wù)綜合信息管理系統(tǒng)的需求1.2.1需求分析理論基礎(chǔ)進行數(shù)據(jù)庫軟件開發(fā),必須首先了解與分析用戶需求。需求分析的任務(wù)是通過詳細的調(diào)查研究,充分了解原系統(tǒng)工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定系統(tǒng)的功能,為概念設(shè)計奠定基礎(chǔ)開封大學(xué)信息工程學(xué)院1.2數(shù)據(jù)庫設(shè)計過程之一--需求分析需求分析階段需要完成工作:確定系統(tǒng)范圍(或系系統(tǒng)邊界)。確定用戶對未來系統(tǒng)的各種需求。分析業(yè)務(wù),得出數(shù)據(jù)流。分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典開封大學(xué)信息工程學(xué)院系統(tǒng)分析報告(也稱需求規(guī)范說明書)

系統(tǒng)的概況、目標、范圍、背景、歷史和現(xiàn)狀

系統(tǒng)的總體結(jié)構(gòu)和子系統(tǒng)的結(jié)構(gòu)說明

系統(tǒng)功能劃分和說明

組織結(jié)構(gòu)圖、數(shù)據(jù)流程圖、功能模塊圖和數(shù)據(jù)字典等圖表系統(tǒng)分析報告開封大學(xué)信息工程學(xué)院1.2.2開封大學(xué)總務(wù)綜合信息管理系統(tǒng)的需求

該系統(tǒng)主要以建筑房間、資產(chǎn)等為管理對象,主要功能包括用戶管理資產(chǎn)管理建筑房間管理。開發(fā)系統(tǒng)時,主要關(guān)注的問題總務(wù)綜合信息管理系統(tǒng)應(yīng)提供哪些功能??倓?wù)綜合信息管理系統(tǒng)中涉及哪些對象,各對象間以及對象內(nèi)部存在哪些關(guān)系?如何保存各數(shù)據(jù)對象,以便于數(shù)據(jù)處理。開封大學(xué)信息工程學(xué)院總務(wù)綜合信息管理系統(tǒng)

建筑房間的管理資產(chǎn)的管理房間信息的管理和查詢資產(chǎn)信息的管理和查詢系統(tǒng)應(yīng)具有的功能開封大學(xué)信息工程學(xué)院1.3數(shù)據(jù)庫設(shè)計過程之二--概念結(jié)構(gòu)設(shè)計開封大學(xué)信息工程學(xué)院概念結(jié)構(gòu)設(shè)計理論基礎(chǔ)概念結(jié)構(gòu)設(shè)計的任務(wù)及其工作開封大學(xué)總務(wù)綜合信息管理系統(tǒng)的概念結(jié)構(gòu)設(shè)計

1.3數(shù)據(jù)庫設(shè)計過程之二--概念結(jié)構(gòu)設(shè)計

開封大學(xué)信息工程學(xué)院1.3.1概念結(jié)構(gòu)設(shè)計理論基礎(chǔ)一、數(shù)據(jù)抽象、數(shù)據(jù)的描述在數(shù)據(jù)處理中,將涉及不同的數(shù)據(jù)描述領(lǐng)域。從事物的特性到計算機里的具體表示,數(shù)據(jù)描述經(jīng)歷了三個領(lǐng)域(三個世界):現(xiàn)實世界:存在于人們頭腦以外的客觀世界,現(xiàn)實世界的數(shù)據(jù)就是客觀存在的各種報表、圖表等原始數(shù)據(jù)。信息世界:現(xiàn)實世界在人們頭腦中的反映,把現(xiàn)實世界的數(shù)據(jù)用文字和符號記載下來。計算機世界:信息世界的信息在計算機(機器)世界中以數(shù)據(jù)形式存儲。開封大學(xué)信息工程學(xué)院1.3.1概念結(jié)構(gòu)設(shè)計理論基礎(chǔ)一、數(shù)據(jù)抽象、數(shù)據(jù)描述現(xiàn)實世界(事物及其聯(lián)系)信息世界(實體及其聯(lián)系)概念化認識抽象計算機世界(數(shù)據(jù)及其聯(lián)系)形式化轉(zhuǎn)換在信息世界和計算機世界進行數(shù)據(jù)描述,形成兩種數(shù)據(jù)模型:信息模型概念數(shù)據(jù)模型數(shù)據(jù)模型結(jié)構(gòu)數(shù)據(jù)模型開封大學(xué)信息工程學(xué)院1.數(shù)據(jù)模型分為兩類(分屬兩個不同的層次)(1)概念數(shù)據(jù)模型

也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設(shè)計。

(2)結(jié)構(gòu)數(shù)據(jù)模型-邏輯模型和物理模型

邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷?,按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)。物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。開封大學(xué)信息工程學(xué)院兩大類數(shù)據(jù)模型(續(xù))客觀對象的抽象過程---兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。開封大學(xué)信息工程學(xué)院兩大類數(shù)據(jù)模型(續(xù))DBMS支持的數(shù)據(jù)模型概念模型認識抽象信息世界機器世界現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世界現(xiàn)實世界概念模型數(shù)據(jù)庫設(shè)計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數(shù)據(jù)庫設(shè)計人員完成開封大學(xué)信息工程學(xué)院二、概念模型涉及的基本概念按用戶的觀點來對數(shù)據(jù)和信息建模。用于建立信息世界的數(shù)據(jù)模型,組織信息世界的信息及其聯(lián)系,描述從現(xiàn)實世界中抽象出來的事物以及它們之間的聯(lián)系,與硬件、DBMS無關(guān)。概念模型強調(diào)其語義表達能力,要求概念簡單、清晰,易于為用戶理解。概念模型是現(xiàn)實世界到信息世界的抽象,是用戶與數(shù)據(jù)庫設(shè)計人員之間進行交流的語言。是數(shù)據(jù)庫設(shè)計人員進行數(shù)據(jù)庫設(shè)計的工具。概念模型的描述工具:E-R圖。1.概念數(shù)據(jù)模型-簡稱概念模型開封大學(xué)信息工程學(xué)院實體(Entity)屬性(Attribute)關(guān)鍵字/碼(Key)域(Domain)實體型(EntityType)實體集(EntitySet)實體型之間的聯(lián)系(Relationship)

概念模型的表示方法:實體-聯(lián)系方法E-R方法(Entity-Relationship-Approach)2.概念模型的基本概念開封大學(xué)信息工程學(xué)院概念模型的基本概念:實體

1.實體(Entity)客觀存在并可相互區(qū)分的事物叫實體。實體是對現(xiàn)實世界任何可被識別事物的抽象命名,不論是可見還是不可見。實體可以是具體的人、事、物。如:學(xué)生張林、計算機系、一次借書等實體可以是抽象的概念,如“大學(xué)生”,“部門”,“建筑”實體可以是事物之間的聯(lián)系,如“一次借書”,“房間的分配”實體型:抽象的實體,如“大學(xué)生”,“建筑”,“部門”實體值:具體的實體,如“大學(xué)生張林”,“綜合樓”,“軟件學(xué)院”開封大學(xué)信息工程學(xué)院概念模型的基本概念:屬性

2.屬性(Attribute)實體所具有的某一特性,即客觀事物性質(zhì)的抽象一個實體的特征可以由若干個屬性來刻畫例如,部門實體由部門號、部門名、部門性質(zhì)、聯(lián)系電話等屬性組成屬性一般由屬性名、屬性型和屬性值組成屬性名:是屬性標識屬性型和屬性值:給出屬性的類型和取值任何實體,統(tǒng)一地用一組屬性來描述它概念模型的基本概念:域

3.域(Domain)、值域、值集屬性的取值范圍例如,性別的域為“男”、“女”兩個值也可以用“T”、“F”;甚至“0”、“1”又如,月份的域為1~12的整數(shù)開封大學(xué)信息工程學(xué)院概念模型的基本概念:碼

4.碼(Key)、關(guān)鍵字實體是可區(qū)別的,用什么來區(qū)分?----碼能唯一標識實體的一個屬性(或?qū)傩越M)稱作碼碼是唯一取值,一個實體集中任意兩個實體在碼屬性上的取值不能相同。如:“學(xué)號”是學(xué)生實體的碼又如:部門實體(部門號、部門名、部門性質(zhì)、聯(lián)系電話)中,部門號不會相同,可以作碼開封大學(xué)信息工程學(xué)院概念模型的基本概念:實體型5.實體型(EntityType)具有相同屬性的實體必然具有共同的特征和性質(zhì),用實體名與其屬性名集合共同構(gòu)成實體型。例,學(xué)生(學(xué)號、姓名、年齡、性別、系、年級)注意實體型與實體(值)之間的區(qū)別,后者是前者的一個特例(值)如(9808100,王平,21,男,計算機系,2)是一個學(xué)生實體(值)開封大學(xué)信息工程學(xué)院概念模型的基本概念:實體集

6.實體集(EntitySet)同型共性實體(值)的集合稱為實體集。如全體學(xué)生的實體集合不論是實體型、實體值或?qū)嶓w集,一般籠統(tǒng)地說實體,根據(jù)上下文去理解。實體和屬性都有所謂類型與值之分。型是結(jié)構(gòu),值是在結(jié)構(gòu)約束下的取值。開封大學(xué)信息工程學(xué)院示例

學(xué)生(學(xué)號

姓名性別年齡系別)

9908001王平男21計算機系 9908002李林男20計算機系 9901100馬燕女20中文系::實體型實體屬性屬性值實體集

“性別”屬性的域是{“男”,“女”}

碼開封大學(xué)信息工程學(xué)院概念模型的基本概念:實體的聯(lián)系

7.實體的聯(lián)系(Relationship)事物聯(lián)系在信息世界中有兩大類:一類是實體內(nèi)部屬性之間的聯(lián)系一類是實體集的實體和實體之間的聯(lián)系例:學(xué)生實體的“學(xué)號”與“姓名”的聯(lián)系;學(xué)生實體與課程實體之間的“選課”聯(lián)系開封大學(xué)信息工程學(xué)院實體間的聯(lián)系實體間聯(lián)系有三種方式:一對一聯(lián)系(簡記為1:1)一對多聯(lián)系(簡記為1:n)多對多聯(lián)系(簡記為m:n)三種聯(lián)系方式中,基本的是1:n聯(lián)系,因為1:n包含了1:1,而m:n可以轉(zhuǎn)換為1:n。開封大學(xué)信息工程學(xué)院兩個實體集之間的聯(lián)系:1:1

一對一聯(lián)系的定義:設(shè)有兩個實體集E1和E2,如果E1中的一個實體與E2中至多一個實體相聯(lián)系,并且E2中的一個實體與E1中至多一個實體相聯(lián)系,則稱E1和E2是1:1聯(lián)系。注意

1:1不是一一對應(yīng),“至多”可能一個都不聯(lián)系如“職工”與“部門”之間的“管理”聯(lián)系:職工部門管理11張三李四王五周六財務(wù)處人事處車隊宿管科開封大學(xué)信息工程學(xué)院兩個實體集之間的聯(lián)系:1:n一對多聯(lián)系:若E1中的一個實體與E2中的n(n≥0)個實體相聯(lián)系,并且E2中的一個實體與E1中至多一個實體相聯(lián)系,則稱E1和E2是1:n聯(lián)系,或E2和E1是n:1聯(lián)系。注意:n≥0,即“多”包括0個;“至多”的意思如“教師”和“學(xué)生”之間的“班主任”聯(lián)系:教師學(xué)生班主任1n張奇李林周于STU1STU2STU3STU4STU5STU6STU7開封大學(xué)信息工程學(xué)院兩個實體集之間的聯(lián)系:m:n多對多聯(lián)系:

E1中的一個實體與E2中n(n≥0)個實體相聯(lián)系,并且E2中的一個實體與E1中m(m≥0)個實體相聯(lián)系,則稱E1和E2是m:n聯(lián)系。注意:n≥0,m≥0如“學(xué)生”和“課程”之間的“選修”聯(lián)系:學(xué)生課程選修mn張三李四王五周六C語言網(wǎng)站學(xué)電子學(xué)管理學(xué)開封大學(xué)信息工程學(xué)院

E-R方法---實體-聯(lián)系方法E-R方法是美籍華人陳平山(P.P.S.Cen)于1976年提出來的。E-R方法用E-R圖表示概念模型,宏觀上指出“實體型”的屬性組成,“實體型”之間的聯(lián)系,然后注明聯(lián)系方式,簡單地表示實體及實體間的聯(lián)系情況。E-R方法描述的概念模型也稱E-R模型。本節(jié)僅介紹E-R圖的要點。三、概念模型的表示方法:E-R圖E-R方法的圖形表示實體型:

用矩形表示,矩形框內(nèi)寫明實體名概念模型的表示方法:E-R圖屬性:用橢圓形表示,框內(nèi)寫明屬性名用無向邊將其與相應(yīng)的實體型連接起來聯(lián)系:用菱形表示,框內(nèi)寫明聯(lián)系名稱并用無向邊分別與有關(guān)實體型連接起來同時在無向邊旁標上聯(lián)系的類型:1:1,1:n,m:n實體名1實體名2屬性名1屬性名1聯(lián)系名m1nn11E-R圖示例。三個實體:學(xué)院、教師、學(xué)生;每個實體都有相應(yīng)的屬性;一個學(xué)院可以聘用多個教師,學(xué)院和教師是一對多關(guān)系一個教師可以給多名學(xué)生上課,教師和學(xué)生是一對多關(guān)系,E-R圖例1:學(xué)院、教師、學(xué)生三實體間關(guān)系用矩形表示實體集,在框內(nèi)寫上實體名用橢圓表示實體的屬性用無向邊把實體與其屬性連接起來用菱形表示實體間的聯(lián)系將參與聯(lián)系的實體用線段連接聯(lián)系的類型碼屬性用下劃線標明1學(xué)生教師上課姓名職稱學(xué)院聘用編號名稱姓名學(xué)號性別教師編號m1mE-R圖例2:學(xué)生選修課程聯(lián)系的屬性學(xué)生課程選修姓名學(xué)號系別課程名先修課學(xué)分成績mn開封大學(xué)信息工程學(xué)院E-R方法用圖形表示了實體、屬性、實體之間的聯(lián)系方式E-R圖中的實體、聯(lián)系、屬性三個部分缺一不可;如果E-R圖很復(fù)雜,則可將屬性部分另圖表示。每個部分都要命名,并且要用不同的名字;同一張E-R圖中的實體型、聯(lián)系類型一定要不同名,而不同實體型和聯(lián)系的屬性命名可以相同。聯(lián)系方式的表示完全是人為規(guī)定的,還有其他表示方法畫E-R圖前先要根據(jù)現(xiàn)實世界應(yīng)用的實際背景定義實體、屬性及實體間的聯(lián)系。畫E-R圖注意事項:開封大學(xué)信息工程學(xué)院1.3.2概念結(jié)構(gòu)設(shè)計的任務(wù)及其工作

概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,該階段通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。概念模型一般用E-R圖表示設(shè)計E-R模型應(yīng)遵循以下原則

根據(jù)單個應(yīng)用的需求,畫出能反映每一應(yīng)用的局部E-R圖。將局部E-R圖合并起來,得出系統(tǒng)總體的E-R圖開封大學(xué)信息工程學(xué)院實體及其屬性建筑:建筑名稱、建筑號、層數(shù)、房間數(shù)、建筑時間、建筑圖片房間:所屬建筑、類型、所在層、門牌號、面積部門:部門名稱、部門性質(zhì)、聯(lián)系電話物品:類別、設(shè)備名稱、分類號、單價、型號、規(guī)格、金額1.3.3開封大學(xué)總務(wù)綜合信息管理系統(tǒng)的

概念結(jié)構(gòu)設(shè)計

開封大學(xué)信息工程學(xué)院實體之間的聯(lián)系如下:

(1)一個建筑由多個房間組成,一個房間只能屬于一個建筑,因此建筑和房間存在一對多關(guān)系。(2)一個部門可以分配多個房間,一個房間同時只能分配給一個部門使用,因此部門和房間存在一對多關(guān)系。(3)一個房間可以放多種物品,一種物品可以放在多個房間中,因此房間與物品存在多對多的關(guān)系。開封大學(xué)信息工程學(xué)院開封大學(xué)總務(wù)綜合信息管理系統(tǒng)”局部E-R模型圖1-6“開封大學(xué)總務(wù)綜合信息管理系統(tǒng)”的局部E-R模型開封大學(xué)信息工程學(xué)院圖1-7“開封大學(xué)總務(wù)綜合信息管理系統(tǒng)”的整體E-R模型開封大學(xué)總務(wù)綜合信息管理系統(tǒng)”整體E-R模型開封大學(xué)信息工程學(xué)院1.4開封大學(xué)數(shù)據(jù)庫設(shè)計之三--邏輯結(jié)構(gòu)設(shè)計開封大學(xué)信息工程學(xué)院邏輯結(jié)構(gòu)設(shè)計理論基礎(chǔ)邏輯結(jié)構(gòu)設(shè)計的任務(wù)及其工作開封大學(xué)總務(wù)綜合信息管理系統(tǒng)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計1.4SQLServer數(shù)據(jù)庫設(shè)計之三--邏輯結(jié)構(gòu)設(shè)計1.4.1邏輯結(jié)構(gòu)設(shè)計理論基礎(chǔ)

邏輯數(shù)據(jù)模型簡稱數(shù)據(jù)模型,是對現(xiàn)實世界的第二層抽象,主要用于DBMS的實現(xiàn)。數(shù)據(jù)模型包括層次模型、網(wǎng)狀模型、關(guān)系模型,它們之間的根本區(qū)別在于數(shù)據(jù)之間聯(lián)系的表示方式不同。開封大學(xué)信息工程學(xué)院一、關(guān)系數(shù)據(jù)模型的基本術(shù)語關(guān)系模型是目前最重要的一種數(shù)據(jù)模型,是完全不同于其它模型的一種新的數(shù)據(jù)模型。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是二維表。關(guān)系數(shù)據(jù)庫采用關(guān)系模型作為數(shù)據(jù)的組織方式。1.關(guān)系數(shù)據(jù)模型開封大學(xué)信息工程學(xué)院EdgarF.Codd博士---關(guān)系數(shù)據(jù)庫之父美國工程院院士英國人,1923生于英格蘭中部波特蘭第二次世界大戰(zhàn)時應(yīng)征入伍,在皇家空軍服役。1942-1945年間任機長,參與了許多驚心動魄的空戰(zhàn)英國牛津大學(xué)數(shù)學(xué)專業(yè)理學(xué)學(xué)士及碩士學(xué)位,畢業(yè)后到IBM公司工作從事操作系統(tǒng)和自動機理論研究年近40重返密歇根大學(xué)進修計算機與通信專業(yè),1963年獲得碩士學(xué)位,1965年又獲得博士學(xué)位。60年代后期開始數(shù)據(jù)庫研究,1970年E.F.Codd博士提出關(guān)系模型概念(CACM,Vol13,vol6,1970)1981年獲得圖靈獎,84年從IBM退休還創(chuàng)辦了一個研究所,關(guān)系研究所(TheRelationalInstitute)和一個公司,Codd&Assoclations,進行關(guān)系數(shù)據(jù)庫產(chǎn)品的研發(fā)、銷售、咨詢等業(yè)務(wù)2.基本術(shù)語

關(guān)系(Relation):

理解為二維表元組(Tuple):

二維表的行屬性(Attribute):

二維表的列主鍵/關(guān)鍵字,也稱為碼(Key):

可以唯一確定一個元組的屬性組域(Domain):

屬性的取值范圍分量:

元組中的一個屬性值關(guān)系模式:

對關(guān)系的描述,關(guān)系框架,二維表表頭關(guān)系名(屬性名1,屬性名2,……,屬性名n)開封大學(xué)信息工程學(xué)院關(guān)系模型:簡例部門關(guān)系模式---部門二維表格:部門(編號,部門名稱,部門性質(zhì),聯(lián)系電話)屬性元組部門關(guān)系主碼分量即屬性值關(guān)系的每個分量必須是一個不可分的數(shù)據(jù)項,不允許大表套小表編號部門名稱部門性質(zhì)聯(lián)系電話1101總務(wù)處教輔科研服務(wù)機構(gòu)0378-35060021106老干部處黨群組織機構(gòu)0378-35060121107組織部黨群組織機構(gòu)0378-35060032101后勤中心行政管理機封大學(xué)信息工程學(xué)院關(guān)系模型的基本術(shù)語外鍵如果一個關(guān)系R中的某個屬性或?qū)傩越MF并非該關(guān)系的關(guān)鍵字,但它和另外一個關(guān)系S的關(guān)鍵字K相對應(yīng),則稱F為關(guān)系R的外鍵,同時要求外鍵F的值要參照關(guān)系S中主鍵K的值。外鍵用于實現(xiàn)表間關(guān)聯(lián)房間編號建筑編號…….建筑編號建筑名稱…….房間關(guān)系建筑關(guān)系參照關(guān)系外鍵主鍵主鍵開封大學(xué)信息工程學(xué)院實體及聯(lián)系都用關(guān)系表示:示例學(xué)生課程選修姓名學(xué)號系別課號課名學(xué)分分數(shù)mn關(guān)系模式:學(xué)生(學(xué)號,姓名,系別)---對應(yīng)學(xué)生實體關(guān)系模式:課程(課號,課名,學(xué)分)---對應(yīng)課程實體關(guān)系模式:選修(學(xué)號,課號,分數(shù))---對應(yīng)選修聯(lián)系開封大學(xué)信息工程學(xué)院關(guān)系數(shù)據(jù)庫:示例學(xué)生關(guān)系學(xué)號姓名出生系別101袁敏80-2-3機電102李強81-6-8化工103張偉80-8-9外語104孫正81-5-1中文課號課名學(xué)分1011C語言81012數(shù)據(jù)結(jié)構(gòu)81013微機原理71013VB6課程關(guān)系選修關(guān)系學(xué)號課號分數(shù)101101179101101289101101364102101174102101286102101382開封大學(xué)信息工程學(xué)院數(shù)據(jù)結(jié)構(gòu)——關(guān)系關(guān)系操作

關(guān)系完整性約束

二、關(guān)系數(shù)據(jù)模型的三要素開封大學(xué)信息工程學(xué)院(1)數(shù)據(jù)結(jié)構(gòu)——關(guān)系實體及實體之間的聯(lián)系都用二維表(關(guān)系)來表示二維表(關(guān)系)以文件形式存儲

二、關(guān)系數(shù)據(jù)模型的三要素開封大學(xué)信息工程學(xué)院(2)關(guān)系操作:操作類型:數(shù)據(jù)查詢:選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:查詢、插入、刪除、修改。操作對象和結(jié)果:都是關(guān)系(二維表,元組的集合)非過程化的數(shù)據(jù)操作,用戶只要指出“做什么”,無須詳細說明“怎么做”,提高了數(shù)據(jù)獨立性。(3)關(guān)系完整性約束實體完整性參照完整性域的完整性二、關(guān)系數(shù)據(jù)模型的三要素開封大學(xué)信息工程學(xué)院三、關(guān)系模型的規(guī)范化關(guān)系模型的規(guī)范化理論是研究如何將一個不好的關(guān)系模型轉(zhuǎn)化為一個好的關(guān)系模型的理論,它是圍繞范式而建立的根據(jù)滿足規(guī)范的條件不同,可以化分為五個等級

:第一規(guī)范化形式1NF第二規(guī)范化形式2NF第三規(guī)范化形式3NF第四規(guī)范化形式4NF第五規(guī)范化形式5NF開封大學(xué)信息工程學(xué)院1.第一規(guī)范化形式1NF

第一規(guī)范化形式簡稱第一范式:在一個關(guān)系(數(shù)據(jù)表)中沒有重復(fù)的數(shù)據(jù)項,每個屬性都是不可分割的最小數(shù)據(jù)元素。即每列的列名(字段名)都是惟一的,一個關(guān)系中不允許有兩個相同的屬性名,同一列的數(shù)據(jù)具有相同的數(shù)據(jù)類型,列的順序交換后不能改變關(guān)系的實際意義。開封大學(xué)信息工程學(xué)院【例】將表1-1修改為滿足第一范式。表1-1房間號建筑面積所在樓層類型建筑號名稱面積類型修改為房間號建筑號建筑名稱占地面積建筑類型房間面積所在樓層房間類型表1-2開封大學(xué)信息工程學(xué)院2、第二規(guī)范化形式2NF

第二規(guī)范化形式簡稱第二范式:在已滿足1NF的關(guān)系中,一行(數(shù)據(jù)元組、記錄)中所有非關(guān)鍵字數(shù)據(jù)元素都完全依賴于關(guān)鍵字(記錄惟一)。即一個關(guān)系中不允許有兩個相同的實體,行的順序交換后不能改變數(shù)據(jù)表的實際意義。關(guān)鍵字:也叫關(guān)鍵字段或主鍵,是所有數(shù)據(jù)都是惟一不重復(fù)的字段或字段的組合。

第二范式就是數(shù)據(jù)表中沒有相同的行,通過關(guān)鍵字使記錄惟一。不滿足2NF的數(shù)據(jù)表,將導(dǎo)致數(shù)據(jù)插入或刪除的異常,稍有不慎會使數(shù)據(jù)不一致,規(guī)范化的數(shù)據(jù)表都必須滿足2NF。開封大學(xué)信息工程學(xué)院【實例練習(xí)1-2】根據(jù)第二范式的要求,修改表1-3“房間表”使其滿足第二范式。表1-3房間號建筑號建筑名稱占地面積建筑類型房間面積所在樓層房間類型解決方法:增加一列“序號”作為該表的關(guān)鍵字

表1-4序號房間號建筑號建筑名稱占地面積建筑類型房間面積所在樓層房間類型開封大學(xué)信息工程學(xué)院3、第三規(guī)范化形式3NF第三規(guī)范化形式簡稱第三范式:在已滿足2NF的關(guān)系中,不存在傳遞依賴于關(guān)鍵字的數(shù)據(jù)項。傳遞依賴:某些列的數(shù)據(jù)不是直接依賴于關(guān)鍵字,而是通過某個非關(guān)鍵字間接的依賴于關(guān)鍵字。簡單說第三范式就是表中沒有間接依賴關(guān)鍵字的數(shù)據(jù)項。實現(xiàn)第三范式的方法就是將不依賴關(guān)鍵字的列刪除,單獨創(chuàng)建一個數(shù)據(jù)表存儲。規(guī)范化的數(shù)據(jù)庫應(yīng)盡量滿足3NF,一個滿足3NF的數(shù)據(jù)庫將有效地減少數(shù)據(jù)冗余。注意:三個范式不是獨立的,3NF包含2NF,2NF又包含1NF。開封大學(xué)信息工程學(xué)院【實例練習(xí)1-3】根據(jù)第三范式的要求,修改表1-5“房間表”使其滿足第三范式。房間號建筑號建筑名稱占地面積建筑類型房間面積所在樓層房間類型建筑ID建筑號建筑名稱占地面積建筑類型建成時間圖片表1-7序號房間號建筑ID房間名稱所在樓層房間類型表1-6表1-5解決方法:拆成兩張表,表1-6和表1-7開封大學(xué)信息工程學(xué)院【實例練習(xí)1-4】根據(jù)數(shù)據(jù)規(guī)范化原則,將W關(guān)系規(guī)范到第三范式。W(日期,工號,姓名,工種,定額,超額,車間,車間主任)開封大學(xué)信息工程學(xué)院1.4.2邏輯結(jié)構(gòu)設(shè)計的任務(wù)及其工作邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念模型轉(zhuǎn)換成DBMS支持的數(shù)據(jù)模型并對該模型進行優(yōu)化。1.一對一關(guān)系向關(guān)系模式的轉(zhuǎn)化(1)轉(zhuǎn)換為一個獨立的關(guān)系(2)與任意一端實體對應(yīng)的關(guān)系合并E-R圖向關(guān)系模式的轉(zhuǎn)化開封大學(xué)信息工程學(xué)院2.一對多關(guān)系向關(guān)系模式的轉(zhuǎn)化

(1)轉(zhuǎn)換為一個獨立的關(guān)系

(2)與N端實體對應(yīng)的關(guān)系合并

E-R圖向關(guān)系模式的轉(zhuǎn)化開封大學(xué)信息工程學(xué)院3.多對多聯(lián)系向關(guān)系模式的轉(zhuǎn)化一個M∶N聯(lián)系要轉(zhuǎn)換為一個獨立的關(guān)系。關(guān)系的屬性為與該聯(lián)系相連的各實體的主鍵以及聯(lián)系本身的屬性,關(guān)系的主鍵為各實體主鍵的組合。用E-R模型轉(zhuǎn)換得到的關(guān)系模型不一定是最優(yōu)的,需要利用關(guān)系規(guī)范化理論進行進一步的規(guī)范化設(shè)計,使之符合DBMS的要求。E-R圖向關(guān)系模式的轉(zhuǎn)化開封大學(xué)信息工程學(xué)院1.4.3開封大學(xué)總務(wù)綜合信息管理系統(tǒng)數(shù)據(jù)庫

邏輯結(jié)構(gòu)設(shè)計

1.全校建筑設(shè)施的“建筑表”建筑號建筑名稱建筑類型占地面積房間數(shù)建成時間圖片建筑描述其中:“建筑類型”可把學(xué)校的建筑分為兩大類,宿舍和非宿舍建筑。房間數(shù)不用手工輸入,可以根據(jù)房間表中登記的房間記錄數(shù)自動計算出來

表1-82.校內(nèi)“部門表”

表1-9部門號部門名稱部門性質(zhì)聯(lián)系電話開封大學(xué)信息工程學(xué)院3.所有房間的“房間表”表1-10門牌號建筑ID房間面積所在樓層房間類型開封大學(xué)信息工程學(xué)院4.部門房間分配情況的“房間分配表”表1-11門牌號建筑ID部門名聯(lián)系電話房間名稱分配時間開封大學(xué)信息工程學(xué)院5.部門房間的“物品登記表”表1-12門牌號建筑ID部門物品編號物品名稱分類號型號規(guī)格單價數(shù)量金額負責(zé)人其中金額的值不用手功輸入,由數(shù)據(jù)庫自動計算。開封大學(xué)信息工程學(xué)院【實例練習(xí)1-5】開封大學(xué)總務(wù)綜合信息管理數(shù)據(jù)庫的規(guī)范化設(shè)計。分析發(fā)現(xiàn)表1-11“房間分配表”還不滿足第三范式:表1-13門牌號建筑ID部門號聯(lián)系電話房間名稱分配時間進一步規(guī)范化后形成表1-13滿足第三范式開封大學(xué)信息工程學(xué)院開封大學(xué)信息工程學(xué)院1.5數(shù)據(jù)庫設(shè)計過程之四—數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)庫實現(xiàn)的理論基礎(chǔ)數(shù)據(jù)庫實現(xiàn)的任務(wù)及其工作“開封大學(xué)總務(wù)綜合信息管理系統(tǒng)”的數(shù)據(jù)庫實現(xiàn)1.5數(shù)據(jù)庫設(shè)計過程之四—數(shù)據(jù)庫實現(xiàn)1.5.1數(shù)據(jù)庫實現(xiàn)的理論基礎(chǔ)

1.數(shù)據(jù)完整性實體完整性參照完整性域完整性用戶自定義完整性開封大學(xué)信息工程學(xué)院(1)實體完整性

實體完整性是指數(shù)據(jù)表中的所有行都是惟一的確定的,所有記錄都是可以區(qū)分的(滿足2NF)。實體完整性規(guī)則規(guī)定了表中的主鍵值惟一,所有主要屬性都不能取空值。例如,在“部門表”中,“部門號”可以作為主鍵,同時“部門號、部門名稱、部門性質(zhì)、聯(lián)系電話”都不能取空值才能保證每個“部門”實體的完整性。開封大學(xué)信息工程學(xué)院(2)參照完整性參照完整性用于確保相聯(lián)系的表間的數(shù)據(jù)保持一致,避免因一個表的記錄修改,造成另一個表的內(nèi)容變?yōu)闊o效的值。參照完整性通過外鍵實現(xiàn)當(dāng)一個表中的某列數(shù)據(jù)(外鍵)依賴并引用另一個表中的某列數(shù)據(jù)時,這兩個表之間的相關(guān)數(shù)據(jù)必須保持一致性。房間編號(主鍵)建筑編號(外鍵)…….建筑編號(主鍵)建筑名稱…….房間關(guān)系(從表或子表)建筑關(guān)系(主表或父表)參照關(guān)系(主從表數(shù)據(jù)一致)開封大學(xué)信息工程學(xué)院(3)域完整性

域完整性是指表中每列的數(shù)據(jù)具有正確的數(shù)據(jù)類型、格式和有效的取值范圍,保證數(shù)據(jù)的正確性。例如:房間關(guān)系:房間的狀態(tài)只能取值為“未分配”或“已分配”;物品登記關(guān)系:物品的數(shù)量只能是數(shù)字字符;建筑關(guān)系:房間數(shù)只能是大于0的正整數(shù)。開封大學(xué)信息工程學(xué)院(4)用戶自定義完整性

用戶自定義完整性指數(shù)據(jù)使用者根據(jù)實際需要自行定義的數(shù)據(jù)完整性開封大學(xué)信息工程學(xué)院2.約束(1)主鍵約束(Primarykey)(2)惟一約束(Unique)(3)外鍵約束(Foreignkey)(4)檢查約束(Check)(5)默認值約束(Default)(6)空值約束(NULL)SQLServer提供了6種約束

開封大學(xué)信息工程學(xué)院(1)主鍵約束(Primarykey)

設(shè)置主鍵約束的字段稱為關(guān)鍵字段,主鍵值是記錄的惟一標識,主鍵約束可以保證數(shù)據(jù)的實體完整性,使表中的記錄是惟一可區(qū)分和確定的(滿足2NF)。規(guī)范化的數(shù)據(jù)庫每個表都必須設(shè)置主鍵約束,主鍵有以下特點和限制:主鍵的字段值必須是惟一的,不允許重復(fù)。主鍵的字段值必須是確定的,不允許為空。

一個表只能定義一個主鍵,主鍵可以是單一字段,也可以是多個字段的組合,用多個列的組合作主鍵時每個列上的數(shù)據(jù)都可以重復(fù),但其組合值不允許重復(fù)。Text、Ntext和Image類型的字段不能做主鍵。不論輸入數(shù)據(jù)的順序如何,數(shù)據(jù)表將按記錄的主鍵值從小到大進行物理升序排序。開封大學(xué)信息工程學(xué)院(2)惟一約束(Unique)

惟一約束可以指定一列數(shù)據(jù)或幾列數(shù)據(jù)的組合值在數(shù)據(jù)表中是惟一不能重復(fù)的。惟一約束用于保證主鍵以外的字段值不能重復(fù),用以保證數(shù)據(jù)的實體完整性,但惟一約束的字段不是主鍵,其區(qū)別是:一個表可以定義多個惟一約束,而主鍵約束只能定義一個定義為惟一約束的字段可以允許為空值(只能有一個),而主鍵約束的字段不允許為空值;記錄按主鍵值的指定順序存儲,而惟一約束的字段值不改變記錄的物理位置,僅僅保證該字段的值不重復(fù)。例如“房間分配表”中指定“分配ID”為主鍵,還需保證“房間ID”字段的值不能重復(fù),則可以設(shè)置為惟一約束。開封大學(xué)信息工程學(xué)院(3)外鍵約束(Foreignkey)

如果一個表中某個字段的數(shù)據(jù)只能取另一個表中某個字段值之一,則必須為該字段設(shè)置外鍵約束,設(shè)置外鍵約束字段的表稱為子表,它所引用的表稱為父表。外鍵約束可以使一個數(shù)據(jù)庫中的多個數(shù)據(jù)表之間建立關(guān)聯(lián),外鍵的取值必須是被引用表中主鍵的值,通過外鍵約束可以使父表與子表建立一對多的邏輯關(guān)系。外鍵約束可以保證數(shù)據(jù)的參照完整性和域完整性。外鍵可以是單一字段,也可以是多個字段的組合。外鍵所引用父表中的字段必須是創(chuàng)建了主鍵約束或惟一約束的列。外鍵允許空值,可以有重復(fù)值,但必須是父表引用列中的數(shù)據(jù)之一,也就是說父表中沒有的數(shù)據(jù)子表不可以添加。子表中外鍵字段添加的新數(shù)據(jù),必須先在父表中添加,再在子表中添加子表中引用父表數(shù)據(jù)的記錄未刪除,則父表中被引用的數(shù)據(jù)不能被刪除開封大學(xué)信息工程學(xué)院(4)檢查約束(Check)

檢查約束是用指定的條件(邏輯表達式)檢查限制輸入數(shù)據(jù)的取值范圍是否正確,用以保證數(shù)據(jù)的參照完整性和域完整性。例如:“建筑表”的“房間數(shù)”只能使用數(shù)字;“部門表”中的“聯(lián)系電話”只能使用數(shù)字與“-”號;“建筑表”的“類型”只能取值為“宿舍”或“其他”;“物品登記表中的”的“數(shù)量”和“單價”必須大于0。開封大學(xué)信息工程學(xué)院(5)默認值約束(Default)

默認值約束是給某個字段綁定一個默認的初始值(可以是常量、表達式或系統(tǒng)內(nèi)置函數(shù)),輸入記錄時若沒有給出該字段的數(shù)據(jù),則自動填入默認值以保證數(shù)據(jù)的域完整性。對于事先不知道數(shù)據(jù)或需要自動計算產(chǎn)生數(shù)據(jù)但又不允許為空的字段,使用默認值約束尤其方便并提高效率。對設(shè)置了默認值約束的字段若輸入數(shù)據(jù)時則以輸入的數(shù)據(jù)為準例如“物品登記表”中的:“金額”在創(chuàng)建數(shù)據(jù)庫初期是沒有數(shù)據(jù)的,在系統(tǒng)運行時能自動計算,可以設(shè)置默認值為0;“登記日期”可用系統(tǒng)當(dāng)前的日期設(shè)置默認值。開封大學(xué)信息工程學(xué)院(6)空值約束(NULL)

空值NULL是不知道或不能確定的特殊數(shù)據(jù),不等同于數(shù)值0和字符的空格??罩导s束就是設(shè)置某個字段是否允許為空,用以保證數(shù)據(jù)的實體完整性和域完整性性。必須有確定值的字段(尤其是數(shù)值字段)

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論