日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

【数据库题型大总结】应用题总结

發(fā)布時(shí)間:2025/3/15 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据库题型大总结】应用题总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一:考察關(guān)系代數(shù)表達(dá)式
    • (1)說(shuō)明
    • (2)典型例題
  • 二:考察SQL語(yǔ)言
    • (1)說(shuō)明
    • (2)典型例題
  • 三:查詢(xún)樹(shù)及其優(yōu)化
    • (1)說(shuō)明
    • (2)典型例題
  • 四:E-R模型轉(zhuǎn)關(guān)系模型
    • (1)說(shuō)明
    • (2)典型例題
  • 五:有關(guān)范式
    • (1)說(shuō)明
    • (2)典型例題
  • 六:關(guān)于數(shù)據(jù)庫(kù)恢復(fù)
    • (1)說(shuō)明
    • (2)典型例題
  • 七:閉包
    • (1)說(shuō)明
    • (2)典型例題
  • 八:求解候選碼
    • (1)說(shuō)明
    • (2)典型例題
  • 九:有關(guān)鎖的問(wèn)題
    • (1)說(shuō)明
    • (2)典型例題

一:考察關(guān)系代數(shù)表達(dá)式

(1)說(shuō)明

  • 先看投影放在外
  • 再看選擇放在內(nèi)

注意符號(hào)

(2)典型例題

現(xiàn)有關(guān)系數(shù)據(jù)庫(kù)如下:
學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè)、獎(jiǎng)學(xué)金)
課程(課程號(hào),名稱(chēng),學(xué)分)
學(xué)習(xí)(學(xué)號(hào),課程號(hào),分?jǐn)?shù))
1.檢索“國(guó)際貿(mào)易”專(zhuān)業(yè)中獲得獎(jiǎng)學(xué)金的學(xué)生信息,包括學(xué)號(hào)、姓名、課程名和分?jǐn)?shù);
2.檢索學(xué)生成績(jī)得過(guò)滿(mǎn)分(100分)的課程的課程號(hào)、名稱(chēng)和學(xué)分;
3.檢索沒(méi)有獲得獎(jiǎng)學(xué)金、同時(shí)至少有一門(mén)課程成績(jī)?cè)?5分以上的學(xué)生信息,包括學(xué)號(hào)、姓名和專(zhuān)業(yè);
4.檢索沒(méi)有任何一門(mén)課程成績(jī)?cè)?0分以下的學(xué)生的信息,包括學(xué)號(hào)、姓名和專(zhuān)業(yè);

(1)Π學(xué)生.學(xué)號(hào),姓名,課程名,分?jǐn)?shù)(σ專(zhuān)業(yè)=′國(guó)家貿(mào)易′∧獎(jiǎng)學(xué)金>0(學(xué)生?課程?學(xué)習(xí))\Pi_{學(xué)生.學(xué)號(hào),姓名,課程名,分?jǐn)?shù)} (\sigma_{專(zhuān)業(yè)='國(guó)家貿(mào)易'\land 獎(jiǎng)學(xué)金>0}(學(xué)生 \bowtie 課程 \bowtie 學(xué)習(xí))Π學(xué).學(xué)號(hào),,,數(shù)?(σ專(zhuān)業(yè)=國(guó)貿(mào)獎(jiǎng)學(xué)>0?(學(xué)??學(xué)習(xí))

(2)Π課程號(hào),名稱(chēng),學(xué)分(σ分?jǐn)?shù)=100(課程?學(xué)習(xí)))\Pi_{課程號(hào),名稱(chēng),學(xué)分}(\sigma_{分?jǐn)?shù)=100}(課程 \bowtie 學(xué)習(xí)))Π號(hào),稱(chēng),學(xué)?(σ數(shù)=100?(?學(xué)習(xí)))

(3)Π學(xué)號(hào),姓名,專(zhuān)業(yè)(σ獎(jiǎng)學(xué)金<=100∧分?jǐn)?shù)>95(學(xué)生?學(xué)習(xí)))\Pi_{學(xué)號(hào),姓名,專(zhuān)業(yè)}(\sigma_{獎(jiǎng)學(xué)金<=100 \land 分?jǐn)?shù)>95}(學(xué)生 \bowtie 學(xué)習(xí)))Π學(xué)號(hào),,專(zhuān)業(yè)?(σ獎(jiǎng)學(xué)<=100數(shù)>95?(學(xué)?學(xué)習(xí)))

(4)Π學(xué)號(hào),姓名,專(zhuān)業(yè)(σ(學(xué)生))?Π學(xué)號(hào),姓名,專(zhuān)業(yè)(σ分?jǐn)?shù)<80(學(xué)生?學(xué)習(xí)))\Pi_{學(xué)號(hào),姓名,專(zhuān)業(yè)}(\sigma(學(xué)生))-\Pi_{學(xué)號(hào),姓名,專(zhuān)業(yè)}(\sigma_{分?jǐn)?shù)<80}(學(xué)生\bowtie學(xué)習(xí)))Π學(xué)號(hào),,專(zhuān)業(yè)?(σ(學(xué)))?Π學(xué)號(hào),,專(zhuān)業(yè)?(σ數(shù)<80?(學(xué)?學(xué)習(xí)))


設(shè)有學(xué)生-課程關(guān)系數(shù)據(jù)庫(kù),其數(shù)據(jù)庫(kù)關(guān)系模式(表名與屬性名只取英文名)為:
學(xué)生S(學(xué)號(hào)S#,姓名SN,所在系SD,年齡SA)、
課程C(課程號(hào)C#,課程名稱(chēng)CN,先修課號(hào)PC#)、
學(xué)生選課SC(學(xué)號(hào)S#,課程號(hào)C#,成績(jī)G)
(1)求學(xué)號(hào)為95001的學(xué)生所選的成績(jī)?yōu)?0分以上的課程號(hào);
(2)求選修了“數(shù)據(jù)庫(kù)概論”,并且成績(jī)?yōu)?0或90的學(xué)生的學(xué)號(hào)和姓名;★
(3)求選修了全部(有全部一般會(huì)使用到除)課程的學(xué)生學(xué)號(hào)、姓名及其所在系名★

(1)ΠC#(σS#="95001∧G>=60(SC))\Pi_{C\#}(\sigma_{S\#="95001 \land G>=60}(SC))ΠC#?(σS#="95001G>=60?(SC))

(2)ΠS#,SN(σC#="數(shù)據(jù)庫(kù)概論"(C)?σG=80或G=90(SC)?(S))\Pi_{S\#,SN}(\sigma_{C\#="數(shù)據(jù)庫(kù)概論"}(C) \bowtie \sigma_{G=80 或G=90} (SC) \bowtie(S))ΠS#,SN?(σC#="數(shù)據(jù)庫(kù)"?(C)?σG=80G=90?(SC)?(S))

(3)ΠS#,SN,SD(S?(ΠS#,C#(SC)÷ΠC#(C)))\Pi_{S\#,SN,SD}(S \bowtie (\Pi_{S\#,C\#}(SC)\div\Pi_{C\#}(C)))ΠS#,SN,SD?(S?(ΠS#,C#?(SC)÷ΠC#?(C)))





【答案】

(1):ΠSNO(σJNO=′J1′(SPJ))\Pi_{SNO} (\sigma_{JNO='J1'}(SPJ))ΠSNO?(σJNO=J1?(SPJ))

(2):ΠSNO(σJNO=′J1′∧PNO=′P1′(SPJ))\Pi_{SNO} (\sigma_{JNO='J1' \land PNO='P1'}(SPJ))ΠSNO?(σJNO=J1PNO=P1?(SPJ))

(3):ΠSNO(ΠSNO,PNO(σJNO=′J1′(SPJ))?ΠPNO(σCOLOR=′紅′(P)))\Pi_{SNO}(\Pi_{SNO,PNO}(\sigma _{JNO='J1'}(SPJ))\bowtie \Pi_{PNO}(\sigma_{COLOR='紅'}(P)))ΠSNO?(ΠSNO,PNO?(σJNO=J1?(SPJ))?ΠPNO?(σCOLOR=?(P)))

(4):ΠJNO(SPJ)?ΠJNO(σcity=′天津′∧Color=′紅′(S∧SPJ∧P))\Pi_{JNO}(SPJ)-\Pi_{JNO}(\sigma_{city='天津' \land Color='紅'}(S\land SPJ \land P))ΠJNO?(SPJ)?ΠJNO?(σcity=Color=?(SSPJP))

(5):ΠJNO,PNO(SPJ)÷ΠPNO(σSNO=′S1′(SPJ))\Pi_{JNO,PNO}(SPJ) \div \Pi_{PNO}(\sigma_{SNO='S1'}(SPJ))ΠJNO,PNO?(SPJ)÷ΠPNO?(σSNO=S1?(SPJ))

二:考察SQL語(yǔ)言

(1)說(shuō)明

詳細(xì)語(yǔ)法見(jiàn)專(zhuān)欄筆記,重點(diǎn)有以下幾種

  • 基本表的創(chuàng)建、修改
  • 索引的建立
  • Select的各種語(yǔ)句
  • 數(shù)據(jù)的更新、刪除
  • 權(quán)限

下方語(yǔ)句僅供參考,幾乎涵蓋了考試所有考察的SQL語(yǔ)句

//創(chuàng)建基本表 CREATE TABLE SC (Sno CAHR(9) PRIMARY KEY,Cno CHAR(9) PRIMARY KEY,Sage SMALLINT NOT NULL,//PRIAMRY KEY(Sno,Cno)FOREIGN KEY(Sno) REFERENCES Student(Sno),FOREIGN KEY(Cno) REFERENCES Course(Cno) );//修改基本表 ALTER TABLE Student ADD Sname CHAR(9) NOT NULL ALTER TABLE Student ADD COLUMN Sage CHAR; ALTER TABLE Student ADD UNIQUE(Cno,Cname) ALTER TABLE Student DROP COLUMN Sname CASCADE//刪除基本表DROP TABLE Student CASCADE//建立索引 CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);//修改索引 ALTER INDEX SCno RENAME TO SCSno;//查詢(xún)單表 SELECT Sname,2022-Sage FROM Student;//屬性列可以參與運(yùn)算 SELECT Sname ‘姓名’,Sage '年齡' FROM Student;//起別名 SELECT DISTINCT Sno FROM SC;//消除重復(fù)行 SELECT Sno,Grade FROM SC WHERE Grade > 85;//滿(mǎn)足某條件 SELECT Sname,Sdept WHERE Sdept IN('MA','CS'); SELECT Sname FROM Student WHERE Sname='劉%'; SELECT * FROM Student WHERE Sdept='CS'AND Sage < 20;//多重條件 SELECT Sno,Grade FROM SC WHERE Cno='3' ORDER BY GRADE DESC//ORDER BY 子句 SELECT AVG(Grade) FROM SC WHERE Cno='2';//聚集函數(shù) SELECT Sno,MAX(Grade) FROM SC WHERE Cno='2'; SELECT Sno,AVG(Grade) avg FROM SC GROUP BY Sno avg >=80;//GROUP BY子句//連接查詢(xún) SELECT Student.*,SC.* FROM Student,SC WHERE Student.Sno=SC.Sno;//自然連接 SELECT Student.Sno,Sname FROM Student,SC where Student.Sno=SC.Sno AND Cno='2' AND Grade > 80; SELECT ONE.Cno,THREE.Cpno,FROM Course ONE,Course TWO,Course THREE WHERE ONE.Cpno=TWO.Cno AND TWO.Cpon=THREE.Cno;//自身連接 SELECT Sno,SC.Cno,Grade,Course.Cno,Cname,Cpno,Ccredit FROM SC INNER JOIN Course ON (SC,Cno=Course.Cno);//INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL JOIN//嵌套查詢(xún) SELECT Student.Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Studetn WHERE Snmae="劉晨");//IN謂詞查詢(xún) SELECT Sno,Cno FROM SC x WHERE Grade >=(SELECT AVG(Grade) FROM SC WHERE x.Sno=Sno)//帶有比較運(yùn)算符的查詢(xún) SELECT Sname,Sage FROM Student WHERE Sage < ANY(Select Sage from student WHERE Sdept='CS') AND Sdept!='CS';//帶有ANY(SOME)或ALL謂詞的子查詢(xún)//插入數(shù)據(jù) INSERT INTO Student(Sno,Sname,Ssex,Sdept,Sage) VALUES('201215128','陳冬','男',IS,18);//插入元組 INSERT INTO Student('201215126','張世民','男','18','CS';); INSERT INTO Dept_age(Sdept,Age) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;//插入子查詢(xún)結(jié)果//修改數(shù)據(jù) UPDATE Student SET Sage=22 WHERE sNO='2012151002';//修改某一個(gè)元組的值 UPDATE Student SET Sage=Sage+1;//修改多個(gè)元組的值 UPDATE SC SET Grade=0 WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept='CS');//帶子查詢(xún)的修改語(yǔ)句//刪除數(shù)據(jù) DELETE FROM Student WHERE Sno='201215128'; DELETE FROM SC; DELETE FROM SC WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept='CS');//創(chuàng)建視圖視圖 CREATE VIEW IS_student AS SELECT Sno,Sname FROM Student WHERE Sdept='IS';\ CREATE VIEW Stu_Grade_Avg(Sno,Savg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno;//修改視圖 UPDATE IS_student Set Sname='劉晨' WHERE Sno='201215125' WITH CHECK OPTION;//授權(quán)授予 GRANT SELECT ON TABLE Student TO U1; GRANT ALL PRIVILEGES ON TABLE Student,Course TO U2,U3; GRANT SELECT ON TBALE SC TO PUBLIC; GRANT UPDATE(Sno),SELECT ON TBALE Student TO U4; GRANT INSERT ON TBALE SC TO U5 WITH GRANT OPTION;//允許再授權(quán)//權(quán)限回收 REVOKE UPDATE(Sno) ON TABLE Student FROM U4; REVOKE SELECT ON TABLE SC FROM PUBLIC; REVOKE INSERT ON TABLE SC FROM U5 CASCADE;//級(jí)聯(lián)收回//角色及其授權(quán)、回收 CREATE ROLE R1;//創(chuàng)建一個(gè)角色R1 GRANT SELECT,UPDATE ON TABLE Student TO R1;//讓角色擁有某種權(quán)限 GRANT R1 TO U1,U2,U3;//將角色R1擁有的權(quán)限賦給用戶(hù) REVOKE R1 FROM U1;//通過(guò)角色收回權(quán)限//完整性約束命名子句 CREATE TABLE Student//創(chuàng)建 (Sno NUMERIC(6) CONSTRAINT C1 CHECK(Sno BETWEEN 1 AND 100),Sname CHAR(20) CONSTRAINT C2 NOT NULL,Ssex CHAR(2) CONSTRAINT C3 CHECK(Ssex IN ('男','女')),Spro CHAR(10)CONSTRAINT C4 PRIMARY KEY(Sno),CONSTRAINT C5 FOREIGN KEY(Spro) REFERENCES P(Spro) ); ALTER TABLE Student DROP CONSTRAINT C1;//刪除 ALTER TABLE Student ADD CONSTRAINT C1 CHECK(Sno BETWEEN 1 AND 10);//修改//斷言 CREATE ASSERTION ASS CHECK (60 >=ALL(SELECT count(*)FROM SCGROUP BY Cno));//參照完整性中當(dāng)刪除或修改被參照表時(shí)參照表所作的動(dòng)作 CREATE TABLE SC (Sno CHAR(9)Sno CHAR(4) Grade SMALLINT,//是外碼也是主碼,故不能取空值,實(shí)體完整性PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno)ON DELETE CASCADE //刪除Student表的元組時(shí),級(jí)聯(lián)刪除本表相應(yīng)元組ON UPDATE CASCADE, //更新Student表中的Sno時(shí),級(jí)聯(lián)更新本表相應(yīng)元組FOREIGN KEY(Cno) REFERENCES Course(Cno)ON DELETE NO ACTION //刪除Course表的元組造成不一致時(shí),拒絕執(zhí)行ON UPDATE CASCADE //更新Course表中的Cno時(shí),級(jí)聯(lián)更新本表相應(yīng)元組 );

(2)典型例題

【答案】

SELECT * FROM S WHERE A='10';SELECT A,B FROM S;SELECT A,B,S.C,S.D,E,F FROM S,T WHERE S.C=T.C AND S.D=T.D;SELECT * FROM S,T WHERE S.C=T.C;SELECT * FROM S,T WHERE A<E;SELECT S.C,S.D,T.* FROM S,T;


  • 題目鏈接:(數(shù)據(jù)庫(kù)系統(tǒng)概論|王珊)第二章關(guān)系數(shù)據(jù)庫(kù):習(xí)題

【答案】

SELECT SNO FROM SPJ WHERE JNO='J1';SELECT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1';SELECT SPJ.SNO FROM SPJ,P WHERE SPJ.PNO=P.PNO AND JNO='J1' AND COLOR='紅';SELECT JNO FROM SPJ WHERE JNO NOT IN (SELECT JNO FROM SPJ,S,P WHERE S.CITY='天津' AND COLOR='紅' AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO)①:先查詢(xún)S1供應(yīng)的零件號(hào) SELECT PNO FROM SPJ WHERE SNO='S1' ,其結(jié)果為(P1,P2) ②:查詢(xún)哪一個(gè)工程即使用P1又使用P2 SELECT JON FROM SPJ WHERE PNO='P1' AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2');

SELECT SNAME,CTIY FROM S;SELECT PNAME,COLOR,WEIGHT FROM P;SELECT JNO FROM SPJ WHERE SNO='S1';SELECT PNAME,QTY FROM P,SPJ WHERE SPJ.PNO=P.PNO AND JNO='J2';SELECT PNO FROM SPJ,S WHERE SPJ.SNO=S.SNO AND S.CITY='上海';SELECT JNAME FROM SPJ,S,J WHERE SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND S.CITY='上海';SELECT JNO FROM SPJ WHERE JNO NOT IN(SELECT JNO FROM SPJ,S WHERE SPJ.SNO=S.SNO AND S.CITY='天津' );UPDATE P SET COLOR='藍(lán)' WHERE COLOR='紅';UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6';DELETE FROM S WHERE SNO='S2' DELETE FROM SPJ WHERE SNO='S2';INSERT INTO SPJ VALUES('S2','J6','P4',200);

【答案】

CREATE VIEW VSP AS SELECT SNO,SPJ.PNO,QTY FROM SPJ,J WHERE PPJ.JNO=J.JNO AND J.JNAME='三建'SELECT PNO,QTY FROM VSPSELECT * FROM VSP WHERE SNO='S1';

【答案】

GRANT ALL PRIVILEGES ON Student,Class TO U1 WITH CHECK OPTION;GRANT SELECT,UPDATE(Address) ON Student TO U2GRANT SELECT ON Class to PUBLICGRANT SELECT,UPDATE ON Student TO R1;GRANT R1 TO U1 WITH CHECK OPTION;

  • 職工:Workers
  • 部門(mén):Department

【答案】

1GRANT SELECT ON Workers,Department TO 王明;2GRANT INSERT,DELETE ON Workers,Department TO 李勇;3GRANT SELECT ON Workers WHEN USER()=NAME TO ALL;(4) GRANT SELECT,UPDATE(工資)ON Workers TO 劉星;5GRANT ALTER TABLE ON Workers,Department TO 張新;6GRANT ALL PRIVILEGES ON Workers,Department TO 周平 WITH CHECK OPTION;7CREATE VIEW 部門(mén)工資 ASSELECT 部門(mén).名稱(chēng),MAX(工資),MIN(工資),AVG(工資)FROM 職工,部門(mén)WHERE 職工.部門(mén)號(hào)=部門(mén).部門(mén)號(hào)GROUP BY 職工.部門(mén)號(hào)GRANT SELECT ON 部門(mén)工資 TO 楊蘭;

【答案】

  • 把GRANT換成REVOKE,把TO換成FROM即可

三:查詢(xún)樹(shù)及其優(yōu)化

(1)說(shuō)明

  • 關(guān)于查詢(xún)及查詢(xún)優(yōu)化見(jiàn)此文章:(數(shù)據(jù)庫(kù)系統(tǒng)概論|王珊)第九章關(guān)系查詢(xún)處理和關(guān)系優(yōu)化-第三節(jié):查詢(xún)優(yōu)化之代數(shù)優(yōu)化

  • 主要會(huì)畫(huà)三種樹(shù):最初的語(yǔ)法樹(shù),關(guān)系代數(shù)語(yǔ)法樹(shù),優(yōu)化后的查詢(xún)樹(shù)

  • 題目一般會(huì)給你SQL語(yǔ)句(或者這個(gè)SQL語(yǔ)句都要你自己寫(xiě)),然后根據(jù)畫(huà)出其對(duì)應(yīng)的語(yǔ)法樹(shù),接著根據(jù)優(yōu)化規(guī)則進(jìn)行優(yōu)化

(2)典型例題

【答案】

首先將SQL語(yǔ)句轉(zhuǎn)為關(guān)系代數(shù)表達(dá)式

ΠCname(σStudent.Sdept=′IS′(σSC.Cno=Course.Cno(σStudent.Sno=SC.Sno(Student×SC)×Course)))\Pi_{Cname}(\sigma_{Student.Sdept='IS'}(\sigma_{SC.Cno=Course.Cno}(\sigma_{Student.Sno=SC.Sno }(Student × SC) × Course)))ΠCname?(σStudent.Sdept=IS?(σSC.Cno=Course.Cno?(σStudent.Sno=SC.Sno?(Student×SC)×Course)))

將關(guān)系代數(shù)表達(dá)式轉(zhuǎn)為查詢(xún)樹(shù)


優(yōu)化



【答案】


【例】查詢(xún)選修了數(shù)據(jù)庫(kù)課程的女生學(xué)號(hào)與姓名,如下是SQL語(yǔ)句

SELECT Student.Sno,Sname FROM Student,SC,Course WHERE Cname='datebase' AND Ssex='女';

將SQL語(yǔ)句轉(zhuǎn)為關(guān)系代數(shù)表達(dá)式

ΠSno,Sname(σCname=′數(shù)據(jù)庫(kù)′∧Ssex=′女′(SC?Course?Student))\Pi_{Sno,Sname}(\sigma_{Cname='數(shù)據(jù)庫(kù)' \land Ssex='女'}(SC \bowtie Course \bowtie Student))ΠSno,Sname?(σCname=數(shù)據(jù)庫(kù)Ssex=?(SC?Course?Student))

將關(guān)系代數(shù)表達(dá)式轉(zhuǎn)為查詢(xún)樹(shù)

查詢(xún)樹(shù)優(yōu)化

①:選擇條件復(fù)雜,先分解選擇條件


②:將選擇運(yùn)算盡可能移動(dòng)到樹(shù)的葉端


③:涉及了投影運(yùn)算,所以也把它盡可能移動(dòng)到樹(shù)的葉端

  • 投影運(yùn)算下移時(shí)要保留連接屬性


④:對(duì)內(nèi)結(jié)點(diǎn)進(jìn)行分組

四:E-R模型轉(zhuǎn)關(guān)系模型

(1)說(shuō)明

  • 詳細(xì)轉(zhuǎn)換規(guī)則見(jiàn):(數(shù)據(jù)庫(kù)系統(tǒng)概論|王珊)第七章數(shù)據(jù)庫(kù)設(shè)計(jì)-第四節(jié):邏輯結(jié)構(gòu)設(shè)計(jì)
  • 轉(zhuǎn)換的過(guò)程中,能當(dāng)作實(shí)體就當(dāng)做實(shí)體
  • 基本考法就是先讓你畫(huà)E-R圖,然后轉(zhuǎn)為關(guān)系模型

注意

  • 同一實(shí)體間1:m 聯(lián)系:可以在這個(gè)實(shí)體所對(duì)應(yīng)的關(guān)系中多設(shè)一個(gè)屬性,作為與該實(shí)體相聯(lián)系的另一個(gè)實(shí)體的主碼
  • 同一實(shí)體間m:n 聯(lián)系:要為聯(lián)系單獨(dú)建立一個(gè)實(shí)體,該實(shí)體包含它所聯(lián)系的實(shí)體的主碼,同時(shí)把聯(lián)系的屬性納入其中
  • 兩實(shí)體間1:1聯(lián)系:把聯(lián)系的屬性和一方實(shí)體的主碼納入到另一個(gè)實(shí)體中
  • 兩實(shí)體間1:m聯(lián)系:可以將“1”方實(shí)體的主碼納入“m”方實(shí)體對(duì)應(yīng)的關(guān)系中作為外碼,同時(shí)把聯(lián)系的屬性也一并納入“m”方對(duì)應(yīng)的關(guān)系中
  • 兩實(shí)體間m:n聯(lián)系:必須對(duì)“聯(lián)系”單獨(dú)建立一個(gè)關(guān)系,該關(guān)系中至少包含被它所聯(lián)系的雙方實(shí)體的主碼,如果聯(lián)系也有屬性,也一并納入該關(guān)系中
  • 兩實(shí)體間弱實(shí)體聯(lián)系:可以將被依賴(lài)實(shí)體的主碼納入弱實(shí)體中,作為弱實(shí)體的主碼或主碼的一部分
  • 兩個(gè)以上實(shí)體間m:n:必須對(duì)“聯(lián)系”單獨(dú)建立一個(gè)關(guān)系,該關(guān)系中至少包含被它所聯(lián)系的雙方實(shí)體的主碼,如果聯(lián)系也有屬性,也一并納入該關(guān)系中

(2)典型例題

五:有關(guān)范式

(1)說(shuō)明

  • 詳細(xì)內(nèi)容請(qǐng)點(diǎn)擊跳轉(zhuǎn):(數(shù)據(jù)庫(kù)系統(tǒng)概論|王珊)第六章關(guān)系數(shù)據(jù)理論-第二節(jié):規(guī)范化
  • 主要考察:判斷是否為第幾范式;如果不是如何解決(分解)
  • 重點(diǎn)考察:3NF和BCNF,其中判斷是否為BCNF就是看“每一個(gè)決定因素是否都包含碼”(也即不存在任何屬性對(duì)碼的傳遞函數(shù)依賴(lài)和部分函數(shù)依賴(lài))

(2)典型例題


假設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有一關(guān)系模式R如下:
R (商店編號(hào),商品編號(hào),數(shù)量,部門(mén)編號(hào),關(guān)系模式),若規(guī)定
(1) 每個(gè)商店的每種商品只在一個(gè)部門(mén)銷(xiāo)售;
(2) 每個(gè)商店的每個(gè)部門(mén)只有一個(gè)負(fù)責(zé)人;
(3) 每個(gè)商店的每種商品只有一個(gè)庫(kù)存數(shù)量。
試回答下列問(wèn)題:
(1) 根據(jù)上述規(guī)定,寫(xiě)出關(guān)系模式R的基本函數(shù)依賴(lài);
(2) 找出關(guān)系模式R的候選碼;
(3) 試問(wèn)關(guān)系模式R最高已經(jīng)達(dá)到第幾范式?為什么?
(4) 如果R不屬于3NF,請(qǐng)將R分解成3NF模式集

(1)

  • (商店編號(hào),商品編號(hào))->部門(mén)編號(hào)
  • (商店編號(hào),部門(mén)編號(hào))->負(fù)責(zé)人
  • (商店編號(hào),商品編號(hào))->庫(kù)存數(shù)量

(2)(商店編號(hào),商品編號(hào))

(3)顯而易見(jiàn),存在非主屬性對(duì)碼的傳遞函數(shù)依賴(lài)(即(商店編號(hào),商品編號(hào))->部門(mén)編號(hào),又(商店編號(hào),部門(mén)編號(hào))->負(fù)責(zé)人,所以(商店編號(hào),商品編號(hào))->負(fù)責(zé)人)。因此它是2NF,不是3NF

(4)分解

  • R1(商店編號(hào),商品編號(hào),庫(kù)存數(shù)量,部門(mén)編號(hào))
  • R2(商店編號(hào),商品編號(hào),負(fù)責(zé)人)

設(shè)有關(guān)系模式R(A, B, C, D, E),R中的屬性均不可再分解,若只基于函數(shù)依賴(lài)進(jìn)行討論,試根據(jù)給定的函數(shù)依賴(lài)集F,分析R最高屬于第幾范式,并說(shuō)明原因。
(1) F={AB→C, AB→E, CDE→AB}; ABD CDE
(2) F={CD→A, CD→B, AB→E}。 CD

(1)最高屬于3NF。因?yàn)楹蜻x碼是CDE,ABD,但AB作為決定性因素,卻不包含碼,也即存在主屬性對(duì)碼的部分函數(shù)依賴(lài)

(2)最高屬于2NF。因?yàn)楹蜻x碼是CD,且存在非主屬性E對(duì)碼的傳遞函數(shù)依賴(lài)

六:關(guān)于數(shù)據(jù)庫(kù)恢復(fù)

(1)說(shuō)明

  • 具體請(qǐng)?zhí)D(zhuǎn):(數(shù)據(jù)庫(kù)系統(tǒng)概論|王珊)第十章數(shù)據(jù)庫(kù)恢復(fù)技術(shù)-第四、五、六、七節(jié):數(shù)據(jù)庫(kù)恢復(fù)技術(shù)和數(shù)據(jù)庫(kù)鏡像

(2)典型例題


【答案】
(1)T1T_{1}T1?T3T_{3}T3?重做;T2T_{2}T2?T4T_{4}T4?回滾

(2)T1T_{1}T1?重做;T2T_{2}T2?T3T_{3}T3?回滾

(3)T1T_{1}T1?重做;T2T_{2}T2?T3T_{3}T3?回滾

(4)T1T_{1}T1?重做;T2T_{2}T2?回滾



【答案】

(1)A=8、B=7、C=11

(2)A=10、B=0、C=11

(3)A=10、B=0、C=11

(4)A=10、B=0、C=11

(5)A=0、B=0、C=0


具有檢查點(diǎn)的恢復(fù)技術(shù)

系統(tǒng)出現(xiàn)故障時(shí),恢復(fù)子系統(tǒng)將根據(jù)事務(wù)的不同狀態(tài)采取不同的恢復(fù)策略,如下圖

  • T1T_{1}T1?:在檢查點(diǎn)之前提交
  • T2T_{2}T2?:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在檢查點(diǎn)之后故障點(diǎn)之前提交
  • T3T_{3}T3?:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成
  • T4T_{4}T4?:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)之前提交
  • T5T_{5}T5?:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成

  • T3T_{3}T3?T5T_{5}T5?在故障發(fā)生時(shí)還未完成,所以予以撤銷(xiāo);
  • T2T_{2}T2?T4T_{4}T4?在檢查點(diǎn)之后才提交,它們對(duì)數(shù)據(jù)庫(kù)所做的修改在故障發(fā)生時(shí)可能還在緩沖區(qū)中,尚未寫(xiě)入數(shù)據(jù)庫(kù),所以要重做;
  • T1T_{1}T1?在檢查點(diǎn)之前已提交,所以不必執(zhí)行重做操作

系統(tǒng)使用檢查點(diǎn)方法進(jìn)行恢復(fù)的步驟是:

①:從重新開(kāi)始文件中找到最后一個(gè)檢查點(diǎn)記錄在日志文件中的地址,由該地址在日志文件中找到最后一個(gè)檢查點(diǎn)記錄

②:由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)行的事務(wù)清單ACTIVE-LIST。建立如下兩個(gè)事物隊(duì)列

  • UNDO-LIST:需要執(zhí)行UNDO操作的事物集合
  • REDO-LIST:需要執(zhí)行REDO操作的事物集合

③:從檢查點(diǎn)開(kāi)始正向掃描日志文件

  • 如果有新開(kāi)始的事物TiT_{i}Ti?,則把TiT_{i}Ti?暫時(shí)放入U(xiǎn)NDO-LIST
  • 如果有新提交的事物TjT_{j}Tj?,則把TjT_{j}Tj?從UNDO-LIST移到REDO-LIST
  • 重復(fù),直到掃描日志文件結(jié)束

④:對(duì)UNDO-LIST中的每個(gè)事物執(zhí)行UNDO操作;對(duì)REDO-LIST中每個(gè)事物執(zhí)行REDO操作


用上圖所示的例子,恢復(fù)步驟如下

①:建立ACTIVE-LIST,很明顯ACTIVE-LIST={T2T_{2}T2?,T3T_{3}T3?}。然后初始化UNDO-LIST={T2T_{2}T2?,T3T_{3}T3?},REDO-LIST={}

②:從檢查點(diǎn)開(kāi)始正向掃描日志文件

  • 第一個(gè)讀到的是事物T4T_{4}T4?建立,加入U(xiǎn)NDO-LIST
  • 第二個(gè)讀到的是事物T2T_{2}T2?提交,那么把T2T_{2}T2?從UNDO-LIST移動(dòng)到REDO-LIST
  • 第三個(gè)讀到的是事物T5T_{5}T5?建立,加入U(xiǎn)NDO-LIST
  • 第四個(gè)讀到的是事物T5T_{5}T5?提交,那么把T5T_{5}T5?從UNDO-LIST移動(dòng)到REDO-LIST

③:對(duì)UNDO-LIST中的每個(gè)事物執(zhí)行UNDO操作;對(duì)REDO-LIST中每個(gè)事物執(zhí)行REDO操作

七:閉包

(1)說(shuō)明

這屬于離散數(shù)學(xué)的內(nèi)容,專(zhuān)業(yè)的就不多說(shuō)了,下面有一個(gè)經(jīng)典的例子

U={A,B,C,D,E},R={AB->C , B->D , C->E , EC->B , AC->B},求(AB)R+_{R}^{+}R+?

  • 設(shè)X0^{0}0=AB
  • 又因?yàn)锳B->C,B->D,所以X1^{1}1=ABCD
  • 因?yàn)閄0≠^{0}\neq0?=X1^{1}1,繼續(xù)查找(否則X1^{1}1就是閉包)
  • 又因?yàn)镃->E,所以X2^{2}2=ABCDE
  • 所以(AB)R+_{R}^{+}R+?=ABCDE

(2)典型例題

設(shè)有函數(shù)依賴(lài)集F={AB→CE, A→C, GP→B, EP→A, CDE→P, HB→P, D→HG, ABC→PG},求屬性D關(guān)于F的閉包D+^{+}+

  • 設(shè)X0^{0}0=D
  • 又因?yàn)镈→HG,所以X1^{1}1=DHG,X0≠^{0}\neq0?=X1^{1}1
  • X2^{2}2=DHG,此時(shí)X1^{1}1=X2^{2}2
  • 所以D+^{+}+=DHG

設(shè)有函數(shù)依賴(lài)集F={AC→PE, PG→A, B→CE, A→P, GA→B, GC→A, PAB→G, AE→GB, ABCP→H},求屬性集BG關(guān)于F的閉包(BG)+

  • X0^{0}0=BG
  • X1^{1}1=BGCE
  • X2^{2}2=BGCEA
  • X3^{3}3=BGCEAP
  • X3^{3}3=BGCEAPH=U
  • 故(BG)+=BGCEAPH

八:求解候選碼

(1)說(shuō)明

設(shè)關(guān)系模式R中U=ABC…等N個(gè)屬性,U中的屬性在F中有四個(gè)范圍

  • 左右出現(xiàn)
  • 只在左部出現(xiàn)
  • 只在右部出現(xiàn)
  • 不在左右出現(xiàn)
  • 算法:按照以下步驟求解候選碼

  • 只在F右部出現(xiàn)的屬性,不屬于候選碼
  • 只在F左部出現(xiàn)的屬性,一定存在于某候選碼當(dāng)中
  • 量變都沒(méi)有出現(xiàn)的結(jié)點(diǎn),一定存在于候選碼中
  • 其他屬性逐個(gè)與2,3的屬性組合,求屬性閉包,直至X的閉包等于U,若等于U,則X為候選碼
  • 比如

    R{ABCDE}
    F(AB->C,AB->E,CDE->AB)

    • 可以發(fā)現(xiàn)沒(méi)有只在右部出現(xiàn)的屬性
    • D只在左部出現(xiàn),所以一定在候選碼中

    現(xiàn)在剩余A,B,C,E,先進(jìn)行單個(gè)結(jié)合求屬性閉包

    • 對(duì)于A(yíng)D:AD+^{+}+=AD
    • 對(duì)于BD:BD+^{+}+=BD
    • 對(duì)于CD:CD+^{+}+=CD
    • 對(duì)于ED:ED+^{+}+=ED

    不滿(mǎn)足條件,再結(jié)合

    • 對(duì)于ABD:ABD+^{+}+=U
    • 對(duì)于A(yíng)CD:ACD+^{+}+=ACD
    • 對(duì)于A(yíng)ED:AED+^{+}+=AED
    • 對(duì)于BCD:BCD+^{+}+=BCD
    • 對(duì)于BED:BED+^{+}+=BED
    • 對(duì)于CED:CED+^{+}+=U

    所以候選碼是ABD或CED

    (2)典型例題

    已知R(U,F),U=(A,B,C,D,E,G),F={AB->C,CD->E,E->A,A->G}。求候選碼

    • 其中G只出現(xiàn)在右部,所以一定不屬于候選碼
    • 其中B,D只出現(xiàn)在左部,一定存在于某候選碼中

    現(xiàn)在剩余A,C,E,先單個(gè)結(jié)合

    • 對(duì)于A(yíng)BD:ABD+^{+}+=ABCDEG=U
    • 對(duì)于CBD:CBD+^{+}+=U
    • 對(duì)于BDE:BDE+^{+}+=U

    候選碼是ABD,CBD,BDE

    九:有關(guān)鎖的問(wèn)題

    (1)說(shuō)明

    • 詳細(xì)內(nèi)容請(qǐng)條件:https://zhangxing-tech.blog.csdn.net/article/details/122767899

    (2)典型例題

    (1)

    a:t1時(shí)刻甲事務(wù)讀x=1000,t2時(shí)刻乙事務(wù)讀取x=1000,t3時(shí)刻x被更新為700,t4時(shí)刻,乙所更新的x還是之前讀取到的那個(gè)x,所以x=800

    b:Xlock x
    c:W(x)=700
    d:R(x)=700
    e:x<-x-200
    f:Unlock x

    (2)給定一個(gè)并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為它是正確的調(diào)度。其中可串行化調(diào)度是指多個(gè)事務(wù)的并發(fā)執(zhí)行結(jié)果是正確的,并且僅當(dāng)其結(jié)果與按照某一次序串行執(zhí)行這些事務(wù)時(shí)的結(jié)果相同,稱(chēng)這種調(diào)度策略為可串行化調(diào)度


    a:SLOCK B
    b:XLOCK A
    c:寫(xiě)回A(=3)
    d:X=A=3
    e:UNLOCK A

    總結(jié)

    以上是生活随笔為你收集整理的【数据库题型大总结】应用题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩国产亚洲欧美 | 情侣黄网站免费看 | 华丽的外出在线观看 | 97神马影院| 污视频网站在线 | 不卡精品视频 | 天堂网8| www.久草.com| 懂色av蜜臀av粉嫩av分享 | 成年人午夜网站 | sao浪受的饥渴日常 91免费入口 | 红桃视频国产精品 | 在线免费91 | 自拍偷拍亚洲欧洲 | 国产精品电影一区二区三区 | 国产91丝袜在线播放 | youjizz韩国| 日韩欧美成人一区二区三区 | 一区二区三区在线观 | 中文字幕免费高清 | 特大黑人巨交吊性xxxx视频 | 三极片黄色 | 久久久天堂国产精品女人 | 日韩成人av免费在线观看 | 国产午夜精品一区二区理论影院 | 亚洲久久一区 | 五月激情六月丁香 | 在线免费观看黄色av | 不卡日本| 欧美在线免费 | 中字av在线| 日本特黄色片 | 欧美a视频在线观看 | 7777奇米影视 | 国产色无码精品视频国产 | 日本三级一区二区 | 国产精品第12页 | 人妻夜夜爽天天爽三区麻豆av网站 | 艳妇臀荡乳欲伦交换电影 | 97久久久久 | 动漫美女揉胸 | 国产乱淫av一区二区三区 | 国产成人精品免费在线观看 | 成人区精品一区二区婷婷 | 色偷偷免费费视频在线 | 亚洲少妇中文字幕 | 琪琪色在线视频 | 91久久精品在线 | 婷婷久久综合网 | 国产初高中真实精品视频 | 成人动漫免费在线观看 | 日韩一级高清 | 国内精品久久久久 | 色综合天天色 | 色片免费观看 | av在线小说 | 日韩激情欧美 | 国产在线看片 | 丰满少妇在线观看资源站 | 日韩影院在线 | 老妇裸体性猛交视频 | 成人黄色片免费看 | 中文字幕av观看 | 久久精品一区二区在线观看 | 精品一区在线 | 美女啪啪免费视频 | 天堂中文资源在线观看 | 麻豆蜜桃av | 精品伦理一区二区 | 视频一区二区在线播放 | 国产成人无码一二三区视频 | 99精品自拍 | 91性高潮久久久久久久 | www.欧美激情 | 色欲欲www成人网站 老色鬼av | 国产口爆吞精一区二区 | 性欧美17一18内谢 | 三级a毛片 | 亚洲婷婷久久综合 | 波多野吉衣av无码 | 伊人网av| 日韩无码专区 | 黄色三级av| 色屁屁www| 日本少妇bb | 欧美一级黄色片网站 | 国产性久久 | wwwxxx黄色片 | 中国少妇初尝黑人巨大 | 国产一区二区三区免费观看视频 | 亚日韩| 国产区小视频 | 成人黄色片在线观看 | 国产一区精品久久 | 岛国av一区二区 | 中文字幕在线免费 | 九九九视频在线观看 | 亚洲精品xxxxx | 97人妻精品一区二区 |