數(shù)據(jù)庫基本知識_第1頁
數(shù)據(jù)庫基本知識_第2頁
數(shù)據(jù)庫基本知識_第3頁
數(shù)據(jù)庫基本知識_第4頁
數(shù)據(jù)庫基本知識_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫基本知識第1頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131、有M個人一起去旅游,要住賓館,假設(shè)一個房間只能住N個人,請問要開幾個房間?2、假設(shè)給你3瓶啤酒,商家規(guī)定,2個空酒瓶可以兌換1瓶啤酒,在不另外掏錢的情況下,最多可以喝到幾瓶啤酒?3、經(jīng)理安排你組織一臺2小時的晚會,請你設(shè)計出方案。小測試第2頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.1數(shù)據(jù)庫系統(tǒng)簡介1.2數(shù)據(jù)庫系統(tǒng)的組成1.3關(guān)系型數(shù)據(jù)庫講解提綱第3頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.1數(shù)據(jù)庫系統(tǒng)簡介思考:全校學(xué)生成績管理系統(tǒng)包括哪些數(shù)據(jù)?應(yīng)該如何保存?數(shù)據(jù)管理:對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題數(shù)據(jù)管理技術(shù)的發(fā)展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)第4頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13一、人工管理時期40年代中--50年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計算 硬件水平 無直接存取存儲設(shè)備 軟件水平 沒有操作系統(tǒng) 處理方式 批處理 主要特點:數(shù)據(jù)包含在程序中,程序員設(shè)計程序的同時也要考慮數(shù)據(jù)的存貯第5頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13人工管理(續(xù))特點數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨立性:不獨立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力:應(yīng)用程序自己控制第6頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(人工管理)

應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2應(yīng)用程序n數(shù)據(jù)集n...…...…第7頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13二、文件系統(tǒng)時期50年代末--60年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機實時處理、批處理 第8頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13文件系統(tǒng)(續(xù))特點數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:共享性差、冗余度大數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)數(shù)據(jù)的獨立性:獨立性差,改變數(shù)據(jù)的邏輯結(jié)構(gòu)則必須修改應(yīng)用程序數(shù)據(jù)控制能力:應(yīng)用程序自己控制第9頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(文件系統(tǒng))應(yīng)用程序1文件1應(yīng)用程序2文件2應(yīng)用程序n文件n存取方法...…...…第10頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13三、數(shù)據(jù)庫系統(tǒng)時期60年代末以來產(chǎn)生的背景應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機實時處理,分布處理,批處理 第11頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)庫系統(tǒng)(續(xù))特點數(shù)據(jù)的管理者:DBMS(數(shù)據(jù)庫管理系統(tǒng))數(shù)據(jù)面向的對象:現(xiàn)實世界 數(shù)據(jù)的共享程度:共享性高 數(shù)據(jù)的獨立性:高度的物理獨立性和一定的邏輯獨立性 數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制第12頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng))DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…第13頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)庫階段信息處理方式的演變第14頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)的高共享性的好處降低數(shù)據(jù)的冗余度,節(jié)省存儲空間避免數(shù)據(jù)間的不一致性使系統(tǒng)易于擴充獨立性強,數(shù)據(jù)與程序獨立存放第15頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)獨立性物理獨立性指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。邏輯獨立性指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。第16頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一。數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義和解釋。數(shù)據(jù)可以變長。數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(dataitem),也稱為字段(field),列(column)。第17頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13DBMS對數(shù)據(jù)的控制功能數(shù)據(jù)的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數(shù)據(jù),保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。第18頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13DBMS對數(shù)據(jù)的控制功能并發(fā)(Concurrency)控制對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果。數(shù)據(jù)庫恢復(fù)(Recovery)將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。第19頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.2數(shù)據(jù)庫系統(tǒng)的組成1.2.1數(shù)據(jù)庫的定義1.2.2數(shù)據(jù)庫管理系統(tǒng)1.2.3數(shù)據(jù)庫系統(tǒng)的用戶第20頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.2.1數(shù)據(jù)庫的定義人們收集并抽取出一個應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進一步加工處理,進一步抽取有用信息數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合、數(shù)據(jù)庫由若干數(shù)據(jù)庫文件和輔助文件組成分類:網(wǎng)狀,層次,關(guān)系,共3類,稱為3種數(shù)據(jù)模型,最重要的是關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫的主要內(nèi)容就是表(table)第21頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13關(guān)系數(shù)據(jù)庫中最主要的成分是表第22頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.2.1數(shù)據(jù)庫的定義數(shù)據(jù)庫的特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,邏輯性(logic)強共享性(shareable)好冗余度(redundancy)較小數(shù)據(jù)獨立性(independency)較高易于擴充(expansion)第23頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)庫的基本模型網(wǎng)狀數(shù)據(jù)庫模型:每個記錄看成是一個節(jié)點,任何節(jié)點與節(jié)點之間可建立關(guān)聯(lián),形成網(wǎng)狀結(jié)構(gòu)層次數(shù)據(jù)庫模型:分層管理數(shù)據(jù),形成單位行政機構(gòu)、家族式數(shù)據(jù)結(jié)構(gòu)關(guān)系型數(shù)據(jù)庫模型:以二維表形式組織數(shù)據(jù),每一行稱為一條記錄,每一列是一個屬性,稱為一個字段數(shù)據(jù)庫的分類第24頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.2.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem-DBMS)在操作系統(tǒng)的支持下,幫助用戶建立、使用和管理數(shù)據(jù)庫的軟件系統(tǒng)。通常包含數(shù)據(jù)描述語言(DDL)、數(shù)據(jù)操作語言(DML)以及管理和控制程序三個組成部分。

第25頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13DBMS的組成數(shù)據(jù)描述語言(DML-DataDescriptionLanguage):用來描述數(shù)據(jù)庫的結(jié)構(gòu),供用戶建立數(shù)據(jù)庫。數(shù)據(jù)操作語言(DML-DataManipulationLangUage):供用戶對數(shù)據(jù)庫進行數(shù)據(jù)的查詢(數(shù)據(jù)的檢索和統(tǒng)計等)和處理(數(shù)據(jù)的增加、刪除和修改等)等操作。管理和控制程序:包括安全管理、通信控制和工作日志管理等程序。第26頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.2.3數(shù)據(jù)庫系統(tǒng)的用戶數(shù)據(jù)庫系統(tǒng)的用戶,共有4類:系統(tǒng)程序員負責(zé)整個數(shù)據(jù)庫系統(tǒng)的設(shè)計工作,根據(jù)用戶的需求安裝數(shù)據(jù)庫管理系統(tǒng),建立維護數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件的工具,設(shè)計合適的數(shù)據(jù)庫及表文件,對整個數(shù)據(jù)庫存取權(quán)限做出規(guī)劃。數(shù)據(jù)庫管理員(DBA-DatabaseAdministrator)DBA是支持?jǐn)?shù)據(jù)庫系統(tǒng)的專業(yè)技術(shù)人員,決定數(shù)據(jù)庫結(jié)構(gòu),維護數(shù)據(jù),管理帳號,備份及恢復(fù)數(shù)據(jù),提高系統(tǒng)效率。第27頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13應(yīng)用程序員負責(zé)編寫訪問數(shù)據(jù)庫的面向終端用戶的應(yīng)用程序,是用戶可以友好地使用數(shù)據(jù)庫??梢允褂肰isualBasic、Java、.net、Delphi、PHP、ASP、JSP等語言訪問數(shù)據(jù)庫。操作員操作應(yīng)用程序軟件來訪問數(shù)據(jù)庫,利用數(shù)據(jù)庫系統(tǒng)完成日常工作,不關(guān)心數(shù)據(jù)庫的具體格式及其維護和管理問題。數(shù)據(jù)庫系統(tǒng)的用戶(續(xù))第28頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.2.4數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)大型數(shù)據(jù)庫由一臺性能很強的計算機(稱為主機或者數(shù)據(jù)庫服務(wù)器)負責(zé)處理龐大的數(shù)據(jù),用戶通過終端機與大型主機相連,以存取數(shù)據(jù)。如Oracle,Sybase,IBMDB2,Informix,SQLServer。中小型數(shù)據(jù)庫在用戶較少、數(shù)據(jù)量不大的情況下,可使用本地小型數(shù)據(jù)庫。一般是由個人建立的個人數(shù)據(jù)庫。如:Access,F(xiàn)oxpro,MySQL。Excel也可以認(rèn)為是簡單數(shù)據(jù)庫。分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫就是為了解決大型數(shù)據(jù)庫反應(yīng)緩慢的問題而提出的,它是由多臺數(shù)據(jù)庫服務(wù)器組成,數(shù)據(jù)可來自不同的服務(wù)器。客戶機/服務(wù)器數(shù)據(jù)庫

利用網(wǎng)絡(luò)將終端機(一般為微機)和數(shù)據(jù)庫服務(wù)器連接,終端從數(shù)據(jù)庫服務(wù)器中存取數(shù)據(jù),并分擔(dān)服務(wù)器的部分運算任務(wù),以分散數(shù)據(jù)庫服務(wù)器的負擔(dān),這樣數(shù)據(jù)庫服務(wù)器就不必是價格昂貴的大型主機了,采用客戶機服務(wù)器數(shù)據(jù)庫網(wǎng)絡(luò)結(jié)構(gòu)。第29頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.3關(guān)系型數(shù)據(jù)庫

1.3.1關(guān)系型數(shù)據(jù)庫定義1.3.2關(guān)系型數(shù)據(jù)庫與表1.3.3主鍵與外鍵1.3.4字段約束1.3.5數(shù)據(jù)完整性

1.3.6表的關(guān)聯(lián)

第30頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.3.1關(guān)系數(shù)據(jù)庫定義關(guān)系型數(shù)據(jù)庫概念是由E.F.Codd1976年6月博士提出的。數(shù)據(jù)庫模型(數(shù)據(jù)模型)分為三種類型:網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫。而關(guān)系型數(shù)據(jù)庫之所以能被廣泛的應(yīng)用,是因為它將每個具有相同屬性的數(shù)據(jù)獨立地存儲在一個表中。它解決了層次型數(shù)據(jù)庫的橫向關(guān)聯(lián)不足的缺點,也避免了網(wǎng)狀數(shù)據(jù)庫關(guān)聯(lián)過于復(fù)雜的問題。我們所看到的數(shù)據(jù)庫都是關(guān)系數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫是指一些相關(guān)的表和其他數(shù)據(jù)庫對象的集合。第31頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.3.2關(guān)系數(shù)據(jù)庫與表

數(shù)據(jù)庫是由多個表和其他數(shù)據(jù)庫對象(如約束關(guān)系,用戶,安全性,日志)組成的。在數(shù)據(jù)庫中,表是一種最基本的數(shù)據(jù)庫對象,類似于電子表格,是由行和列組成的,除第一行(表頭)以外,數(shù)據(jù)庫表中的每一行通常稱為一條記錄(也叫無組),表中的每一列稱為一個字段,表頭的各列給出了各個字段的名稱,可以稱為表結(jié)構(gòu)。如下圖所示。第32頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13關(guān)系數(shù)據(jù)庫與表(續(xù))第33頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.3.3主鍵與外鍵關(guān)系模型要求數(shù)據(jù)庫表中的每行記錄都必須是惟一的,而不允許出現(xiàn)完全相同的記錄。在設(shè)計數(shù)據(jù)庫表時,可以通過定義主鍵(PrimaryKey)來保證記錄(實體)的惟一性。每個數(shù)據(jù)庫表都有且只有一個主鍵。一個關(guān)系型數(shù)據(jù)庫可能包含多個表,可以通過外鍵(ForeignKey)使這些表之間關(guān)聯(lián)起來。學(xué)生信息表課程信息表

學(xué)號姓名性別班級0901張三男09310902李四女09990890王小二男0808課程號課程名任課老師課時B01JAVA劉一72D15英語劉二54F08VB劉三妹68第34頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13主鍵與外鍵(續(xù))下圖的“成績表”中有兩個外鍵,一個是學(xué)號“student_id”,其詳細信息存儲在“學(xué)生表”中;另一個是課程編號“course_no”,其詳細信息存儲在“課程表”中?!俺煽儽怼焙汀皩W(xué)生表”各有一個“學(xué)號”字段,該字段在“成績表”中是外鍵,在“學(xué)生表”中則是主鍵,但這兩個字段的數(shù)據(jù)類型以及字段寬度必須完全一樣,字段的名稱可以相同,也可以不相同。第35頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.3.4字段約束設(shè)計數(shù)據(jù)庫表時,可對表中的一個字段或多個字段的組合設(shè)置約束條件,讓SQLServer檢查該字段的輸入值是否符合這個約束條件。約束分為表級約束和字段級約束兩種。表級約束是一個表中幾個字段的約束,字段級約束則是對表中一個字段的約束。

PRIMARYKEY

即主鍵,用來保證表中每條記錄的唯一性。設(shè)計一個數(shù)據(jù)庫表時,可用一個字段或多個字段(最多16個字段)的組合作為這個表的主鍵。用單個字段作為主鍵時,使用字段約束;用字段組合作為主鍵時,則使用表級約束。

FOREIGNKEY

外鍵字段與其他表中的主鍵字段或具有唯一性的字段相對應(yīng),其值必須在所引用的表中存在,而且所引用的表必須存放在同一數(shù)據(jù)庫中。第36頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13字段約束

NULL與NOTNULL

(空值/非空值)

若在一個字段中允許不輸入數(shù)據(jù),則可以將該字段定義為NULL,如果在一個字段中必須輸入數(shù)據(jù),則應(yīng)當(dāng)將該字段定義為NOTNULL。NULL值既不等價于數(shù)值型數(shù)據(jù)中的0,也不等價于字符型數(shù)據(jù)中的空字符串。UNIQUE(唯一)如果一個字段值不允許重復(fù),則應(yīng)當(dāng)對該字段添加UNIQUE約束。與主鍵不同的是,在UNIQUE字段中允許出現(xiàn)NULL值,但為保持唯一性,最多只能出現(xiàn)一次NULL值。CHECK(檢查)

CHECK約束用于檢查一個字段或整個表的輸入值是否滿足指定的檢查條件。DEFAULT(默認(rèn)值)

DEFAULT約束用于指定一個字段的默認(rèn)值,當(dāng)尚未在該字段中輸入數(shù)據(jù)時,該字段中將自動填入這個默認(rèn)值。第37頁,課件共42頁,創(chuàng)作于2023年2月2023/7/131.3.5數(shù)據(jù)完整性實體完整性(EntityIntegrity)

實體完整性用于保證數(shù)據(jù)庫表中的每一條記錄都是唯一的,建立主鍵的目的就是為了實施實體完整性。一個表中的主鍵不能取空值,也不能取重復(fù)的值。例如,選擇“學(xué)號”字段作為“學(xué)生表”中的主鍵時,每一條記錄中的“學(xué)號”字段值就應(yīng)輸入一個非空值,而且必須是各不相同的。域完整性(DomainIntegrity)

域完整性用于保證給定字段中數(shù)據(jù)的有效性,即保證數(shù)據(jù)的取值在有效的范圍內(nèi)。

例如,限制“成績”字段的值是在0到100之間;在“成績表”中“學(xué)號”字段是一個外鍵,該字段的值只能是“學(xué)生表”已經(jīng)存在的學(xué)號,如果在該字段中輸入“學(xué)生表”所沒有的學(xué)號,也將破壞該字段的域完整性。第38頁,課件共42頁,創(chuàng)作于2023年2月2023/7/13數(shù)據(jù)完整性參照完整性(ReferentialIntegrity)

參照完整性是用于確保相關(guān)聯(lián)的表間的數(shù)據(jù)保持一致。當(dāng)添加、刪除或修改數(shù)據(jù)庫表中的記錄時,可以借助于參照完整性來保證相關(guān)

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論