期末了,復習一波
真不知道為什么中國的cs教育搞得跟文科一樣。。。
數據庫期末復習習題
一、選擇題
- 數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段,在這三個階段中,數據獨立性最高的是( C )階段。
(A)人工管理 (B)文件系統 (C)數據庫系統
- 候選碼中的屬性可以有( C )。
(A)0個 (B)1個 (C)1個或多個 (D)多個
(當一個關系有N個屬性或屬性組可以唯一標識時,則說明該關系有N個候選碼,可以選定其中一個作為主碼。)
- 現實世界“特征”術語,對應於數據世界的( A )。
(A)屬性 (B)聯系 (C)記錄 (D)數據項
- 下面關於關系性質的敘述中,不正確的是( D )。
(A)關系中行的次序不重要 (B)關系中列的次序不重要
(C)關系中元組不可以重復 (D)關系中列不可以取空值
- 若有語句SNO INT NOT NULL UNIQUE,下面描述不正確的是( B )。
(A)每個SNO必須是唯一的 (B)SNO是主碼 (C)SNO不能為空 (D)SNO取值整數
- 在SELECT語句中的WHERE子句的條件表達式中,可以匹配0個到多個字符的通配符是( B )。
(A)* (B)% (C)_ (D)[]
- 在SQL SERVER中聲明局部變量時,變量名前面的字符為( A )。
(A)@ (B)@@ (C)# (D)*
- 關於EXISTS謂詞的使用,錯誤的是( C )。
(A)EXISTS謂詞返回的結果是TRUE或FALSE
(B)由EXISTS引出的子查詢,SELECT語句一般不寫具體的屬性列,而使用*
(C)EXISTS既可以用在相關子查詢中,又可以用在不相關子查詢中
(D)NOT EXISTS與EXISTS返回的結果相反
(非相關子查詢的執行不依賴與外部的查詢。
相關子查詢的執行依賴於外部查詢。多數情況下是子查詢的WHERE子句中引用了外部查詢的表。
非相關子查詢是獨立於外部查詢的子查詢,子查詢總共執行一次,執行完畢后將值傳遞給外部查詢。
相關子查詢的執行依賴於外部查詢的數據,外部查詢執行一行,子查詢就執行一次。
故非相關子查詢比相關子查詢效率高。)
- 在視圖上不能完成的操作是( D )。
(A)更新視圖 (B)查詢 (C)在視圖上定義新視圖 (D)在視圖上定義新的基本表
- 下列聚合函數用法正確的是( B )。
(A)SUM(*) (B)COUNT(*) (C)MAX(*) (D)AVG(*)
- 在關系數據庫設計中,設計關系模式是( C )的任務。
(A)需求分析階段 (B)概念設計階段 (C)邏輯設計階段 (D)物理設計階段
- SQL語言是( C )語言。
(A)層次數據庫 (B)網狀數據庫 (C)關系數據庫
- 如果對關系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降序創建了一個唯一索引
(主鍵一定是唯一性索引。
但是一張表中可以有多個唯一索引,所以唯一索引不一定是主鍵。)
- 關於觸發器敘述錯誤的是( B )。
(A)觸發器是不需要調用的,當觸發事件發生時它就會被激活
(B)觸發器不可以同步數據庫的相關表進行級聯更改
(C)觸發器是一類特殊的存儲過程
(D)觸發器能作用在數據庫、服務器及表上。
- 定義一個存儲過程查詢學生某門課程的成績和學分,存儲過程的首部如下形式:
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 '李明', '數據庫原理'
- 有兩個關系模式,分別為職工(職工號,職工名,部門號,職務,工資)、設備(設備號,職工號,設備名,數量),其中職工號、設備號分別是職工關系和設備關系的主鍵,且設備關系的職工號的取值來自職工關系的職工號,則兩個關系的屬性中,哪個是外鍵( C )。
(A)職工關系的職工號 (B)職工關系的設備號
(C)設備關系的職工號 (D)設備關系的設備號
- 對視圖的描述錯誤的是( C )。
(A)是一張虛擬的表
(B)在存儲視圖時存儲的是視圖的定義
(C)在存儲視圖時存儲的是視圖中的數據
(D)可以像查詢表一樣來查詢視圖
- 已知成績表如表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
- 用於事務回滾的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語句的只讀事務;
可以使用此語句手動提交疑問在分布式的事務上;
通過修改的表,查看事務期間所作的任何更改,但其他用戶不能看到所做的更改。
)
- 若有語句ORDER BY 總分 DESC,英語DESC,該語句表示的意思是( C )。
(A)總分和英語分數都是最高的在前面
(B)總分和英語分數之和最高的在前面
(C)總分高的在前面,總分相同時英語分數高的在前面
(D)總分和英語分數之和最高的在前面,相同時英語分數高的在前面
- 如果要在員工工資表中限制工資的輸入范圍,應使用( D )約束。
(A)PRIMARY KEY (B)FOREIGN KEY (C)UNIQUE (D)CHECK
- SQL的聚集函數COUNT、SUM、AVG等函數不允許出現在查詢語句的( D )子句中。
(A)SELECT (B)HAVING (C)ORDER BY (D)WHERE
- 數據的( D )是指保護數據庫,防止未經授權或不合法的使用造成的數據泄漏、非法更改或破壞。
(A)完整性 (B)備份 (C)恢復 (D)安全性
- 數據庫管理系統能實現對數據庫中數據的查詢、插入、修改和刪除,這類操作是由T-SQL 中哪類語言完成( B )。
(A)數據定義語言 (B)數據操縱語言 (C)數據控制語言
- 語句DELETE FROM sc表明( A )。
(A)刪除sc中的全部記錄(元組) (B)在刪除基本表sc
(C)刪除基本表sc中的列數據 (D)刪除基本表sc中的部分行
(
可以在不刪除表的情況下刪除所有的行。這意味着表的結構、屬性和索引都是完整的:
DELETE FROM table_name
或者:
DELETE * FROM table_name
)
- 若屬性A是關系R的主鍵(碼),則屬性A不能取空值(NULL),這是滿足( A )。
(A)實體完整性規則(B)參照完整性規則(C)用戶定義完整性規則(D)域完整性規則
(
實體完整性:
實體完整性要求每一個表中的主鍵字段都不能為空或者重復的值。
參照完整性:
若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則對於R中每個元組在F上的值必須為:或者為空(F中每個屬性均為空),或者等於S中某個元組的主碼值。 其實這個概念很模糊,其實說簡單點,比如在學生選課關系中,學號是學生表主鍵,課號是課程表主鍵,學號和課號聯合做選課表的主鍵,這都是實體完整性約束。 而選課表中,單獨一個學號是外鍵、參照學生表學號,單獨一個課號是外鍵,參照課程表課號,這都是參照完整性約束,比如課號的值只有1,但是你在選課表里取課號為1以外的值,就會出錯,違反了參照完整性。
用戶定義完整性:
指根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。這一約束機制一般不應由應用程序提供,而應有由關系模型提供定義並檢驗,主要包括字段有效性約束和記錄有效性。
域(列)完整性:
域完整性是對數據表中字段屬性的約束,通常指數據的有效性,它包括字段的值域、字段的類型及字段的有效規則等約束,它是由確定關系結構時所定義的字段的屬性決定的。限制數據類型,缺省值,規則,約束,是否可以為空,域完整性可以確保不會輸入無效的值.。
)
- SQL SERVER提供的單行注釋語句是使用( B )開始的一行內容。
(A)/* (B)-- (C){ (D)/
- 下列關於關系數據模型的術語中,( D )術語所表達的概念與二維表中的“行”的概念最接近。
(A)屬性 (B)域 (C)關系 (D)元組
- 對於下列語句,正確的描述是( B )。
ALTER TABLE Product
ADD Year DATE DEFAULT‘1985-01-01’
(A)向Product表中增加一個名為“DATE”的列
(B)該列有一個默認值是“1985-01-01”
(C)該列的數據類型是字符型
(D)該屬性指定為主碼
- 從E-R模型向關系模式轉換時,一個M:N聯系轉換成關系模式時,一般該關系模式的主碼是( C )。
(A)M端實體的主碼
(B)N端實體的主碼
(C)M端實體的主碼與N端實體的主碼組合
(D)重新選取其他關鍵字
- 假定學生關系是S(學號,姓名,性別,年齡),課程關系是C(課程號,課程名,授課老師),學生選課關系是SC(學號,課程號,成績),要查找選修“數據庫”課程的“男”學生的姓名,將涉及到哪幾個關系( D )。
(A)S (B)SC、C (C)S、SC (D)S、SC、C
- SELECT語句執行的結果是( C )。
(A)數據項 (B)元組 (C)表 (D)數據庫
- 列值為空值(NULL),則說明這一列( A )。
(A)數值是未知的 (B)數值為0 (C) 數值為空格 (D)不存在
- 在SQL SERVER中全局變量前面的字符為( B )。
(A)@ (B)@@ (C)# (D)*
- 若有語句table_1 RIGHT JOIN table_2 ON 連接條件,這種連接會生成哪種結果集( B )。
(A)包括table_1中的所有行,不包括table_2的不匹配行
(B)包括table_2中的所有行,不包括table_1的不匹配行
(C)包括兩個表的所有行
(D)只包括table_1和table_2滿足條件的行
- 用下面的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
- 在DB應用中,一般一條SQL語句可產生或處理一組記錄,而DB可通過( B )技術實現一次只能處理一條記錄。
(A)指針 (B)游標 (C)數組 (D)棧
- 在表或視圖上執行除了( D )以外的語句都可以激活觸發器。
(A)INSERT (B)DELETE (C)UPDATE (D)SELECT
- 某查詢語句中有“%曉_”語句,則不可能的查詢結果有( A )。
(A)張某曉 (B)曉某 (C)劉曉某 (D)劉李曉某
- 下列哪條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
二、判斷題
- 使用INSERT命令一次只能插入一行數據。( x )
- 由於索引是獨立的,刪除表時,與該表相關的索引並不被刪除。( x )
- DELETE * FROM sc語句語法正確,表示刪除sc表中的所有記錄。( x )
- 日志文件用於存放恢復數據庫中用的所有日志信息、每個數據庫至少擁有一個日志文件,也可以擁有多個日志文件,擴展名為ldf。( √ )
- 在SELECT語句中,當使用ORDER BY子句時,一定要使用GROUP BY 子句。( x )
- E-R模型中,聯系可以與1個或多個實體有關。( √ )
- 同一關系模型的任意兩個元組值不能全同。( √ )
- 數據庫中只存放視圖的定義。( √ )
- SQL語言中,SELECT語句中的FROM子句指的是查詢的條件。( x )
- 使用索引可以加快查詢語句的執行速度,使用視圖可以簡化查詢語句的編寫’。( √ )
- 關系的任何屬性不可再分。( x )
- 在SQL語言中,“>any”等價於“>max”。( x )(如果子查詢返回的結果為空時,all 與max 的寫法不等價,否則等價)
- SQL語言是關系數據庫語言。( √ )
- 事務的原子性是指事務中包括的所有操作要么都做,要么都不做。( √ )
- 在CREATE INDEX語句中,使用CLUSTERED來建立簇索引。( x )
- 設關系R和S的元組個數分別為100和300,若關系T是R和S的笛卡爾積,則關系T的元組個數為400。( x )(100*300)
- 數據庫系統的三級模式結構包括:內模式、模式和外模式。( √ )
- 等值連接與自然連接是相同的。( x )
- 把E-R模型轉換成關系模型的過程,屬於數據庫的概念結構設計。( x )(邏輯結構設計)
三、填空題
- 實體間的聯系通常可以分為一對一、 一對多 、 多對多 。
- 打開SQL SERVER后,當前默認的數據庫為 Master ,若需使student數據庫成為當前數據庫,可以使用語句 USE student 。
- 構成E-R圖的三個基本要素為 實體 、屬性、 聯系 。
- 如果兩個實體之間具有M:N聯系,則將它們轉換為關系模型的結果是 3 個表。
- 在 SQL SERVER的事務處理中,開啟一個事務可用BEGIN TRANSACTION,提交事務和撤銷事務應使用 COMMIT TRAN 和ROLLBACK TRAN 。
- 游標處理步驟包括: 聲明游標 、 打開游標 、 讀取數據 、關閉游標、刪除游標 。
- 指出下列縮寫的含義:DBMS 數據庫管理系統 、DBA 數據庫管理員 。
- SELECT語句進行查詢,若希望查詢的結果不出現重復元組,應在SELECT子句中使用 DISTINCT 保留字。
- 將數據庫從SQL SERVER實例中刪除,即在邏輯上將數據文件和日志文件與服務器相脫離,但文件並不從磁盤上刪除,此操作稱為數據庫分離,可通過 附加 將其重新加載到SQL SERVER實例中。
- “向EMP表增加一個Telephone列,其數據類型為長度為10的字符串”的SQL語句是:ALTER TABLE EMP ADD Telephone char(10) 。
- SQL語言的數據操縱語句包括SELECT、INSERT、UPDATE和DELETE,最重要的也是使用最頻繁的語句是 select 。
- SQL SERVER的數據庫文件分為數據文件和 日志文件 ,其中數據文件又分為主數據文件和輔助數據文件。
- 在SQL SERVER中,按觸發事件不同,觸發器可分為 DDL 觸發器 和 DML 觸發器。
- 為了使通過視圖插入新行時,元組滿足視圖定義的條件,在定義視圖時必須加上
WITH CHECK OPTION 子句。
四、簡答題
- 某關系數據庫有供應商關系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所示的關系R,請分析R的主鍵是什么並說明原因?
R的主鍵選擇(工程號,材料號)
原因:可以唯一確定一行記錄
- 聲明一個長度為16的字符型變量,變量名為cname,並賦初值為“數據庫原理與應用”。請按要求寫出相應的語句。
declare @cname char(16)
Set @cname=’數據庫原理與應用’或SELECT @cname=’數據庫原理與應用’
- 假設存在名為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) 根據上述語義畫出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
- 某高校要開運動會,請代為開發一個簡單的高校運動會管理系統,已知以下實體及聯系:
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