版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第十九課:數(shù)據(jù)庫(一)
周甫zoofchow@學習目標了解關系型數(shù)據(jù)庫系統(tǒng)
1熟練應用SQL語言
2
MSSQLServer的基本使用方法3掌握E-R模型的概念和方法
41數(shù)據(jù)庫的基本概念什么是數(shù)據(jù)(Data)?
數(shù)據(jù)是描述事物的符號記錄。可以是數(shù)字、字符、圖形、圖像、聲音等。元數(shù)據(jù)
描述數(shù)據(jù)的數(shù)據(jù)數(shù)據(jù)庫(DB)
數(shù)據(jù)庫長期存放在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理系統(tǒng)(DBMS)
數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)管理軟件,功能包括:數(shù)據(jù)定義功能,如定義一個表的結(jié)構(gòu);數(shù)據(jù)操縱功能:查詢、插入、刪除、修改數(shù)據(jù)庫的運行管理;保證系統(tǒng)的正常運行數(shù)據(jù)庫的建立和維護功能。數(shù)據(jù)庫系統(tǒng)(DBS)
由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用系統(tǒng)和數(shù)據(jù)庫用戶構(gòu)成的系統(tǒng)。2關系數(shù)據(jù)庫的特點什么是關系型數(shù)據(jù)庫? 關系型數(shù)據(jù)是以關系數(shù)學模型來表示的數(shù)據(jù)。關系數(shù)學模型中以二維表的形式來描述數(shù)據(jù)。 如圖:關系型數(shù)據(jù)庫的特點:采用數(shù)據(jù)模型表示復雜的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)冗余度小有較高的數(shù)據(jù)獨立性提供數(shù)據(jù)控制功能(見下頁)為用戶提供方便的用戶接口數(shù)據(jù)控制功能功能描述措施安全性控制保護數(shù)據(jù)以防止不合法的使用所造成的數(shù)據(jù)泄露和破壞用戶驗證與授權(quán),存取控制完整性控制數(shù)據(jù)的正確性、有效性、相容性完整性約束條件定義和檢查恢復控制在數(shù)據(jù)庫遭到破壞或數(shù)據(jù)不可靠時,系統(tǒng)有能力把數(shù)據(jù)庫恢復到最近的某個正確的狀態(tài)。備份并發(fā)控制對多用戶的并發(fā)操作加以控制、協(xié)調(diào),防止其互相干擾而得到錯誤的結(jié)果并使數(shù)據(jù)庫完整性遭到破壞。加鎖3數(shù)據(jù)的描述
概念設計中的數(shù)據(jù)描述
數(shù)據(jù)庫的概念設計是根據(jù)用戶的需求設計數(shù)據(jù)庫的概念結(jié)構(gòu),一般有以下幾個部分需要考慮:實體:現(xiàn)實世界中客觀存在的事物。實體集:具有相同屬性的實體的集合。屬性:實體的特征。實體標識符:能夠唯一的確定一個實體的屬性。邏輯設計中的數(shù)據(jù)描述
邏輯設計是根據(jù)概念設計得到的概念結(jié)構(gòu)來進行數(shù)據(jù)庫的邏輯結(jié)構(gòu)設計。字段:用于表示實體的屬性,每一個屬性可以對應一個字段。記錄:字段的集合稱為記錄。每一個記錄代表一個實體。文件:同一類記錄的集合組成一個文件。文件用于描述實體集。關鍵碼:能夠唯一標識文件中每一條記錄的字段或字段集。對應于實體標識符。
物理介質(zhì)的數(shù)據(jù)描述 物理介質(zhì)中的數(shù)據(jù)描述指的是數(shù)據(jù)在計算機中的存儲形式,包括以下一些信息: 位(Bit) 字節(jié)(Byte) 字(Word) 塊(Block) 桶(Bucket) 卷(Volume)
4數(shù)據(jù)聯(lián)系的描述聯(lián)系的定義:聯(lián)系是實體之間的相互關系,與一個聯(lián)系有關的實體集個數(shù),稱為聯(lián)系的元數(shù)。二元聯(lián)系的三種類型1∶1聯(lián)系——實體集E1中的每一個實體至多和E2中的一個實體有聯(lián)系,反之亦然。1∶N聯(lián)系——實體集E1中的每一個實體與E2中任意個實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系。M∶N聯(lián)系——實體集E1中的每一個實體與E2中任意個實體有聯(lián)系,反之亦然。
5數(shù)據(jù)模型數(shù)據(jù)模型是能夠表示實體模型和實體之間聯(lián)系的模型。數(shù)據(jù)模型包括兩種:一種是獨立于計算機系統(tǒng)的數(shù)據(jù)模型;另一種是直接面向數(shù)據(jù)庫邏輯結(jié)構(gòu)的數(shù)據(jù)模型。
前者最著名的有實體關系(ER)模型;后者有層次模型、網(wǎng)狀模型、關系模型。以及目前正在研究的面向?qū)ο蟮臄?shù)據(jù)模型。數(shù)據(jù)模型的三要素:數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)是指對實體類型和實體之間聯(lián)系的表達和實現(xiàn)。數(shù)據(jù)操作 數(shù)據(jù)操作是指對數(shù)據(jù)庫的查詢、修改、刪除和插入等操作。數(shù)據(jù)完整性約束 數(shù)據(jù)完整性約束定義了數(shù)據(jù)及其聯(lián)系應該具有的制約和依賴規(guī)則。
概念數(shù)據(jù)模型:實體聯(lián)系模型
實體聯(lián)系模型簡稱為E-R模型,該模型直接從現(xiàn)實世界中抽象出實體類型和實體之間的聯(lián)系,然后用實體聯(lián)系圖(E-R圖)表示數(shù)據(jù)模型。E-R圖由以下一些部分組成:矩形框:表示實體類型。菱形框:表示聯(lián)系類型。橢圓形框:表示實體類型和聯(lián)系類型的屬性。連線:實體與屬性之間,聯(lián)系與屬性之間用直線連接;聯(lián)系類型與其涉及的實體類型用直線連接,并標注聯(lián)系的類型。
年齡讀者借閱圖書姓名讀者號單位歸還日期借閱日期書號出版社結(jié)構(gòu)數(shù)據(jù)模型:關系模型
關系模型的主要特點是以二維表的形式來表達實體集。它是由若干個關系模式組成的集合。二維表格簡單易懂,用戶只需要使用簡單的查詢語句就可以對數(shù)據(jù)庫進行操作,并不涉及存儲結(jié)構(gòu)、訪問技術等細節(jié)。 對關系的理論和實驗研究集中于20世紀70年代,80年代初形成產(chǎn)品,并很快得到了廣泛的應用和普及,并最終取代基于層次模型、網(wǎng)狀模型的數(shù)據(jù)庫而成為商用數(shù)據(jù)庫系統(tǒng)的主流。關系數(shù)據(jù)庫是本課程介紹的主要內(nèi)容。5數(shù)據(jù)庫三級模式結(jié)構(gòu)數(shù)據(jù)庫的體系結(jié)構(gòu)分成三級:外部級、概念級和內(nèi)部級。外部級 外部級最接近用戶是單個用戶所能看到的數(shù)據(jù)特征,單個用戶使用的數(shù)據(jù)視圖的描述稱為“外模式”。概念級 概念級涉及到所有用戶的數(shù)據(jù)定義,也就是全局性的數(shù)據(jù)視圖,全局數(shù)據(jù)視圖的描述稱為“概念模式”。內(nèi)部級 內(nèi)部級最接近于物理存儲設備,涉及到物理數(shù)據(jù)存儲的結(jié)構(gòu)。物理視圖的描述稱為“內(nèi)模式”。*
三級結(jié)構(gòu)的五個要素概念模式外模式內(nèi)模式模式/內(nèi)模式映像外模式/模式映像*兩級數(shù)據(jù)的獨立性
數(shù)據(jù)的獨立性是指應用程序和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨立,不受影響。物理數(shù)據(jù)獨立性(物理獨立性)
數(shù)據(jù)庫內(nèi)模式的修改盡量不影響概念模式、外模式和應用程序,只需要修改模式/內(nèi)模式映像即可。邏輯數(shù)據(jù)獨立性(邏輯獨立性)
數(shù)據(jù)庫概念模式的修改不影響外模式和應用程序,只需要修改外模式/模式映像即可。
6數(shù)據(jù)庫三個范式關系數(shù)據(jù)庫設計之時是要遵守一定的規(guī)則的。尤其是數(shù)據(jù)庫設計范式現(xiàn)簡單介紹1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF.第一范式(1NF): 在關系模式R中的每一個具體關系r(表)中,如果每個屬性值都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關系。 例:如職工號,姓名,電話號碼組成一個表(一個人可能有一個辦公室電話和一個家里電話號碼)規(guī)范成為1NF有三種方法:
一是重復存儲職工號和姓名。這樣,關鍵字只能是電話號碼。
二是職工號為關鍵字,電話號碼分為單位電話和住宅電話兩個屬性
三是職工號為關鍵字,但強制每條記錄只能有一個電話號碼。
以上三個方法,第一種方法最不可取,按實際情況選取后兩種情況。
第二范式(2NF):
如果關系模式R(U,F(xiàn))中的所有非主屬性都完全依賴于任意一個候選關鍵字,則稱關系R是屬于第二范式的。
例:選課關系SCI(SNO,CNO,GRADE,CREDIT)其中SNO為學號,CNO為課程號,GRADEGE為成績,CREDIT為學分。由以上條件,關鍵字為組合關鍵字(SNO,CNO)
在應用中使用以上關系模式有以下問題:
a.數(shù)據(jù)冗余,假設同一門課由40個學生選修,學分就重復40次。
b.更新異常,若調(diào)整了某課程的學分,相應的元組CREDIT值都要更新,有可能會出現(xiàn)同一門課學分不同。
c.插入異常,如計劃開新課,由于沒人選修,沒有學號關鍵字,只能等有人選修才能把課程和學分存入。
d.刪除異常,若學生已經(jīng)結(jié)業(yè),從當前數(shù)據(jù)庫刪除選修記錄。某些門課程新生尚未選修,則此門課程及學分記錄無法保存。
原因:非關鍵字屬性CREDIT僅函數(shù)依賴于CNO,也就是CREDIT部分依賴組合關鍵字(SNO,CNO)而不是完全依賴。
解決方法:分成兩個關系模式SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新關系包括兩個關系模式,它們之間通過SC1中的外關鍵字CNO相聯(lián)系,需要時再進行自然聯(lián)接,恢復了原來的關系第三范式(3NF):
如果關系模式R(U,F(xiàn))中的所有非主屬性對任何候選關鍵字都不存在傳遞信賴,則稱關系R是屬于第三范式的。
例:如S1(SNO,SNAME,DNO,DNAME,LOCATION)各屬性分別代表學號,姓名,所在系,系名稱,系地址。 關鍵字SNO決定各個屬性。由于是單個關鍵字,沒有部分依賴的問題,肯定是2NF。但這關系肯定有大量的冗余,有關學生所在的幾個屬性DNO,DNAME,LOCATION將重復存儲,插入,刪除和修改時也將產(chǎn)生類似以上例的情況。
原因:關系中存在傳遞依賴造成的。即SNO->DNO。而DNO->SNO卻不存在,DNO->LOCATION,因此關鍵遼SNO對LOCATION函數(shù)決定是通過傳遞依賴SNO->LOCATION實現(xiàn)的。也就是說,SNO不直接決定非主屬性LOCATION。
解決目地:每個關系模式中不能留有傳遞依賴。
解決方法:分為兩個關系S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)
注意:關系S中不能沒有外關鍵字DNO。否則兩個關系之間失去聯(lián)系。*7創(chuàng)建數(shù)據(jù)庫以SQLSERVER2000為例,在該數(shù)據(jù)庫管理系統(tǒng)里面創(chuàng)建數(shù)據(jù)庫.Step1:首先打開企業(yè)管理器: 然后鼠標放數(shù)據(jù)庫選項上面點右鍵選擇----新建數(shù)據(jù)庫 在名稱里寫上數(shù)據(jù)庫的名字 然后選擇數(shù)據(jù)文件選項—看文件屬性邊框里內(nèi)容選項----選擇文件自動增長 在下面的兩個邊框里可以設置一些參數(shù)-----文件增長和最大文件大小 然后選日志文件選項操作同上
Step2打開創(chuàng)建數(shù)據(jù)庫的界面
輸入名字。如:student然后選擇------數(shù)據(jù)文件選項修改文件屬性
同樣的選擇-------事物日志點擊確定就創(chuàng)建好數(shù)據(jù)庫了。使用查詢分析器創(chuàng)建數(shù)據(jù)庫的操作:打開查詢分析器:上面的SQL代碼如下:--=============================================--BasicCreateDatabaseTemplate--=============================================--IFEXISTS(SELECT*-- FROMmaster..sysdatabases
--- WHEREname=N'<database_name,sysname,test_db>')-- DROPDATABASE<database_name,sysname,test_db>--GO----CREATEDATABASE<database_name,sysname,test_db>--GO---上面是創(chuàng)建數(shù)據(jù)庫的模板IFEXISTS(SELECT* FROMmaster..sysdatabases
WHEREname='javadb') DROPDATABASEjavadbGOCREATEDATABASEjavadbGO創(chuàng)建表下面是用查詢分析器創(chuàng)建表:代碼如下--=============================================--Createtablebasictemplate--=============================================--IFEXISTS(SELECTname-- FROM sysobjects
-- WHEREname=N'<table_name,sysname,test_table>'-- AND type='U')--DROPTABLE<table_name,sysname,test_table>--GO--CREATETABLE<table_name,sysname,test_table>(--<column_1,sysname,c1><datatype_for_column_1,,int>NULL,--<column_2,sysname,c2><datatype_for_column_2,,int>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年晉中貨運上崗資格證模擬考試
- 2025年太原貨運從業(yè)資格證
- 2025年日喀則貨運資格證考試有哪些項目
- 2025年銀川貨運資格證考試答題技巧
- 二零二五年度山皮石石材行業(yè)質(zhì)量認證服務合同3篇
- 二零二五年度智慧城市建設戰(zhàn)略合作合同3篇
- 二零二五年度海外員工派遣及管理合作協(xié)議3篇
- 二零二五年度智能工廠生產(chǎn)調(diào)度系統(tǒng)開發(fā)合同3篇
- 二零二五年度教育培訓機構(gòu)在線課程開發(fā)與銷售合同3篇
- 二零二五年度工程監(jiān)理與質(zhì)量檢測合同5篇
- 檔案館業(yè)務管理制度
- 神經(jīng)根型頸椎病演示課件
- 第十六章1二次根式第一課時
- 2022年10月全國自考英語(一)真題試卷含答案
- 建筑行業(yè)試驗員培訓試驗檢測基礎
- 2024年國藥集團招聘筆試參考題庫含答案解析
- 2024屆北京初三中考 病句修改專題講義及其專題練習 學案
- 特種設備使用安全風險日管控、周排查、月調(diào)度管理制度
- 貴州省貴陽市花溪區(qū)2022-2023學年四年級上學期語文期末試卷
- 基礎課部本科教學工作合格評估自評工作匯報-PPT2015-10-9-2
- 裝飾裝修工程施工方案(完整版)
評論
0/150
提交評論