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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

大數據、云計算、物聯網、移動互聯網與傳統互聯網之間的關系。1.物聯網對應了互聯網的感覺和運動神經系統。2.云計算是互聯網的核心硬件層和核心軟件層的集合,也是互聯網中樞神經系統萌芽。3.大數據代表了互聯網的信息層(數據海洋),是互聯網智慧和意識產生的基礎。

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

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

ISBN:

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

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

語義1:?

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

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

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

Oracle

(2013年,甲骨文已超越

IBM

,成為繼

Microsoft

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

Informix是第一個被移植到Linux上的商業數據庫產品。

4.

成立于1984年Sybase

Co的SybaseSQLServer

5.

IBM

的DB2

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

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

用戶應用程序根據外模式進行數據操作,當模式發生改變時,只要改變其外模式一模式映射,就可以使外模式保持不變,對應的應用程序也可保持不變;當數據的存儲結構發生變化時,只需改變模式一內模式映射,就能保持模式不變,因此應用程序也可以保持不變。數據庫的三級模式結構如下圖所示:

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

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

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

系統的概況、目標、范圍、背景、歷史和現狀

系統的總體結構和子系統的結構說明

系統功能劃分和說明

組織結構圖、數據流程圖、功能模塊圖和數據字典等圖表系統分析報告開封大學信息工程學院1.2.2開封大學總務綜合信息管理系統的需求

該系統主要以建筑房間、資產等為管理對象,主要功能包括用戶管理資產管理建筑房間管理。開發系統時,主要關注的問題總務綜合信息管理系統應提供哪些功能。總務綜合信息管理系統中涉及哪些對象,各對象間以及對象內部存在哪些關系?如何保存各數據對象,以便于數據處理。開封大學信息工程學院總務綜合信息管理系統

建筑房間的管理資產的管理房間信息的管理和查詢資產信息的管理和查詢系統應具有的功能開封大學信息工程學院1.3數據庫設計過程之二--概念結構設計開封大學信息工程學院概念結構設計理論基礎概念結構設計的任務及其工作開封大學總務綜合信息管理系統的概念結構設計

1.3數據庫設計過程之二--概念結構設計

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

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

(2)結構數據模型-邏輯模型和物理模型

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

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

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

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

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

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

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

學生(學號

姓名性別年齡系別)

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

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

碼開封大學信息工程學院概念模型的基本概念:實體的聯系

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

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

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

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

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

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

概念結構設計是整個數據庫設計的關鍵,該階段通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。概念模型一般用E-R圖表示設計E-R模型應遵循以下原則

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

概念結構設計

開封大學信息工程學院實體之間的聯系如下:

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

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

關系(Relation):

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

二維表的行屬性(Attribute):

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

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

屬性的取值范圍分量:

元組中的一個屬性值關系模式:

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

關系完整性約束

二、關系數據模型的三要素開封大學信息工程學院(1)數據結構——關系實體及實體之間的聯系都用二維表(關系)來表示二維表(關系)以文件形式存儲

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

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

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

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

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

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

(1)轉換為一個獨立的關系

(2)與N端實體對應的關系合并

E-R圖向關系模式的轉化開封大學信息工程學院3.多對多聯系向關系模式的轉化一個M∶N聯系要轉換為一個獨立的關系。關系的屬性為與該聯系相連的各實體的主鍵以及聯系本身的屬性,關系的主鍵為各實體主鍵的組合。用E-R模型轉換得到的關系模型不一定是最優的,需要利用關系規范化理論進行進一步的規范化設計,使之符合DBMS的要求。E-R圖向關系模式的轉化開封大學信息工程學院1.4.3開封大學總務綜合信息管理系統數據庫

邏輯結構設計

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

表1-82.校內“部門表”

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論