關系資料庫習題
① 資料庫 關系資料庫題目
數據管理經歷了 (人工管理 ), (文件系統 ) , (資料庫系統 ) 三個階段。
2.資料庫保護問題包括: ( 安全性) 、(完整性)、(故障恢復)和(並發控制)等多方面。
3.SQL是 (關系資料庫語言)(或結構化查詢語言) 。
4.關系規范化理論是設計 邏輯結構 的指南和工具。
5.SQL語言是一種 ( 通用的 ) , ( 功能極強的關系資料庫 )語言。我覺得這個填空要求不明確啊
6.關系代數中專門的關系運算包括:(選擇)、(投影)、(連接)和 ( 除運算 ) 。
7.關系模式的定義主要包括( 關系名),(關系的屬性名),(屬性的域),(屬性向域的映象),(屬性間的依賴關系) 。這個我們課本上么有的,看樓上的挺有道理的,應該沒錯吧。
8.關系資料庫中基於數學上的兩類運算是 ( 關系代數 ) ( 關系演算 ) 。
9.資料庫的邏輯模型設計階段,任務是將( E-R圖(或概念模型)) 轉換成關系模型。
10.資料庫保護包括數據的 (泄露 ) (更改) (破壞) 。差一個空,不知道咯。
11.數據的完整性是 ( 實體完整性 ) ( 參照完整性 ) ( 用戶定義完整性 ) 。
12.SQL語言提供(資料庫定義) ( 數據操縱 ) (數據控制)等功能。
13.關系中主碼的取值必須唯一且非空,這條規則是 ( 實體 ) 完整性規則。
14.視圖是一個虛表,它是從 (基本表 )中導出的表。在資料庫中只存放那個使用的( 命令 ) ,不存放視圖的( 數據 )。
15.SQL語言中,修改表結構的語句是 (ALTER TABLE ) 。
16.在關系數據模型中,兩個關系R1與R2之間存在1:M的聯系,可以通過在一個關系R2中的
在相關聯的另一個關系R1中檢索相對應的記錄。
17.關系模式是關系的 ( 型 ) ,相當於 ( 關系的描述 ) 。
18.當資料庫破壞後,如果事先保存了 (日誌文件) 和資料庫的副本,就有可能恢復資料庫。
19.關系資料庫中,二維表稱為一個 ( 關系) ,表的一行稱為(元組) ,表的一列稱為 (屬
性) 。
20.關系代數運算中,基本的運算有 ( 選擇 ),(投影 ) , (並 ),( 差) ,( 笛卡爾積 ) 。
21.關系資料庫數據操作的處理單位是 (欄位) ,層次和網狀資料庫數據操作的處理單位是記 錄。
22.安全性控制的一般方法 ( 用戶標識與鑒別)(存取控制)(強制存取控制)(視圖機制)(審計)(數據加密 )。這個課本上么有,在網上搜的,答案應該正確滴。
23.數據恢復是利用 (冗餘) 數據重建已破壞的數據。
24設有關系SC(sno,cname,grade),各屬性的含義分別為學號、課程名、成績。若要將所有學生的「資料庫系統」課程的成績增加5分,能正確完成該操作的SQL語句是
(update SC
set grade=grade+5
where cname「資料庫系統」 )
好好看喲
② 資料庫關系運算題
2=1表示等值連接 就是指R和S裡面屬性相等的列 就是B和C列,而B和C又有R裡面的B和C和S裡面的B和C,所以答案就是用R.B,R.C和S.B,S.C表示出來
③ 有關關系資料庫理論的簡答題
(1)求屬性集的閉包,其實就是求各屬性的閉包,然後整合去重復。
閉包就是由一個屬性直接或間接推導出的所有屬性的集合
A可以直接導出C A+={A,C}
D可以直接導出A C D+={A,C,D}
所以(AD)+={A,C,D}
B可以直接導出A,C B+={A,B,C}
(2)關鍵碼的求解理論和演算法對於給定的關系R(A1A2…An)和函數依賴集F ,可將其屬性分為4類:L類:僅出現在F函數依賴左部的屬性
R類:僅出現在F函數依賴右部的屬性
N類:在F函數依賴的左右兩部均未出現的屬性
LR類:函數依賴的左右兩部均出現的屬性定理:
對於給定的關系模式R及其函數依賴集F,若X是R的L類屬性,則X必為R的 任一關鍵碼的成員。
所以可以看出BD是R的唯一關鍵碼
(3)求最小函數依賴集
1.根據分解性先分解所有依賴的右邊為單屬性
F={A->C,C->A,B->A,B->C,D->A,D->C}
2.對所有依賴的左邊為多屬性的情況,消除左側冗餘屬性
3.去除多餘的函數依賴{A->C,C->A,B->A,D->A}
不知道對不對,對的話就繼續。。
④ 關系資料庫概論題目(急啊在線等)
[標准答案]
1、
grant
select
on
職工
when
user()=
name
to
all;
這里假定系統的
grant語句支持when子句和user()的使用。用戶將自己的名字作為id。
reovke
select
on
職工
when
user()=
name
from
all;
這里假定用戶將自己的名字作為id,且系統的reovke語句支持when子句,系統也支持user()的使用。
2、
create
view
部門工資統計(最高工資,最低工資,平均工資)
as
select
max(工資),min(工資),avg(工資)
from
職工
group
by
部門號;
grant
select
on
部門工資統計
to
揚蘭;
revoke
select
on
部門工資統計
from
揚蘭;
⑤ 資料庫SQ習題
最佳答案:
習題
一、選擇題
1.關於查詢語句中ORDER BY子句使用正確的是( D )。
A.如果未指定排序欄位,則默認按遞增排序
B.表的欄位都可用於排序
C.如果在SELECT子句中使用了DISTINCT關鍵字,則排序欄位必須出現在查詢結果中
D.聯合查詢不允許使用ORDER BY子句
第2~4題使用7.7節「示例分析」中數據表。
2.使用查詢語句:
SELECT STUDENT.學號,STUDENT.姓名,SUM(分數)
FROM STUDENT,GRADE
WHERE STUDENT.學號=GRADE.學號
GROUP BY STUDENT.學號,STUDENT.姓名
查詢結果是(A )。
A.按學號分類的每個學生所有課程成績的總分 B.按學號分類的每個學生各課程成績
C.全體學生的按各課程分類的成績總分 D.所有學生所有課程成績總分
3.使用查詢語句:
SELECT MAX(分數) AS 最高分
FROM STUDENT,curriculum,GRADE
WHERE STUDENT.學號=GRADE.學號
AND curriculum.課程編號=GRADE.課程編號
AND 課程名稱='資料庫技術及應用'
查詢的結果是( )。
A.87 B.91 C.82 D.90
很遺憾!不知道表中的記錄數據,無法判斷是哪個選項,但是題意是檢索出:選修課程'資料庫技術及應用'的學生中成績最高的。看一下表就知道了。
4.查詢選修了課程編號為「0002」的學生的學號和姓名,以下( A )語句是錯誤的。
A.
SELECT 學號,姓名FROM STUDENT
WHERE 學號=(SELECT 學號FROM GRADE WHERE 課程編號='0002')
B.
SELECT STUDENT.學號,STUDENT.姓名
FROM STUDENT,GRADE
WHERE STUDENT.學號=GRADE.學號AND 課程編號='0002'
C.
SELECT STUDENT.學號,STUDENT.姓名
FROM STUDENT JOIN GRADE ON STUDENT.學號=GRADE.學號
WHERE GRADE.課程編號='0002'
D.
SELECT 學號,姓名FROM STUDENT
WHERE 學號IN (SELECT 學號FROM GRADE WHERE 課程編號='0002')
5.下列關於查詢結果錯誤的是( D )。
A.查詢結果可以顯示在表格中
B.查詢結果可以按文本方式顯示
C.以文本和表格顯示的查詢結果在保存時,其文件格式不同
D.不管以哪種方式查看,查詢結果都會顯示在查詢結果窗口中
6.在T-SQL語句中,與表達式「倉庫號NOT IN ('wh1','wh2')」功能相同的表達式是( D )。
A.倉庫號='wh1' AND 倉庫號='wh2' B.倉庫號!='wh1' OR 倉庫號# 'wh2'
C.倉庫號<>'wh1' OR 倉庫號!='wh2' D.倉庫號!='wh1' AND 倉庫號!='wh2'
7.在T-SQL 的SELECT語句中用於實現關系的選擇運算的短語是( C )。
A.FOR B.WHILE C.WHERE D.CONDITION
8.使用SQL語句進行分組檢索時,為了去掉不滿足條件的分組,應當( B )。
A.使用WHERE子句 B.在GROUP BY後面使用HAVING子句
C.先使用WHERE子句,再使用HAVING子句 D.先使用HAVING子句,再使用WHERE子句
二、填空題
1.在查詢語句中,應在__SELECT____子句中指定輸出欄位。
2.如果要使用SELECT語句返回指定條數的記錄,則應使用_TOP__關鍵字來限定輸出欄位。
3.當一個子SELECT的結果作為查詢的條件,即在一個SELECT命令的WHERE子句中出現另一個SELECT命令,這種查詢稱為__嵌套____查詢。
4.連接查詢可分為3種類型:_內連接___、__外連接__和交叉連接。
5.若要把查詢結果存放到一個新建的表中,可使用__into tabale 或into dbf____子句。
三、判斷題
1.在關系資料庫SQL Server中,用於檢索數據的語句是T-SQL的定義語言。 (× )
2.邏輯運算符(AND、NOT、OR)的運算順序是AND→OR→NOT。 ( × )
3.用於WHERE子句的查詢條件表達式可用的比較運算符為:=(等於)、!=或<>(不等於)、>(大於)、>=(大於等於)、<(小於)、<=(小於等於)。 ( √ )
4.SELECT語句的DISTINCT參數表示輸出無重復結果的記錄。 ( √ )
5.如果要使SELECT的查詢結果有序輸出,需要用GROUP BY子句配合。 ( × )
⑥ 資料庫原理題,設有一個關系資料庫,有三個基本表,表的結構如下;高手幫答下!
1
2 create table student(
學號 char[10] primary key,
姓名 char[10],
年齡 int,
性別 char[2] defaut '男',
系名 char[10]
)
3 create table SC(
學號 char[10],
課程號 char[10],
成績 int,
primary key (學號,課程號),
foreignkey(學號) references STUDENT(學號),
foreign key(課程號) references COURSE(課程號)
)
4 delete from SC where 成績 is null
5 insert into STUDENT values('20130301009','王進', 18,'男','自動控制')
6
select distinctC.*
from STUDENT S, COURSE C, SC
where C.任課教師 ='李平' and S.系名='計算機' and S.學號=SC.學號 and C.課程號=SC.課程號
7
select S.學號,姓名,任課教師
from STUDENT S, COURSE C, SC
where C.課程名 ='計算機原理' and 成績>60 and 成績<85and S.學號=SC.學號 and C.課程號=SC.課程號
8
delete from SC where 學號 in (select 學號 from STUDENT where 姓名='王林')
9
create view view1
as
select *
from STUDENT
where 年齡<22 and 系名='通信' and 性別='女'