大學數據庫全面知識點資料整理_第1頁
大學數據庫全面知識點資料整理_第2頁
大學數據庫全面知識點資料整理_第3頁
大學數據庫全面知識點資料整理_第4頁
大學數據庫全面知識點資料整理_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

千里之行,始于足下。第2頁/共2頁精品文檔推薦大學數據庫全面知識點資料整理第1章緒論

1.數據庫治理系統(tǒng)是數據庫系統(tǒng)的一具重要組成部分,它的功能包括數據定義功能、數據控制功能、數據庫的運行治理、數據庫的建立和維護功能。

2.數據庫系統(tǒng)是指在計算機系統(tǒng)中引入數據庫后的系統(tǒng),普通由數據庫、數據庫治理系統(tǒng)(及其開辟工具)、應用系統(tǒng)、數據庫治理員構成。

3.數據庫治理技術的進展是與計算機技術及其應用的進展聯(lián)系在一起的,它記憶了三個時期:人工治理時期,文件系統(tǒng)時期和數據庫系統(tǒng)時期。

4.數據庫具有數據結構化、最小的冗余度、較高的數據獨立性等特點。

5.DBMS還必須提供數據的安全性愛護、數據的完整性檢查、并發(fā)操縱、數據庫恢復等數據操縱功能。

6.數據庫治理系統(tǒng)的要緊功能有哪些?(填空題)

①數據庫定義功能;②數據存取功能;③數據庫運行治理;④數據庫的建立和維護功能。

7.三級模式之間的兩層映象保證了數據庫系統(tǒng)中的數據可以具有較高的邏輯獨立性和物理獨立性。(咨詢答題)

8.試述概念模型的作用。(填空題)

概念模型實際上是現實世界到機器世界的一具中間層次。概念模型用于信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員舉行數據庫設計的有力工具,也是數據庫設計人員和用戶之間舉行交流的語言。

9.依照模型應用的別同目的,能夠將這些模型劃分為兩類,它們分不屬于兩個別同的層次。第一類是概念模型,第二類是數據模型。(咨詢答題)

10.定義并解釋概念模型中以下術語:實體,實體型,實體集,屬性,碼,實體聯(lián)系圖(E-R圖)(填空題)

實體:客觀存在并能夠相互區(qū)分的事物叫實體。

實體型:具有相同屬性的實體具有相同的特征和性質,用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。

實體集:同型實體的集合稱為實體集。

屬性:實體所具有的某一特性,一具實體可由若干個屬性來刻畫。

碼:唯一標識實體的屬性集稱為碼。

實體聯(lián)系圖:E-R圖提供了表示實體型、屬性和聯(lián)系的辦法:

實體型:用矩形表示,矩形框內寫明實體名。

屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。

聯(lián)系:用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分不與有關實體連接起來,并且在無向邊旁標上聯(lián)系的類型(1:1,1:n或m:n)。

11.數據模型的三要素是指數據結構,數據操作,完整性約束。實際數據庫系統(tǒng)中所支持的要緊數據模型是關系模型,層次模型,網狀模型。

13.數據模型中的數據結構是對數據系統(tǒng)的靜態(tài)特征描述,包括數據結構和數據間聯(lián)系的描述,數據操作是對數據庫系統(tǒng)的動態(tài)特征描述,是一組定義在數據上的操作,包括操作的涵義、操作符、運算規(guī)則及其語言等。(咨詢答題)

14.定義并解釋以下術語:DDL、DML(填空題)

DDL:數據定義語言。用來定義數據庫模式、外模式、內模式的語言。DML:數據控制語言。用來對數據庫中的數據舉行查詢、插入、刪除和修改的語句。

15.關系模型是目前最常用也是最重要的一種數據模型。采納該模型作為數據的組織方式的數據庫系統(tǒng)稱為關系數據庫系統(tǒng)。(咨詢答題)

16.關系的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義的完整性。

(咨詢答題)

17.啥叫數據與程序的物理獨立性?啥叫數據與程序的邏輯獨立性?為啥數據庫系統(tǒng)具有數據與程序的獨立性?(填空題)

數據與程序的邏輯獨立性:當模式改變時(例如增加新的關系、新的屬性、改變屬性的數據類型等),由數據庫治理員對各個外模式/模式的映象作相應改變,能夠使外模式保持別變。應用程序是依據數據的外模式編寫的,從而應用程序別必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。

數據與程序的物理獨立性:當數據庫的存儲結構改變了,由數據庫治理員對模式/內模式映象作相應改變,能夠使模式保持別變,從而應用程序也別必改變。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。數據庫治理系統(tǒng)在三級模式之間提供的兩層映象保證了數據庫系統(tǒng)中的數據可以具有較高的邏輯獨立性和物理獨立性。

關系操作的特點:集合方式,操作對象和結果基本上關系——元組的集合

非關系操作的特點:層次/網狀,以記錄為操作單位

2.關系數據模型中,二維表的列稱為屬性,二維表的行稱為記錄或元組。

3.用戶選作元組標識的一具候選碼為主碼,其屬性別能取空值。(咨詢答題)

Chapter1

數據—Data:描述事物的符號記錄稱為數據。

信息(information):數據所表示的含義稱為信息。

數據庫:所謂數據庫是長期存儲在計算機內的、有組織的、可共享的數據集合。

數據庫(DB)是各種信息系統(tǒng)(InformationSystem)的核心。

數據庫特點:數據庫中的數據具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。

即數據及結構相關于應用程序具有獨立性

數據庫治理系統(tǒng)DatabaseManagementSystem(DBMS):DBMS是對數據庫建立、控制、維護的系統(tǒng)軟件。

要緊功能:1、數據定義功能;2、數據控制功能;3、數據庫的運行治理;4、數據庫的建立維護。

常見的數據庫治理系統(tǒng)(DBMS)

大型DBMS:ORACLESQL-SERVERDB2SYBASE

中型DBMS:MYSQL,INFORMIX,INTERBASE

小型(桌面)DBMS:ACCESS,FOXPRO,SQL-ANYWHERE

數據庫系統(tǒng)—DatabaseSystem(DBS):在計算機系統(tǒng)中引入數據庫后的系統(tǒng),

通常由:數據庫DB,操作系統(tǒng)OS,數據庫治理系統(tǒng)DBMS,開辟工具SDK,應用系統(tǒng)APP,治理員DBA,用戶USER

計算機數據治理記憶時期:1、人工治理時期;2、文件系統(tǒng)時期;3、數據庫系統(tǒng)時期

數據庫系統(tǒng)治理的特點:

1.數據結構化(數據庫的文件系統(tǒng)的全然區(qū)不)

2.數據獨立性高(數據結構變,程序別須變)

3.數據共享性高,冗余度低,易擴充

4.數據由DBMS統(tǒng)一治理和操縱,并使數據治理具有:

數據的安全性(security)愛護(數據別被非法拜訪)

數據完整性(Integrity)檢查(數據的正確性有效性相容性)

并發(fā)操縱(Concurrency)操縱

數據恢復(Recovery)

數據模型是對現實世界數據特征的抽象。

數據模型的三要素:

1數據結構:對實體類型和實體間聯(lián)系的表達和實現。

2數據操作:允許執(zhí)行的操作。要緊:檢索和更新

3數據約束條件:完整性規(guī)則的集合。

完整性規(guī)則:數據及其聯(lián)系所具有的制約和依存規(guī)則,以保證數據的正確、有效和相容。數據的完整性:指數據的正確性、有效性和相容性。

概念模型:計算機數據處理的第一層抽象,反映人對客觀事物的認識。

概念模型的表示辦法:實體-聯(lián)系圖(E-R圖)

用矩形表示實體、用橢圓表示屬性、用菱形表示聯(lián)系。

屬性和實體間、實體和聯(lián)系間用線段連接

聯(lián)系線標注聯(lián)系類型(1,n),假如聯(lián)系有屬性,也要標注

常見的數據模型有四種(按進展時刻為序):

層次模型、網狀模型、關系模型、對象模型

用表格(稱為關系)表示實體以及實體間聯(lián)系的數據模型叫關系模型。

關系(Relation):一具二維表格;

元組(Tuple):表中的一行即為一具元組;

屬性(Attribute):表中的一列即為一具屬性;

碼(key):表中某屬性組,可唯一確定任一元組;

域(Domain):屬性的取值范圍;

重量:元組中的一具屬性值;

關系模式:對關系的描述,表述為:關系名(屬性1,屬性2,….,屬性n)

例:學生數據庫的關系模式:學生(學號,姓名,性不,專業(yè),入學時刻)

數據庫模式(Schema):數據庫中全體數據的結構和特征的描述稱為數據庫模式。

數據庫系統(tǒng)三級模式結構:模式、外模式、存儲模式三級模式的概念。

三級模式之間有兩級映象:外模式/模式映象、模式/內模式映象

外模式(Sub-Schema)(用戶模式):用戶的數據視圖、是數據的局部邏輯結構,模式的子集模式(Schema)(概念模式):所實用戶的公共數據視圖;是數據庫中全體數據的全局邏輯結構和特性的描述。

內模式(StorageSchema)(存貯模式):又稱存儲模式,是數據的物理結構及存儲方式。數據的邏輯獨立性:當模式改變時,修改外模式/模式映象,使外模式保持別變,從而應用程序能夠保持別變。

物理獨立性:存儲結構改變時,修改模式/內模式映象,使模式保持別變,從而應用程序能夠保持別變。

數據庫系統(tǒng)外部的體系結構:單用戶結構、主從式結構、分布式結構、客戶/服務器結構、掃瞄器/應用服務器/數據庫服務器結構。

Chapter2

關系模式是對關系的描述:關系的結構(屬性構成、屬性來自的域、屬性與域之間的映象關系),完整性約束條件,屬性間的數據依靠關系集合

關系模式能夠形式化地表示為:R(U,D,dom,F)

R:關系名;U:組成該關系的屬性名集合;D:屬性組U中屬性所來自的域;

dom:屬性向域的映象集合;F:屬性間的數據依靠關系集合

關系模式通常能夠簡記為R(A1,A2,…,An)。A1,A2,…,An:屬性名

數據完整性:數據的正確性、有效性和相容性。

關系模型中三類完整性約束:實體完整性、參照完整性、用戶定義的完整性

實體完整性規(guī)則:若屬性A是基本關系R的主屬性,則屬性A別能取空值

參照完整性規(guī)則:若屬性(或屬性組)F是關系R的外碼。它與關系S的主碼Ks相對應(關

系R和S可是一具關系),則關于R中每個元組在F上的值必須為:或者取空值(F的每個

屬性值均為空值)或者等于S中某個元組的主碼值。

用戶定義的完整性

例:課程(課程號,課程名,學分)

“課程號”主屬性必須取唯一值;非主屬性“課程名”也別能取空值;“學分”屬性只能取

值{1,2,3,4}

關系數據庫語言:實現關系操作(查詢,插改刪)的語言

關系代數語言:一種抽象的查詢語言,用對關系的運算來表達查詢(ISBL)

關系演算語言:用謂詞來表達查詢要求

元組關系演算語言:謂詞變元的基本對象是元組變量(APLHA)

域關系演算語言:謂詞變元的基本對象是域變量(QBE)

具有關系代數和關系演算雙重特點的語言:SQL(StructuredQueryLanguage)

關系代數運算的三個要素:運算對象,運算結果,運算符

【運算對象和運算結果的操作對象基本上:關系(元組的集合)】

傳統(tǒng)的集合運算:并、差、交、廣義笛卡爾積

特意的關系運算:挑選、投影、連接、除

并:R∪S={t|t∈R∨t∈S}差:R-S={t|t∈R∧t∈S}

交:R∩S={t|t∈R∧t∈S}笛卡爾積:R×S={srtt|rt∈R∧st∈S}

挑選(Selection):在關系R中挑選滿腳給定條件的諸元組。從行的角度舉行的運算。

}'')(|{)(真=∧∈=tFRttRFσF:挑選條件,是一具邏輯表達式

[例1]查詢信息系(IS系)全體學生)(''Student

ISSdept=σ投影:從R中挑選出若干屬性列組成新的關系,從列的角度舉行運算

}|][{)(RtAtRA∈=πA:R中的屬性列

注意:但投影之后別僅取消了原關系中的某些列,而且還也許取消某些元組(幸免重復行)

[例3]查詢學生的姓名和所在系。即求Student關系學生姓名和所在系兩個屬性上的投

)(,Studentsdeptsnameπ

查詢沒有選過課的學號:)()(SCStudentsnosnoππ-

查詢沒有別及格的學號:))(()(60SCStudentGradesnosno20元的讀者名

3查詢被年齡大于60的讀者借過的書名和作者名

4查詢看了所有書的讀者名

5查詢看了'張三‘所看過的所有書的讀者名

6查詢沒有借過書的讀者姓名

元組關系演算語言ALPHA

檢索語句:GET

更新語句:PUT,HOLD,UPDATE,DELETE,DROP

格式GET工作空間名(表達式1)

[例1]查詢所有被選修的課程號碼。GETW(SC.Cno)

[例2]查詢所有學生的數據。GETW(Student)

格式GET工作空間名(表達式1):操作條件

[例3]查詢信息系(IS)年齡小于20歲的學號和年齡。

GETW(Student.Sno,Student.Sage):Student.Sdept='IS'∧student.Sage

[ADD[完整性約束]]

?表3.2SQL的數據定義語句操作方式操作對象創(chuàng)建刪除修改表CREATETABLEDROPTABLEALTERTABLE視圖CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX表3.1SQL語言的動詞SQL功能動詞數據定義CREATE,DROP,ALTER數據查詢SELECT數據操縱INSERT,UPDATEDELETE數據控制GRANT,REVOKE

[DROP]

[MODIFY];

:要修改的基本表

ADD子句:增加新列和新的完整性約束條件

DROP子句:刪除指定的完整性約束條件

MODIFY子句:用于修改列名和數據類型

[例2]向Student表增加“入學時刻”列,其數據類型為日期型。

ALTERTABLEStudentADDScomeDATE;

刪除屬性列例:ALTERTABLEStudentDropScome;

[例3]將年齡的數據類型改為半字長整數。

ALTERTABLEStudentMODIFYSageSMALLINT;

[例6]為Student的sname列建立索引。

CREATEINDEXStuNameONStudent(Sname);

[例6]為Course的Cname列建立唯一值索引。

CREATEUNIQUEINDEXCouNameONCourse(Cname);

在Student表的Sname(姓名)列上建立一具聚簇索引,而且Student表中的記錄將按照Sname值的升序存放。CREATECLUSTERINDEXStusnameONStudent(Sname);

DROPINDEXStusname;

學生表:Student(Sno,Sname,Ssex,Sage,Sdept)

課程表:Course(Cno,Cname,Cpno,Ccredit)

學生選課表:SC(Sno,Cno,Grade)

[例5]查詢全體學生的姓名、出生年份和所有系,要求用小寫字母表示所有系名。SELECTSname,'YearofBirth:',2012Sage,ISLOWER(Sdept)FROMStudent;SELECTDISTINCTSnoFROMSC;

[例17]查詢名字中第2個字為"陽"字的學生的姓名和學號。

SELECTSname,SnoFROMStudentWHERESnameLIKE'__陽%';

[例19]查詢DB_Design課程的課程號和學分。

SELECTCno,CcreditFROMCourseWHERECnameLIKE'DB\_Design'ESCAPE'\'SELECTSno,CnoFROMSCWHEREGradeISNOTNULL;

[例32]查詢每個學生及其選修課程的事情。

用WHERE子句指定連接條件:

SELECT*FROMStudent,SCWHEREStudent.Sno=SC.Sno;

或,用FROM子句指定連接條件:

SELECT*FROMStudentJOINSCONStudent.Sno=SC.Sno;

自身連接

[例34]查詢每一門課的先行課名

SELECTFirst.Cname課名,Second.Cname先行課名FROMCourseFirst,courseSecondWHEREFirst.Cpno=Second.Cno;

[例36]查詢每個學生的學號、姓名、選修的課程名及成績。

SELECTStudent.Sno,Sname,Cname,GradeFROMStudentJOINSCONStudent.Sno=SC.SnoJOINCourseONSC.Cno=Course.Cno;

子查詢:

SELECTSno,Sname,SdeptFROMStudentWHERESdeptIN(SELECTSdeptFROMStudentWHERESname=‘劉晨’);

EXISTS子查詢方式(類似關系演算方式)

[例42]查詢沒有選修1號課程的學生姓名。

SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno='1');

[例43]查詢選修了全部課程的學生姓名。

SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMCourseWHERENOTEXISTSSELECT*FROMSCWHERESC.Sno=Student.SnoANDSC.Cno=Course.Cno));

[例44]查詢至少選修了學生95002選修的全部課程的學生號碼。

思路:別存在如此的課95002選了那個學生未選

用關系演算實現:

RANGECouseCXSCSCXSCSCY

GETW(Student.Sno):??CX(?SCX(SCX.Sno='95002'∧SCX.Cno=CX.Cno)∧

??SCY(SCY.Sno=Student.Sno∧CY.Cno=CX.Cno))

SELECTSNOFROMSTUDENTSWHERENOTEXISTS(SELECT*FROMCOURSECWHEREEXISTS(SELECT*FROMSCWHERESC.SNO='95002'ANDSC.CNO=C.CNO)ANDNOTEXISTS(SELECT*FROMSCWHERESC.SNO=S.SNOANDSC.CNO=C.CNO))

2查詢被'張三'選修的課名

RANGESCSCX

RANGESSX

GETW(C.CNAME):存在SCX(SCX.CNO=C.CNO同時存在SX(SX.SNO=SCX.SNO同時

SX.SNAME='張三'))

SELECTCNAMEFROMC

WHEREEXISTS

(SELECT*FROMSC

WHERESC.CNO=C.CNOANDEXISTS

(SLEECT*FROMS

WHERES.SNO=SC.SNOAND

S.SNAME='張三'))

4查詢被所有同學選修的課名

SELECTCNAMEFROMC

WHERENOTEXISTS(SELECT*FROMS

WHERENOTEXISTS(SELECT*FROMSC

WHERESC.SNO=S.SNOANDSC.CNO=C.CNO))

5查詢選了'張三'選修所有課的學生名

SELECTSNAMEFROMS

WHERENOTEXISTS(SELECT*FROMC

WHERE

EXISTS(SELECT*FROMSC

WHERESC.CNO=C.CNOANDEXISTS

(SELECT*FROMSWHERES.SNO=SC.SNOANDS.SNAME=’張三'))

AND

NOTEXISTS

(SELECT*FROMSC

WHERESC.CNO=C.CNOANDSC.SNO=S.SNO)

[例45]查詢計算機科學系的學生及年齡別大于19歲的學生。

SELECT*FROMStudentWHERESdept='CS'UNIONSELECT*FROMStudentWHERESage<=19;SELECTDISTINCT*FROMStudentWHERESdept='CS'ORSage<=19

查詢未選課的學號

(所有學號與選過可得學號的差集)

SELECTSnoFROMStudentWHERESnoNOTIN(SELECTSnoFROMSC);

INSERTINTOStudentVALUES('95020','陳冬','男','IS',18)

INSERTINTODeptage(Sdept,Avgage)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;

UPDATEStudentSETSage=22WHERESno='95001';

DELETEFROMStudentWHERESno='95019';

DELETEFROMSC;

CREATEVIEWIS_Student(No,Name,Age)ASSELECTSno,Sname,SageFROMStudentWHERESdept='IS';

[例2]建立信息系學生的視圖,并要求透過該視圖舉行的更新操作只涉及信息系學生。CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='IS'WITHCHECKOPTION;

DROPVIEWIS_S1;

指定WITHCHECKOPTION子句后,DBMS在更新視圖時會舉行檢查,防止用戶經過視圖對別

屬于視圖范圍內的基本表數據舉行更新。

Chapter4

為用戶'ZhangPing'創(chuàng)建了一具密碼為'Rose'的SQLServer登錄

語法格式:EXECsp_addlogin'UserName','Password'

EXECsp_addlogin'ZhangPing','Rose'

將用戶ZhangPing添加到當前數據庫

語法格式:EXECsp_adduser'UserName'

EXECsp_adduser'ZhangPing'

4.將BOOK查詢權授予PUBLIC

grantselectonBOOKtopublic;

5.將REA

溫馨提示

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

評論

0/150

提交評論