【文章內(nèi)容簡(jiǎn)介】
立性,模式/內(nèi)模式映像反映了數(shù)據(jù)的物理獨(dú)立性 數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、和完整性約束三要素組成關(guān)系模型是第二代數(shù)據(jù)庫(kù)的主要特征,其結(jié)構(gòu)比較簡(jiǎn)單,數(shù)據(jù)本身以二維表形式進(jìn)行存儲(chǔ),表之間的數(shù)據(jù)聯(lián)系是通過一個(gè)表的碼與另一個(gè)表的碼的連接來(lái)實(shí)現(xiàn)的。數(shù)據(jù)邏輯獨(dú)立性是指模式改變,外模式和應(yīng)用程序不變。物理獨(dú)立性是指內(nèi)模式改變,模式不變數(shù)據(jù)庫(kù)系統(tǒng)中,用概念模式(即模式)描述全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)中用戶使用的數(shù)據(jù)視圖用外模式描述,它是用戶與數(shù)據(jù)庫(kù)系統(tǒng)的接口 ∏是投影運(yùn)算,倒寫的6字是選擇運(yùn)算 笛卡爾積重點(diǎn)看一下P27中間部分舉的例子 記錄是字段的有序集合字段:標(biāo)記實(shí)體屬性的命名單位稱為字段如學(xué)生有學(xué)號(hào)、姓名、年齡、性別等字段 元祖:二維表中的行即記錄值稱為元祖增刪改查語(yǔ)句對(duì)應(yīng)的關(guān)鍵字分別為INSERT、DELETE、UPDATE、SELECT 修改表的結(jié)構(gòu)使用的是ALTER TABLE語(yǔ)句添加一列用ADD關(guān)鍵字、修改一列用ALTER COLUMN 刪除一列用DROP COLUMN 如ALTER TABLE student ADD 身份證號(hào) VARCHAR(18)。表示修改student表的結(jié)構(gòu),在其中添加身份證號(hào)一列(主) , 開啟事務(wù):BEGIN TRANSATION 提交事務(wù):COMMIT TRANSACTION 回滾事務(wù):ROLLBACK TRANSACTION 主鍵:PRIMARY KEY 外鍵:FOREIGN KEY 實(shí)體之間的聯(lián)系有1:1:m、m:n,即1對(duì)1,一對(duì)多、多對(duì)多 聚合函數(shù):SUM:求和 MAX:求最大值 COUNT:計(jì)數(shù) AVG:求平均值 GRANT:授權(quán) REVOKE:收回權(quán)限 CONSTRAINT:約束數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、數(shù)據(jù)庫(kù)實(shí)現(xiàn)階段、數(shù)據(jù)庫(kù)的運(yùn)行與維護(hù)階段事務(wù)具有四個(gè)特征原子性、一致性、隔離性、持久性 P116參考答案:1. 題干:數(shù)據(jù)庫(kù)中有四張表客戶表:Customers、代理人表Agents、產(chǎn)品表Products和訂單表Orders;其中客戶表Customers各屬性如下:Cid 客戶編號(hào)、Cname客戶名、City客戶所在城市 代理人表Agents各如下屬性Aid代理人編號(hào)、Aname代理人姓名、City代理人所在城市 產(chǎn)品表Products中各屬性如下Pid產(chǎn)品編號(hào)、Pname產(chǎn)品名稱、Quantity產(chǎn)品銷售數(shù)量、Price產(chǎn)品單價(jià) 訂單表Orders表中各屬性如下 Ord_no訂單號(hào)、Month訂單月份,Cid客戶編號(hào)、Aid代理人編號(hào)、Pid產(chǎn)品編號(hào)、Qty訂貨數(shù)量、Amount訂貨總金額;根據(jù)以上四個(gè)表編寫存儲(chǔ)過程實(shí)現(xiàn)如下要求:①CREATE PROCEDURE pro_update_products @pid CHAR(10)AS UPDATE products SET price=price+ WHERE pid=@pid GO ②插入一個(gè)新的產(chǎn)品記錄到產(chǎn)品表Products中CREATE PROCEDURE pro_insert_products @pid CHAR(10), @pname VARCHAR(30), @quantity INT, @price FLOAT AS INSERT INTO products VALUES(@pid,@pname,@quantity,@price)GO③查詢某客戶通過某代理訂購(gòu)產(chǎn)品的訂貨總量 CREATE PROCEDURE pro_Query_Amount @ame VARCHAR(20), @aname VARCHA(20)AS SELECT Amount FROM Customers c,Orders o,Agents a WHERE = AND = AND =@ame AND =@aname GO①當(dāng)向產(chǎn)品表products插入數(shù)據(jù)時(shí),,同時(shí)提示用戶“” CREATE TRIGGER tri_products ON products FOR INSERT AS DECLARE @pid CHAR(10),@price FLOAT SELECT @pid=pid,@price=price FROM INSERTED IF @price②當(dāng)訂單表Orders中的訂貨數(shù)量有變動(dòng)時(shí),觸發(fā)器自動(dòng)修改該項(xiàng)訂單的訂貨總金額Amount CREATE TRIGGER tri_orders ON Orders FOR UPDATE AS DECLARE @ord_no CHAR(10),@pid CHAR(10),@Qty INT,@price FLOAT IF UPDATE(Qty)BEGIN SELECT @ord_no,@pid=pid,@Qty=Qty FROM INSERTED SELECT @price=price FROM products WHERE pid=@pid UPDATE Orders SET Amount=@price*@Qty WHERE Ord_no=@ord_NO END GO第四章第2題的參考答案P91 設(shè)有三個(gè)關(guān)系S(S,SNAME,SEX,AGE)SC(S,C,GRADE)C(C,CNAME,TEACHER)用select語(yǔ)句完成下列查詢①檢索LIU老師所受課程的課程號(hào)和課程名SELECT C,CNAME FROM C WHERE TEACHER=’LIU’;②檢索年齡大于23歲的男同學(xué)的學(xué)號(hào)和姓名SELECT S,SNAME FROM S WHERE SEX=’男’ AND AGE23;③檢索學(xué)號(hào)為S3的學(xué)生所學(xué)課程的課程名與授課老師名SELECT CNAME,TEACHER FROM SC,C WHERE = AND =’S3’;④檢索至少選修LIU老師所受課程中一門課程的女學(xué)生姓名SELECT DISTINCT SNAME FROM S,SC WHERE =’女’ AND = AND =ANY(SELECT C FROM C WHERE TEACHER=’LIU’); ⑤檢索WANG同學(xué)不學(xué)課程的課程號(hào)SELECT C FROM C WHERE C NOT IN(SELECT C FROM SC,S WHERE = AND =’WANG’);⑥檢索至少選修兩門課的學(xué)生學(xué)號(hào)SELECT S FROM SC GROUP BY S HAVING COUNT(C)=2; ⑦檢索全部學(xué)生都選修的課程的課程號(hào)和課程名SELECT C,CNAME FROM C WHERE C IN(SELECT C FROM SC WHERE S=ALL(SELECT S FROM S))⑧檢索選修課程包含LIU老師所受全部課程的學(xué)生學(xué)號(hào)SELECT S FROM SC WHERE C =ALL(SELECT C FROM C WHERE TEACHER=’LIU’)第三篇:數(shù)據(jù)庫(kù)復(fù)習(xí)總結(jié)第一章數(shù)據(jù)庫(kù)系統(tǒng)概論1.試述數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)的概念。數(shù)據(jù):描述事物的符號(hào)記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有文字、圖形、圖象、聲音、正文等等。數(shù)據(jù)與其語(yǔ)義是不可分的。數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。數(shù)據(jù)庫(kù)系統(tǒng):數(shù)據(jù)庫(kù)系統(tǒng)(DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫(kù)系統(tǒng)由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員構(gòu)成。數(shù)據(jù)庫(kù)管理系統(tǒng):數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)的運(yùn)行管理功能、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。2.什么是數(shù)據(jù)獨(dú)立性?數(shù)據(jù)獨(dú)立性又分為哪兩個(gè)層次?為什么需要數(shù)據(jù)獨(dú)立性?數(shù)據(jù)獨(dú)立性是用來(lái)描述數(shù)據(jù)與應(yīng)用程序之間的依賴程度,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性,依賴程度越低則獨(dú)立性越高物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí)相互獨(dú)立的。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。作用:數(shù)據(jù)在磁盤上怎樣存儲(chǔ)由DBMS管理,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。數(shù)據(jù)獨(dú)立性是通過數(shù)據(jù)庫(kù)管理系統(tǒng)的兩層映像功能來(lái)實(shí)現(xiàn) 3.什么是數(shù)據(jù)模型?數(shù)據(jù)模型的基本要素有哪些?為什么需要數(shù)據(jù)模型?數(shù)據(jù)模型是描述數(shù)據(jù)語(yǔ)義、數(shù)據(jù)與數(shù)據(jù)之間聯(lián)系(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)操作,以及一致性約束的概念和工具的集合數(shù)據(jù)模型的基本要素:①數(shù)據(jù)結(jié)構(gòu):是所研究的對(duì)象類型的集合,是對(duì)系統(tǒng)的靜態(tài)特性的描述。②數(shù)據(jù)操作:是指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。③數(shù)據(jù)的約束條件:是完整性規(guī)則的集合,完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。作用:一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集合。這些概念精確地描述系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性和完整性約束條件。4.為什么數(shù)據(jù)模型要分為概念模型,邏輯模型和物理模型三類?試分別解釋概念模型、邏輯模型和物理模型為什么:數(shù)據(jù)模型應(yīng)滿足3方面的要求:一是能比較真實(shí)的模擬現(xiàn)實(shí)世界;二是容易被人所理解;三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。一種數(shù)據(jù)模型要很好地同時(shí)滿足這3個(gè)方面的要求是很困難的,因此,在數(shù)據(jù)庫(kù)管理系統(tǒng)中這對(duì)不同的使用對(duì)象和應(yīng)用目的,采用不同的數(shù)據(jù)模型。概念模型:指概念層次的數(shù)據(jù)模型,也稱為信息模型,它按用戶的觀點(diǎn)或認(rèn)識(shí)對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)和信息進(jìn)行建模,主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)。常用的概念模型有實(shí)體聯(lián)系模型(ER模型)和面向?qū)ο驩O模型邏輯模型;用來(lái)描述數(shù)據(jù)庫(kù)數(shù)據(jù)的整體邏輯結(jié)構(gòu)。傳統(tǒng)的邏輯數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型,非傳統(tǒng)的邏輯數(shù)據(jù)模型有面向?qū)ο竽P汀ML模型等物理模型用來(lái)描述數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法 5.關(guān)系模型中的主要概念有哪些,試分別解釋之。關(guān)系模型由一組關(guān)系組成,每個(gè)關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。關(guān)系模型中的常用術(shù)語(yǔ)有:關(guān)系、元組、屬性、碼、域、分量和關(guān)系模式等。關(guān)系模型要求關(guān)系必須是規(guī)范化的,即關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。關(guān)系數(shù)據(jù)模型的操作主要包括查詢、插入,刪除和修改(更新數(shù)據(jù))。關(guān)系數(shù)據(jù)模型的完整性約束條件包括實(shí)體完整性、參照完整性和用戶自定義完整性6.試解釋數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)和兩層映像。為什么數(shù)據(jù)庫(kù)管理系統(tǒng)要提供數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)和兩層映像?數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象三個(gè)級(jí)別。對(duì)應(yīng)于數(shù)據(jù)抽象的三個(gè)級(jí)別,數(shù)據(jù)庫(kù)管理系統(tǒng)一般也提供觀察數(shù)據(jù)庫(kù)的三個(gè)不同角度,以方便不同的而用戶使用數(shù)據(jù)庫(kù)的需要,這就是數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu);內(nèi)模式、模式和外模式為了能夠在系統(tǒng)內(nèi)部實(shí)現(xiàn)三個(gè)抽象層次的數(shù)據(jù)之間的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)管理系統(tǒng)在數(shù)據(jù)庫(kù)的三級(jí)模式之間提供了兩層映像:外模式/模式映像、模式/內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫(kù)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性 7.解釋模式、外模式、內(nèi)模式、DDL、DML等概念內(nèi)模式也稱存儲(chǔ)模式,對(duì)應(yīng)于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式模式也稱為邏輯模式,賭贏與邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖外模式也成子模式或用戶模式,對(duì)應(yīng)于視圖層數(shù)據(jù)抽象,它是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與莫以具體運(yùn)用有關(guān)的數(shù)據(jù)的邏輯表示數(shù)據(jù)庫(kù)模式定義語(yǔ)言DDL(Data Definition Language),是用于描述數(shù)據(jù)庫(kù)中要存儲(chǔ)的現(xiàn)實(shí)世界實(shí)體的語(yǔ)言。一個(gè)數(shù)據(jù)庫(kù)模式包含該數(shù)據(jù)庫(kù)中所有實(shí)體的描述定義。這些定義包括結(jié)構(gòu)定義、操作方法定義等。數(shù)據(jù)操縱語(yǔ)言DML,命令使用戶能夠查詢數(shù)據(jù)庫(kù)以及操作已有數(shù)據(jù)庫(kù)中的數(shù)據(jù)的計(jì)算機(jī)語(yǔ)言。具體是指是SELECT查詢、UPDATE更新、INSERT插入、DELETE刪除。第二章 關(guān)系模型與關(guān)系代數(shù)域:一組具有相同數(shù)據(jù)類型的值的集合笛卡爾積:兩個(gè)分別為N目和m目的關(guān)系R和S的笛卡爾積是一個(gè)n+m目元組的集合 超碼:屬性集A能唯一標(biāo)識(shí)關(guān)系r中的一個(gè)元組,則稱A為關(guān)系R的一個(gè)超碼 候選碼:對(duì)于關(guān)系r中一個(gè)或多個(gè)屬性的集合A,若屬性集A中的任意真子集都不能成為關(guān)系r的超碼,則、、主碼:在實(shí)體集中區(qū)分不同實(shí)體的候選碼。外碼:用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間的關(guān)系而引用另一個(gè)關(guān)系的主碼。關(guān)系模式:是型的概念,它定義了元組集合的結(jié)構(gòu),即定義了一個(gè)元組由哪些屬性構(gòu)成 關(guān)系數(shù)據(jù)庫(kù):在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體以及實(shí)體之間的聯(lián)系所對(duì)應(yīng)的關(guān)系的集合 空值:是所有可能的域的一個(gè)取值,表明值未知或不存在。:實(shí)體完整性、參照完整性和用戶自定義完整性。實(shí)體完整性:若屬性A是關(guān)系r中的主碼,則A不能取空值參照完整性:若屬性F是關(guān)系r的外碼,它與關(guān)系s的主碼Ks相對(duì)應(yīng),則對(duì)于關(guān)系r中的每一個(gè)元組在屬性F上的取值,要么為空值,要么等于關(guān)系s中的某個(gè)元組的值 等值連接:是從兩個(gè)關(guān)系的笛卡爾積中選取連接屬性滿足相等條件的所有元組。自然連接:是一種特殊的等值連接,它要求兩個(gè)參與連接的關(guān)系具有公共的屬性集,并且在結(jié)果中把重復(fù)的屬性列去掉第四章數(shù)據(jù)庫(kù)建模(實(shí)體聯(lián)系模型):實(shí)體、實(shí)體集、屬性、域、聯(lián)系、聯(lián)系集、角色、映射基數(shù)、超碼、候選碼、主碼、弱實(shí)體、類層次、聚合實(shí)體是客觀世界中可區(qū)別于其他事物的“事物”或“對(duì)象”。實(shí)體既可以是有形的,實(shí)在的事物,也可以是抽象的、概念上存在的事物。相同類型的實(shí)體組成的集合稱為實(shí)體集實(shí)體是通過一組屬性來(lái)描述的,其屬性是實(shí)體集中給每個(gè)實(shí)體都具有的性質(zhì)。每個(gè)屬性所允許的取值范圍或集合稱為該屬性的域聯(lián)系兩個(gè)或兩個(gè)以上實(shí)體之間的聯(lián)系。相同類型聯(lián)系組成的集合稱為聯(lián)系集。聯(lián)系也可擁有自身的描述性