TUST 数据库原理 试卷(A)
一、單項選擇題
關系模式的任何屬性( A )。
A.不可再分
B.可再分
C.命名在該關系模式中可以不惟一
D.以上都不是
保護數據庫,防止未經授權或不合法的使用造成的數據泄漏、非法更改或破壞。這是指數據的( A )。
A. 安全性
B.完整性
C.并發控制
D.恢復
事務的一致性是指( D )。
A.事務中包括的所有操作要么都做,要么都不做
B.事務一旦提交,對數據為的改變是永久的
C.一個事務內部的操作及使用的數據對并發的其他事務是隔離的
D.事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態
數據庫的概念模型獨立于( A )。
A.具體的機器和DBMS
B.E-R圖
C.信息世界
D.現實世界
下列哪些運算是關系代數的基本運算( D )。
A. 交、并、差
B. 投影、選取、除、聯結
C. 聯結、自然聯結、笛卡爾乘積
D. 投影、選取、笛卡爾乘積、差運算
候選碼中的屬性可以有( C )。
A. 0個
B. 1個
C. 1個或多個
D.多個
下述關于數據庫系統的正確敘述是( A )。
A.數據庫系統減少了數據冗余
B.數據庫系統避免了一切冗余
C.數據庫系統中數據的一致性是指數據類型一致
D.數據庫系統比文件系統能管理更多的數據
( C )是DBMS的基本單位,它是用戶定義的一組邏輯一致的程序序列。
A.程序
B.命令
C.事務
D.文件
用于數據庫恢復的重要文件是( C )。
A.數據庫文件
B.索引文件
C.日志文件
D.備注文件
若系統在運行過程中,由于某種硬件故障,使存儲在外存上的數據部分損失或全部損失,這種情況稱為( C )。
A.事務故障
B.系統故障
C.介質故障
D.運行故障
關于“死鎖”,下列說法中正確的是( D ) 。
A.死鎖是操作系統中的問題,數據庫操作中不存在
B.在數據庫操作中防止死鎖的方法是禁止兩個用戶同時操作數據庫
C.當兩個用戶競爭相同資源時不會發生死鎖
D.只有出現并發操作時,才有可能出現死鎖
并發操作會帶來哪些數據不一致性( D ) 。
A.丟失修改、不可重復讀、臟讀、死鎖
B.不可重復讀、臟讀、死鎖
C.丟失修改、臟讀、死鎖
D.丟失修改、不可重復讀、臟讀
從一個數據庫文件中取出滿足某個條件的所有記錄的操作是(A )。
A.選擇
B.連接
C.投影
D.復制
如果事務T獲得了數據項Q上的排它鎖,則T對Q( C )。
A. 只能讀不能寫
B. 只能寫不能讀
C. 既可讀又可寫
D. 不能讀也不能寫
對數據對象施加封鎖,避免死鎖的方法沒有采用以下(C )策略。
A.順序封鎖法
B.一次封鎖法
C.先來先服務
D.兩段鎖
二、判斷題
三、數據庫設計題
在進行某汽車運輸公司管理系統設計過程中獲得的語義如下:
設某汽車運輸公司數據庫中有三個實體集。一是“車隊”實體集,屬性有車隊號、車隊名等;二是“車輛”實體集,屬性有牌照號、廠家、出廠日期等;三是“司機”實體集,屬性有司機編號、姓名、電話等。設車隊與司機之間存在“聘用”聯系,每個車隊可聘用若干司機,但每個司機只能應聘于一個車隊,車隊聘用司機有個聘期;車隊與車輛之間存在“擁有”聯系,每個車隊可擁有若干車輛,但每輛車只能屬于一個車隊;司機與車輛之間存在著“使用”聯系,司機使用車輛有使用日期和公里數兩個屬性,每個司機可使用多輛汽車,每輛汽車可被多個司機使用。
要求:
(1)試設計 E-R 圖,注明屬性和聯系類型。 (5分)
(2)將 E-R 圖轉換為等價的關系模型(包括關系名,屬性名和碼)。 (12分)
車輛(牌照號,車隊郝,廠家,出廠日期) 車隊(車隊號,車隊名) 聘用(車隊號,司機編號,聘期) 司機(司機編號,姓名,電話)(3)指出以上各關系模式所達到的范式級別,如果不是第三范式的請轉成第三范式,并給出理由
都是第三范式,因為在模式中都不存在函數依賴和傳遞函數依賴。四、應用題
設有一個供銷管理的數據庫,包括如下三個關系模式:
(1)材料(材料編號,材料名稱,類別,用途)
(2)供應商(供應商編號,供應商名稱,地址,聯系方法)
(3)供應(供應商編號,材料編號,數量,單價,日期)
語義如下:
(1)材料編號,材料名稱,供應商編號,供應商名稱不能為空;
(2)供應表中數量取值大于等于0,單價取值大于0;
1、用SQL語句建立上述三個表(15分)。
create table Natertala( M_ID char(20) not null primary key,M_Name char(20) not null,M_Type char(20),M_use char(10) );create table ordershop(order_ID char(20) not null primary key,order_Name char(20) not null,order_Adress char(20),order_plane char(18) );create table order1(order_ID char(20) not null ,M_ID char(20) not null,num int check(num>0),price int check(price>0),riqi datetime,primary key(order_ID,M_ID) );2、針對上題中建立的3個表試用SQL語言完成如下查詢和操作。(15分)。
(1)查詢供貨數量大于10的材料編號及名稱。
select a.M_ID, M_Name from Natertal a, order1 b where a.M_ID = b.M_ID AND num>10;(2)查詢供應商編號為“201201001”供應的材料名稱為“發動機”的供貨日期。
select riqi from order1 where order_ID='201201001' and M_ID in (select M_ID from Natertal where(M_Name='發動機'))(3)查詢供應“發動機”的所有供應商名稱。
select order_Name from ordershop where order_ID in (select order_ID from order1 where M_ID in(select M_ID from Natertal where M_Name='發動機'))(4)刪除數據庫中供應商編號為“201201001”的所有記錄。
delete from order1 where order_ID='201201001' delete from ordershop where order_ID='201201001'(5)插入一條供應記錄(‘201201010’,‘101001001’,12,10)。
insert into order1(order_ID,M_ID,num,price) values('201201010','101001001',12,10)3、創建一個存儲過程,顯示材料供應情況,其中數量大于50的顯示“大客戶”,數量小于10的顯示為“一般客戶”,其它顯示“優質客戶”(10分)。
4、定義一個觸發器,供應表中增加記錄時自動將新增記錄的日期設定為當前日期(10分)。
CREATE TRIGGER insert_mark ON order1 FOR INSERT AS UPDATE order1 set riqi=getdate()總結
以上是生活随笔為你收集整理的TUST 数据库原理 试卷(A)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51. N-Queens N 皇后
- 下一篇: 关于我自己的一些事