數據庫期末復習習題


期末了,復習一波

真不知道為什么中國的cs教育搞得跟文科一樣。。。

 

 

數據庫期末復習習題

一、選擇題

  1. 數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段,在這三個階段中,數據獨立性最高的是( C  )階段。

(A)人工管理     (B)文件系統     (C)數據庫系統    

  1. 候選碼中的屬性可以有(  C )。

(A)0個    (B)1個     (C)1個或多個   (D)多個

(當一個關系有N個屬性或屬性組可以唯一標識時,則說明該關系有N個候選碼,可以選定其中一個作為主碼。)

  1. 現實世界“特征”術語,對應於數據世界的(  A  )。

(A)屬性    (B)聯系     (C)記錄   (D)數據項  

  1. 下面關於關系性質的敘述中,不正確的是(  D  )。

(A)關系中行的次序不重要    (B)關系中列的次序不重要    

(C)關系中元組不可以重復    (D)關系中列不可以取空值

  1. 若有語句SNO INT NOT NULL UNIQUE,下面描述不正確的是(  B  )。

(A)每個SNO必須是唯一的 (B)SNO是主碼  (C)SNO不能為空 (D)SNO取值整數

  1. 在SELECT語句中的WHERE子句的條件表達式中,可以匹配0個到多個字符的通配符是(  B  )。

(A)*        (B)%        (C)_       (D)[]

  1. 在SQL SERVER中聲明局部變量時,變量名前面的字符為(  A  )。

(A)@     (B)@@        (C)#      (D)*

  1. 關於EXISTS謂詞的使用,錯誤的是( C   )。

(A)EXISTS謂詞返回的結果是TRUE或FALSE  

(B)由EXISTS引出的子查詢,SELECT語句一般不寫具體的屬性列,而使用*

(C)EXISTS既可以用在相關子查詢中,又可以用在不相關子查詢中   

(D)NOT EXISTS與EXISTS返回的結果相反

(非相關子查詢的執行不依賴與外部的查詢。

相關子查詢的執行依賴於外部查詢。多數情況下是子查詢的WHERE子句中引用了外部查詢的表。

非相關子查詢是獨立於外部查詢的子查詢,子查詢總共執行一次,執行完畢后將值傳遞給外部查詢。
相關子查詢的執行依賴於外部查詢的數據,外部查詢執行一行,子查詢就執行一次。
故非相關子查詢比相關子查詢效率高。)

  1. 在視圖上不能完成的操作是(  D  )。

(A)更新視圖   (B)查詢    (C)在視圖上定義新視圖  (D)在視圖上定義新的基本表

  1. 下列聚合函數用法正確的是(  B  )。

(A)SUM(*)    (B)COUNT(*)   (C)MAX(*)    (D)AVG(*)

  1. 在關系數據庫設計中,設計關系模式是(   C   )的任務。

(A)需求分析階段   (B)概念設計階段   (C)邏輯設計階段  (D)物理設計階段

  1. SQL語言是(  C  )語言。

(A)層次數據庫    (B)網狀數據庫    (C)關系數據庫  

  1. 如果對關系emp(eno,ename,salary)成功執行下面的SQL語句,其結果是( A )

CREATE  CLUSTER  INDEX  name_index  ON  emp(salary)

(A)在emp表上按salary升序創建了一個聚簇索引   

(B)在emp表上按salary降序創建了一個聚簇索引    

(C)在emp表上按salary升序創建了一個唯一索引

(D)在emp表上按salary降序創建了一個唯一索引

(主鍵一定是唯一性索引。

但是一張表中可以有多個唯一索引,所以唯一索引不一定是主鍵。)

  1. 關於觸發器敘述錯誤的是( B   )。

(A)觸發器是不需要調用的,當觸發事件發生時它就會被激活   

(B)觸發器不可以同步數據庫的相關表進行級聯更改   

(C)觸發器是一類特殊的存儲過程 

(D)觸發器能作用在數據庫、服務器及表上。

  1. 定義一個存儲過程查詢學生某門課程的成績和學分,存儲過程的首部如下形式:

CREATE PROCEDURE student_info @name char(8),@kc_name char(16)。其中形參@name表示學生姓名,@kc_name表示課程名,則下列執行方式中,正確的是(       D )。

(A)EXECUTE student_info('李明', '數據庫原理' )

(B)EXEC  student_info  '數據庫原理','李明'

(C)EXEC  student_info  李明,數據庫原理

(D)EXECUTE  student_info   '李明', '數據庫原理'

  1. 有兩個關系模式,分別為職工(職工號,職工名,部門號,職務,工資)、設備(設備號,職工號,設備名,數量),其中職工號、設備號分別是職工關系和設備關系的主鍵,且設備關系的職工號的取值來自職工關系的職工號,則兩個關系的屬性中,哪個是外鍵(  C )。

(A)職工關系的職工號    (B)職工關系的設備號   

(C)設備關系的職工號    (D)設備關系的設備號 

  1. 對視圖的描述錯誤的是( C  )。

(A)是一張虛擬的表

(B)在存儲視圖時存儲的是視圖的定義

(C)在存儲視圖時存儲的是視圖中的數據

(D)可以像查詢表一樣來查詢視圖

  1. 已知成績表如表1所示,執行SQL語句:                 表1 成績表

學號

課程號

分數

S1

C1

80

S1

C2

75

S2

C1

N      NULL

S2

C2

55

S3

C3

90

SELECT COUNT(DISTINCT 學號)

FROM 成績

WHERE 分數>70

查詢結果顯示的內容是( B  )。

(A)1    (B)2     (C)3   (D)4

                                            

  1. 用於事務回滾的SQL語句是(  D  )。

(A)CREATE TABLE (B)COMMIT  (C)CREATE VIEW (D)ROLLBACK

如果 @@TRANCOUNT 大於 1,則 COMMIT TRANSACTION使 @@TRANCOUNT 按 1 遞減並且事務將保持活動狀態zhi。

如果 @@TRANCOUNT 為 1,COMMIT TRANSACTION 使得dao自從事務開zhuan始以來所執行的所有數據修改成為數據庫的永久部分,釋放事務所占用的資源,並將 @@TRANCOUNT 減少到 0。

使用COMMIT提交當前事務,使事務中執行的變更永久化,所有事務的更改都將為其他事務可見,而且保證當崩潰發生時的可持續性;

可以使用此語句終止SET TRANSACTION語句的只讀事務;

可以使用此語句手動提交疑問在分布式的事務上;

通過修改的表,查看事務期間所作的任何更改,但其他用戶不能看到所做的更改。

 

 

 

 )

  1. 若有語句ORDER BY 總分 DESC,英語DESC,該語句表示的意思是(  C  )。

(A)總分和英語分數都是最高的在前面    

(B)總分和英語分數之和最高的在前面   

(C)總分高的在前面,總分相同時英語分數高的在前面

(D)總分和英語分數之和最高的在前面,相同時英語分數高的在前面

  1. 如果要在員工工資表中限制工資的輸入范圍,應使用(  D  )約束。

(A)PRIMARY KEY   (B)FOREIGN KEY    (C)UNIQUE    (D)CHECK

  1. SQL的聚集函數COUNT、SUM、AVG等函數不允許出現在查詢語句的(    D   )子句中。

(A)SELECT  (B)HAVING    (C)ORDER BY     (D)WHERE

  1. 數據的( D  )是指保護數據庫,防止未經授權或不合法的使用造成的數據泄漏、非法更改或破壞。

(A)完整性     (B)備份     (C)恢復     (D)安全性

  1. 數據庫管理系統能實現對數據庫中數據的查詢、插入、修改和刪除,這類操作是由T-SQL 中哪類語言完成(   B  )。

(A)數據定義語言    (B)數據操縱語言    (C)數據控制語言

  1. 語句DELETE FROM sc表明(  A  )。

(A)刪除sc中的全部記錄(元組)          (B)在刪除基本表sc

(C)刪除基本表sc中的列數據      (D)刪除基本表sc中的部分行

可以在不刪除表的情況下刪除所有的行。這意味着表的結構、屬性和索引都是完整的:

DELETE FROM table_name

或者:

DELETE * FROM table_name
  1. 若屬性A是關系R的主鍵(碼),則屬性A不能取空值(NULL),這是滿足( A  )。

(A)實體完整性規則(B)參照完整性規則(C)用戶定義完整性規則(D)域完整性規則

實體完整性:
實體完整性要求每一個表中的主鍵字段都不能為空或者重復的值。

參照完整性:
若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則對於R中每個元組在F上的值必須為:或者為空(F中每個屬性均為空),或者等於S中某個元組的主碼值。 其實這個概念很模糊,其實說簡單點,比如在學生選課關系中,學號是學生表主鍵,課號是課程表主鍵,學號和課號聯合做選課表的主鍵,這都是實體完整性約束。 而選課表中,單獨一個學號是外鍵、參照學生表學號,單獨一個課號是外鍵,參照課程表課號,這都是參照完整性約束,比如課號的值只有1,但是你在選課表里取課號為1以外的值,就會出錯,違反了參照完整性。

用戶定義完整性:

指根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。這一約束機制一般不應由應用程序提供,而應有由關系模型提供定義並檢驗,主要包括字段有效性約束和記錄有效性。

域(列)完整性:
域完整性是對數據表中字段屬性的約束,通常指數據的有效性,它包括字段的值域、字段的類型及字段的有效規則等約束,它是由確定關系結構時所定義的字段的屬性決定的。限制數據類型,缺省值,規則,約束,是否可以為空,域完整性可以確保不會輸入無效的值.。

  1. SQL SERVER提供的單行注釋語句是使用(  B  )開始的一行內容。

(A)/*       (B)--        (C){       (D)/

  1. 下列關於關系數據模型的術語中,(  D  )術語所表達的概念與二維表中的“行”的概念最接近。

(A)屬性    (B)域    (C)關系    (D)元組

  1. 對於下列語句,正確的描述是( B   )。

ALTER  TABLE  Product

ADD  Year  DATE  DEFAULT‘1985-01-01’

(A)向Product表中增加一個名為“DATE”的列   

(B)該列有一個默認值是“1985-01-01” 

(C)該列的數據類型是字符型

(D)該屬性指定為主碼

  1. 從E-R模型向關系模式轉換時,一個M:N聯系轉換成關系模式時,一般該關系模式的主碼是(  C  )。

(A)M端實體的主碼                       

(B)N端實體的主碼   

(C)M端實體的主碼與N端實體的主碼組合

(D)重新選取其他關鍵字  

  1. 假定學生關系是S(學號,姓名,性別,年齡),課程關系是C(課程號,課程名,授課老師),學生選課關系是SC(學號,課程號,成績),要查找選修“數據庫”課程的“男”學生的姓名,將涉及到哪幾個關系(  D  )。

(A)S    (B)SC、C     (C)S、SC   (D)S、SC、C

  1. SELECT語句執行的結果是(  C  )。

(A)數據項    (B)元組    (C)表     (D)數據庫

  1. 列值為空值(NULL),則說明這一列(  A  )。

(A)數值是未知的  (B)數值為0  (C) 數值為空格    (D)不存在

  1. 在SQL SERVER中全局變量前面的字符為(  B  )。

(A)@     (B)@@        (C)#      (D)*

  1. 若有語句table_1 RIGHT JOIN table_2 ON 連接條件,這種連接會生成哪種結果集( B )。

(A)包括table_1中的所有行,不包括table_2的不匹配行

(B)包括table_2中的所有行,不包括table_1的不匹配行

(C)包括兩個表的所有行

(D)只包括table_1和table_2滿足條件的行

  1. 用下面的T-SQL語句建立一個基本表:

  CREATE TABLE Student(Sno CHAR(4) PRIMARY KEY,

   Sname CHAR(8) NOT NULL,

     Sex char(2),

    Age INT)

可以插入到表中的元組是( D   )。

(A)’5021’,’張三’,男,21          (B)NULL,’張三’,NULL,21

(C)’5021’,NULL,’男’,21          (D)’5021’,’張三’,NULL,NULL

  1. 在DB應用中,一般一條SQL語句可產生或處理一組記錄,而DB可通過( B   )技術實現一次只能處理一條記錄。

(A)指針         (B)游標         (C)數組          (D)棧

  1. 在表或視圖上執行除了(  D  )以外的語句都可以激活觸發器。

(A)INSERT     (B)DELETE    (C)UPDATE    (D)SELECT

  1. 某查詢語句中有“%曉_”語句,則不可能的查詢結果有( A  )。

(A)張某曉     (B)曉某    (C)劉曉某    (D)劉李曉某

  1. 下列哪條SQL語句表示將計算列sal*12生成別名Annual Salary(  A  )。

(A)SELECT sal*12 'Annual Salary' FROM emp   

(B)SELECT sal*12 "Annual Salary" FROM emp 

(C)SELECT sal*12 AS Annual Salary FROM emp  

(D)SELECT sal*12 , 'Annual Salary' FROM emp

二、判斷題

  1. 使用INSERT命令一次只能插入一行數據。(  x  )
  2. 由於索引是獨立的,刪除表時,與該表相關的索引並不被刪除。(  x  )
  3. DELETE * FROM  sc語句語法正確,表示刪除sc表中的所有記錄。(  x  )
  4. 日志文件用於存放恢復數據庫中用的所有日志信息、每個數據庫至少擁有一個日志文件,也可以擁有多個日志文件,擴展名為ldf。(  √  )
  5. 在SELECT語句中,當使用ORDER BY子句時,一定要使用GROUP BY 子句。(   x   )
  6. E-R模型中,聯系可以與1個或多個實體有關。(  √  )
  7. 同一關系模型的任意兩個元組值不能全同。(  √  )
  8. 數據庫中只存放視圖的定義。(  √  )
  9. SQL語言中,SELECT語句中的FROM子句指的是查詢的條件。(  x  )
  10. 使用索引可以加快查詢語句的執行速度,使用視圖可以簡化查詢語句的編寫’。(  √  )
  11. 關系的任何屬性不可再分。(  x  )
  12. 在SQL語言中,“>any”等價於“>max”。(  x  )(如果子查詢返回的結果為空時,all  與max 的寫法不等價,否則等價)
  13. SQL語言是關系數據庫語言。(  √  )
  14. 事務的原子性是指事務中包括的所有操作要么都做,要么都不做。(  √  )
  15. 在CREATE INDEX語句中,使用CLUSTERED來建立簇索引。(  x  )
  16. 設關系R和S的元組個數分別為100和300,若關系T是R和S的笛卡爾積,則關系T的元組個數為400。(  x  )(100*300)
  17. 數據庫系統的三級模式結構包括:內模式、模式和外模式。(   √   )
  18. 等值連接與自然連接是相同的。(  x  )
  19. 把E-R模型轉換成關系模型的過程,屬於數據庫的概念結構設計。(  x  )(邏輯結構設計)

三、填空題

  1. 實體間的聯系通常可以分為一對一、      一對多           多對多       
  2. 打開SQL SERVER后,當前默認的數據庫為   Master       ,若需使student數據庫成為當前數據庫,可以使用語句         USE student            
  3. 構成E-R圖的三個基本要素為     實體       、屬性、    聯系        
  4. 如果兩個實體之間具有M:N聯系,則將它們轉換為關系模型的結果是   3   個表。
  5. 在 SQL SERVER的事務處理中,開啟一個事務可用BEGIN TRANSACTION,提交事務和撤銷事務應使用  COMMIT TRAN      和ROLLBACK TRAN       
  6. 游標處理步驟包括:   聲明游標         打開游標     讀取數據   、關閉游標、刪除游標 。
  7. 指出下列縮寫的含義:DBMS  數據庫管理系統  、DBA      數據庫管理員           
  8. SELECT語句進行查詢,若希望查詢的結果不出現重復元組,應在SELECT子句中使用     DISTINCT       保留字。
  9. 將數據庫從SQL SERVER實例中刪除,即在邏輯上將數據文件和日志文件與服務器相脫離,但文件並不從磁盤上刪除,此操作稱為數據庫分離,可通過    附加     將其重新加載到SQL SERVER實例中。
  10. “向EMP表增加一個Telephone列,其數據類型為長度為10的字符串”的SQL語句是:ALTER TABLE EMP       ADD Telephone char(10)                
  11. SQL語言的數據操縱語句包括SELECT、INSERT、UPDATE和DELETE,最重要的也是使用最頻繁的語句是     select         
  12. SQL SERVER的數據庫文件分為數據文件和     日志文件           ,其中數據文件又分為主數據文件和輔助數據文件。
  13. 在SQL SERVER中,按觸發事件不同,觸發器可分為     DDL 觸發器 和   DML  觸發器。
  14. 為了使通過視圖插入新行時,元組滿足視圖定義的條件,在定義視圖時必須加上                        

    WITH CHECK OPTION   子句。

四、簡答題

  1. 某關系數據庫有供應商關系S和零件關系P,如下圖所示。它們的主碼分別是“供應商號”和“零件號”。零件關系P的屬性“供應商號”是它的外碼,不支持級聯刪除更新;屬性“顏色”只能取值為(紅,白,藍)。(14分)

 供應商關系S:                          

      

零件關系P:     

 

 

 

 

請完成以下問題:

 

 

(1)     若向關系P插入新行(‘201’,‘白’,‘S10’)、(‘301’,‘紅’,‘T11’)、(‘301’,‘綠’,‘B01’),哪些記錄不能插入?為什么?

(‘201’,‘白’,‘S10’)不能插入,主鍵不能重復

(‘301’,‘紅’,‘T11’)不能插入,外鍵取值錯誤

(‘301’,‘綠’,‘B01’)不能插入,顏色取值錯誤

 

(2)     若刪除關系S中的行,刪除行的值分別為(‘S10’,‘宇宙’,‘上海’)、(‘Z01’,‘立新’,‘重慶’),哪些記錄可以刪除?為什么?

(‘S10’,‘宇宙’,‘上海’)不能刪除,P表有對應的行

(‘Z01’,‘立新’,‘重慶’)可以刪除

(3)     若要更新S表中的供應商號的值,將‘Z01’修改為‘Z30’,該更新操作是否可以被執行?為什么?

將‘Z01’修改為‘Z30’,可以更新,因為P表沒有關聯的行,不影響。

(4)     若要更新P表中的供應商號的值,將‘B01’修改為‘B02’,該更新操作是否可以被執行,為什么?

‘B01’修改為‘B02’不可以更新,因為S表沒有相應的值對應

 

  1. 有如圖1所示的關系R,請分析R的主鍵是什么並說明原因?

 

 

 

R的主鍵選擇(工程號,材料號) 

原因:可以唯一確定一行記錄

 

  1. 聲明一個長度為16的字符型變量,變量名為cname,並賦初值為“數據庫原理與應用”。請按要求寫出相應的語句。

declare @cname char(16) 

Set @cname=’數據庫原理與應用’或SELECT @cname=’數據庫原理與應用’

 

  1. 假設存在名為AAA的數據庫,包括S(SNO CHAR(8),SN VARCHAR(8),AGE INT,DEPT VARCHAR(20),DATET DATETIME)和SC(SNO CHAR(8),CN VARCHAR(10),GRADE NUMERIC(5,2))兩張表。請設計一存儲過程PROC3,利用存儲過程可以修改SC表中學號為@s1、課程名為@c1的學生成績,使其值為@g1。

CREATE PROC PROC3 @S1 CHAR(8),@c1 VARCHAR(10),@g1 NUMERIC(5,2)

AS

UPDATE SC

SET GRADE=@g1

WHERE SNO=@s1 AND CN=@c1

 

五、綜合題

  1. 某企業集團有若干個倉庫,每個倉庫可以存放多種零件,每種零件可以存放在多個倉庫中。倉庫的屬性有:倉庫號、倉庫名、面積、貨位數;零件的屬性有:零件號、零件名稱、規格型號、計量單位、供貨商號、價格;倉庫存放零件有庫存量。

(1)     根據上述語義畫出E-R圖。

(2)     將該E-R模型轉換為關系模型。

(3)     說明每個關系模式的主碼和外碼。

 

 

 

 

實體的主要屬性如下,其中下划線部分為主碼:

倉庫(倉庫號,倉庫名,面積,貨位數)

零件(零件號,零件名稱,規格型號,計量單位,供貨商號,價格)

庫存(  倉庫號    零件號  ,庫存量)

外碼為庫存關系中的倉庫號、零件號

 

圖書表 BOOK

列名

類型

主碼

約束

中文列名

BNO

CHAR(10)

Y

不能為空

書號

BNAME

CHAR(20)

 

不能為空

書名

AUTHOR

CHAR(8)

 

 

作者

PRESS

CHAR(20)

 

 

出版社

PRICE

INUB(5,2)

 

不能為空

單價

PDATE

DATE

 

 

出版日期

 

 

 

 

 

 

經銷商表 DEALER

列名

類型

主碼

約束

中文列名

DNO

CHAR(10)

Y

 

經銷商號

DNAME

CHAR(20)

 

 

經銷商名

ADDRESS

CHAR(20)

 

 

地址

 

 

 

 

 

批發表 WHOLESAL

列名

類型

主碼

約束

中文列名

BNO

CHAR(10)

Y

 

書號

DNO

CHAR(10)

Y

 

經銷商號

QUANTITY

INT

 

 

數量

 

 

 

 

 

請在空白處補齊,完成的SQL語句的編寫。(每空1分,共29分)

1、   創建圖書表 (不帶約束)

    

2、   修改圖書表

1)       對經銷商表添加一個”電話”字段(TELEPOLE ),類型為字符型,寬度為13位

2)       將圖書表的書號設置為主碼約束

3、   數據查詢

1)       查詢所有經銷商。

(1)     SELECT * FROM DEALER

2)       查詢姓”李”作者出版的圖書名、作者名和出版時間。

 SELECT BNAME,AUTHOR,PDATE FROM BOOK WHERE AUTHOR LIKE ‘李%’                                 

3)       查詢各經銷商批發數量少於100的書號。

SELECT DISTINCT BNO FROM WHOLESAL WHERE QUANTITY<100

 

4)       統計”科學出版社” 出版的“數據庫技術”這門書的總銷售量。

SELECT COUNT(QUANTITY) FROM WHOLESAL,BOOK WHERE BOOK.BNO= WHOLESAL.BNO

AND BOOK.PRESS=’科學出版社’AND BOOK.BNAME= ’數據庫技術’

 

修改批發銷售表WHOLESALE,增加批發時間屬性SDATE,數據類型為日期型,而且數據不能為空。

  ALTER TABLE WHOLESAL ADD SDATE DATE NOT NULL

采用嵌套方式查詢“小林書局”這個經銷商批發的圖書名。

  SELECT BNAME FROM BOOK WHERE BNO IN

  (SELECT BNO  FROM  WHOLESAL  WHERE DNO IN

       (SELECT  DNO FROM DEALER WHERE DNAME= ‘小林書局’)

   )    

將圖書表中書號為1001的圖書刪除。

  DELETE  FROM  BOOK  WHREE  BNO=’1001’    

5)       將價格在20元以下的圖書價格統一調整為21.80元。

UPDATE  BOOK  SET  PRICE=21.8  WHERE  PRICE<20

(2)     創建存儲過程,輸入書名,輸出價格。

創建:

CREATE PROC myproc @bname varchar(20),@price int output

As

SELECT @price=PRICE from BOOK where BNAME=@bname

調用:

DECLARE @price int

EXEC myproc ‘計算機應用’,@price output

(3)     創建觸發器,當表BOOK插入操作時,顯示'trigger is working’。

create trigger mytrigger on mbook after insert

as

       declare @str char(50)

       set @str='trigger is working'

       print @str

 

  1. 某高校要開運動會,請代為開發一個簡單的高校運動會管理系統,已知以下實體及聯系:

l  運動員基本信息(簡稱運動員),包括屬性:運動員號,姓名,性別,隊名。實體及其屬性對應的英文名為:ATHLETE(ANO,ANAME,ASEX,ATEAM),其中運動員號為該實體的唯一標識碼;

l  比賽項目基本信息(簡稱項目),包括屬性:項目號,項目名,比賽時間,比賽場地。實體及其屬性對應的英文名為ITEM(INO,INAME,ITIME,IPLACE),其中項目號為該實體的唯一標識碼;

l  兩個實體存在參賽聯系,每個運動員可以參加多個項目,每個項目包括多個運動員參加。運動員參賽后產生成績。參賽聯系及成績屬性對應的英文名為GAMES(SCORE)。

按要求完成如下設計工作:

(1)     數據庫設計

① 畫出該系統的E-R模型圖,包括實體、實體屬性及實體之間的聯系。

② 把E-R模型圖轉換成關系模型(包括實體及實體之間的聯系對應的關系模型),並說明關系模型的主碼、外碼。

③ 用SQL語言建立關系模型對應的基本表,其中的類型及長度可以根據需要自行確定。

(2)     用SQL語句實現如下功能

① 若有待插入記錄為:運動員編號“100801”、姓名“張三”、性別“男”、隊名“游泳夢之隊”,將此記錄插入到運動員表中。

    INTO           VALUES            

② 利用分組查詢參加比賽的男、女運動員人數

      ASEX,      FROM ATHLETE      

③ 查詢“100801”運動員參加的所有項目號、項目名、比賽時間、比賽場地

SELECT      ,INAME,ITIME,IPLACE FROM      WHERE

        AND         =’100801’

④ 利用EXISTS查詢參加了“10005”項目的所有運動員姓名及隊名

⑤ 將“游泳夢之隊”的隊名改成“Swimming Team”

⑥ 創建名為ATHLETE_SCORE的視圖(包括運動員號、姓名、隊名、項目名、成績)

 

(1)  1

① E-R模型

 

 

 

② 關系模型

ATHLETE(ANO,ANAME,ASEX,ATEAM)主碼為ANO

ITEM(INO,INAME,ITIME,IPLACE)主碼為INO

GAMES(ANO,INO, SCORE)主碼為ANO和INO,外碼為ANO,INO

③ 創建基本表

 

 

(2)       

① insert into ATHLETE values(‘100801’,’張三’,’男’,’游泳夢之隊’)

② select Asex,COUNT(*) FROM ATHLETE GROUP BY ASEX

③ select item.ino,iname,itime,iplace from item,games where

Item.ino=games.ino and games.ano=’100801’

④ select ano,aname,ateAm from athlete where exists

(select * from games

Where games.ano=athlete.ano and ino=’10035’)

⑤ UPDATE ATHLETE SET ATEAM=’swimming team’ where ATEMA=’游泳夢之隊’

⑥ CREATE VIEW ATHLETE_SCORE

   AS

   SELECT ATHLETE.ANO,ANAME,ATEAM,INAME,SCORE

   FROM ATHLETE,ITEM,GAMES

   WHERE ATHLETE.ANO=GAMES.ANO AND GAMES.INO=ITEM.INO          


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM