




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章思考與練習(xí)題
一、選擇題
1.三級模式間存在兩種映射,它們是(c)0
A.模式與子模式間,模式與內(nèi)模式間B.子模式與內(nèi)模式間,外模式與內(nèi)模式間
C.外模式與模式間,模式與內(nèi)模式間D.模式與內(nèi)模式間,模式與模式間
2.SQLServer系統(tǒng)中的所有系統(tǒng)級信息存儲于哪個數(shù)據(jù)庫(A)o
A.masterB.modelC.tempdbD.msdb
3.下面關(guān)于tempdb數(shù)據(jù)庫描述不對的的是(D)。
A.是一個臨時數(shù)據(jù)庫B.屬于全局資源
C.沒有權(quán)限限制D.是用戶建立新數(shù)據(jù)庫的模板
4.在數(shù)據(jù)庫技術(shù)中,面向?qū)ο髷?shù)據(jù)模型是一種(B)。
A,概念模型B.結(jié)構(gòu)模型C.物理模型D.形象模型
5.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有(B)o
A.網(wǎng)狀、關(guān)系和語義B.層次、關(guān)系和網(wǎng)狀
C.環(huán)狀、層次和關(guān)系D.網(wǎng)狀、鏈狀和層次
6.用戶看到的數(shù)據(jù)表,屬于數(shù)據(jù)庫系統(tǒng)三級模式中的(D)。
A.外模式B.內(nèi)模式C.子模式D.模式
7.對數(shù)據(jù)的插入屬于數(shù)據(jù)庫管理系統(tǒng)(B)的功能。
A.數(shù)據(jù)定義B.數(shù)據(jù)操縱C.數(shù)據(jù)庫的運營管理D.數(shù)據(jù)庫的建立和維護
8.保持數(shù)據(jù)的完整性屬于數(shù)據(jù)庫管理系統(tǒng)(C)的功能。
A.數(shù)據(jù)定義B.數(shù)據(jù)操縱C.數(shù)據(jù)庫的運營管理D.數(shù)據(jù)庫的建立和維護
9.在SQLServer數(shù)據(jù)庫中,默認情況下Sys通常是(C)o
A.數(shù)據(jù)文獻的后綴B.事務(wù)日記文獻的后綴
C.系統(tǒng)表表名的前綴D.輔助文獻的后綴
二、填空題
1.計算機數(shù)據(jù)解決技術(shù)大體經(jīng)歷了(人工管理)、(文獻管理)、(數(shù)據(jù)庫管理)等不
同的發(fā)展階段。
2.數(shù)據(jù)庫系統(tǒng)由(外模式)、(模式)和(內(nèi)模式)三級抽象模式構(gòu)成。
3.數(shù)據(jù)庫管理系統(tǒng)的重要功能涉及(數(shù)據(jù)定義)、(數(shù)據(jù)操縱)、(數(shù)據(jù)庫的運營管
理)、(數(shù)據(jù)庫的建立和維護)。
4.關(guān)系模型由三部分組成(數(shù)據(jù)結(jié)構(gòu))、(關(guān)系操作集合)和(關(guān)系的完整性)0
5.SQLServer提供了大量易用的管理工具,比較常用的重要有(服務(wù)管理器)、
(公司管理器)和(查詢分析器)0
6.數(shù)據(jù)文獻的后綴是(mdf)。
7.事務(wù)日記文獻的后綴是(ldf)0
8.SQLServer數(shù)據(jù)庫分為(系統(tǒng)數(shù)據(jù)庫)和(用戶數(shù)據(jù)庫)兩種類型。
三、簡答題
1.什么是數(shù)據(jù)和?數(shù)據(jù)與信息的區(qū)別聯(lián)系是什么?
數(shù)據(jù)(Data)是一組表達數(shù)量、行動和目的的非隨機的可鑒別的符號。
數(shù)據(jù)解決通常涉及查找、記錄、分類、修改、計算、匯總等各種方法。
數(shù)據(jù)(Data)是一組表達數(shù)量、行動和目的的非隨機的可鑒別的符號。
信息(Informati。n)是通過加工的,能對接受者的行為和決策產(chǎn)生影響的、有價值的數(shù)據(jù)。
假如將數(shù)據(jù)比方為原料,那么信息就是數(shù)據(jù)通過加工而生產(chǎn)的產(chǎn)品,是有價值的數(shù)據(jù)。與原料
和產(chǎn)品的概念相似,一個系統(tǒng)的產(chǎn)品也許是另一個系統(tǒng)的原料,那么一個系統(tǒng)的信息也許成為另
一個系統(tǒng)的數(shù)據(jù)。
2.數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)之間到底是什么關(guān)系?
數(shù)據(jù)庫就是各種相關(guān)數(shù)據(jù)的集合和容器。數(shù)據(jù)庫所保存的數(shù)據(jù)是指長期儲存在計算機內(nèi)、有
組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)必須按一定的數(shù)據(jù)模型組織、描述和儲存,具有較
小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可以被一定范圍內(nèi)的各種用戶共享。
數(shù)據(jù)庫管理系統(tǒng)是對數(shù)據(jù)庫進行管理的系統(tǒng)軟件,位于用戶和操作系統(tǒng)之間,為用戶或應(yīng)用
程序提供訪問數(shù)據(jù)庫的方法和工具。
廣義上,數(shù)據(jù)庫系統(tǒng)就是采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及
其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。狹義上講,數(shù)據(jù)庫系統(tǒng)重要指數(shù)據(jù)庫和數(shù)
據(jù)序管理系統(tǒng),由于這兩者在應(yīng)用中的互相依賴性,所以在一般不引起混淆的情況下經(jīng)常把數(shù)據(jù)
庫系統(tǒng)簡稱為數(shù)據(jù)庫。
3.請描述一下SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)。
SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)涉及物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)兩個層面。
在物理層面上,SQLServer數(shù)據(jù)庫是由兩個操作系統(tǒng)文獻組成的,即數(shù)據(jù)文獻和事務(wù)日記文
獻,它們的后綴分別是MDF和LDF。數(shù)據(jù)文獻重要用于存儲數(shù)據(jù),事務(wù)日記文獻重要用于存儲數(shù)
據(jù)庫的更新情況等事務(wù)日記信息。
在邏輯層次上,數(shù)據(jù)庫是由表、視圖、存儲過程等一系列數(shù)據(jù)對象組成的。當(dāng)采用SQLS
erver公司管理器將上述數(shù)據(jù)庫文獻“打開”后,就能看到數(shù)據(jù)庫的邏輯結(jié)構(gòu)了,如圖XXX所
示。數(shù)據(jù)庫中的數(shù)據(jù)分別存儲在幾個不同的對象中,而這些對象是用戶在操作數(shù)據(jù)庫時,實際可
以看到和接觸到的,屬于邏輯存儲結(jié)構(gòu)。常用的數(shù)據(jù)庫對象重要涉及:表(Table)、索引(Index)、
視圖(Views)、觸發(fā)器(Triggers),存儲過程(StoreProcedures)、缺?。―efaul
t)、約束(Constraints)、用戶(Users)以及圖表(Diagram)和用戶自定義的數(shù)據(jù)類型等。
在以后的章節(jié)中,我們將逐步學(xué)習(xí)這些對象的使用方法。
4.簡述關(guān)系模型的組成。
系模型是目前最重要的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。
關(guān)系模型由三部分組成:數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系的完整性。
數(shù)據(jù)結(jié)構(gòu)是指在關(guān)系模型中,無論是數(shù)據(jù)還是數(shù)據(jù)之間的聯(lián)系都是以二維表(關(guān)系)這一種簡
樸的結(jié)構(gòu)表達的,這即符合人們使用數(shù)據(jù)的習(xí)慣,同時也便于計算機實現(xiàn)。
關(guān)系操作是指美系代數(shù)(或等價的關(guān)系演算)中并、交、差、選擇、投影、連接等。關(guān)系模型
給出了關(guān)系操作的能力和特點,但不對DBMS的語言給出具體的語法規(guī)定。關(guān)系語言的特點是
高度的非過程化。其操作方式的特點是集合操作,即操作的對象和結(jié)果是集合,稱為一次一集合
的方式,而不是一次一個記錄的方式。
關(guān)系完整性涉及實體完整性、參照完整性和用戶自己定義的完整性。實體完整性是保證數(shù)據(jù)
庫中記錄的惟一性,即每個記錄的主鍵不能為空值,也不能與其他記錄的主鍵相同。參照完整性
是保證表與表之間語意上的完整性,即當(dāng)一個表引用在另一個表中定義的實體時,要保證這個實
體的有效性。這兩種完整性是關(guān)系模型必須滿足的約束條件,應(yīng)當(dāng)由關(guān)系系統(tǒng)自動支持。而用戶
自定義完整性反映了用戶的規(guī)定,是用戶自行定義的。
第二章思考與練習(xí)題
一、選擇題
1.下述關(guān)于索引的描述,對的的是(B)。
A.撤消索引會同時撤消數(shù)據(jù)庫中與之相關(guān)的內(nèi)容
B.建立索引后,會影響基本表的插入速度
C.基本表的記錄數(shù)量越多,越不應(yīng)當(dāng)建立索引
D.基本表的記錄越長,越不應(yīng)當(dāng)建立索引
2.下述關(guān)于視圖的描述,對的的是(C)。
A.視圖僅由一個基本表導(dǎo)出
B.執(zhí)行視圖比在客戶端直接執(zhí)行SELECT語句的速度要慢
C.在SQLServer中,可以像基本表同樣對視圖進行查詢操作
D.視圖存儲在客戶端的數(shù)據(jù)庫中
3.假如希望從學(xué)生表中查詢出所有姓“張”的同學(xué),那么條件語句應(yīng)當(dāng)是(B)。
A.Where姓名%'張'B.Where姓名LIKE'張%'
C.Where姓名%'LIKE張,D.Where姓名LIKE,張,
4.下列SQL語句中,可以完畢求某列最大值的是(B)。
A.SELECTAVG(Age)FROMStudentB.SELECTMAX(Age)FROMS
tudent
C.SELECTMIN(Age)FROMStudentD.SELECTCOUNT(*)FROMS
tudent
5.……將涉及到關(guān)系(D)。
二、填空題
1.SQL數(shù)據(jù)定義語言的重要作用是創(chuàng)建存儲數(shù)據(jù)的結(jié)構(gòu),而數(shù)據(jù)操縱語言的重要作用則是
向數(shù)據(jù)庫中填寫數(shù)據(jù),具體涉及增長、刪除、修改等操作.
2.當(dāng)需要對查詢結(jié)果進行排序時,可以指定其排序方式,字段后使用ASC表達升序.DESC
表達降序。
3.視圖是一個虛表,它是從一個或多個基本表中導(dǎo)出的表.
三、簡答題
1、什么是SQL,請簡要說明它的組成和特點。
結(jié)構(gòu)化查詢語言,StructuredQueryLanguage,簡稱SQL,是關(guān)系數(shù)據(jù)庫的標準語
言。SQL語言共分為四大類:數(shù)據(jù)定義語言,數(shù)據(jù)查詢語言,數(shù)據(jù)操縱語言,數(shù)據(jù)控制語言。它的
特點涉及:非過程化語言,統(tǒng)一的語言,是所有關(guān)系數(shù)據(jù)庫的公共語言。
2、索引的作用是什么?SQLServer有哪幾類索弓I,各自的特點是什么?
索引(Index)提供了?種快速訪問數(shù)據(jù)的途徑,索引是在基本表的列上建立的一種數(shù)據(jù)加對
象,索引是為了加速查詢速度而創(chuàng)建的。
實際的索引通常是這兩大類5種方式的組合。
(1)單列索引:對基本表的某一單獨的列進行索弓I,是最簡樸和最常用的索引類型,通常情
況下,應(yīng)對每個基本表的主關(guān)鍵字建立單列索引。
(2)惟一索弓I:一旦在一個或多個列上建立了惟一索弓I,則不允許在表中相應(yīng)的列上插入任何相
同的取值。使用惟一索引不僅能提高查詢性能,還可以維護數(shù)據(jù)的完整性。
(3)復(fù)合索弓I:是針對基本表中兩個或兩個以上列建立的索引。
(4)聚集索引:會改變基本表中記錄的物理存儲順序。即表中記錄的物理排序順序不再按插
入的先后排列,而是根據(jù)索引列重新排序。
(5)非聚集索引:表中記錄的物理順序與索引順序不同,表中的記錄仍按實際插入的先后順序排
列,不按索引列排序。
3、什么是基本表?什么是視圖?視圖有什么特點?在什么情況下需要創(chuàng)建視圖?
表是一個由行、列組成的二維結(jié)構(gòu),通常把行稱做記錄,把列稱為字段。
視圖是由查詢數(shù)據(jù)庫表產(chǎn)生的,它其實是一個虛擬的表,它限制了用戶能看到和修改的數(shù)據(jù)。
視圖的特點是在基本表或其他視圖上建立的表,它的結(jié)構(gòu)和內(nèi)容都來自某個基本表,是依據(jù)基
本表存在而存在的。刪除一個視圖時,不會對基本表產(chǎn)生任何影響,但當(dāng)刪除一張基本表時,與之
相關(guān)聯(lián)的視圖就會自動被刪除。
假如要限制用戶可以看到的數(shù)據(jù)庫中的信息,可以使用視圖。
4、謂詞LIKE的作用是什么?
擬定給定的字符串是否與指定的模式匹配。模式可以包含常規(guī)字符和通配符字符。模式匹配
過程中,常規(guī)字符必須與字符串中指定的字符完全匹配。
5、假如創(chuàng)建一個數(shù)據(jù)庫其SQL語句是什么?
CREATEDATABASE數(shù)據(jù)庫名稱
6、存儲過程的含義是什么?創(chuàng)建存儲過程的SQL語句是什么?
存儲過程(StoredProcedure)是一組預(yù)先編譯好的,以一種可執(zhí)行的形式永久地存儲在數(shù)據(jù)中
的SQL代碼,在master數(shù)據(jù)庫中存儲了一些SQLServer事先定義好的系統(tǒng)存儲過程,通
常以sp_xxxx做為存儲過程的名字。當(dāng)用戶創(chuàng)建數(shù)據(jù)庫時,也會自動生成一些事先定義好的存
儲過程,通常以dt_xxxx做為名字。
創(chuàng)建存儲過程的SQL語句是:
(1)語句格式:
CREATEPROC[EDURE](存儲過程名〉A(chǔ)S<SQL語句〉
(2)語句功能:
創(chuàng)建一個存儲過程,<SQL語句〉多數(shù)是指運用SQLServer的Transact-SQL編寫的程
序。
7、什么是事務(wù)?舉例說明事務(wù)解決的作用是什么?
事務(wù)(Transaction)是并發(fā)控制的基本單位,它反映了現(xiàn)實世界中需要以一個完整的單位提
交的一項工作。SQLServer通過事務(wù)機制,將邏輯相關(guān)的一組操作捆綁在一起,以便服務(wù)器保
持數(shù)據(jù)的完整性。它是SQL復(fù)雜程序設(shè)計必不可少的內(nèi)容。
事務(wù)需要用戶根據(jù)實際業(yè)務(wù)規(guī)則定義,有一定的難度,但其原理比較簡樸。舉例說,假如我們正
在使用UPDATE語句同時對學(xué)生表、成績表中的學(xué)號”20230001”改為“20230001這個
任務(wù)需要兩條UPDATE語句組成,即:
UPDATE學(xué)生表SET學(xué)號='20230001'WHERE學(xué)士'2023000I'
UPDATE成績表SET學(xué)號='20230001'WHERE學(xué)號='20230001'
假如在執(zhí)行完第一個語句后,計算機忽然斷電,而第二條語句還沒來得急執(zhí)行,數(shù)據(jù)出現(xiàn)了不
一致怎么辦?這時候就需要用到SQL的事務(wù)控制功能了。
假如使用了SQLServer的事務(wù)控制機制,以上兩個問題均可獲得很了的解決。在使用事務(wù)的
情況下,SQLServer可以保證,要么所有的記錄要么所有解決,要么一行也不解決。假如修改
了所有記錄的一半時服務(wù)器犯錯了,SQLServer會返回到以前未執(zhí)行UPDATE操作前的位置,
清除它已經(jīng)修改過的數(shù)據(jù),這就是事務(wù)解決的作用。
8、SQLServer有哪些數(shù)據(jù)類型,它們的重要用途是什么?
SQLServer提供了數(shù)值型、字符型、日期型、二進制型、位型、雙字節(jié)型等6大類數(shù)據(jù)類
型。
數(shù)據(jù)類型是數(shù)據(jù)的一種屬性,表達數(shù)據(jù)所表達信息的類型。任何一種計算機語言都定義了自己的
數(shù)據(jù)類型。
9假定有三個關(guān)系,A(ANO,ANAME,WQTY,C1TY),分別表達(商店代碼,商店名,店員數(shù)量,所在城市);
B(BNO,BNAME,PRICE),分別表達(商品號,商品名,價格);AB(ANO,BNO,QTY),分別表達(商店代
號,商品代號,商品數(shù)量)。規(guī)定,創(chuàng)建三個表,并給每個表插入最少4個合理的記錄,用SQL語言寫出下
列查詢語句,同時給出查詢結(jié)果。
(1)創(chuàng)佳三個表,并給每個表插入4個合理的記錄;
CreatetableA(
ANOCHAR(5)NOTNULLPRIMARYKEY.
ANAMEVARCHAR(50)NOTNULL,
WQTYINT,
CITYVARCHAR(IOO))
Createtab1eB(
BN0CHAR(5)N0TNULLPRIMARYKEY,
BNAMEVARCHAR(50)NOTNULL,
PRICEDECIMAL(10,2))
CreatetableAB(
ANOCHAR(5)NOTNULL,
ANOCHAR(5)NOTNULL,
QTYINT)
INSERT1NTOAVALUES(*00001';娛樂風(fēng)暴網(wǎng)絡(luò)公司‘,10,'長沙市解放路18號')
INSERTINTOAVALUES('00002'浙江景泰蘭公司長沙直銷處’,50,'長沙市東風(fēng)路I號’)
INSERT1NTOAVALUES(*00003'天虹超市',320,,長沙市青園路168號')
INSERTINTOAVALUES('00004'家樂福超市’,112,'吉首市團結(jié)東路11號')
INSERT1NTOBVALUES('00001',,伊利中老年牛奶',28)
INSERTINTOBVALUES(*00002喜之郎果凍',15)
INSERTINTOBVALUES('00003'古丈毛尖’,50)
1NSERTINTOBVALUES('00004',,大灰狼學(xué)生書包’,1188)
INSERTINTOABVALUES('00004',"00001),2)
INSERTINTOABVALUES('00003'00002),6)
INSERTINTOABVALUES(*00003',,00004',2)
INSERTINTOABVALUES('00004'00003',2)
(2)找出店員人數(shù)不超過100人或在長沙市內(nèi)的所有商店的代號和商店名;
SelectANO.ANAMEFROMAWHEREWQTY>=100ORCITYLIKE'%長沙%'
(3)找出供應(yīng)書包的商店
SELECTA.ANO,A.ANAMEFROMABINNERJOINAONA.ANO=AB.ANOINNER
JO1NBONAB.BNO=B.BNOWHEREB.BNAMELIKE'%書包%'
(4)找出至少供應(yīng)代號為256的商品所供應(yīng)的所有商品的商品店名和所在城市。
SELECTA.ANAME,A.CITYFROMABINNERJOINAONA.ANO=AB.ANOINNER
JOINBONAB.BNO=B.BNOWHEREB.BNO=,256'
9、假設(shè)某教學(xué)管理數(shù)據(jù)庫有以下三張表,請寫出下列問題的SQL語句:
學(xué)生(學(xué)號,姓名,年齡,性別)
課程(課程號,課程名,任課教師)
成績(學(xué)號,課程號,成績)
(1)如何在SQLServer上創(chuàng)建這三張表;
學(xué)生表:
createtable學(xué)生表(
學(xué)號char(8)primaryKey,
姓名char(8),
年齡int,
性別bit)
課程表:
createtab1e課程表(
課程號char(7)primaryKey,
課程名char(20),
任課教師char(8))
成績表:
createtable成績表(
學(xué)號char(8),
課程號char(7),
成績Numeric(4,2))
(2)查詢劉峰教師所授課程號,課程名;
Select課程號,課程名from課程表wh。2任課教師=,劉峰,
(3)查詢年齡大于20歲的所有男同學(xué)的學(xué)號、姓名;
Select學(xué)號,姓名from學(xué)生表where性別=1and年齡〉20
(4)查詢至少選修了兩門課程(含兩門)的學(xué)生學(xué)號;
seiect學(xué)號from成績
groupby學(xué)號
havingcount(學(xué)號)〉=2
(5)查詢王文芳同學(xué)選修的所有課程的課程號;
Se1ect課程號from成績表,學(xué)生表
Where學(xué)生表.姓名='王文芳,and學(xué)生表.學(xué)號=成績表.學(xué)號
(6)查詢王文芳同學(xué)不學(xué)的課程的課程號;
select課程號from成績表
where課程號notin(se1ect課程號from學(xué)生表,成績表
where學(xué)生表.姓名='王文芳’and學(xué)生表.學(xué)號=成績表.學(xué)號)
(7)查詢所有上劉峰老師課程的學(xué)生學(xué)號;
Select學(xué)號from成績表,課程表,學(xué)生表
Where課程表.任課教師='劉世峰'and課程表.課程號=成績表.課程號and課程
表.學(xué)號=成績表.學(xué)號
(8)查詢所有選修“數(shù)據(jù)庫原理”的學(xué)生的學(xué)號;
Se1ect學(xué)號from成績表,課程表
where課程表.課程名=,數(shù)據(jù)庫技術(shù)and課程表.課程號=成績表.課程號
(9)向?qū)W生表中插入一條記錄。2023001,,’吳紅,,21,,女,);(1表達女,0表達男)
insertinto學(xué)生表values('2023001','吳紅','21'』)
(10)刪除三張表中所有學(xué)號為20230231的學(xué)生信息;
Deletefrom學(xué)生表where學(xué)號='>20230231'
De1etefrom學(xué)生表where學(xué)號=,2023023T
(11)把學(xué)號為20230002的學(xué)生的年齡改為22歲;
Update學(xué)生表set年齡='22'where學(xué)號='20230002'
第三章思考與練習(xí)題
一、選擇題
1.設(shè)一個關(guān)系為R,假如它的每個屬性都是不可再分的,則稱這個關(guān)系是符合(A)。
A、第—*范式B、第二范式C、第三范式D、BNC范式
2.在第一個關(guān)系中出現(xiàn),在第二個關(guān)系中不出現(xiàn)的記錄組成的關(guān)系稱為兩個關(guān)系的(C)。
A、交B、并C、差D、笛卡兒積
二、簡答題
1.設(shè)關(guān)系模式R有N個屬性,在模式R上也許成立的函數(shù)依賴有多少個?
函數(shù)依賴有Nx(N-l)個
2.設(shè)有關(guān)系模式R(職工號,職工名,項目號,項目名,工資),假設(shè)一個職工可參與多個項目,
在每個項目中各領(lǐng)一份工資。那么請回答以下問題:
(1)請寫出這個關(guān)系模式的函數(shù)依賴和主關(guān)鍵字;
函數(shù)依賴涉及:職工號-職工名,項目號一項目名,(職工號,項目號)一工資
主鍵為(職工號,項目號)
(2)這個關(guān)系符合第幾范式,為什么?
這個關(guān)系符合第一范式,由于它的每個屬性都不可再分。
(3)請舉例說明,這個關(guān)系存在哪些問題;
這個關(guān)系沒有達成第二范式,也許出現(xiàn)數(shù)據(jù)冗余和操作異常。
例如,某個職工參與了多個項目的工作,他的職工號、職工名會反復(fù)多次存儲。同樣,假如一
個項目有多名職工參與,項目號和項目名也會反復(fù)我次存儲。此外,假如現(xiàn)在增長了一個新的項
目,但暫時還沒有安排職工參與,那么由于主鍵是(職工號,項目號),這個項目的信息也許無法插
入。
(4)請把這個關(guān)系模式分解成3NF,并說明理由。
修改后的各個關(guān)系如下:
職工關(guān)系=(職工號,職工名)
項目關(guān)系=(項目號,項目名)
職工選擇項目關(guān)系=(職工號,項目號,工資)
(注:此處的工資是指職工參與某個項目得到的勞動報酬)
3.關(guān)系完整性的重要內(nèi)容是什么?為什么要保證關(guān)系的完整性?
關(guān)系完整性就是關(guān)系模型中數(shù)據(jù)的對的性、一致性和有效性。關(guān)系完整性又涉及實體完整性、
參照完整性和用戶定義的完整性三個方面。
只有保證了關(guān)系的完整性,才干使數(shù)據(jù)庫中的數(shù)據(jù)對的、一致和有效。
4.SQLServer中進行關(guān)系完整性的重要方法是什么,請寫出相應(yīng)的SQL語句。
DSQLServer通過約束機制來實現(xiàn)數(shù)據(jù)庫完整性保護。重要涉及:PrimaryKey約束、
ForeignKey約束、Defauk約束、Unique約束、Check約束等。
PrimaryKey約束:
學(xué)號char(8)NOTNULL
PRIMARYKEY(學(xué)號)
ForeignKey約束:
學(xué)號char(8)NOTNULL
REFERENCES學(xué)生表(學(xué)號)
Default約束:
成績numeric(9,2)DEFAULT0.00
Unique約束:
學(xué)號char(8)NOTNULL
UNIOQUE(學(xué)號)
Check約束:
年齡intCHECK(年齡)17and年齡<25)
2)使用規(guī)則實行數(shù)據(jù)的完整性。
創(chuàng)建規(guī)則的語法結(jié)構(gòu)如下:
CREATERULE規(guī)則名AS條件表達式
3)使用默認實行數(shù)據(jù)完整性管理。
創(chuàng)建默認的語法如下:
CREATEDEFAULT默認名AS默認值
5.為什么要進行規(guī)范化?規(guī)范化的相關(guān)理論是什么?請簡要說明。
為保證數(shù)據(jù)庫設(shè)計的對的性,在數(shù)據(jù)庫邏輯設(shè)計階段,常使用關(guān)系規(guī)范化理論來指導(dǎo)關(guān)系型數(shù)
據(jù)庫的設(shè)計。其基本思想是,每個關(guān)系都應(yīng)滿足一定的規(guī)范,才干使關(guān)系模式設(shè)計合理,達成減少
冗余,提高查詢效率的目的。
一個好的數(shù)據(jù)庫關(guān)系,應(yīng)當(dāng)沒有數(shù)據(jù)冗余、更新異常、插入異常、刪除異常問題的存在,這就
必須進行規(guī)范化解決。
規(guī)范化使用的理論是函數(shù)依賴。
6.什么是一個“好”的關(guān)系模式,一個“不好”的關(guān)系模式有什么缺陷?
"好'’的關(guān)系模式通常是指符合第三范式規(guī)定的關(guān)系,“不好''的關(guān)系模式會存在數(shù)據(jù)冗余、更新
異常、插入異常、刪除異常等問題。
7.請寫出一個符合第三范式的關(guān)系模式,并說明理由。
學(xué)生=(學(xué)生號,姓名,性別,專業(yè))
課程=(學(xué)生號,課程號,成績)
選課=(課程號,課程名,課程學(xué)分)
第四章思考與練習(xí)題
一、填空題
1.數(shù)據(jù)庫設(shè)計一般涉及需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫實行和運營維護
等階段。
2.數(shù)據(jù)庫應(yīng)用系統(tǒng)的建設(shè)涉及結(jié)構(gòu)設(shè)計和行為設(shè)計兩個方面。
3.數(shù)據(jù)庫設(shè)計的重要原則涉及表設(shè)計原則、字段設(shè)計原則和其他原則。
4.E-R圖的設(shè)計關(guān)鍵在于對實體、聯(lián)系的選擇和表達。
5.物理設(shè)計的重要內(nèi)容涉及存儲記錄的格式設(shè)計、存儲方法設(shè)計、訪問方法設(shè)計以及完整性
和安全性考慮。
二、簡答題
1.請簡要說明數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的環(huán)節(jié)。
數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的環(huán)節(jié)涉及需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計。
2.數(shù)據(jù)庫設(shè)計的目的是什么,請談?wù)勀愕睦斫狻?/p>
數(shù)據(jù)庫設(shè)計指的是設(shè)計數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是指對于一個給定的應(yīng)用環(huán)境,涉及硬件
環(huán)境和操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)等軟件環(huán)境,如何使用這個環(huán)境來表達用戶的規(guī)定,
構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫展開的應(yīng)用系統(tǒng),使之可以有效地收集、存儲、
操作和管理數(shù)據(jù),滿足公司組織中各類用戶的應(yīng)用需求(信息需求和解決需求)。
3.基本表設(shè)計的重要原則是什么,堅持這些原則有什么好處?
基本表設(shè)計最重要的原則是關(guān)系規(guī)范化,盡也許達成第三范式。規(guī)范化有助于消除數(shù)據(jù)庫中
的數(shù)據(jù)冗余,減少更新異常。規(guī)范化有好幾種形式,但第三范式通常被認為在性能、擴展性和數(shù)
據(jù)完整性方面達成了最佳平衡。簡樸來說,遵守第三范式標準的數(shù)據(jù)庫的表設(shè)計原則是:“OneF
actinOnePlace"(一個事實相應(yīng)一個地方),即某個表只涉及其自身基本的屬性,當(dāng)不是它們
自身所具有的屬性時需進行分解。表之間的關(guān)系通過外鍵相連接。
4.進行SQLServer數(shù)據(jù)庫設(shè)計時,一般有哪些命名規(guī)則?
一方面,命名的長度應(yīng)盡量充足。假設(shè)某公司現(xiàn)有職工在一千人以內(nèi),假如用數(shù)字表達職工號
的話,職工號的長度為3位即可,它最大可以表達999個職工。但是,假如考慮到公司未來的
發(fā)展,那么職工號最佳設(shè)為4位,當(dāng)公司職工數(shù)目突破千人時,主線無需重構(gòu)整個數(shù)據(jù)庫。
另一方面,小心保存詞。要保證字段名沒有與SQL等保存詞或者常用訪問方法名發(fā)生沖突。
最后,慎用使用觸發(fā)器。觸發(fā)器在保證數(shù)據(jù)完整性方面發(fā)揮著積極作用,但它同時也會帶來效
率方面的問題,因此要慎用。觸發(fā)器的功能通??梢杂闷渌绞綄崿F(xiàn)。
5.什么是數(shù)據(jù)流程圖,數(shù)據(jù)字典的重要作用是什么,談?wù)勀愕睦斫狻?/p>
數(shù)據(jù)流圖(DataFlowDiagram,簡記DFD),是在業(yè)務(wù)流程分析基礎(chǔ)上,描述實際數(shù)據(jù)流
動和加工過程的圖形表達法,它一般有4種符號,即外部實體、數(shù)據(jù)流、加工和存儲。外部實體數(shù)
據(jù)的來源和去向;數(shù)據(jù)流用帶箭頭的連線表達,反映數(shù)據(jù)的流動方向;加工用橢圓、圓或方框代
表(本教材運用圓形表達加工),表達對數(shù)據(jù)的加工解決動作;存儲表達數(shù)據(jù)的存檔情況。
數(shù)據(jù)字典(DataDictionary,簡記DD),是對數(shù)據(jù)流程圖中數(shù)據(jù)流和存儲結(jié)構(gòu)的描述。在數(shù)
據(jù)庫應(yīng)用系統(tǒng)設(shè)計中,數(shù)據(jù)字典是表、視圖設(shè)計的重要依據(jù)。
6.什么是E-R圖,它的作用是什么?
E-R圖是E-R(實體-關(guān)系)方法的重要組成部分。E—R方法是描述概念模型的有力工具。
E-R圖方法是一種有效的信息抽象方法。在E-R圖中,用長方形表達實體,用橢圓形表達屬性,
用菱形表達聯(lián)系。在圖形內(nèi)標記它們的名字,它們之間用無向線段相連,表達聯(lián)系的線段上標明
是哪種聯(lián)系。
它的作用是采用E-R圖模型將現(xiàn)實世界的信息結(jié)構(gòu)統(tǒng)一用實體、屬性以及實體之間的聯(lián)系來
描述。
7.簡要說明需求分析階段的重要任務(wù)和目的。
需求分析階段的重要目的是回答“干什么''的問題。需要從多方面對擬開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的
企事業(yè)單位進行調(diào)查,收集和分析各項應(yīng)用對信息和解決兩方面的需求。了解和掌握數(shù)據(jù)庫應(yīng)用
系統(tǒng)開發(fā)對象(或稱用戶)的工作業(yè)務(wù)流程和每個崗位、每個環(huán)節(jié)的職責(zé),了解和掌握信息從開始
產(chǎn)生或建立,到最后輸出、存檔或消亡所通過的傳遞和轉(zhuǎn)換過程,了解和掌握各種人員在整個系
統(tǒng)活動過程中的作用;通過同用戶充足地交流和溝通,決定那些工作應(yīng)由計算機來做,哪些工作仍
由手工來做,決定各種人員對信息和解決各有什么規(guī)定,對視屏操作界面和報表輸出格式各有什
么規(guī)定,對數(shù)據(jù)(信息)的安全性(保密性)和完整性各有什么規(guī)定等等。需求分析階段的重要工
作就是,通過調(diào)查從用戶處獲得對數(shù)據(jù)庫的下列需求。
信息需求:用戶將從數(shù)據(jù)庫中獲得的信息的內(nèi)容和性質(zhì),有信息規(guī)定導(dǎo)出數(shù)據(jù)規(guī)定,即在數(shù)據(jù)
庫中存儲哪些數(shù)據(jù)。
解決需求:用戶要完畢什么解決功能,對某種解決的執(zhí)行頻度、用戶規(guī)定的響應(yīng)時間,以及解
決的方式是聯(lián)機解決還是批解決等。
安全性和完整性的約束
第五章思考與練習(xí)題
一、簡答題
1.請簡要說明數(shù)據(jù)庫安全機制?
一個用戶訪問SQLServer必須要通過4個層次的安全控制,操作系統(tǒng)的安全性;服務(wù)器
的安全性;數(shù)據(jù)庫的安全性:表和列的安全性。從上述流程可以看出,用戶使用SQLServer
時,需要通過兩個安全性階段:身份驗證和權(quán)限認證。
身份驗證階段系統(tǒng)只檢查用戶是否有連接SQLServer實例的權(quán)力,假如身份驗證通過了,只
表達用戶可以連接SQLServer實例,否則系統(tǒng)將拒絕用戶的連接。然后需要檢查用戶是否有訪問
服務(wù)器上數(shù)據(jù)庫的權(quán)限,為此需要授予每個數(shù)據(jù)庫中映射到用戶登錄的賬號訪問權(quán)限,權(quán)限認證
就可以控制用戶在數(shù)據(jù)庫中進行的操作。
2.登錄賬號和用戶賬號的含義是什么?它們有什么區(qū)別聯(lián)系?
登錄賬號用于身份驗證,使得用戶到達登錄到SQLServer服務(wù)器,屬于服務(wù)器層面,相
稱于大門的鑰匙;用戶賬號用于權(quán)限驗證,屬于數(shù)據(jù)庫層面,相稱于自己房間的鑰匙。用戶賬號在
定義時便與一個登錄賬號相關(guān)聯(lián),即任何一個用戶賬號背后都有一個登錄賬號。
3.請簡要說明使用公司管理創(chuàng)建登錄賬號和用戶賬號的過程。
(1)在SQLServer的公司管理器下,展開“SQLServer組”文獻夾,找到需要建立登錄
賬號的服務(wù)器并展開其文獻夾,再展開“安全性''文獻夾,在“登錄”選項上右擊鼠標,在出現(xiàn)的快
捷菜單中單擊“新建登錄''菜單命令,打開“SQLServer登錄屬性-〉新建登錄”對話框。
(2)SQLServer支持“Windows身份驗證,'和單擊"SQLServer身份驗證”兩種認證模式。
選擇“SQLServer身份驗證”單選鈕,在“名稱”文本框中輸入要創(chuàng)建的登錄賬號名稱,例如
“mysa”,在“身份驗證”選項組中,并輸入密碼。
(3)設(shè)立完畢后,單擊“擬定”按鈕,即可完畢登錄賬號的創(chuàng)建。
接下來,開始創(chuàng)建用戶賬號,基本方法是:
(1)在公司管理器中,展開SQLServer組及其服務(wù)器,在“數(shù)據(jù)庫”文獻夾中,展開某一數(shù)據(jù)
庫,例如“進銷存''的文獻夾,然后在“用戶”選項上右擊,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫用
戶”命令,打開新建用戶對話框。
(2)單擊“登錄名”下拉列表框右端的下拉箭頭,會看到剛剛創(chuàng)建的“mysa”登錄帳號。選擇
“mysa”登錄賬號,此時“用戶名”文本框中自動顯示為“mysa”??梢愿摹坝脩裘蔽谋究蛑械挠脩?/p>
名,也可以在“數(shù)據(jù)庫角色成員”列表框中選擇新建用戶應(yīng)當(dāng)屬于的數(shù)據(jù)庫角色。
(3)設(shè)立完畢后,單擊“擬定”按鈕,即可在“進銷存”數(shù)據(jù)庫中創(chuàng)建一個新的用戶賬號。假如
不想創(chuàng)建用戶賬號,單擊“取消”按鈕即可。
4.如何對用戶賬號進行授權(quán)管理,一般有哪些權(quán)限,請簡要說明。
(1)展開服務(wù)器組,然后展開服務(wù)器;展開“數(shù)據(jù)庫''項,然后找到相關(guān)的數(shù)據(jù)庫,比如“進銷存”;
(2)展開“進銷存”數(shù)據(jù)庫,根據(jù)對象類型,單擊表、視圖、存儲過程等對象,找到需要進行授
權(quán)管理的數(shù)據(jù)庫對象,比如“物資臺賬''表。
(3)右擊授予權(quán)限所在的對象,從彈出菜單中選擇“所有任務(wù)一>管理權(quán)限”選項;單擊“列出所
有用戶/用戶定義的數(shù)據(jù)庫角色/public”選項,然后選擇授予每位用戶的權(quán)限。其中,選中標記
表達授予權(quán)限。進一步,通過本界面可完畢列級的授權(quán)管理。
此外,也可以采用GRANT(授予權(quán)限)、DENY(拒絕權(quán)限)和REVOKE(撤消權(quán)限)等SQL
語句完畢授權(quán)管理。
5.為什么要進行數(shù)據(jù)備份?數(shù)據(jù)庫備份涉及哪些重要內(nèi)容?
任何系統(tǒng)都不可避免會出現(xiàn)各種形式的故障,而某些故障也許會導(dǎo)致數(shù)據(jù)庫劫難性的損壞,所
以做好數(shù)據(jù)庫的備份工作極為重要。備份可以創(chuàng)建在磁盤、磁帶等備份設(shè)備上,與備份相應(yīng)的是
還原。
數(shù)據(jù)庫備份就是在某種介質(zhì)上(磁帶、磁盤等)存儲數(shù)據(jù)庫(或者其中一部分)的拷貝的過程。
更嚴格意義上講,備份應(yīng)當(dāng)是一種把數(shù)據(jù)從硬盤上復(fù)制到其他可移動介質(zhì)上的操作過程。
一個完整的備份通常要涉及三部分內(nèi)容,即系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日記。
6.什么是備份設(shè)備,請談一談SQLServer中創(chuàng)建備份設(shè)備的重要環(huán)節(jié)和方法。
備份設(shè)備是用來存儲數(shù)據(jù)庫、事務(wù)日記或文獻和文獻組備份的存儲介質(zhì)。SQLServer支
持3種備份設(shè)備,即磁盤設(shè)備、磁帶設(shè)備和命名管道設(shè)備。
在SQLServer中,可以采用兩種方法創(chuàng)建備份設(shè)備,一是運用公司管理器;二是使用系統(tǒng)存
儲過程sp_addumpdevice0其環(huán)節(jié)如下:
在公司管理器中展開服務(wù)器組,展開指定的服務(wù)器,展開“管理”文獻夾,右擊“備份”,在彈出的
快捷菜單中選擇“新建備份設(shè)備“選項,打開“備份設(shè)備屬性-新設(shè)備”對話框。在“名稱”文本框中
輸入邏輯設(shè)備的名稱,在下面選擇磁帶或者磁盤備份設(shè)備,并設(shè)立物理位置。當(dāng)使用磁盤時,SQL
Server允許將本地主機硬盤和遠程主機上的硬盤作為備份設(shè)備,備份設(shè)備在硬盤中是以文獻的
方式存儲的。完畢后,單擊“擬定”按鈕即可。缺省情況下,備份設(shè)備的全途徑為"C:\Pr。gram
Files\MicrosoftSQLServer\MSSQL\BACKUP\進銷存數(shù)據(jù)庫備份.BAK“,備份設(shè)備文獻
名為“進銷存數(shù)據(jù)庫備份.BAK”,缺省途徑為SQLServer安裝目錄的BACKUP文獻夾。
7.事務(wù)日記文獻有什么用途?是否也需要備份?為什么?
SQLServer數(shù)據(jù)庫是由兩個操作系統(tǒng)文獻組成的,即數(shù)據(jù)文獻和事務(wù)日記文獻。事務(wù)日記文
獻重要用于存儲數(shù)據(jù)庫的更新情況等事務(wù)日記信息。事務(wù)日記文獻非常重要,所有對?數(shù)據(jù)庫的更
改操作都會記錄于此,當(dāng)數(shù)據(jù)庫損壞時I數(shù)據(jù)庫管理員可使用事務(wù)日記恢復(fù)數(shù)據(jù)庫。
從事務(wù)日記文獻的作用上可以看出,它是非常有用和重要的,因此也需要備份。
8.請按以下操作練習(xí)一下數(shù)據(jù)庫備份操作,并體會一下數(shù)據(jù)庫備份的的效果。
(1)創(chuàng)建一個數(shù)據(jù)庫;
(2)使用CREATETABLE語句在數(shù)據(jù)庫中創(chuàng)建一張表;
(3)使用INSERT語句向表中插入若干條數(shù)據(jù);
(4)進入公司管理器,對數(shù)據(jù)庫進行備份操作;
⑸使用DROPTABLE語句刪除已創(chuàng)建的表;
(6)使用公司管理器,對數(shù)據(jù)庫進行還原操作。
CREATEDATABASE學(xué)生庫
學(xué)生表:
createtable學(xué)生(
學(xué)號char(8)primaryKey,
姓名char(8),
年齡int,
性別bit)
insertinto學(xué)生values('2023001','王麗','19',1)
insertinto學(xué)生values('2023002','張華','20',0)
insertinto學(xué)生values('2023003'李敏','19',1)
DROPTABLE學(xué)生
第六章思考與練習(xí)題
一、簡答題
1.什么是嵌入式SQL,它有哪些特點和用途?
嵌入式SQL語言是將SQL語句直接嵌入到程序的源代碼中,與其他程序設(shè)計語言語句混合。
嵌入式SQL的用途:它是數(shù)據(jù)庫應(yīng)用程序的一種開發(fā)方法。是一種應(yīng)用程序進行數(shù)據(jù)庫訪問
時所采用的編程式數(shù)據(jù)庫語言。
嵌入式SQL的特點是,數(shù)據(jù)庫管理系統(tǒng)DBMS一般會采用預(yù)編譯的解決辦法,即由DBMS
的預(yù)解決程序?qū)υ闯绦蜻M行掃描,辨認出SQL語句,把它們轉(zhuǎn)換成宿主語言調(diào)用語句,以使宿主
語言編譯程序可以辨認它,最后再由宿主語言的編譯程序?qū)⒄麄€源程序編譯成目的碼。嵌入SQL
語句完畢的功能也可以通過應(yīng)用程序接口(API)實現(xiàn)。
2.請簡述C/S和B/S的重要原理,并說明它們各自的優(yōu)缺陷。
C/S模式就是基于公司內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。傳統(tǒng)的C/S模式是一種兩層結(jié)構(gòu)的系統(tǒng),
第一層是在客戶機系統(tǒng)上結(jié)合了表達與'業(yè)務(wù)邏輯;第二層是通過網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫服務(wù)器。
優(yōu)點是:C/S模式的應(yīng)用系統(tǒng)最大的好處是不依賴公司外網(wǎng)環(huán)境,即無論公司是否可以上網(wǎng),
都不影響應(yīng)用。
缺陷是應(yīng)用程序的維護、移植和互操作變得復(fù)雜。
B/S模式,即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)構(gòu)模
式,其本質(zhì)是三層結(jié)構(gòu)C/S模式。B/S網(wǎng)絡(luò)結(jié)構(gòu)模式是基于Intranet的需求而出現(xiàn)并發(fā)展的。
在B/S模式中,客戶端運營瀏覽器軟件。
優(yōu)點是:B/S占有優(yōu)勢的是其異地瀏覽和信息采集的靈活性。任何時間、任何地點、任何
系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。
缺陷是:采用B/S結(jié)構(gòu),客戶端只能完畢瀏覽、查詢、數(shù)據(jù)輸入等簡樸功能,絕大部分工
作由服務(wù)器承擔(dān),這使得服務(wù)器的承擔(dān)很重。
3.請簡要說明運用VB開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的一般環(huán)節(jié)。
運用VB開發(fā)數(shù)據(jù)類應(yīng)用程序的基本框架如下:
I)通常要聲明一個全局數(shù)據(jù)庫連接對象
2)一般要創(chuàng)建Main子過程,并將它設(shè)立為啟動對象。在其中順序完畢以下操作:
(1)以非模態(tài)方式顯示飛濺窗。
(2)創(chuàng)建全局數(shù)據(jù)庫連接對象,并連接SQLServer或Access等數(shù)據(jù)庫。
(3)以模態(tài)方式顯示登錄窗,等待用戶登錄。
(4)登錄成功后,以非模態(tài)方式顯示主窗體,否則退出程序。
3)主窗體一般均提供增長、刪除、修改、查詢等對數(shù)據(jù)庫的管理功能,所有操作均使用全局
數(shù)據(jù)庫連接對象作為與數(shù)據(jù)庫交互的通道,通過SQL語句對數(shù)據(jù)進行解決,其中涉及增長功能、
刪除功能、修改功能和查詢功能。
4)其他功能。比如數(shù)據(jù)庫備份和恢復(fù)功能、用戶權(quán)限管理功能等。
4.什么是數(shù)據(jù)庫引擎?VB數(shù)據(jù)庫應(yīng)用系統(tǒng)訪問數(shù)據(jù)庫的重要機理是什么?
VB提供了三種數(shù)據(jù)庫訪問引擎,即Jet引擎、ODBC和OLEDB,目前重要使用OLEDB。
在VB應(yīng)用程序中重要用這個對象建立與數(shù)據(jù)庫的連接,一般的方法是:
①聲明并創(chuàng)建對象
DimADOcnAsNewConnection
②建立數(shù)據(jù)庫連接
ADOcn.Open連接字符串
假如要連接SQLServer數(shù)據(jù)庫,那么連接字符串一般應(yīng)具有以下組成:
Provider=SQLOLEDB;Server=<服務(wù)器名〉;UserID=<登錄賬號>;Passw。E=<登錄口令
>;Database=<數(shù)據(jù)庫名〉
③對數(shù)據(jù)表進行更新操作
5.ADO對象模型的重要對象是什么?假如連接后臺數(shù)據(jù)庫?
ADO對象模型的重要對象是:Connection、Command、Recordset、Parameter、Proper
ty、Field和Erroro
①聲明并創(chuàng)建對象
DimADOcnAsNewConnection
②建立數(shù)據(jù)庫連接
ADOcn.Open連接字符串
假如要連接SQLServer數(shù)據(jù)庫,那么連接字符串一般應(yīng)具有以下組成:
Provider=SQLOLEDB;Server=<服務(wù)器名〉;UserID=<登錄賬號》;Password=<登錄
口令〉;Database=<數(shù)據(jù)庫名〉
6.請寫出VB中編寫增、刪、改、查功能的重要環(huán)節(jié)和語句。
ADOcn.Exec\AeSQL語句字符串
要增長學(xué)生成績表中學(xué)號為20230008的記錄,可以采用以下語句實現(xiàn):
ADOcn.Executeuinsertinto學(xué)生成績表(學(xué)號,課程號,成績)Value(120230008,,510
1:85,)”
要刪除學(xué)生成績表中學(xué)號為001的記錄,可以采用以下語句實現(xiàn):
ADOcn.Execute“DELETEFROM學(xué)生成績表WHERE學(xué)號=‘001'"
要修改學(xué)號為20230008學(xué)生課程號為101的成績?yōu)?9。
ADOcn.Execute“UPDATE學(xué)生成績表SET成績=,89,
WHERE學(xué)號=,20230008'AND課程號="01小
要查找所有的學(xué)生的成績
ADOcn.Execute“SELECT*FROM學(xué)生成績表”
第4次作業(yè)及答案
一、單項選擇題(每個題只有一個答案是對的的。)
1.假如希望從學(xué)生表中查詢出所有姓“李”的同學(xué),那么條件語句應(yīng)當(dāng)是(B)。
A、Where姓名%,李,B、Where姓名LIKE'李%,
C、Where姓名%'LIKE李D、Where姓名L1KE'李,
2.在一個教師關(guān)系中,可以成為主關(guān)鍵字(或稱主碼)的屬性是(B)o
A、教師姓名B、教師編號C、教師年齡D、教師性別
3.從最終用戶應(yīng)用程序的視角看,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是(C)。
A、模式、外模式和內(nèi)模式B、內(nèi)模式、外模式和模式
C、外模式、模式和內(nèi)模式D、外模式、內(nèi)模式和模式
4.在一個學(xué)生關(guān)系中,可以成為主關(guān)鍵字(或稱主碼)的屬性是(C)。
A、性別B、年齡C、學(xué)號D、班級
5.有嚴格的數(shù)學(xué)基礎(chǔ)的數(shù)據(jù)模型是(A)。
A、關(guān)系模型B、網(wǎng)狀模型C、層次模型D、面向?qū)ο竽P?/p>
6.下列關(guān)于索引的說明不對的的是(A)。
A、索引必須創(chuàng)建在主關(guān)鍵字之上B、索引與基本表分開存儲
C、索引是為了提高查詢速度而創(chuàng)建的
D、索引會在一定限度上影響增刪改操作的效率
7.設(shè)關(guān)系R是滿足第一范式的,若R中不存在非主屬性對主鍵的部分函數(shù)依賴,則R符合
(A)o
A、第二范式B、第三范式C、BNC范式D、第四范式
8.下列符合第三范式的關(guān)系是(D)。
A、學(xué)生(學(xué)號,姓名,課程號,課程名)
B、學(xué)生(學(xué)號,姓名,課程名,成績)
C、學(xué)生(學(xué)號,姓名,課程號,成績)
D、學(xué)生(學(xué)號,姓名,性別)
9.在第一個關(guān)系中出現(xiàn),而在第二個關(guān)系中不出現(xiàn)的記錄組成的新關(guān)系稱為(D)。
A、兩個關(guān)系的積B、兩個關(guān)系的并C、兩個關(guān)系的交D、兩個關(guān)系的差
10.數(shù)據(jù)庫應(yīng)用程序開發(fā)中,需求分析階段的重要目的是(A)。
A、回答“干什么”的問題B、回答“怎么干”的問題
C、建立邏輯數(shù)據(jù)模型D、建立最佳物理存儲結(jié)構(gòu)
11.用戶使用SQLServer時,通常需要依次通過兩個安全性階段(C)。
A、登錄驗證、操作驗證B、操作驗證、登錄驗證
C、身份驗證、權(quán)限認證D、權(quán)限認證、身份驗證
12.SQLServer數(shù)據(jù)庫中的一個完整的備份通常要涉及(A)。
A、系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和事務(wù)日記
B、系統(tǒng)數(shù)據(jù)庫、系統(tǒng)表和數(shù)據(jù)字典
C、系統(tǒng)數(shù)據(jù)庫、用戶數(shù)據(jù)庫和數(shù)據(jù)字典
D、用戶數(shù)據(jù)庫和事務(wù)日記
13.下列哪些不屬于索引的類型(D)。
A、單列索引B、惟一索引C、聚集索引D、事務(wù)日記索引
14.下列SQL語句中,可以完畢并運算的是(A)。
A、SELECT*FROM籃球愛好者UNIQNSELECT*FROM足球愛好者
B、SELECT*FROM籃球愛好者INTERSECTSELECT*FROM足球愛好者
C、SELECT*FROM籃球愛好者EXCEPTSELECT*FROM足球愛好者
D、SELECT*FROM籃球愛好者,足球愛好者
15.設(shè)學(xué)生表和課程表的結(jié)構(gòu)分別為(學(xué)號,姓名)和(學(xué)號,課程號,成績),假如希望查
詢出“成績大于90分的學(xué)生姓名”,則相應(yīng)的SQL語句是(D)。
A、SELECT姓名FROM學(xué)生表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號AND課程
表.成績>90
B、SELECT姓名FROM課程表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號AND課程
表.成績>90
C、SELECT姓名FROM學(xué)生表,課程表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號OR課
程表.成績>90
D、SELECT姓名FROM學(xué)生表,課程表WHERE學(xué)生表.學(xué)號=課程表.學(xué)號AND課
程表.成績>90
二、填空題
1.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)由外模式、模式和內(nèi)模式三級抽象模式構(gòu)成。
2.備份是指將數(shù)據(jù)從硬盤復(fù)制到可移動媒體上的過程。
3.“實體一聯(lián)系”方法是描述數(shù)據(jù)庫概念模型的重要方法,一般稱這種方法為E-R方法(或E-R
圖方法)。
4.用戶使用SQLServer數(shù)據(jù)庫時,一般需要通過兩個安全性階段:身份驗證和權(quán)限認證。
5.E-R圖設(shè)計一般在數(shù)據(jù)庫設(shè)計的概念設(shè)計階段使用。
三、判斷題(對的的在括號內(nèi)打上“J”,錯誤的打上"義”o)
1.可以惟一表達數(shù)據(jù)表中的每條記錄的字段或者字段的組合稱為主碼或主鍵(J)。
2.SQLServer數(shù)據(jù)庫中的NULL值(空值)表達的是“空格”或“0”值(X)
3.一個不規(guī)范的關(guān)系模式通常會引發(fā)插入異常、刪除異常和更新異常,導(dǎo)致大量的數(shù)據(jù)冗余。
(V)
4.根據(jù)索引的特點,應(yīng)當(dāng)對那些數(shù)據(jù)量大、查詢頻度較高、實時性規(guī)定強的基本表創(chuàng)建索弓I.
(力
5.數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用
系統(tǒng),有效存儲數(shù)據(jù),滿足用戶信息規(guī)定和解決規(guī)定。W)
6.參照完整性規(guī)則通常是指在兩個參照和被參照關(guān)系中,參照關(guān)系中每條記錄的外鍵或者為
空,或者等于被參照關(guān)系中某條記錄的主鍵。川)
四、簡述題
1.請簡要說明視圖的概念和作用
視圖是在基本表或其他視圖上建立的表,它的結(jié)構(gòu)和內(nèi)容都來自某個基本表,是依據(jù)基本表存
在而存在的。刪除一個視圖時,不會對基本表產(chǎn)生任何影響,但當(dāng)刪除一張基本表時,與之相關(guān)
聯(lián)的視圖就會自動被刪除。其作用重要是:(1)視圖是通過預(yù)編譯的SELECT語句,存儲在數(shù)
據(jù)庫服務(wù)器端,因此執(zhí)行視圖比從客戶端直接執(zhí)行SELECT語句速度更快、效率更高一些。
(2)視圖屬于用戶模式范疇,在實際中,一般的用戶不一定具有SELECT語句方面的專門知識,
從用戶和諧性角度來說,視圖更便于用戶使用。(3)運用視圖可以簡化的形式表達復(fù)雜的SEL
ECT語句組,如嵌套查詢等。
2.什么是函數(shù)依賴與函數(shù)決定,請舉例說明
設(shè)一個關(guān)系為R,X和Y是它的兩個屬性集。若對于X上的每個值都有Y上的一個惟一值與
之相應(yīng),則稱X和Y具有函數(shù)依賴關(guān)系,并稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X,稱X為
決定因素。
假設(shè)一個職工關(guān)系為(職工號,姓名,性別,年齡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河道下踏步施工方案
- 河鋼廣場施工方案
- 沙坪壩地毯施工方案
- 二零二五年度農(nóng)村土地墳地租賃與墓園墓碑清洗服務(wù)協(xié)議
- 美容院員工晉升與發(fā)展激勵合同(2025年度)
- 2025年度駕校教練員車輛保險承包合同
- 二零二五年度溫泉度假村股份合作協(xié)議
- 二零二五年度農(nóng)業(yè)技術(shù)居間保密合同
- 二零二五年度醫(yī)院間醫(yī)療信息共享與數(shù)據(jù)安全協(xié)議
- 2025年度車輛質(zhì)押擔(dān)保資產(chǎn)評估服務(wù)合同
- 《Java程序設(shè)計》電子課件
- 鄉(xiāng)村振興與鄉(xiāng)村體育發(fā)展
- PAC人流術(shù)后關(guān)愛與健康教育
- 公對公打款合同
- 乳腺癌患者的疼痛護理課件
- 研課標說教材修改版 八年級下冊
- 抗生素種類歸納分類
- 江西宜春城市文化介紹
- 正常肌肉及常見肌病的病理學(xué)表現(xiàn)
- 小學(xué)語文新課標學(xué)習(xí)任務(wù)群的基本理解和操作要領(lǐng)
- 國產(chǎn)自主可控數(shù)據(jù)庫采購項目技術(shù)標準和服務(wù)要求
評論
0/150
提交評論