數(shù)據(jù)庫(kù)原理及技術(shù)作業(yè)答案_第1頁(yè)
數(shù)據(jù)庫(kù)原理及技術(shù)作業(yè)答案_第2頁(yè)
數(shù)據(jù)庫(kù)原理及技術(shù)作業(yè)答案_第3頁(yè)
數(shù)據(jù)庫(kù)原理及技術(shù)作業(yè)答案_第4頁(yè)
數(shù)據(jù)庫(kù)原理及技術(shù)作業(yè)答案_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理及技術(shù)作業(yè)練習(xí)一一、填空題參考答案:1Oracle MySql Sybase, DM4 KingbaseES2完整性 并發(fā)控制1 概念結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫(kù)物理設(shè)計(jì) 數(shù)據(jù)庫(kù)實(shí)施2 參照完整性 用戶定義完整性3 節(jié)約存貯空間 提高存取速度4 屬性 聯(lián)系5 關(guān)系代數(shù) 元組關(guān)系8數(shù)字二判斷題參考答案:1 2. 3. 4. 5. 6. 7. 8. 9. 10. 三簡(jiǎn)答題參考答案1 答案要點(diǎn):數(shù)據(jù)庫(kù)系統(tǒng)主要包括面向全組織的數(shù)據(jù)庫(kù)結(jié)構(gòu),有較好的數(shù)據(jù)與程序獨(dú)立性,有較少的冗余,有完整的控制技術(shù),最小存取單位是數(shù)據(jù)項(xiàng)等特點(diǎn)。與之相對(duì)應(yīng)的文件系統(tǒng)是:獨(dú)立性不高,冗余大,無(wú)控制技術(shù),最小存取單位

2、為記錄。2 SQL,而SQL是表示表結(jié)構(gòu)的,支持選擇、投影、聯(lián)接,而且不依賴于任何物理路徑。如建表create table .,選擇、投影、聯(lián)接分別可表示為:select ,同時(shí)也支持其它所有的關(guān)系代數(shù)操作如集合操作,所以說(shuō)SQL Server是完備式關(guān)系系統(tǒng)。3 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)包含六類完整性約束:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、動(dòng)態(tài)元組約束和動(dòng)態(tài)關(guān)系約束。(或簡(jiǎn)單為實(shí)體完整性、參照完整性能、用戶自定義完整性)。對(duì)數(shù)據(jù)類型、數(shù)據(jù)格式、取值范圍或取值集合的約束屬于靜態(tài)列級(jí)約束;實(shí)體完整性約束、參照完整性約束等屬于靜態(tài)關(guān)系約束,如定義了主鍵的屬性值不允許為空;修改列定義時(shí)的

3、約束,如將允許空值的列改為不允許空值時(shí),如果該列目前已存在空值,則拒絕這種修改。這屬于動(dòng)態(tài)列級(jí)約束。SQL語(yǔ)言定義完整性約束條件的功能主要體現(xiàn)在CREATE TABLE語(yǔ)句和ALTER TABLE中,可以在這些語(yǔ)句中定義碼、取值唯一的列、不允許空值的列、外碼(參照完整性)及其他一些約束條件。(用constraint子句實(shí)現(xiàn))四有一關(guān)系模式R(A、B、C、D)參考答案1.由已知條件可知:函數(shù)關(guān)系的右屬性不包含A,所以碼中必包含A 易知A能推出所有其它屬性,所以A是碼 可知R的碼有A2.碼是A,不存在部分依賴,但存在AC-D,D-B傳遞依賴,所以R是2NF。綜上R的最高范式是2NF。五、編程題參考

4、答案DECLARE v_LC number:= 1;BEGIN while v_LC =36 LOOPIf v_LC 10 and mod(v_LC,10)4 then INSERT INTO temp_table (sno)select 090110|to_char(v_LC)|3 from dual;Else if v_LC =10 thenINSERT INTO temp_table (sno)Select 09011|to_char(v_LC)|3 from dual;ELSE v_LC := v_LC + 1; end loop;END;最后一個(gè)結(jié)果是:09011363。作業(yè)練習(xí)二一

5、、判斷題:判斷下列各題是否正確,正確的劃,錯(cuò)誤的劃參考答案:、 、 、二、簡(jiǎn)要回答下列問(wèn)題6 為什么說(shuō)oracle10g是完備式關(guān)系系統(tǒng)。2Oracle9i中,基于數(shù)據(jù)查詢的安全性約束機(jī)制是怎么樣體現(xiàn)的?3關(guān)系的完整性約束機(jī)制在SQL中怎么體現(xiàn)?答1。因?yàn)閛racle10g是以SQL作為基本操作語(yǔ)言,以表結(jié)構(gòu)為基本操作結(jié)構(gòu)。支持選擇、聯(lián)接、投影等基本操作,操作完備。 支持完整性控制于底層。 2Oracle10g以SQL作為基本操作語(yǔ)言。而在SQL中,數(shù)據(jù)查詢的安全機(jī)制是通過(guò)使用視圖,再對(duì)視圖進(jìn)行控制來(lái)實(shí)現(xiàn)的。具體操作是先確定表的行、列操作權(quán)限,然后建立視圖,再授權(quán)給具體的用戶。(可以寫出具體的

6、操作語(yǔ)句)3。關(guān)系的完整性主要包括實(shí)體完整性、參照完整性與用戶自定義完整性。 而實(shí)體完整性主要是主屬性不能為空,可以通過(guò)SQL的結(jié)構(gòu)定義中設(shè)置Not null與Primary key來(lái)進(jìn)行控制。參考完整性主要是外碼或者為空、或者為對(duì)應(yīng)的主碼的某一個(gè)值,通過(guò)Foreign key 及references 實(shí)現(xiàn)。用戶自定義完整性主要是根據(jù)應(yīng)用的需要的約束關(guān)系,其中值的約束可以通過(guò)定義結(jié)構(gòu)時(shí)的check子句實(shí)現(xiàn),復(fù)雜的要求通過(guò)TRIGGER實(shí)現(xiàn)。 三、試證明:關(guān)系模式R為BCNF,則R一定為2NF。而關(guān)系模式R為2NF,則不一定為BCNF。證明:第一部分,采用反證法,假定R不為2NF,則一定存在非主

7、屬性對(duì)碼的部分依賴,即如碼X,非主屬性Y,則一定存在X真包含于X,有XY,由于X不為碼,Y為非主屬性,YX,所以R不為BCNF。第二部分,可以通過(guò)舉例說(shuō)明,R為2NF,而R不為BCNF。 四、現(xiàn)有如下E-R圖, 1n職工公司有實(shí)體的主要屬性如下,其中下劃線部分為主碼:公司(編號(hào)、名稱、電話、)職工(職工號(hào)、姓名、年齡、性別、)1 試用SQL表示(即定義)上述E-R圖所有的實(shí)體及聯(lián)系,其中實(shí)體只需表示列出的主要屬性,要求反映主碼與聯(lián)系(一定要表示聯(lián)系),其中電話以0731-開頭且唯一,年齡=20,各字段的類型長(zhǎng)度可以根據(jù)需要自己確定。create table corporation(cno ch

8、ar(6) primary key,cname varchar(32),tel char(12) check substr(tel,1,4)=0731-);create table emp(empno char(8) primary key,ename char(8),age number(2) check(age=20), sex char(2),cno char(6) references corporation(cno)2 在上述定義的每個(gè)表中輸入一個(gè)有代表性的記錄,體現(xiàn)相互間的聯(lián)系。insert into corporation values(110101, 開元實(shí)業(yè)有限公司,0731

9、-8839628);insert into emp values(303111,張柟芳,22,女,110101);3 用SQL與關(guān)系代數(shù)(兩者都要)表示: (1)找出張柟芳的學(xué)號(hào)與年齡、性別select empno,age,sex from emp where ename= 張柟芳empsno,age,sex (ename=張柟芳(emp) )(2)找出 開元實(shí)業(yè)有限公司的電話與職工編號(hào)、姓名select empno,ename from emp where cno in (select cno from corporatio where cname = 開元實(shí)業(yè)有限公司empno,age (

10、cname=開元實(shí)業(yè)有限公司(corporation)|emp)4 試用SQL表示查詢: 找出平均學(xué)生年齡大于35的公司編號(hào)與名稱、電話。Select cno, cname, tel from corporation where cno in (select cno from emp having avg(age)35 group by cno, empno)5 刪除名稱為空值的公司。delete from corporation where cname is null6 建立視圖表示關(guān)系(公司名稱、電話、職工號(hào)、姓名、年齡、性別)create view sd_stud (公司名稱、電話、職工

11、號(hào)、姓名、年齡、性別)as select cname,tel,empno,ename,age,sexfrom corporation,emp where o=emp.empno)作業(yè)練習(xí)三一、選擇題:選取最滿意的一個(gè)答案1 任何由二個(gè)屬性組成的關(guān)系可能是(C)(A) 1NF (B) 2NF (C) 3NF (D) 不能判定2.數(shù)據(jù)冗余引起的問(wèn)題主要是花費(fèi)(C)(A) 時(shí)間 (B) 空間 (C) 時(shí)間與空間 (D) 時(shí)間或空間3R(X,Y,Z)是個(gè)三元關(guān)系,X,Y,Z是單屬性且X是碼,則R一定是(B)(A) 1NF (B) 2NF (C) 3NF (D) BCNF4在

12、數(shù)據(jù)庫(kù)中,存儲(chǔ)冗余數(shù)據(jù)是(C)(A)不應(yīng)該的 (B) 應(yīng)該且合理的 (C) 合理的但不能過(guò)度冗余 (D)視情況而定5在關(guān)系運(yùn)算中,進(jìn)行自然聯(lián)接運(yùn)算的兩個(gè)關(guān)系( D ) (A) 必有相同的列名 (B)必有相同的關(guān)鍵字 (C)沒(méi)有要求 (D)必有類型相同的列 6在數(shù)據(jù)庫(kù)系統(tǒng)中,DBMS與DB的關(guān)系是( D )(A) DBMS包括DB (B) DB包括DBMS (C)不一定的 (D) 同級(jí)關(guān)系 7、在SQL的查詢語(yǔ)句的WHERE子句中,下列哪個(gè)不能出現(xiàn)( A )(A) sum (B) != (C) (D) 找出成品庫(kù)II(名)的倉(cāng)庫(kù)號(hào)、面積、貨位數(shù)。b 找出零件名為“110110011”的零件名、計(jì)

13、量單位及所在倉(cāng)庫(kù)號(hào)、庫(kù)存數(shù)量、保管員(4) 試用SQL表示查詢: 找出110110011號(hào)零件的所在的倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)名,貨位數(shù)。(5) 刪除價(jià)格為空值的庫(kù)存記錄。(6) 建立視圖表示關(guān)系(倉(cāng)庫(kù)號(hào)、倉(cāng)庫(kù)名、零件號(hào)、零件名、計(jì)劃價(jià)格、庫(kù)存量)1解:?處分別填倉(cāng)庫(kù)號(hào),零件號(hào)Create table warehouse(wno char(4) primary key, wname varchar2(32), size number(8,2), l_num number(8),eno char(7) references emp(eno),emp_name char(8)Create table part

14、(pno char(9) primary key, pname varchar2(32), p-size varchar2(32), cust_no char(7), p_price number(10,2) check(p_price between 0 and 100000)Create table store(wno char(4) references warehouse.wno, pno char(9) references part.pno, num number(12,2)(2)在上述定義的每個(gè)表中輸入一個(gè)有代表性的記錄,體現(xiàn)相互間的聯(lián)系。Insert into warehous

15、e values(1001, 軸承庫(kù), 360.50,100, 張三)Insert into part values(101010101, 35軸承, 35, 268.65)Insert into store values(1001, 101010101, 30)(3)用SQL與關(guān)系代數(shù)表示查詢:a 找出成品庫(kù)II號(hào)倉(cāng)庫(kù)的倉(cāng)庫(kù)號(hào)、面積、貨位數(shù)。select wno, size, l_num from warehouse where wno=成品庫(kù)IIwno,size_l_num(wname=成品庫(kù)II(warehouse) )b 找出零件名為“2# 鏍絲”的零件號(hào)、計(jì)量單位及所在倉(cāng)庫(kù)號(hào)、庫(kù)存數(shù)

16、量及保管員select part.pname, cust_no, wno, num,emp_name from part, store where part.pno=store.pnoand pno=“110110011”;pname, cust_no, wno, num,emp_name (pno=110110011(part) | store )(4) 試用SQL表示查詢: 找出110110011號(hào)零件的所在的倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)名,貨位數(shù)。Select wno, wname, sum(l_num) from warehouse where wno in (select wno from store where pno= 110110011);(5) 刪除價(jià)格為空值的庫(kù)存記錄。Delete from store where pno

溫馨提示

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

評(píng)論

0/150

提交評(píng)論