数据库系统--期末复习
數(shù)據(jù)庫(kù):在計(jì)算機(jī)存儲(chǔ)設(shè)備上合理存放、相關(guān)聯(lián)、有結(jié)構(gòu)的數(shù)據(jù)集合。
數(shù)據(jù)庫(kù)系統(tǒng):計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)。
實(shí)體:客觀存在并且可以相互區(qū)別的個(gè)體。
實(shí)體集:具有相同實(shí)體特性實(shí)體的集合。
屬性:表示實(shí)體的特性。
關(guān)鍵字:能夠唯一標(biāo)識(shí)文件中的某一記錄的最小字段集。
數(shù)據(jù)獨(dú)立性:數(shù)據(jù)結(jié)構(gòu)和應(yīng)用程序之間的相互獨(dú)立,不受影響。
關(guān)系模型:用二維表便是現(xiàn)實(shí)世界實(shí)體集和實(shí)體間關(guān)系的模型。
模式:由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)的全局邏輯結(jié)構(gòu)的描述。
外模式:介于模式與應(yīng)用之間,是用戶與數(shù)據(jù)庫(kù)之間的接口,是數(shù)據(jù)庫(kù)用戶能夠看見(jiàn)和使用的局部邏輯結(jié)構(gòu)和特征的描述。
內(nèi)模式:也稱存儲(chǔ)模式,是數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。
邏輯數(shù)據(jù)獨(dú)立性:一旦模式發(fā)生變化,無(wú)需改變外模式或是應(yīng)用程序的能力。
物理數(shù)據(jù)獨(dú)立性:不會(huì)因?yàn)閮?nèi)模式發(fā)生變化而導(dǎo)致概念模式發(fā)生變化的能力。
數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn):
采用一定數(shù)據(jù)模型實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)化;
數(shù)據(jù)冗余度小,數(shù)據(jù)共享,避免了數(shù)據(jù)的不一致性;
具有較高的數(shù)據(jù)獨(dú)立性;
數(shù)據(jù)由數(shù)據(jù)庫(kù)系統(tǒng)統(tǒng)一管理和控制。
數(shù)據(jù)模型的三要素:數(shù)據(jù)操作、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)完整性。
關(guān)系模型的特點(diǎn):
用二維表表示現(xiàn)實(shí)世界中的實(shí)體集及實(shí)體間的聯(lián)系。具有堅(jiān)實(shí)的理論基礎(chǔ)、表達(dá)能力強(qiáng),簡(jiǎn)單,數(shù)據(jù)獨(dú)立性高等優(yōu)點(diǎn),缺點(diǎn)是存取效率比較低。
什么是空值:未定義或未知的值
就是不知道或是無(wú)意義的值,沒(méi)有給某個(gè)屬性賦值,就稱其值為空。
層次數(shù)據(jù)模型:查詢效率較高、結(jié)構(gòu)簡(jiǎn)單、層次分明,便于在計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)的優(yōu)點(diǎn);
層次模型的缺點(diǎn):缺乏直接表達(dá)現(xiàn)實(shí)世界中的非層次結(jié)構(gòu)的復(fù)雜聯(lián)系,二是層次數(shù)據(jù)模型編寫(xiě)較為困難。
網(wǎng)狀模型 :能直接描述現(xiàn)實(shí)世界,查詢效率高,缺點(diǎn)是結(jié)構(gòu)和編程復(fù)雜,難掌握,不易使用。
數(shù)據(jù)庫(kù)的三級(jí)模式是對(duì)數(shù)據(jù)庫(kù)的三級(jí)別的抽象,它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只需要抽象處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在機(jī)器中的具體表現(xiàn)形式和存儲(chǔ)方式。數(shù)據(jù)庫(kù)的三級(jí)結(jié)構(gòu)是靠映像互相轉(zhuǎn)化和聯(lián)系的,正是這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中 的數(shù)據(jù)具有較高的獨(dú)立性。
數(shù)據(jù)獨(dú)立性:是指數(shù)據(jù)庫(kù)系統(tǒng)在某一層模式上的改變,不會(huì)使它的上一層模式也發(fā)生改變的過(guò)程。
什么是數(shù)據(jù)字典?他在數(shù)據(jù)庫(kù)中的作用是什么?
數(shù)據(jù)字典是描述各級(jí)模式的信息,主要包括所有數(shù)據(jù)的結(jié)構(gòu)名、意義、描述定義、存儲(chǔ)格式、完整性約束、使用權(quán)限等信息。由于數(shù)據(jù)字典包含了數(shù)據(jù)庫(kù)系統(tǒng)的大量描述信息。因此也稱它為描述信息庫(kù)。
數(shù)據(jù)字典是DBMS存取和管理數(shù)據(jù)的基本依據(jù),主要由系統(tǒng)管理和使用。
用戶訪問(wèn)數(shù)據(jù)庫(kù) 的過(guò)程:
1,接受應(yīng)用程序的數(shù)據(jù)請(qǐng)求
2,DBMS對(duì)用戶的 操作進(jìn)行分析,
3,數(shù)據(jù)庫(kù)管理系統(tǒng)向操作系統(tǒng)發(fā)出操作請(qǐng)求,
4,操作系統(tǒng)接收到命令以后,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作,將結(jié)果放入系統(tǒng)緩存區(qū),并發(fā)出讀完標(biāo)志,
5,DBMS接到回答后,將緩存區(qū)中的數(shù)據(jù)經(jīng)過(guò)模式映射,變成用戶對(duì)的邏輯記錄送到用戶工作區(qū),同時(shí)給用戶回答成功與否的信息。
關(guān)系數(shù)據(jù)庫(kù)完整性約束:
實(shí)體完整性約束:實(shí)體完整性約束:指任一關(guān)系中標(biāo)識(shí)屬性的值,不能取空值,否則,無(wú)法標(biāo)識(shí)關(guān)系中的元組。
參照完整性約束:是不同關(guān)系間的一種約束,當(dāng)存在關(guān)系的引用時(shí),要求不能引用不存在的元組。若屬性組F是關(guān)系R的外關(guān)鍵字,并是關(guān)系S的關(guān)鍵字,則對(duì)于R中的每個(gè)元組在屬性組上的F的值必須為:空值或者是等于S中某個(gè)元組的關(guān)鍵字值。
用戶定義完整性約束:如值的類型、寬度。
有控制的冗余:數(shù)據(jù)庫(kù)設(shè)計(jì)者在設(shè)計(jì)中為了體改操作效率有意保留的冗余數(shù)據(jù),可以改善對(duì)數(shù)據(jù)庫(kù)的查詢效率;
無(wú)控制的冗余:在數(shù)據(jù)庫(kù)設(shè)計(jì)中由于屬性間的依賴而存在的關(guān)聯(lián)數(shù)據(jù)。
關(guān)系模型的三個(gè)組成部分:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作、關(guān)系完整性約束。
對(duì)于教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表: S ( 學(xué)號(hào),姓名 ,年齡,性別) S C( 學(xué)號(hào) ,課程號(hào),成績(jī)) C( 課程號(hào) ,課程名,任課教師姓名) 試用 S QL語(yǔ)句表達(dá)下列查詢:
⑴ 查詢“劉某”老師所授課程的課程號(hào)和課程名。
⑵ 查詢年齡大于 2 3歲的男同學(xué)的學(xué)號(hào)和姓名。
select sno,sname from s where ssex='male' and sage>'23';⑶ 查詢學(xué)號(hào)為 S 3的學(xué)生所學(xué)課程的課程號(hào)、課程名和任課教師姓名。
select cno,cname,cteacher from c where exists(select * from scwhere sno='s3'and cno=c.cno);⑷ 查詢“張小飛”沒(méi)有選修的課程號(hào)和課程名。
select cno,cname from c where cno not in(select cno from sc,swhere sc.sno=s.snoand s.sname='zhangxioafei');⑸ 查詢至少選修了 3門(mén)課程的學(xué)生的學(xué)號(hào)和姓名。
select sno,sname from s,sc where s.cno=sc.cno group by sno having count(cno)>=3; # 把一個(gè)值設(shè)置為空值 update sc set grade=null where cno='1000' and sno='0001'; -- 查詢至少選了兩門(mén)課的學(xué)生 use day_one; select S.學(xué)號(hào),S.姓名 FROM S,SC WHERE S.學(xué)號(hào)=SC.學(xué)號(hào) group by S.學(xué)號(hào) HAVING count(SC.課程號(hào))>=3; -- 查詢?nèi)繉W(xué)生都選了的課程 select 課程號(hào),課程名 from c where not exists(select * from swhere not exists(select * from scwhere 學(xué)生.學(xué)號(hào)=學(xué)習(xí).學(xué)號(hào)and 課程.課程號(hào)=學(xué)習(xí).課程號(hào)); -- 在SC表中刪除無(wú)成績(jī)的記錄 DELETE FROM SC where 成績(jī) is null; -- 把高等數(shù)學(xué)的所有不及格成績(jī)都改成60分 UPDATE SC SET 成績(jī)=60 WhERE GRADE<60 AND CNO =(SELECT CNO FROM CWHERE CNAME='gaoshu'); -- 把低于平均分的女生成績(jī)提高5% UPDATE SC SET GRADE=(1+0.05)*GRADE WHERE GRADE <(SELECT AVG(GRADE)FROM SC) AND SNO IN (SELECT SNO FROM S WHERE SSEX='female'); -- 向C中插入元組(“C8”,"VC++","WANGKUN") INSERT INTO C VALUES ("C8","VC++","WANGKUN");總結(jié)
以上是生活随笔為你收集整理的数据库系统--期末复习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3G模块驱动运用开发总结
- 下一篇: 三款适用于企业建站的CMS建站系统