當前位置:首頁 » 編程語言 » sql中下列涉及空值操作

sql中下列涉及空值操作

發布時間: 2022-07-23 08:29:35

⑴ 《資料庫系統概論》第四版 期末考試題

一、單項選擇題(本大題共10小題,共30分)
1.資料庫中,數據的物理獨立性是指( )。
A.資料庫與資料庫管理系統的相互獨立
B.用戶程序與DBMS的相互獨立
C.用戶的應用程序與存儲在磁碟上資料庫中的數據是相互獨立的
D.應用程序與資料庫中的數據的邏輯結構相互獨立
2. 從E-R模型關系向關系轉換時,一個M:N聯系轉換為關系模式時,該關系模式的關鍵字是
A.M端實體的關鍵字 B.N端實體的關鍵字 ( )
C.M端實體關鍵字與N端實體關鍵字組合 D.重新選取其他屬性
3.保護資料庫,防止未經授權的或不合法的使用造成的資料泄漏、更改破壞。這是指數據的( )
A.安全性 B.完整性 C.並發控制 D.恢復
4. 關系模式中的各級模式之間的關系為( )。
A.3NF 2NF 1NF B.3NF 1NF 2NF
C.1NF 2NF 3NF D.2NF 1NF 3NF
5. 五種基本關系代數運算是 ( )
A.∪,-,×,π和σ B.∪,-,∞,π和σ
C.∪,∩,×,π和σ D.∪,∩,∞,π和σ
6. 在資料庫設計中,將ER圖轉換成關系數據模型的過程屬於 ( )
A.需求分析階段 B.邏輯設計階段 C.概念設計階段 D.物理設計階段
7. sql中,下列涉及空值的操作,不正確的是 ( )
A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL)
8.關系資料庫規范化是為解決關系資料庫中( )問題而引入的。
A.插入、刪除和數據冗餘 B.提高查詢速度
C.減少數據操作的復雜性 D.保證數據的安全性和完整性
9.下圖所示的E-R圖轉換成關系模型,可以轉換為( )關系模式。
A.1個 B.2個 C.3個 D.4個

n m

10. 如下面的資料庫的表中,若職工表的主關鍵字是職工號,部門表的主關鍵字是部門號,SQL操作( )不能執行。

職工表 部門表

A.從職工表中刪除行(『025』,『王芳』,『03』,720)
B.將行(『005』,『喬興』,『04』,750)插入到職工表中
C.將職工號為『001』工資改為700
D.將職工號為『038』部門號改為『03』
二、填空題(本大題共5小題,每空1分,共10分)
1.對於非規范化的模式,結過使屬性域變為簡單域轉變為1NF,將1NF經過消除非主屬性對碼的_______________轉變為2NF,將2NF經過消除非主屬性對碼的_______________轉變為3NF。
2.在關系A(S,SN,D)和B(D,CN,NM)中,A的主鍵是S,B的主鍵是D,則D在S中稱為___________。
3.數據模型由_________________、_________________和_________________三部分組成的。
4.資料庫體系結構按照_______________、_______________和_______________三層結構進行組織。
5.E-R圖向關系模型轉化要解決的問題是如何將實體和實體之間的聯系轉換成關系模式,如何確定這些關系模式的_________________。
三、計算題(本大題共5小題,每小題2分,共10分)
設有如下圖所示的關系R,S和T,計算:
⑴ R1=R∪S R S T
⑵ R2=R-S
⑶ R3=R T
⑷ R4=R T
(5) R5=
四、設計題(本大題共5小題,每小題4分,共20分)
設教學資料庫中有三個基本表:
學生表S(SNO,SNAME,SEX,AGE,DEPT)
課程表C(CNO,CNAME,TEACHER)
學生選課表SC(SNO,CNO,GRADE)
其中:SNO為學號,SNAME為姓名,SEX為性別,AGE為年齡,DEPT為系別,CNO為課程CNAME為課程名,TEACHER 任課老師,GRADE為成績。
試寫出下列操作的SQL語句:
1檢索學生姓名及其所選修課程號和成績。
2 檢索選修課程「C2」的學生中的最高成績。
3檢索所有比「王華」年齡大的學生姓名、年齡和性別。
4 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。
5 把Wu老師的女同學選課成績增加5%
五、綜合題(本大題共2小題,每小題15分,共30分)
1.假設某商業集團資料庫中有一關系模式R如下:R (商店編號,商品編號,數量,部門編號,負責人)
如果規定:
(1) 每個商店的每種商品只在一個部門銷售;
(2) 每個商店的每個部門只有一個負責人;
(3) 每個商店的每種商品只有一個庫存數量。
試回答下列問題:
(1) 根據上述規定,寫出關系模式R的基本函數依賴;
(2) 找出關系模式R的候選碼;
(3) 試問關系模式R最高已經達到第幾範式?為什麼?
(4) 如果R不屬於3NF,請將R分解成3NF模式集。

2.假定一個部門的資料庫包括以下的信息:
職工的信息:職工號、姓名、住址和所在部門。
部門的信息:部門所有職工、經理和銷售的產品。
產品的信息:產品名、製造商、價格、型號及產品內部編號。
製造商的信息:製造商名稱、地址、生產的產品名和價格。
完成如下設計:
(1)設計該計算機管理系統的E-R圖;
(2)寫出關系模式集,並用下劃線和波浪線標識出每個模式的主碼和外碼。
(3)在上述資料庫中,寫出主碼和外碼的總數這兩個數字。

⑵ 10. 在SQL 中,下列涉及空值的操作,不正確的是 ( )

C
null 值不能用=,只能用 is 或is not

⑶ SQL Server處理空值操作中的3大問題有哪些

轉:
不管系統計劃得有多好,空數據值的問題總是存在。
本文探討了在SQL Server中處理這些值時涉及的3個問題:計數、使用空表值以及外鍵處理。
用COUNT(*)處理空值
大多數集合函數都能在計算時消除空值;COUNT函數則屬於例外。對包含空值的一個列使用COUNT函數,空值會從計算中消除。但假如COUNT函數使用一個星號,它就計算所有行,而不管是否存在空值。
如果希望COUNT函數對給定列的所有行(包括空值)進行計數,請使用ISNULL函數。ISNULL函數會將空值替換成有效的值。
事實上,對集合函數來說,如果空值可能導致錯誤結果,ISNULL函數就非常有用。記住在使用一個星號時,COUNT函數會對所有行進行計算。下例演示了空值在AVG和COUNT集合函數中的影響:
SET NOCOUNT恰當使用空表值
SQL Server可能出現一種特殊情況:在引用父表的一個表中,因為不允許空值,所以聲明引用完整性(DRI)可能不會得到強制。即使父表不包含空值,在子表引用了父表主鍵約束或惟一約束的列中,也可能包含空值。
假如來自父表的值目前未知,就不會有任何問題。例如,父表可能是一個地址表,而子表可能包含聯系信息。由於許多原因,可能暫時不知道要傳給父表的聯系地址。這是一種基於時間的問題,空值在其中或許是合適的。
如下例所示,我們創建父表,並在其中插入兩個值。
SET NOCOUNT以下代碼則創建子表,並在引用父表的列中插入一個空值。
CREATE TABLE Child (pkey1 INT IDENTITYCONSTRAINT pkChild PRIMARY KEY,Parentpkey1 INT NULLCONSTRAINT fkChildParent FOREIGN KEYREFERENCES Parent(pkey1),col1 INT NULL) GOINSERT Child (Parentpkey1, col1) VALUES (null,2)GO
但在以下代碼中,要同時從父表和子表選擇值。雖然父表不包含空值,但在子表引用了父表的那個列中,將允許一個空值。
然後丟棄所有表,清除這個演示所用的資料庫對象。
SELECT*FROMChildGOSELECT*FROMParentGODROPTABLEChild,ParentGO
在可以為空的外鍵中檢查數據的有效性
如果由兩個列共同組成主鍵,而且一個子表將主鍵作為可為空值的外鍵來繼承,就可能得到錯誤的數據。可在一個外鍵列中插入有效的值,但在另一個外鍵列中插入空值。然後,可添加一個數據表檢查約束,在可為空的外鍵中檢查數據的有效性。
任何多列外鍵都可能遇到同樣的問題。所以,你需要添加一個檢查約束來檢測異常。最初,檢查約束將檢查構成外鍵的所有列中可能為空的值。檢查約束還要檢查這些列中不能為空的值。如兩個檢查都通過,問題就解決了。以下示範腳本展示了這樣的一個異常源碼天空

⑷ SQL高手進

D,C,C,B,C,B,D,A,A,B,A,C,A,D,C

⑸ SQL語法中涉及空值NULL的操作條件

判斷為空用: col is null

判斷非空用: col is not null

因為null表示不可知,所以 對於 = 、 like 等等判斷方法來說, 不管是=、還是<> 邏輯判斷條件均為 false

⑹ 在SQL語言中,涉及空值操作正確的是( ) A.AGE IS NULL

A
NULL不能寫等於,都是is null。B選項的的is not null是非空值的操作。

⑺ SQL Server處理空值操作中的3大問題有哪些

不管系統計劃得有多好,空數據值的問題總是存在。 本文探討了在SQL Server中處理這些值時涉及的3個問題:計數、使用空表值以及外鍵處理。 用COUNT(*)處理空值 大多數集合函數都能在計算時消除空值;COUNT函數則屬於例外。對包含空值的一個列使用COUNT函數,空值會從計算中消除。但假如COUNT函數使用一個星號,它就計算所有行,而不管是否存在空值。 如果希望COUNT函數對給定列的所有行(包括空值)進行計數,請使用ISNULL函數。ISNULL函數會將空值替換成有效的值。 事實上,對集合函數來說,如果空值可能導致錯誤結果,ISNULL函數就非常有用。記住在使用一個星號時,COUNT函數會對所有行進行計算。下例演示了空值在AVG和COUNT集合函數中的影響: SET NOCOUNT恰當使用空表值 SQL Server可能出現一種特殊情況:在引用父表的一個表中,因為不允許空值,所以聲明引用完整性(DRI)可能不會得到強制。即使父表不包含空值,在子表引用了父表主鍵約束或惟一約束的列中,也可能包含空值。 假如來自父表的值目前未知,就不會有任何問題。例如,父表可能是一個地址表,而子表可能包含聯系信息。由於許多原因,可能暫時不知道要傳給父表的聯系地址。這是一種基於時間的問題,空值在其中或許是合適的。 如下例所示,我們創建父表,並在其中插入兩個值。 SET NOCOUNT以下代碼則創建子表,並在引用父表的列中插入一個空值。 CREATE TABLE Child (pkey1 INT IDENTITYCONSTRAINT pkChild PRIMARY KEY,Parentpkey1 INT NULLCONSTRAINT fkChildParent FOREIGN KEYREFERENCES Parent(pkey1),col1 INT NULL) GOINSERT Child (Parentpkey1, col1) VALUES (null,2)GO 但在以下代碼中,要同時從父表和子表選擇值。雖然父表不包含空值,但在子表引用了父表的那個列中,將允許一個空值。 然後丟棄所有表,清除這個演示所用的資料庫對象。 SELECT*FROMChildGOSELECT*FROMParentGODROPTABLEChild,ParentGO 在可以為空的外鍵中檢查數據的有效性 如果由兩個列共同組成主鍵,而且一個子表將主鍵作為可為空值的外鍵來繼承,就可能得到錯誤的數據。可在一個外鍵列中插入有效的值,但在另一個外鍵列中插入空值。然後,可添加一個數據表檢查約束,在可為空的外鍵中檢查數據的有效性。 任何多列外鍵都可能遇到同樣的問題。所以,你需要添加一個檢查約束來檢測異常。最初,檢查約束將檢查構成外鍵的所有列中可能為空的值。檢查約束還要檢查這些列中不能為空的值。如兩個檢查都通過,問題就解決了。以下示範腳本展示了這樣的一個異常源碼天空

⑻ 資料庫原理_在線作業_B的答案,誰能告訴我一下。謝謝,有懸賞

1.C
2.D
3.
4.
5.D
6.D
6.
7.D
8.C
11.B
12.A
13.A
14.C
15.B

⑼ SQL中,下列涉及空值的操作,正確的是( )A.Name <> NULL B.NOT (Name IS NULL) C.Name IS NULL D.Nam

Name IS NULL

⑽ sql 如何查詢 空值的欄位

sql查詢空值的欄位寫法:SELECT A.欄位 FROM student A WHERE A.欄位 LIKE'% %' (student為表名)

查詢類似空值的寫法:

1、查詢名稱有退格鍵:select * from t_bd_item_info where charindex(char(8),item_name) > 0 go

2、查詢名稱有製表符tab:select * from t_bd_item_info where charindex(char(9),item_name) > 0 go

3、查詢名稱有換行:select * from t_bd_item_info where charindex(char(10),item_name) > 0 go

4、查詢名稱有回車:select * from t_bd_item_info where charindex(char(13),item_name) > 0 go

5、查詢名稱的空格(前空格、後空格、所有空格):select * from t_bd_item_info where isnull(charindex(' ',item_name),0) > 0go

6、查詢名稱的單引號:select * from t_bd_item_info where charindex(char(39),item_name) > 0 go

7、查詢名稱的雙單引號:select * from t_bd_item_info where charindex(char(34),item_name) > 0 go

(10)sql中下列涉及空值操作擴展閱讀

1、處理名稱有退格鍵
update t_bd_item_info set item_name = replace(item_name,char(8),'')
where charindex(char(9),item_name) > 0 go

2、處理名稱有製表符tab
update t_bd_item_info set item_name = replace(item_name,char(9),'')
where charindex(char(9),item_name) > 0 go

3、處理名稱有換行
update t_bd_item_info set item_name = replace(item_name,char(10),'')
where charindex(char(10),item_name) > 0 go

4、處理名稱有回車
update t_bd_item_info set item_name = replace(item_name,char(13),'')
where charindex(char(13),item_name) > 0 go

5、處理名稱的空格(前空格、後空格、所有空格)
update t_bd_item_info set item_name = replace(rtrim(ltrim(item_name)),' ','')
where isnull(charindex(' ',item_name),0) > 0go

6、處理名稱的單引號
update t_bd_item_info set item_name = replace(item_name,char(39),'')
where charindex(char(39),item_name) > 0 go

7、處理名稱的雙單引號
update t_bd_item_info set item_name = replace(item_name,char(34),'')
where charindex(char(34),item_name) > 0 go

熱點內容
沈陽加密狗 發布:2025-01-31 13:54:58 瀏覽:705
聯想伺服器怎麼裝windows7 發布:2025-01-31 13:54:52 瀏覽:874
java二級考試歷年真題 發布:2025-01-31 13:50:31 瀏覽:171
編程一刻 發布:2025-01-31 13:36:44 瀏覽:585
編程小草出土 發布:2025-01-31 13:33:27 瀏覽:579
如何設置伺服器屏蔽你的ip 發布:2025-01-31 13:25:58 瀏覽:243
扣扣的獨立密碼是什麼密碼 發布:2025-01-31 13:23:42 瀏覽:132
pythonlist的用法 發布:2025-01-31 12:56:15 瀏覽:130
搭建美國節點伺服器 發布:2025-01-31 12:55:27 瀏覽:858
對韓java 發布:2025-01-31 12:50:44 瀏覽:96