當前位置:首頁 » 編程語言 » sql範式復習題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql範式復習題

發布時間: 2022-05-10 14:13:25

A. 我正在學習sql server 2005,我想找點練習題。

我這倒是有兩個;練習 但是是word文檔 不好復制進來 只能復制點筆試題 要機試題請發給郵件給我 我給你傳過來 郵件中說明 是目的 不然我不知道會當垃圾郵件處理的 我的郵箱是 [email protected]

針對以下題目請選擇正確答案(每道題目有一個或多個正確的答案)。針對每一道題目,所有答案都選對,則該題得分,否則不得分。
1. 資料庫設計的最終目標不包括()。 (選擇兩項)BD
A. 高效
B. 滿足範式要求
C. 安全
D. 表現設計者的技術實力
E. 易用
F. 便於將來擴展功能和容量
2. 有關數據冗餘說法錯誤的是()。(選擇一項)C
A. 資料庫中,數據存在副本的現象,就是數據冗餘。
B. 通過分類存儲,可以有效減少數據冗餘,但是會增加數據查找的復雜性。
C. 在資料庫設計階段,一定要盡最大可能避免數據冗餘,最好做到無數據冗餘。
D. 數據冗餘通常是由於資料庫設計引起的。
3. 用於表示資料庫實體之間的關系圖是()。A
A. 實體關系圖
B. 數據模型圖
C. 實體分類圖
D. 以上都不是
4. 假定有一個用戶表,表中包含欄位:userid (int)、username (varchar)、 password(varchar)等,該表需要設置主鍵,以下說法正確的是()。(選擇兩項)AB
A. 如果不能有同時重復的username和password,那麼username和password可以組合在一起作為主鍵。
B. 此表設計主鍵時,根據選擇主鍵的最小性原則,最好採用userid作為主鍵。
C. 此表設計主鍵時,根據選擇主鍵的最小性原則,最好採用username和password作為組合鍵。
D. 如果採用userid作為主鍵,那麼在userid列輸入的數值,允許為空。
5. 語句 alter table userinfo add constraint uq_userid unique(userid)執行成功後,為userinfo表的()欄位添加了()約束。B
A. userid 主鍵
B. userid 唯一
C. uq_userid 外鍵
D. uq_userid 檢查
6. 運行如下T-SQL,結果返回包含()的記錄集。A
create table scores
(
scoreid int identity(1,2),
score numeric(4,2) not null,
courseid int
)
insert int scores values(90.5,null);
insert into scores values(78.234,2);
select * from scores;
A. 1 90.50 NULL
3 78.23 2
B. 1 78.23 2
C. 1 90.50
D. 1 90.50
2 78.23 2
7. 關於子查詢,以下說法正確的是()。(選擇兩項)AC
A. 一般來說,表連接都可以用子查詢替換。
B. 一般來說,子查詢都可以用表連接替換。
C. 相對於表連接,子查詢適合於作為查詢的篩選條件。
D. 相對於表連接,子查詢適合於查看多表的數據。
8. 創建存儲過程如下:
create procere scoreproc
@scoreid int,@score numeric(4,2) output
as
select @score = score from scores where scoreid=@scoreid
正確的調用是:C
A. exec scoreproc 1,@myscore output
print @myscore
B. exec scoreproc @id = 1,@myscore output
print @myscore
C. declare @myscore numeric(4,2)
exec scoreproc 1,@myscore output
print @myscore
D. declare @myscore numeric(4,2)
exec scoreproc @id = 1,@myscore output
print @myscore
9. 假設需要設計一張表,記錄各個作者著作的所有圖書信息,表的結構如下:作者(作者名稱,圖書1,版本1,書價1,圖書二,版本2,書價2,…),該表最多符合第()範式。A
A. 一
B. 二
C. 三
D. 不符合任何範式
10. 一個學生只能就讀於一個班級,而一個班級可以同時容納多個學生,學生與班級之間是()的關系。C
A. 一對一
B. 一對多
C. 多對一
D. 多對多
11. E-R圖中,關系集用下面()來表示。B
A. 矩形
B. 橢圓形
C. 菱形
D. 圓形
12. 有如下表結構,#號打頭欄位代表主鍵或組合主鍵,一份訂單可以訂購多種產品。
產品:#產品編號,產品名稱,產品價格;
訂單:#訂單編號,#產品編號,訂購日期,訂購數量;(訂單編號與產品編號是組合主鍵)
該表最高符合第()範式。B
A. 一
B. 二
C. 三
D. 未規范化的
13. 有如下表結構,#號打頭欄位代表主鍵或組合主鍵,一份訂單可以訂購多種產品。
產品:#產品編號,產品名稱,產品價格;
訂單:#訂單編號,總價,訂購日期;
訂單子項: #子項編號,訂單編號,產品編號,訂購數量;
該表最高符合第()範式。C
A. 一
B. 二
C. 三
D. 未規范化的
14. 創建sql語句如下:
create table userInfo
(
userId int identity(-1,1), 第1行
userName nvarchar(20) not null, 第2行
cardNO char not null, 第3行
age smallint(2), 第4行
address ntext(300) 第5行
)
執行時,會在第()行出現錯誤。(選擇兩項)DE
A. 1
B. 2
C. 3
D. 4
E. 5
15. 以下關於規范設計的描述正確的是()。(選擇兩項)AD
A. 規范設計的主要目的是消除數據冗餘。
B. 規范設計往往會增加資料庫的性能。
C. 設計資料庫時,規范化程度越高越好。
D. 在規范化資料庫時,易於維護資料庫的完整性。
16. 關於存儲過程,以下說法正確的是()。(選擇一項)A
A. 不能在存儲過程中使用CREATE VIEW命令。
B. T-SQL批代碼的執行速度要快於存儲過程。
C. 存儲過程必須帶有參數。
D. 存儲過程不能返回結果集。
17. 已知有scores表,scoreid為主鍵,現在表中共有10條記錄,其中一條scoreid=21。
創建視圖:
create view view_scores
as
select * from scores
執行如下命令:
delete from view_scores where (scoreid = 21)
再執行如下命令:
select * from scores
select * from view_scores
假定上述命令全部執行成功,將各自返回()()行記錄。D
A. 10,10
B. 10,9
C. 9,10
D. 9,9
18. 設計用戶表時,身份證號為固定18位長,對該欄位最好採用()數據類型。(選擇一項)B
A. int
B. char
C. varchar
D. text
19. 授予用戶someone對scores表的一些許可權,正確的授權語句是()。(選擇一項)C
A. grant insert , update to talbe scores on someone
B. grant insert and update to table scores on someone
C. grant insert , update on scores to someone
D. grant insert and update on scores to someone
20. 建立如下資料庫表:
create talbe Department(
departID int not null primary key,
deptName varchar(20) not null
)
create table Employee(
employeeID int not null,
deptID int not null,
name varchar(20) not null
)
要想保證Employee表中每一個雇員(employee)是唯一的,且只能屬於在Department表中已經存在的部門,最有的做法是()。(選擇一項)B
A. 把employeeID和deptID設為組合主鍵。
B. 把employeeID設為主鍵,同時在deptID列上創建一個外鍵約束。
C. 把employeeID設為主鍵,同時在deptID列上創建一個檢查約束。
D. 在deptID列上創建一個唯一約束,同時在deptID列上創建一個外鍵約束。
21. 建立一張員工表,當向表中插入數據時,若不提供入職時間,就把系統當前時間作為員工入職時間插入資料庫,以下說法正確的是()。(選擇一項)D
A. 約束不能使用各種函數,所以無法實現要求的功能。
B. 可以使用CHECK約束實現,默認值採用日期函數getDate()。
C. 入職時間必須設為日期類型。
D. 可以使用DEFAULT約束實現,默認值採用日期函數getDate()。
22. 為了加快對某表查詢的速度,應對此表建立()。(選擇一項)D
A. 約束
B. 存儲過程
C. 規則
D. 索引
23. 假設有表student(學生)的設計如下:
id () 標識列
name () 學生姓名
address () 學生地址
department () 所屬院系
departmentHead () 學院主管
該表最高滿足()範式。(選擇一項)B
A. 一
B. 二
C. 三
D. 不滿足任何範式
24. 為資料庫中一個或者多個表中的數據提供另外一種查看方式的邏輯表被稱為()。(選擇一項)C
A. 存儲過程
B. 資料庫關系圖
C. 視圖
D. 表
25. 要建立一個教師表,包含姓名、職稱、級別等欄位。若插入數據時,級別欄位如果不輸入,預設值為「講師」,最合適的實現方式是()。A
A. 為「級別」欄位建立default約束。
B. 為「級別」欄位建立check約束。
C. 為教師表數據輸入編寫一個存儲過程進行控制。
26. 現有訂單表orders,包含數據如下表。若查詢既訂購了產品p01,又訂購了產品p02的顧客編號,可以執行以下()sql語句。(選擇兩項)CD

A. select distinct (cid) from orders ol where ol.pid in ('p01','p02')
B. select distinct (cid) from orders ol where ol.pid = 'p01' and ol.pid = 'p02'
C. select distinct (o1.cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02' and o2.cid = o1.cid
D. select distinct(cid) from orders where pid = 'p01' and cid in(select cid from orders where pid='p02')
27. 關於聚集索引,以下()說法是錯誤的。(選擇兩項)CD
A. 一個表最多隻能創建一個聚集索引。
B. 聚集索引比非聚集索引有更快的訪問速度。
C. 主鍵一定是聚集索引。
D. 創建了聚集索引的列不允許有重復值。
28. 關於視圖,以下()說法是錯誤的。(選擇一項)C
A. 使用視圖,可以簡化數據的使用。
B. 使用視圖,可以保護敏感數據。
C. 視圖是一種虛擬表,視圖中的數據只能來源於物理數據表,不能來源於其他視圖。
D. 視圖中指存儲了查詢語句,並不包含任何數據。
29. 常用的存儲過程不包括()。(選擇一項)D
A. sp_tables
B. sp_columns
C. sp_stored_proceres
D. sp_renametable
30. 對事務的描述錯誤的是()。(選擇2項)BD
A. 一個事務中的所有命令作為一個整體提交或者回滾。
B. 如果兩個並發事務要同時修改一個表,可能產生死鎖。
C. SQL Server默認將每條單獨的T-SQL語句視為一個事務。
D. 事務必須使用begin transaction來明確制定事務的開始。
31. 分數表scores設計如下:
courseID(課程編號)
studentID(學生編號)
score(分數)
另有一個學生信息表student,包含studentID,sname(學生姓名)。
已知並非所有學生都參加了courseID為0001的考試,現在查詢所有參加0001號課程考試及格學生的學生姓名,下面正確的是()。(選擇一項)A
A. select sname from student where studentID in (select studentID from scores where courseID = 0001 and score>=60)
B. select sname from student where studentID = (select studentID from scores where courseID = 0001 and score>=60)
C. select sname from student where studentID not in (select studentID from scores where courseID = 0001 and score<=60)
D. select sname from student where studentID exists (select studentID from scores where courseID = 0001 and score>=60)
32. 在()的列上更適合創建索引。(選擇兩項)AD
A. 需要對數據進行排序
B. 具有默認值
C. 頻繁更改
D. 頻繁搜索
33. SQL Server資料庫有2種登錄認證方式。其中在()方式下,需要客戶端應用程序連接時提供登錄時需要用戶標識和密碼。C
A. Windows身份認證。
B. 以超級用戶身份登錄。
C. SQL Server身份認證。
D. 以系統身份登錄時。
34. SQL Server資料庫中,下列不屬於T-SQL事務管理語句的是()。(選擇一項)B
A. BEGIN TRANSACTION;
B. END TRANSACTION;
C. COMMIT TRANSACTION;
D. ROLLBACK TRANSACTION;
35. 要建立一個約束,保證用戶表(user)中年齡(age)必須在16歲以上,下面語句正確的是()。(選擇一項)A
A. alter table user add constraint ck_age CHECK(age>16)
B. alter table user add constraint df_age DEFAULT(16) for age
C. alter table user add constraint uq_age UNIQUE(age>16)
D. alter table user add constraint df_age DEFAULT(16)
36. SQL Server資料庫中,包含兩個表:Order訂單表,Item訂單子項目表。當一個新訂單被加入時,數據要分別保存到Order和Item表,要保證數據完整性,可以使用以下()語句。(選擇一項)C
A. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
INSERT INTO Items VALUES(此處省略)
END TRASACTION
B. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
INSERT INTO Items VALUES(此處省略)
IF(@@Erro = 0)
COMMIT TRASACTION
ELSE
ROLLBACK TRASACTION
C. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
IF(@@Erro = 0)
INSERT INTO Items VALUES(此處省略)
IF(@@Erro = 0)
COMMIT TRASACTION
ELSE
ROLLBACK TRASACTION
ELSE
ROLLBACK TRASACTION
D. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
INSERT INTO Items VALUES(此處省略)
IF(@@Erro <> 0)
ROLLBACK TRASACTION
37. 現有一個學生信息表student,包含主鍵studentID(學生編號)。又有分數表scores,包含studentID(學生編號)、以及score(考試分數)。已知student表中共有50個學生,有45人參加了考試(分數存在scores表中),其中10人不及格。執行以下SQL語句:
select * from student where exists(select studentId form score where score<60)
可返回()條記錄。(選擇一項)A
A. 50
B. 45
C. 10
D. 0
38. create table student
(
id int identity(1,1),
name varchar(20)
)
alter table student add constraint uq_name unique(name)
insert into student values(null)
insert into student values(null)
insert into student values('jack')
insert into student values('jack')
依次執行以上SQL語句後,student表中存在()行記錄。B
A. 1
B. 2
C. 3
D. 4
39. 已知employee表中具有默認約束df_email,刪除該約束的語句為()。(選擇一項)A
A. alter talbe employee drop constraint df_email
B. alter talbe employee remove constraint df_email
C. alter talbe employee delete constraint df_email
D. remove constraint df_email from talbe employee
40. 在employee表的firstname欄位上建立的非聚集索引的物理效果是()。(選擇一項)D
A. 所有的行按照firstname欄位值升序排列並物理地存儲在數據頁中
B. 索引中的項按照索引鍵值的順序存儲,但表中信息的順序保持不變。
C. 所有的行按照firstname欄位值降序排列並物理地存儲在數據頁中
D. 所有的行被物理地存儲在數據頁上,並且根據firstname欄位按照索引建立時指定的順序排列
41. 創建存儲過程的片斷如下:創建成功後,以下()調用方式是正確的。(選擇一項)B
create procere proc_score
@passed int = 60,
@count int output
as
select count(*) from scores where score < @passed
A. execute proc_score @count int output
B. declare @count int
execute proc_score 70,@count output
C. declare @count int output
execute proc_score 70,@count
D. execute proc_score 70,@count output
42. 現有學生表Students和用戶表Users,兩表中的數據如下:
執行sql語句:select * from Users union select * from Students。下列說法正確的是()。(選擇一項)A
Users Students
userID(int) name (varchar) studentID(int) age(int)
1 Wen 1 80
2 Shu 2 75
3 Gao
4 Shui
A. 出現錯誤:name與age不是同一數據類型。
B. 正確執行,返回6行4 列。
C. 正確執行,返回6行2 列。
D. 正確執行,返回4行2列。
43. 假設有scores表的設計如下:
ID(編號,主鍵)
StudentID(學生編號)
CourseID(課程編號)
Score(分數)
現在要查詢參加過至少兩門課程考試的學生各門課程的平均成績。以下SQL語句正確的是()。(選擇一項)A
A. select StudentID,avg(score) from scores group by StudentID having count(studentID)>1
B. select StudentID,avg(score) from scores group by StudentID where count(studentID)>1
C. select StudentID,avg(score) from scores group by StudentID where count(studentID)>1 group by StudentID
D. select StudentID,avg(score) from scores having count(studentID)>1
44. 假設orders表中存在orderid等於1的紀錄,執行下面T-SQL:
begin transaction
delete from orders where orderid = 1
if (@@error<>0)
rollback transaction
rollback transaction
以下說法正確的是()。(選擇一項)B
A. 執行成功,orderid為1的記錄被永久刪除。
B. 執行成功,orders表沒有任何變化。
C. 執行時出現錯誤。
D. 執行成功,但事務處理並沒有結束。
45. 項目開發需要經過幾個階段,繪制資料庫的E-R圖應該在()階段進行。(選擇一項)B
A. 需求分析
B. 概要設計
C. 詳細設計
D. 代碼編寫
46. 將E-R圖轉換為表的過程中,如果實體之間存在多對多的關系,通常的做法是()。(選擇一項)B
A. 在兩個實體間建立主外鍵關系。
B. 在兩個實體間建立關聯表,把一個多對多的關系分解成兩個一對多的關系。
C. 在兩個實體間建立關聯表,把一個多對多的關系分解成兩個一對一的關系。
D. 在兩個實體間不建立任何關系。
47. 某個欄位希望存放電話號碼,該欄位應選用()數據類型。
A. char(10)
B. text
C. varchar(13)
D. int
48. 運行以下語句得到的結果是()C
use javaWebDB
create table numbers
(
N1 INT,
N2 NUMERIC(5,0),
N3 NUMERIC(4,2),
)
INSERT numbers VALUES(100,100.5,10.5)
select * from numbers
A. 返回100,100,10.5的結果集
B. 返回100,100,10.50的結果集
C. 返回100,101,10.50的結果集
D. 語句無法全部成功執行
49. 資料庫事務處理具有如下特徵(),被簡稱為ACID。(選擇四項)ACEF
A. 原子性
B. 安全性
C. 隔離性
D. 完整性
E. 持久性
F. 一致性
50. SQL語言集數據查詢、數據操縱、數據定義和數據控制功能於一體,其中,CREATE、DROP、ALTER語句是實現哪種功能( )。C
A. 數據查詢
B. 數據操縱
C. 數據定義
D. 數據控制

B. SQL Server 資料庫 範式問題

第一範式(1NF)無重復的列
第二範式(2NF)屬性
完全依賴於主鍵[消除非主屬性對主碼的部分函數依賴]
第三範式(3NF)屬性
不依賴於其它非主屬性[消除傳遞依賴]

兩個屬性組成的關系必為2NF,因為兩個屬性組成 的關系的碼只有三種情況:全碼;兩個分別為碼; 的關系的碼只有三種情況:全碼;兩個分別為碼; 其中一個是碼 關系模式R<U,F> 關系模式R<U,F> 其中:U={A,B,C,D},分別討論關系模式R 其中:U={A,B,C,D},分別討論關系模式R是否滿足 2NF。 2NF。
1)F={A→B,B→C,C→D,D→A} 2NF,因為沒有非主屬性 因為沒有非主屬性;
R是2NF,因為沒有非主屬性;
2)F=Φ 2)F=Φ 2NF,因為沒有非主屬性 因為沒有非主屬性;
R是2NF,因為沒有非主屬性;
5.2.4 2NF 3)F={A→B,B→A,A→C} 候選碼為(A,D),(B,D) 因為存在非主屬性C (A,D),(B,D)。 候選碼為(A,D),(B,D)。
因為存在非主屬性C對碼 A,D)的部分函數依賴 所以R不是2NF 的部分函數依賴, 2NF。
(A,D)的部分函數依賴,所以R不是2NF。
規范化:由於A→C造成R不是2NF 所以分解為: A→C造成 2NF, 規范化:由於A→C造成R不是2NF,所以分解為: R1(A,C)和R2(A,B,D)均為 均為2NF. R1(A,C)和R2(A,B,D)均為2NF.
4)F={(A,B)→C,D→A} 候選碼為(B,D), 因為存在非主屬性A對碼( 候選碼為(B,D), 因為存在非主屬性A對碼(B,D) 的部分函數依賴,所以R不是2NF
2NF的部分函數依賴,所以R不是2NF;
規范化:由於D→A造成R不是2NF 所以分解為: D→A造成 2NF, 規范化:由於D→A造成R不是2NF,所以分解為: R1(A,D)和R2(B,C,D)均為 均為2NF. R1(A,D)和R2(B,C,D)均為2NF.
另解: (A,B,C),R (A,B,D)進一步 分解為 (A,B,C),R』』(A,B,D)進一步R 另解:R』(A,B,C),R (A,B,D)進一步R』』分解為 R1」(A,D),R2 (A,D),R2」(B,D) R1 (A,D),R2 (B,D) 5.2.4 2NF 5)F={(A,B)→C,C→A} 候選碼為(A,B,D) (B,C,D),因為沒有非主 (A,B,D)和 候選碼為(A,B,D)和(B,C,D),因為沒有非主 屬性, 所以, 2NF。
屬性, 所以,R是2NF。 結論: 結論: 單個屬性組成候選碼的關系一定是2NF; 單個屬性組成候選碼的關系一定是2NF; 兩個屬性組成的關系一定是2NF;

沒有非主屬性的關系一定是2NF; 沒有非主屬性的關系一定是2NF; All-Key的關系一定是 的關系一定是2NF. All-Key的關系一定是2NF. 5.2.5 3NF 定義5.7 關系模式R U,F〉中若不存在這樣的碼X, 定義5.7 關系模式R〈U,F〉中若不存在這樣的碼X, 屬性組Y及非主屬性Z(Z Y)使得X→Y,(Y→X) Z(Z? 使得X→Y, 屬性組Y及非主屬性Z(Z?Y)使得X→Y,(Y→X) Y→Z,成立 則稱R 成立, ∈3NF。

Y→Z,成立,則稱R〈U,F〉∈3NF。 由定義5.7可以證明, R∈3NF, 5.7可以證明 由定義5.7可以證明,若R∈3NF,則每一個非主屬 性既不部分依賴函數於碼也不傳遞函數依賴於碼。
性既不部分依賴函數於碼也不傳遞函數依賴於碼 等價定義:關系模式R U,F〉∈2NF, 等價定義:關系模式R〈U,F〉∈2NF,且每一個非 主屬性都不傳遞函數依賴於碼,則稱R 主屬性都不傳遞函數依賴於碼,則稱R〈U,F〉 ∈3NF。 ∈3NF。

判斷3NF的方法是先判斷2NF,然後檢查有無非主屬 3NF的方法是先判斷2NF, 判斷3NF的方法是先判斷2NF,然後檢查有無非主屬 性對碼的傳遞函數依賴 5.2.5 3NF 關系模式SC(SNO,CNO,G) (SNO,CNO)→G沒 關系模式SC(SNO,CNO,G) (SNO,CNO)→G沒 有非主屬性對碼的傳遞依賴, SC∈3NF; 有非主屬性對碼的傳遞依賴,故SC∈3NF;

C. sql 範式 1NF=>2NF=>3NF=>BCNF=>4NF=>5NF 問題

1NF:不說實體直接說表。若一個表中的所有列不能再拆分,則滿足1NF。
例:客戶目錄表----客戶編碼、客戶名稱、家庭地址、工作單位、聯系電話... ...非1NF
原因:聯系電話可以分為家庭電話、單位電話、行動電話等等。
2NF:滿足1NF的同時,每個列只能依賴於候選主鍵,不能依賴於不是非候選主鍵的列。
例:銷售明細表----顧客編碼、商品編碼、商品名稱、銷售單價、銷售數量、銷售金額.....非2NF
原因:候選主鍵是顧客編碼+商品編碼,所有其它列都依賴於候選主鍵,但商品名稱又依賴於
商品編碼,因此此表不是2NF
3NF:滿足2NF的同時,不能存在傳遞依賴。
傳遞依賴---A依賴於B,B又依賴候選主鍵,A傳遞依賴候選主鍵
例:銷售明細表----顧客編碼、商品編碼、銷售單價、銷售數量、銷售金額.....非3NF
(這里設銷售單價不依賴商品編碼,可以降價、打折等)
原因:候選主鍵是顧客編碼+商品編碼,所有其它列都依賴於候選主鍵,但銷售金額又依賴於
銷售單價+銷售數量,形成了銷售金額-->銷售單價+銷售數量-->候選主鍵,成了傳遞依
賴關系。因此,此表不滿足3NF。去掉銷售金額就是3NF了。
至於BCNF以上基本就不適用了。NF太高需要大量連接查詢,資料庫的性能急劇下降,不可取。

D. 請求sql範式問題

既然你這樣說了··
那就說說我的理解吧··
第一範式:就是確保每列的原子性即屬性不能再分就屬性為最小的單元··比如說人的姓名就不可以再分了·
第二範式:就是把每個對象里的冗餘再拆分·分為對個對象··就多個表··一表一對象
第三範式:就是建關系·將第二範式中拆分的表建好關系·就OK
其他範式可以不用再理解了·
主要看客戶的要求·

E. 最高分求SQL Server試題,考試要用,急!

一、填空題
1、beautiful、我心中的太陽--(去掉了右邊的空格)
2、實體、域
3、視圖
4.13.4300、13.4570--(保留2位和三位小數,但總位數不變)
5、數據定義語言(DDL)、數據操作語言(DML)
6、網狀、關系、關系
7、二維表、屬性、元組
8、一對一、一對多、多對多
9、%、_
二、選擇題
1、C
2、B
3、A
4、A
5、C
6、D
7、A
8、C
9、D
10、B
11、A
12、A
13、B
14、B
15、B
三、判斷題
1、√
2、ⅹ
3、ⅹ----會取整(12)
4、ⅹ
5、ⅹ--物極必反,多了存儲數據時會消耗較多系統資源
6、ⅹ--連接、投影結果是不一樣的
7、ⅹ--視圖上可以創建觸發器,但與表功能不相同
8、ⅹ
9、√
10、√
四、簡答題
(一)
區別:
1、視圖是已經編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,試圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些欄位構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。
視圖優點:1、聚焦特定的數據。
2、簡化數據操作
3、定製用戶數據
4、對重構資料庫提供了一定程度的邏輯獨立性
5、合並分離的數據
6、屏蔽資料庫的復雜性
7、簡化用戶許可權的管理
8、便於數據的共享
(二)
含義:
存儲過程(Stored Procere)是一組為了完成特定功能的SQL語句集,經編譯後存儲在資料庫中。用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
語法:
CREATE PROCEDURE [擁有者.]存儲過程名[;程序編號]
[(參數#1,…參數#1024)]
[WITH
{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
]
[FOR REPLICATION]
AS 程序行

F. sql資料庫習題,規范化過程中的範式及模式分解問題

  1. (1) 試說明R不是2NF模式的理由。

    存在部分依賴,所以R不是2NF

(2) 試把R分解成2NF模式集。

R1(ABC),R2(AD) 說明:消除部分依賴關系

2.(1)R存在傳遞依賴。

(2)R1(CB),R2(BA) 說明:消除傳遞依賴關系

G. SQL資料庫關系模式的題目

1、S最高為第二範式。因為主鍵是學號,所以有學號->(姓名,系名,住處),
又有系名->(住處),所以存在傳遞依賴
2、由於存在傳遞依賴,所以存在數據插入異常。如新設立的系名,還沒有學生時,因為學號為空,所以導致新系名無法插入
3、分解為第三範式:
S1:學號,姓名,系名
S2:系名,住處

H. 一道關於SQL範式的題目

這種純理論的東西不會。這種東西學了也沒用。當然用來考試除外。

I. SQL範式問題

1.3NF 因為非主屬性為空

2.最高??應該是最低吧 最低是2NF 因為不存在非主屬性對候選關鍵字的部分依賴