數據庫專升本復習_第1頁
數據庫專升本復習_第2頁
數據庫專升本復習_第3頁
數據庫專升本復習_第4頁
數據庫專升本復習_第5頁
已閱讀5頁,還剩7頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上數據庫專升本復習第一章 數據庫系統概述1.2 數據庫技術的產生、發展數據庫歷經了人工管理階段、文件系統階段和數據庫系統階段。1,人工管理階段:軟件只有匯編語言,處理的方式是批處理。特點:(1)數據不保存 (2)數據不共享 (3)數據不具有獨立性(4)系統沒有專用的軟件對數據進行管理 2,文件系統階段:特點:(1)數據以文件形式長期保存 (2)由文件系統管理數據(3)程序與數據間有一定獨立性 3,數據庫系統階段:特點:(1)數據結構化 (2)數據共享性高、冗余度低(3)數據獨立性高(4)有統一的數據控制功能整個數據庫的結構可分成三級:用戶的邏輯結構、整體邏輯結構和物理結

2、構。數據獨立性分兩級:物理獨立性和邏輯獨立性。數據庫管理系統(DBMS)提供四方面的數據控制功能:數據的安全性控制:例如,口令檢查用戶身份數據的完整性控制:系統通過設置一些完整性規則,確保數據的正確性、有效性和相容性。并發控制 數據恢復1.3數據庫系統的組成1,數據庫系統(DBS):主要由數據庫、數據庫用戶、計算機硬件系統、計算機軟件系統等幾部分組成。2,數據庫(DB):是存儲在計算機內、有組織的、可共享的數據集合。具有較小的冗余度、較高的數據獨立性和易擴展性,并為各種用戶共享。數據庫有如下兩個特點:集成性和共享性。3,用戶:可以對數據庫進行存儲、維護和檢索等操作。4,軟件系統:主要包括數據庫

3、管理系統(DBMS)及其開發工具、操作系統和應用系統等。數據庫管理系統(DBMS)是數據庫系統的核心。數據庫系統(DBS)包含DB、DBMS和DBA(數據庫管理員)1.4數據庫系統的模式結構1, 數據庫系統的三級模式:從邏輯上分為三級:外模式、模式、內模式模式:模式也稱為邏輯模式、概念模式,是數據庫中全體數據的邏輯結構和特征的描述。 一個數據庫只有一個模式。外模式:外模式又稱為子模式或用戶模式。是數據庫用戶能看到并允許使用的那部分數據的邏輯結構和特征的描述,是與某一應用有關的數據的邏輯表示,也是數據庫用戶的數據視圖,即用戶視圖。 外模式是模式的子集,一個數據庫可以有多個外模式。內模式:內模式又

4、稱為存儲模式,靠近物理存儲,是數據在數據庫內部的表示方式。 一個數據庫只有一個內模式。2, 數據庫系統的二級映像與數據獨立性:(1) 外模式/模式映像。模式描述的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構。數據庫中的同一模式可以有任意多個外模式。保證了數據與程序間的邏輯獨立性。(2) 模式/內模式映像。模式和內模式都只有一個, 所以模式/內模式映像是唯一的。確保了數據的物理獨立性。3,數據庫系統的三級模式與二級映像的優點:(1)保證數據的獨立性 (2)簡化了用戶接口(3)有利于數據共享 (4)有利于數據的安全保密1.5數據庫系統的外部體系結構從最終用戶的角度看,數據庫系統的結構分為

5、單用戶結構主從式結構分布式結構、客服/服務器結構和瀏覽器/服務器結構1.6數據庫管理系統用戶在數據庫系統中的一切操作,包括數據定義、查詢、更新及各種控制,都是通過DBMS進行的。1, DBMS的主要功能:(1) 提供數據定義語言(DDL),定義數據的模式、外模式和內模式三級模式結構,定義模式/內模式和外模式/模式二級映像,定義有關約束條件。DD(數據字典)是DBMS存取數據的基本依據。數據字典用來描述數據庫中有關信息的數據目錄,包括數據庫的三級模式、數據類型、用戶名和用戶權限等有關數據庫系統的信息,起著系統狀態的目錄表作用。(2) 提供數據操縱語言(DML),實現對數據庫的基本操作,包括檢索s

6、elect、更新(插入insert、修改update、刪除delete)等。(3) 數據庫運行管理功能:對數據庫的運行進行管理師DBMS運行的核心部分。1.7數據模型(1)信息世界(概念模型)的有關基本概念: 鍵key:在實體型中,能唯一標識一個實體的屬性或屬性集稱為實體的鍵,也稱為關鍵字。 域:屬性的取值范圍稱為該屬性的域。(2)數據模型的分類: 1,第一類模型是概念模型,也稱為信息模型,他是按用戶的觀點對數據和信息建模,是對現實世界的事物及其聯系的第一級抽象。概念模型屬于信息世界中的模型。主要用于數據庫設計時用戶和數據庫設計人員之間交流的工具。在概念模型中,比較著名的是實體聯系模型,簡稱E

7、-R模型。2,第二類模型是邏輯模型(或稱數據模型)和物理模型。是按計算機的觀點對數據建模,是對現實世界的第二級抽象。數據庫是按DBMS規定的數據模型組織和建立起來的。邏輯模型主要包括:層次模型、網狀模型、關系模型面向對象模型等。(3)實體聯系模型及E-R圖: E-R圖的基本成分包含實體型、屬性和聯系。 實體型:用矩形框表示。 屬性:用橢圓形框表示。聯系:用菱形框表示。 實體之間的聯系有:一對一(1:1)一對多(1:n)多對多(m:n)(4) 數據模型的組成要素:數據模型由:數據結構、數據操作和數據的完整性約束組成。1.8四種數據模型數據模型主要有層次模型、網狀模型和關系模型三種。層次模型和網狀

8、模型統稱為非關系模型。(1)層次模型用樹形數據結構(有向樹)來表示各類實體間的聯系。(2)網狀模型是采用有向圖結構表示記錄型與記錄型之間聯系。(3)關系模型的數據結構是一張規范化的二維表,由表名、表頭和表體三部分組成。一個關系對應一張二維表。第二章 關系數據庫2.1關系的形式化定義及其有關概念1,笛卡爾積:笛卡爾積實際是一個二維表,表的框架由域構成,表的行稱為元組,列稱為域。列的個數稱為目或度。2,關系。在數學上,關系是笛卡爾積的任意子集。3,關系的性質:關系是一種規范化了的二維表中行的集合。 具有如下性質:(1)列是同質的。每一列的分量來自同一個域,是同一類型的數據。(2)不同的列可來自同一

9、個域,列稱為屬性,屬性必須有不同的名字。 (3)列的順序可以任意交換 (4)關系中元組(行)的順序可任意 (5)不允許出現相同的元組 (6)分量必須是不可分的數據項4,關系模式:一個關系模式應當是一個五元組。在關系模型中,實體以及實體間的聯系都是用關系來表示的。2.2關系的鍵與關系的完整性1,候選鍵:能唯一標識關系中元組的一個屬性或屬性集,稱為候選鍵,或稱為候選關鍵字或候選碼。(1)唯一性(2)最小性2,主關系鍵(primary key):被選用的候選鍵稱為主關系鍵,或主鍵、主碼、關鍵字等。3,關系的完整性:實體完整性 參照完整性 用戶自定義完整性 實體完整性:是指主關系鍵的值不能為空或部分為

10、空。參照完整性:是對外部關系鍵的說明。用戶自定義完整性:如,取值范圍的約束;數據輸入格式的限制等。2.3關系代數(1)集合運算符4個:(并)、(差)、(交)、×(笛卡爾積)。(2)專門的關系運算符5個:(選取)、(投影)、(連接)、*(自然連接)、÷(除)(3)邏輯運算符3個:(或)、(與)、(非)(4)基本運算5個:并、差、積、選取和投影。 (并):合并兩個關系,列數不變,刪去重復的元組(行)。 (交):用關系R和關系S表示:RS=R-R-S具體實例請看課本。第三章 關系數據庫標準語言SQLSQL是結構化查詢語言的縮寫。3.1 SQL的基本概念(1)基本表base tab

11、le:一個關系對應一個基本表。一個或多個基本表對應一個存儲文件。(2)視圖view:視圖是從一個或幾個基本表導出的表,是一個虛擬的表。數據庫中只存放視圖的定義而不存放視圖的對應數據。SQL支持數據庫的三級模式結構。其中外模式對應于視圖,模式基本表,內模式存儲文件。SQL具有數據查詢(DQL)、數據定義(DDL)、數據操縱(DML)和數據控制(DCL)4種功能。SQL的動詞:數據定義3個:創建create、修改alter、刪除drop。 數據查詢1個:查詢或檢索select。 數據操縱3個:添加或插入insert、修改update、刪除delete。 數據控制2個:授予grant、收回revok

12、e。3.3 創建和使用數據庫在SQL Server2000中,創建一個數據庫至少產生兩個文件,即數據文件和日志文件。一個數據庫至少應包含一個數據文件和一個事務日志文件。一個數據庫可以有一個或多個數據文件,一個數據文件只屬于一個數據庫。(1) 用SQL命令創建數據庫的語法格式如下: Create database database_name (2) 用SQL命令修改數據庫的語法格式如下: alter database database_name(3)用SQL命令刪除數據庫的語法格式如下: drop database database_name3.4 創建和使用數據表(1)用SQL命令創建數據表。

13、例如:用SQL命令創建一個學生表S,對Sno字段進行NOT NULL約束。 Create table S ( Sno char(6) not null, Sn varchar(8), Sex char(2)default=男, Age int, Dept varchar(20) )(注:default表示默認值)在SQL Server中可以定義 NULL/NOT NULL unique(唯一約束) primary key(主鍵) foreign key(外鍵) check(范圍)五種類型的完整性約束。例如:創建S表,S#為主鍵,SN不能為空Create Table S( S#varchar(1

14、0)primary key, SNvarchar(8)not null, Ageint, Deptvarchar(50))(2)用SQL命令修改數據表。1,add(增加)方式:例如:在S表中增加一個班號列和住址列。Alter table SAddClass_no char(6),Address char (40)2,alter(修改)方式 例如:把S表中的Sn列加寬到10個字符。 Alter table S Alter column Sn char(10)3,drop(刪除)方式 例如:刪除S表中的主鍵。 Alter table S Drop constraint_prim(3)用SQL命令刪

15、除數據表。 例如:刪除表S。 Drop table S3.5 創建與使用索引1, 索引的作用:(1),加快查詢速度;(2),保證行的唯一性。2,索引的分類:(1)按照索引記錄的存放位置,可分為:聚集索引和非聚集索引。 在檢索記錄時,聚集索引速度比非聚集索引快 (2)唯一索引 (3)復合索引3,用SQL命令創建索引。語法格式如下:create unique / clustered index< 索引名 > on < 表名 >( < 列名 > 次序,< 列名 >次序 ) (注:其中unique表示建立唯一索引; clustered表示建立聚集索引)例

16、如:在“圖書”表中以“作者”建立一個索引Create Index i_auth on Book(BAuth)4,用drop index命令刪除索引。 例如:刪除表SC的索引SCI。 Drop index SC.SCI3.6 數據查詢(select)例如:(1) 在“高等教育出版社”出版、書名為“操作系統”的圖書的作者名Select BAuth From Book, Publish where Book.PNo=Publish.PNo and PName=高等教育出版社 and BName=操作系統(2) 查詢“電子工業出版社”出版的“計算機”類圖書的價格,同時輸出出版社名稱及圖書類別Selec

17、t BPrice, PName, BType From Book, PublishWhere Book.PNo=Publish.PNo and BType=計算機 and PName=電子工業出版社(3) 查找書名中有“計算機”一詞的圖書的書名及作者Select BName, BAuth From Book Where BName like %計算機%字符串中可以含有的通配符:% 代表0個或多個字符; _ 下劃線代表一個字符; 表示在某一范圍的字符。(4)分組查詢:group by子句可以將查詢結果按屬性列或屬性列組合在行的方向上進行分組。 若分組后還要按照一定的條件進行篩選,則需要使用hav

18、ing子句。例如:查詢選修兩門以上(含兩門)課程的學生的學號和選課門數。 Select Sno, count(*)as SC_num From SC Group by Sno Having (count(*)>=2)當一個SQL查詢中同時使用where子句,group by子句和having子句時,其順序是where, group by, having。Where與having子句的根本區別在于作用對象不同。Where子句作用于基本表或視圖;having子句作用于組,必須跟在group by子句后面,但group by子句后面可以沒有having子句。(5)查詢的排序:查詢結果要排序時,

19、應該使用order by子句,order by子句必須出現在最后。DESC為降序 ASC為升序,缺省時為升序。 例如:求選課在三門以上(含三門)且各門課程均及格的學生的學號及其總成績,查詢結果按總成績降序排列。 Select Sno, sum(Score)as TotalScore From SC Where (Score>=60) Group by Sno Having (count(*)>=3) Order by sum(Score)desc3.7 數據操縱數據操縱語言(DML)主要包括添加數據(insert into)、修改數據(update)和刪除數據(delete)三種1

20、, 添加數據:(或插入數據)其語法格式是: insert into <表名> (列名,列名,) Values(,)例如:在S表中添加(或插入)一條學生記錄(學號:S7、姓名:鄭琳、性別:女) Insert into S(Sno,Sname,Sex) Values (S7,鄭琳,女)2, 修改數據:其語法格式是: update<表名> Set列名=表達式, Where 條件例如:將所有學生的年齡增加1歲 Update S Set Age=Age+1例如:把教師表中工資小于或等于1000元的講師的工資提高20% Update T Set Sal=1.2*Sal Where

21、(Prof=講師)and(Sal<=1000)3, 刪除數據:其語法格式是: delete From 表名 Where 條件例如:刪除劉三老師的記錄 Delete From T Where TN=劉三例如:刪除劉三老師的授課記錄 Delete From TC Where (TNo=(select TNo From T Where TN=劉三) 3.8 視圖 視圖是虛表,其數據不進行存儲。1, 創建視圖:在創建或使用視圖時應注意:只能在當前數據庫中創建視圖,在視圖中最多只能引用1024列不能在視圖上創建索引;不能再規則、默認和觸發器的定義中引用視圖如果視圖引用的表被刪除,則當使用該視圖時返

22、回一條錯誤信息用SQL命令創建視圖: 其語法格式如下: Create view 視圖名(列名,列名,) As select 列名, From 表名 Where 例如:創建一學生平均成績視圖S_Avg Create view S_Avg(Sno, Avg) As select Sno, Avg(Score) From SC Group by Sno2,修改視圖: 其語法格式如下: alter view 視圖名(列名,列名,) As select 列名, From 表名 Where 3,刪除視圖: 其語法格式如下: drop view 視圖名4, 查詢視圖:例如:查詢視圖Sub_T中職稱為教授的教師號和姓名 select Tno,Tn From Sub_T Where Prof=教授5, 更新視圖:(1)添加insert 例如:向計算機系教師視圖Sub_T中添加一條記錄(教師號:T6、姓名:李丹、職業:副教授) Insert into Sub_T(Tno,Tn,Prof) Values (S6,李丹,副教授) (2)修改update 例如:將計算機系教師視圖Sub_T

溫馨提示

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

評論

0/150

提交評論