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

下載本文檔

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

文檔簡介

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

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

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

利用網絡將終端機(一般為微機)和數據庫服務器連接,終端從數據庫服務器中存取數據,并分擔服務器的部分運算任務,以分散數據庫服務器的負擔,這樣數據庫服務器就不必是價格昂貴的大型主機了,采用客戶機服務器數據庫網絡結構。第29頁,共42頁,2023年,2月20日,星期五2023/4/101.3關系型數據庫

1.3.1關系型數據庫定義1.3.2關系型數據庫與表1.3.3主鍵與外鍵1.3.4字段約束1.3.5數據完整性

1.3.6表的關聯

第30頁,共42頁,2023年,2月20日,星期五2023/4/101.3.1關系數據庫定義關系型數據庫概念是由E.F.Codd1976年6月博士提出的。數據庫模型(數據模型)分為三種類型:網狀數據庫、層次數據庫和關系數據庫。而關系型數據庫之所以能被廣泛的應用,是因為它將每個具有相同屬性的數據獨立地存儲在一個表中。它解決了層次型數據庫的橫向關聯不足的缺點,也避免了網狀數據庫關聯過于復雜的問題。我們所看到的數據庫都是關系數據庫。關系型數據庫是指一些相關的表和其他數據庫對象的集合。第31頁,共42頁,2023年,2月20日,星期五2023/4/101.3.2關系數據庫與表

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

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

PRIMARYKEY

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

FOREIGNKEY

外鍵字段與其他表中的主鍵字段或具有唯一性的字段相對應,其值必須在所引用的表中存在,而且所引用的表必須存放在同一數據庫中。第36頁,共42頁,2023年,2月20日,星期五2023/4/10字段約束

NULL與NOTNULL

(空值/非空值)

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

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

DEFAULT約束用于指定一個字段的默認值,當尚未在該字段中輸入數據時,該字段中將自動填入這個默認值。第37頁,共42頁,2023年,2月20日,星期五2023/4/101.3.5數據完整性實體完整性(EntityIntegrity)

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

域完整性用于保證給定字段中數據的有效性,即保證數據的取值在有效的范圍內。

例如,限制“成績”字段的值是在0到100之間;在“成績表”中“學號”字段是一個外鍵,該字段的值只能是“學生表”已經存在的學號,如果在該字段中輸入“學生表”所沒有的學號,也將破壞該字段的域完整性。第38頁,共42頁,2023年,2月20日,星期五2023/4/10數據完整性參照完整性(ReferentialIntegrity)

參照完整性是用于確保相關聯的表間的數據保持一致。當添加、刪除或修改數據庫表中的記錄時,可以借助于參照完整性來保證相

溫馨提示

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

評論

0/150

提交評論