2023年中央電大數(shù)據(jù)庫(kù)應(yīng)用技術(shù)形成性考核冊(cè)_第1頁(yè)
2023年中央電大數(shù)據(jù)庫(kù)應(yīng)用技術(shù)形成性考核冊(cè)_第2頁(yè)
2023年中央電大數(shù)據(jù)庫(kù)應(yīng)用技術(shù)形成性考核冊(cè)_第3頁(yè)
2023年中央電大數(shù)據(jù)庫(kù)應(yīng)用技術(shù)形成性考核冊(cè)_第4頁(yè)
2023年中央電大數(shù)據(jù)庫(kù)應(yīng)用技術(shù)形成性考核冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》第1次作業(yè)及答案第一章思考與練習(xí)題一、選擇題1.三級(jí)模式間存在兩種映射,它們是(C)。A.模式與子模式間,模式與內(nèi)模式間B.子模式與內(nèi)模式間,外模式與內(nèi)模式間C.外模式與模式間,模式與內(nèi)模式間D.模式與內(nèi)模式間,模式與模式間2.SQLServer系統(tǒng)中的所有系統(tǒng)級(jí)信息存儲(chǔ)于哪個(gè)數(shù)據(jù)庫(kù)(A)。A.masterB.modelC.tempdbD.msdb3.下面關(guān)于tempdb數(shù)據(jù)庫(kù)描述不對(duì)的的是(D)。A.是一個(gè)臨時(shí)數(shù)據(jù)庫(kù)B.屬于全局資源C.沒有權(quán)限限制D.是用戶建立新數(shù)據(jù)庫(kù)的模板4.在數(shù)據(jù)庫(kù)技術(shù)中,面向?qū)ο髷?shù)據(jù)模型是一種(B)。A.概念模型B.結(jié)構(gòu)模型C.物理模型D.形象模型5.數(shù)據(jù)庫(kù)管理系統(tǒng)常見的數(shù)據(jù)模型有(B)。A.網(wǎng)狀、關(guān)系和語(yǔ)義B.層次、關(guān)系和網(wǎng)狀C.環(huán)狀、層次和關(guān)系D.網(wǎng)狀、鏈狀和層次6.用戶看到的數(shù)據(jù)表,屬于數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式中的(D)。A.外模式B.內(nèi)模式C.子模式D.模式7.對(duì)數(shù)據(jù)的插入屬于數(shù)據(jù)庫(kù)管理系統(tǒng)(B)的功能。A.數(shù)據(jù)定義B.?dāng)?shù)據(jù)操縱C.數(shù)據(jù)庫(kù)的運(yùn)營(yíng)管理D.數(shù)據(jù)庫(kù)的建立和維護(hù)8.保持?jǐn)?shù)據(jù)的完整性屬于數(shù)據(jù)庫(kù)管理系統(tǒng)(C)的功能。A.?dāng)?shù)據(jù)定義B.數(shù)據(jù)操縱C.?dāng)?shù)據(jù)庫(kù)的運(yùn)營(yíng)管理D.?dāng)?shù)據(jù)庫(kù)的建立和維護(hù)9.在SQLServer數(shù)據(jù)庫(kù)中,默認(rèn)情況下Sys通常是(C)。A.數(shù)據(jù)文獻(xiàn)的后綴B.事務(wù)日記文獻(xiàn)的后綴C.系統(tǒng)表表名的前綴D.輔助文獻(xiàn)的后綴二、填空題1.計(jì)算機(jī)數(shù)據(jù)解決技術(shù)大體經(jīng)歷了(人工管理)、(文獻(xiàn)管理)、(數(shù)據(jù)庫(kù)管理)等不同的發(fā)展階段。2.數(shù)據(jù)庫(kù)系統(tǒng)由(外模式)、(模式)和(內(nèi)模式)三級(jí)抽象模式構(gòu)成。3.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)的重要功能涉及(數(shù)據(jù)定義)、(數(shù)據(jù)操縱)、(數(shù)據(jù)庫(kù)的運(yùn)營(yíng)管理)、(數(shù)據(jù)庫(kù)的建立和維護(hù))。4.關(guān)系模型由三部分組成(數(shù)據(jù)結(jié)構(gòu))、(關(guān)系操作集合)和(關(guān)系的完整性)。5.SQLServer提供了大量易用的管理工具,比較常用的重要有(服務(wù)管理器)、(公司管理器)和(查詢分析器)。6.數(shù)據(jù)文獻(xiàn)的后綴是(mdf)。7.事務(wù)日記文獻(xiàn)的后綴是(ldf)。8.SQLServer數(shù)據(jù)庫(kù)分為(系統(tǒng)數(shù)據(jù)庫(kù))和(用戶數(shù)據(jù)庫(kù))兩種類型。三、簡(jiǎn)答題1.什么是數(shù)據(jù)和數(shù)據(jù)解決?數(shù)據(jù)與信息的區(qū)別聯(lián)系是什么?參考答案:數(shù)據(jù)(Data)是一組表達(dá)數(shù)量、行動(dòng)和目的的非隨機(jī)的可鑒別的符號(hào)。數(shù)據(jù)解決通常涉及查找、記錄、分類、修改、計(jì)算、匯總等各種方法。數(shù)據(jù)(Data)是一組表達(dá)數(shù)量、行動(dòng)和目的的非隨機(jī)的可鑒別的符號(hào)。信息(Information)是通過加工的,能對(duì)接受者的行為和決策產(chǎn)生影響的、有價(jià)值的數(shù)據(jù)。假如將數(shù)據(jù)比方為原料,那么信息就是數(shù)據(jù)通過加工而生產(chǎn)的產(chǎn)品,是有價(jià)值的數(shù)據(jù)。與原料和產(chǎn)品的概念相似,一個(gè)系統(tǒng)的產(chǎn)品也許是另一個(gè)系統(tǒng)的原料,那么一個(gè)系統(tǒng)的信息也許成為另一個(gè)系統(tǒng)的數(shù)據(jù)。2.?dāng)?shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)之間到底是什么關(guān)系?參考答案:數(shù)據(jù)庫(kù)就是各種相關(guān)數(shù)據(jù)的集合和容器。數(shù)據(jù)庫(kù)所保存的數(shù)據(jù)是指長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)必須按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可以被一定范圍內(nèi)的各種用戶共享。數(shù)據(jù)庫(kù)管理系統(tǒng)是對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的系統(tǒng)軟件,位于用戶和操作系統(tǒng)之間,為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫(kù)的方法和工具。廣義上,數(shù)據(jù)庫(kù)系統(tǒng)就是采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成。狹義上講,數(shù)據(jù)庫(kù)系統(tǒng)重要指數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng),由于這兩者在應(yīng)用中的互相依賴性,所以在一般不引起混淆的情況下經(jīng)常把數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)稱為數(shù)據(jù)庫(kù)。3.請(qǐng)描述一下SQLServer數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)。參考答案:SQLServer數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)涉及物理存儲(chǔ)結(jié)構(gòu)和邏輯存儲(chǔ)結(jié)構(gòu)兩個(gè)層面。在物理層面上,SQLServer數(shù)據(jù)庫(kù)是由兩個(gè)操作系統(tǒng)文獻(xiàn)組成的,即數(shù)據(jù)文獻(xiàn)和事務(wù)日記文獻(xiàn),它們的后綴分別是MDF和LDF。數(shù)據(jù)文獻(xiàn)重要用于存儲(chǔ)數(shù)據(jù),事務(wù)日記文獻(xiàn)重要用于存儲(chǔ)數(shù)據(jù)庫(kù)的更新情況等事務(wù)日記信息。在邏輯層次上,數(shù)據(jù)庫(kù)是由表、視圖、存儲(chǔ)過程等一系列數(shù)據(jù)對(duì)象組成的。當(dāng)采用SQLServer公司管理器將上述數(shù)據(jù)庫(kù)文獻(xiàn)“打開”后,就能看到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)了,如圖XXX所示。數(shù)據(jù)庫(kù)中的數(shù)據(jù)分別存儲(chǔ)在幾個(gè)不同的對(duì)象中,而這些對(duì)象是用戶在操作數(shù)據(jù)庫(kù)時(shí),實(shí)際可以看到和接觸到的,屬于邏輯存儲(chǔ)結(jié)構(gòu)。常用的數(shù)據(jù)庫(kù)對(duì)象重要涉及:表(Table)、索引(Index)、視圖(Views)、觸發(fā)器(Triggers)、存儲(chǔ)過程(StoreProcedures)、缺?。―efault)、約束(Constraints)、用戶(Users)以及圖表(Diagram)和用戶自定義的數(shù)據(jù)類型等。在以后的章節(jié)中,我們將逐步學(xué)習(xí)這些對(duì)象的使用方法。4.簡(jiǎn)述關(guān)系模型的組成。參考答案:系模型是目前最重要的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。關(guān)系模型由三部分組成:數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系的完整性。數(shù)據(jù)結(jié)構(gòu)是指在關(guān)系模型中,無(wú)論是數(shù)據(jù)還是數(shù)據(jù)之間的聯(lián)系都是以二維表(關(guān)系)這一種簡(jiǎn)樸的結(jié)構(gòu)表達(dá)的,這即符合人們使用數(shù)據(jù)的習(xí)慣,同時(shí)也便于計(jì)算機(jī)實(shí)現(xiàn)。關(guān)系操作是指關(guān)系代數(shù)(或等價(jià)的關(guān)系演算)中并、交、差、選擇、投影、連接等。關(guān)系模型給出了關(guān)系操作的能力和特點(diǎn),但不對(duì)DBMS的語(yǔ)言給出具體的語(yǔ)法規(guī)定。關(guān)系語(yǔ)言的特點(diǎn)是高度的非過程化。其操作方式的特點(diǎn)是集合操作,即操作的對(duì)象和結(jié)果是集合,稱為一次一集合的方式,而不是一次一個(gè)記錄的方式。關(guān)系完整性涉及實(shí)體完整性、參照完整性和用戶自己定義的完整性。實(shí)體完整性是保證數(shù)據(jù)庫(kù)中記錄的惟一性,即每個(gè)記錄的主鍵不能為空值,也不能與其他記錄的主鍵相同。參照完整性是保證表與表之間語(yǔ)意上的完整性,即當(dāng)一個(gè)表引用在另一個(gè)表中定義的實(shí)體時(shí),要保證這個(gè)實(shí)體的有效性。這兩種完整性是關(guān)系模型必須滿足的約束條件,應(yīng)當(dāng)由關(guān)系系統(tǒng)自動(dòng)支持。而用戶自定義完整性反映了用戶的規(guī)定,是用戶自行定義的。第二章思考與練習(xí)題一、選擇題1.下述關(guān)于索引的描述,對(duì)的的是(B)。A.撤消索引會(huì)同時(shí)撤消數(shù)據(jù)庫(kù)中與之相關(guān)的內(nèi)容B.建立索引后,會(huì)影響基本表的插入速度C.基本表的記錄數(shù)量越多,越不應(yīng)當(dāng)建立索引D.基本表的記錄越長(zhǎng),越不應(yīng)當(dāng)建立索引2.下述關(guān)于視圖的描述,對(duì)的的是(C)。A.視圖僅由一個(gè)基本表導(dǎo)出B.執(zhí)行視圖比在客戶端直接執(zhí)行SELECT語(yǔ)句的速度要慢C.在SQLServer中,可以像基本表同樣對(duì)視圖進(jìn)行查詢操作D.視圖存儲(chǔ)在客戶端的數(shù)據(jù)庫(kù)中3.假如希望從學(xué)生表中查詢出所有姓“張”的同學(xué),那么條件語(yǔ)句應(yīng)當(dāng)是(B)。A.Where姓名%‘張’B.Where姓名LIKE‘張%’C.Where姓名%‘LIKE張’D.Where姓名LIKE‘張’4.下列SQL語(yǔ)句中,可以完畢求某列最大值的是(B)。A.SELECTAVG(Age)FROMStudentB.SELECTMAX(Age)FROMStudentC.SELECTMIN(Age)FROMStudentD.SELECTCOUNT(*)FROMStudent5.假定學(xué)生關(guān)系S(SNO,SNAME,SEX,AGE),課程關(guān)系C(CNO,CNAME,TEACHER),學(xué)生選課關(guān)系SC(SNO,CNO,CRADE).要查詢選修了“計(jì)算機(jī)技術(shù)”課程的女學(xué)生姓名,將涉及到關(guān)系。(D)A.S

B.SC,CC.S,C

D.S,C,SC二、填空題1.SQL數(shù)據(jù)定義語(yǔ)言的重要作用是創(chuàng)建存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu),而數(shù)據(jù)操縱語(yǔ)言的重要作用則是向數(shù)據(jù)庫(kù)中填寫數(shù)據(jù),具體涉及增長(zhǎng)、刪除、修改等操作。2.當(dāng)需要對(duì)查詢結(jié)果進(jìn)行排序時(shí),可以指定其排序方式,字段后使用ASC表達(dá)升序,DESC表達(dá)降序。3.視圖是一個(gè)虛表,它是從_一個(gè)或多個(gè)基本表_____(dá)中導(dǎo)出的表。三、簡(jiǎn)答題1、什么是SQL,請(qǐng)簡(jiǎn)要說(shuō)明它的組成和特點(diǎn)。參考答案:結(jié)構(gòu)化查詢語(yǔ)言,StructuredQueryLanguage,簡(jiǎn)稱SQL,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)言共分為四大類:數(shù)據(jù)定義語(yǔ)言,數(shù)據(jù)查詢語(yǔ)言,數(shù)據(jù)操縱語(yǔ)言,數(shù)據(jù)控制語(yǔ)言。它的特點(diǎn)涉及:非過程化語(yǔ)言,統(tǒng)一的語(yǔ)言,是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言。2、索引的作用是什么?SQLServer有哪幾類索引,各自的特點(diǎn)是什么?參考答案:索引(Index)提供了一種快速訪問數(shù)據(jù)的途徑,索引是在基本表的列上建立的一種數(shù)據(jù)加對(duì)象,索引是為了加速查詢速度而創(chuàng)建的。實(shí)際的索引通常是這兩大類5種方式的組合。(1)單列索引:對(duì)基本表的某一單獨(dú)的列進(jìn)行索引,是最簡(jiǎn)樸和最常用的索引類型,通常情況下,應(yīng)對(duì)每個(gè)基本表的主關(guān)鍵字建立單列索引。(2)惟一索引:一旦在一個(gè)或多個(gè)列上建立了惟一索引,則不允許在表中相應(yīng)的列上插入任何相同的取值。使用惟一索引不僅能提高查詢性能,還可以維護(hù)數(shù)據(jù)的完整性。(3)復(fù)合索引:是針對(duì)基本表中兩個(gè)或兩個(gè)以上列建立的索引。(4)聚集索引:會(huì)改變基本表中記錄的物理存儲(chǔ)順序。即表中記錄的物理排序順序不再按插入的先后排列,而是根據(jù)索引列重新排序。(5)非聚集索引:表中記錄的物理順序與索引順序不同,表中的記錄仍按實(shí)際插入的先后順序排列,不按索引列排序。3、什么是基本表?什么是視圖?視圖有什么特點(diǎn)?在什么情況下需要?jiǎng)?chuàng)建視圖?參考答案:表是一個(gè)由行、列組成的二維結(jié)構(gòu),通常把行稱做記錄,把列稱為字段。視圖是由查詢數(shù)據(jù)庫(kù)表產(chǎn)生的,它其實(shí)是一個(gè)虛擬的表,它限制了用戶能看到和修改的數(shù)據(jù)。視圖的特點(diǎn)是在基本表或其他視圖上建立的表,它的結(jié)構(gòu)和內(nèi)容都來(lái)自某個(gè)基本表,是依據(jù)基本表存在而存在的。刪除一個(gè)視圖時(shí),不會(huì)對(duì)基本表產(chǎn)生任何影響,但當(dāng)刪除一張基本表時(shí),與之相關(guān)聯(lián)的視圖就會(huì)自動(dòng)被刪除。假如要限制用戶可以看到的數(shù)據(jù)庫(kù)中的信息,可以使用視圖。4、謂詞LIKE的作用是什么?參考答案:擬定給定的字符串是否與指定的模式匹配。模式可以包含常規(guī)字符和通配符字符。模式匹配過程中,常規(guī)字符必須與字符串中指定的字符完全匹配。5、假如創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)其SQL語(yǔ)句是什么?參考答案:CREATEDATABASE數(shù)據(jù)庫(kù)名稱6、存儲(chǔ)過程的含義是什么?創(chuàng)建存儲(chǔ)過程的SQL語(yǔ)句是什么?參考答案:存儲(chǔ)過程(StoredProcedure)是一組預(yù)先編譯好的,以一種可執(zhí)行的形式永久地存儲(chǔ)在數(shù)據(jù)中的SQL代碼,在master數(shù)據(jù)庫(kù)中存儲(chǔ)了一些SQLServer事先定義好的系統(tǒng)存儲(chǔ)過程,通常以sp_xxxx做為存儲(chǔ)過程的名字。當(dāng)用戶創(chuàng)建數(shù)據(jù)庫(kù)時(shí),也會(huì)自動(dòng)生成一些事先定義好的存儲(chǔ)過程,通常以dt_xxxx做為名字。創(chuàng)建存儲(chǔ)過程的SQL語(yǔ)句是:(1)語(yǔ)句格式:CREATEPROC[EDURE]<存儲(chǔ)過程名>AS<SQL語(yǔ)句>(2)語(yǔ)句功能:創(chuàng)建一個(gè)存儲(chǔ)過程,<SQL語(yǔ)句>多數(shù)是指運(yùn)用SQLServer的Transact-SQL編寫的程序。7、什么是事務(wù)?舉例說(shuō)明事務(wù)解決的作用是什么?參考答案:事務(wù)(Transaction)是并發(fā)控制的基本單位,它反映了現(xiàn)實(shí)世界中需要以一個(gè)完整的單位提交的一項(xiàng)工作。SQLServer通過事務(wù)機(jī)制,將邏輯相關(guān)的一組操作捆綁在一起,以便服務(wù)器保持?jǐn)?shù)據(jù)的完整性。它是SQL復(fù)雜程序設(shè)計(jì)必不可少的內(nèi)容。事務(wù)需要用戶根據(jù)實(shí)際業(yè)務(wù)規(guī)則定義,有一定的難度,但其原理比較簡(jiǎn)樸。舉例說(shuō),假如我們正在使用UPDATE語(yǔ)句同時(shí)對(duì)學(xué)生表、成績(jī)表中的學(xué)號(hào)”20230001”改為”20230001”。這個(gè)任務(wù)需要兩條UPDATE學(xué)生表SET學(xué)號(hào)=’20230001’WHERE學(xué)號(hào)=’UPDATE成績(jī)表SET學(xué)號(hào)=’20230001’WHERE學(xué)號(hào)=’假如在執(zhí)行完第一個(gè)語(yǔ)句后,計(jì)算機(jī)忽然斷電,而第二條語(yǔ)句還沒來(lái)得急執(zhí)行,數(shù)據(jù)出現(xiàn)了不一致怎么辦?這時(shí)候就需要用到SQL的事務(wù)控制功能了。假如使用了SQLServer的事務(wù)控制機(jī)制,以上兩個(gè)問題均可獲得很了的解決。在使用事務(wù)的情況下,SQLServer可以保證,要么所有的記錄要么所有解決,要么一行也不解決。假如修改了所有記錄的一半時(shí)服務(wù)器犯錯(cuò)了,SQLServer會(huì)返回到以前未執(zhí)行UPDATE操作前的位置,清除它已經(jīng)修改過的數(shù)據(jù),這就是事務(wù)解決的作用。8、SQLServer有哪些數(shù)據(jù)類型,它們的重要用途是什么?參考答案:SQLServer提供了數(shù)值型、字符型、日期型、二進(jìn)制型、位型、雙字節(jié)型等6大類數(shù)據(jù)類型。數(shù)據(jù)類型是數(shù)據(jù)的一種屬性,表達(dá)數(shù)據(jù)所表達(dá)信息的類型。任何一種計(jì)算機(jī)語(yǔ)言都定義了自己的數(shù)據(jù)類型。9.假定有三個(gè)關(guān)系,A(ANO,ANAME,WQTY,CITY),分別表達(dá)(商店代號(hào),商店名,店員數(shù)量,所在城市),B(BNO,BNAME,PRICE),分別表達(dá)(商品號(hào),商品名,價(jià)格),AB(ANO,BNO,QTY)分別表達(dá)(商店代號(hào),商品號(hào),商品數(shù)量)。規(guī)定,創(chuàng)建三個(gè)表,并給每個(gè)表插入4個(gè)合理的記錄,用SQL語(yǔ)言寫出下列查詢語(yǔ)句,同時(shí)給出查詢結(jié)果:(1)創(chuàng)建三張表,并給每個(gè)表至少插入四條合理記錄createtableA(ANOCHAR(8),ANAMECHAR(20),?WQTYINT,CITYchar(20)

)createtableB(BNOCHAR(8),BNAMECHAR(20),?PRICEREAL(20)?)creat(yī)etableAB(ANOCHAR(8),BNOCHAR(8),QTYINT?)(2)找出店員人數(shù)不超過1000人或在長(zhǎng)沙市內(nèi)的所有商店的代號(hào)和商店名SELECTANO,ANAMEFROMAWHEREWQTY<=100ANDCITY=’長(zhǎng)沙’(3)找出供應(yīng)書包的商店SELECTA.*FROMA,B,ABWHEREA.ANO=AB.ANOANDB.BNO=AB.BNOANDBNAME=’書包’(4)找出至少供應(yīng)代號(hào)為256的商品所供應(yīng)的所有商品的商店名和所在的城市。SELECTANAME,CITYFROMA,ABWHEREA.ANO=AB.ANOANDBNO=’256’10、假設(shè)某教學(xué)管理數(shù)據(jù)庫(kù)有以下三張表,請(qǐng)寫出下列問題的SQL語(yǔ)句:學(xué)生(學(xué)號(hào),姓名,年齡,性別)課程(課程號(hào),課程名,任課教師)成績(jī)(學(xué)號(hào),課程號(hào),成績(jī))(1)如何在SQLServer上創(chuàng)建這三張表;參考答案:學(xué)生表:createtable學(xué)生表(學(xué)號(hào)char(8)primaryKey,姓名char(8),年齡int,性別bit)課程表:createtable課程表(課程號(hào)char(7)primaryKey,課程名char(20),任課教師char(8))成績(jī)表:createtable成績(jī)表(學(xué)號(hào)char(8),課程號(hào)char(7),成績(jī)Numeric(4,2))(2)查詢劉峰教師所授課程號(hào),課程名;參考答案:Select課程號(hào),課程名from課程表where任課教師=’劉峰’(3)查詢年齡大于20歲的所有男同學(xué)的學(xué)號(hào)、姓名;參考答案:Select學(xué)號(hào),姓名from學(xué)生表where性別=1and年齡>20(4)查詢至少選修了兩門課程(含兩門)的學(xué)生學(xué)號(hào);參考答案:select學(xué)號(hào)from成績(jī)groupby學(xué)號(hào)havingcount(學(xué)號(hào))>=2(5)查詢王文芳同學(xué)選修的所有課程的課程號(hào);參考答案:Select課程號(hào)from成績(jī)表,學(xué)生表Where學(xué)生表.姓名=’王文芳’and學(xué)生表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào)(6)查詢王文芳同學(xué)不學(xué)的課程的課程號(hào);參考答案:select課程號(hào)from成績(jī)表where課程號(hào)notin(select課程號(hào)from學(xué)生表,成績(jī)表where學(xué)生表.姓名='王文芳'and學(xué)生表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào))(7)查詢所有上劉峰老師課程的學(xué)生學(xué)號(hào);參考答案:Select學(xué)號(hào)from成績(jī)表,課程表,學(xué)生表Where課程表.任課教師='劉世峰'and課程表.課程號(hào)=成績(jī)表.課程號(hào)and課程表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào)(8)查詢所有選修“數(shù)據(jù)庫(kù)原理”的學(xué)生的學(xué)號(hào);參考答案:Select學(xué)號(hào)from成績(jī)表,課程表where課程表.課程名='數(shù)據(jù)庫(kù)技術(shù)'and課程表.課程號(hào)=成績(jī)表.課程號(hào)(9)向?qū)W生表中插入一條記錄(’2023001’,’吳紅’,21,’女’);(1表達(dá)女,0表達(dá)男參考答案:insertinto學(xué)生表values('2023001','吳紅','21',1)(10)刪除三張表中所有學(xué)號(hào)為20230231的學(xué)生信息;參考答案:Deletefrom學(xué)生表where學(xué)號(hào)=’>20230231Deletefrom學(xué)生表where學(xué)號(hào)=’20230231(11)把學(xué)號(hào)為20230002的學(xué)生的年齡改為22歲;參考答案:Update學(xué)生表set年齡=’22’where學(xué)號(hào)=’《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》第2次作業(yè)及答案第三章思考與練習(xí)題一、選擇題1.設(shè)一個(gè)關(guān)系為R,假如它的每個(gè)屬性都是不可再分的,則稱這個(gè)關(guān)系是符合(A)。A、第一范式B、第二范式C、第三范式D、BNC范式2.在第一個(gè)關(guān)系中出現(xiàn),在第二個(gè)關(guān)系中不出現(xiàn)的記錄組成的關(guān)系稱為兩個(gè)關(guān)系的(C)。A、交B、并C、差D、笛卡兒積二、簡(jiǎn)答題1.設(shè)關(guān)系模式R有N個(gè)屬性,在模式R上也許成立的函數(shù)依賴有多少個(gè)?參考答案:函數(shù)依賴有N×(N-1)個(gè)2.設(shè)有關(guān)系模式R(職工號(hào),職工名,項(xiàng)目號(hào),項(xiàng)目名,工資),假設(shè)一個(gè)職工可參與多個(gè)項(xiàng)目,在每個(gè)項(xiàng)目中各領(lǐng)一份工資。那么請(qǐng)回答以下問題:(1)請(qǐng)寫出這個(gè)關(guān)系模式的函數(shù)依賴和主關(guān)鍵字;函數(shù)依賴涉及:職工號(hào)→職工名,項(xiàng)目號(hào)→項(xiàng)目名,(職工號(hào),項(xiàng)目號(hào))→工資主鍵為(職工號(hào),項(xiàng)目號(hào))(2)這個(gè)關(guān)系符合第幾范式,為什么?這個(gè)關(guān)系符合第一范式,由于它的每個(gè)屬性都不可再分。(3)請(qǐng)舉例說(shuō)明,這個(gè)關(guān)系存在哪些問題;這個(gè)關(guān)系沒有達(dá)成第二范式,也許出現(xiàn)數(shù)據(jù)冗余和操作異常。例如,某個(gè)職工參與了多個(gè)項(xiàng)目的工作,他的職工號(hào)、職工名會(huì)反復(fù)多次存儲(chǔ)。同樣,假如一個(gè)項(xiàng)目有多名職工參與,項(xiàng)目號(hào)和項(xiàng)目名也會(huì)反復(fù)我次存儲(chǔ)。此外,假如現(xiàn)在增長(zhǎng)了一個(gè)新的項(xiàng)目,但暫時(shí)還沒有安排職工參與,那么由于主鍵是(職工號(hào),項(xiàng)目號(hào)),這個(gè)項(xiàng)目的信息也許無(wú)法插入。(4)請(qǐng)把這個(gè)關(guān)系模式分解成3NF,并說(shuō)明理由。修改后的各個(gè)關(guān)系如下:職工關(guān)系=(職工號(hào),職工名)項(xiàng)目關(guān)系=(項(xiàng)目號(hào),項(xiàng)目名)職工選擇項(xiàng)目關(guān)系=(職工號(hào),項(xiàng)目號(hào),工資)(注:此處的工資是指職工參與某個(gè)項(xiàng)目得到的勞動(dòng)報(bào)酬)3.關(guān)系完整性的重要內(nèi)容是什么?為什么要保證關(guān)系的完整性?參考答案:關(guān)系完整性就是關(guān)系模型中數(shù)據(jù)的對(duì)的性、一致性和有效性。關(guān)系完整性又涉及實(shí)體完整性、參照完整性和用戶定義的完整性三個(gè)方面。只有保證了關(guān)系的完整性,才干使數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)的、一致和有效。4.SQLServer中進(jìn)行關(guān)系完整性的重要方法是什么,請(qǐng)寫出相應(yīng)的SQL語(yǔ)句。參考答案:1)SQLServer通過約束機(jī)制來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)完整性保護(hù)。重要涉及:PrimaryKey約束、ForeignKey約束、Default約束、Unique約束、Check約束等。PrimaryKey約束:學(xué)號(hào)char(8)NOTNULLPRIMARYKEY(學(xué)號(hào))ForeignKey約束:學(xué)號(hào)char(8)NOTNULLREFERENCES學(xué)生表(學(xué)號(hào))Default約束:成績(jī)numeric(9,2)DEFAULT0.00Unique約束:學(xué)號(hào)char(8)NOTNULLUNIOQUE(學(xué)號(hào))Check約束:年齡intCHECK(年齡)17and年齡<25)2)使用規(guī)則實(shí)行數(shù)據(jù)的完整性。創(chuàng)建規(guī)則的語(yǔ)法結(jié)構(gòu)如下:CREATERULE規(guī)則名AS條件表達(dá)式3)使用默認(rèn)實(shí)行數(shù)據(jù)完整性管理。創(chuàng)建默認(rèn)的語(yǔ)法如下:CREATEDEFAULT默認(rèn)名AS默認(rèn)值5.為什么要進(jìn)行規(guī)范化?規(guī)范化的相關(guān)理論是什么?請(qǐng)簡(jiǎn)要說(shuō)明。參考答案:為保證數(shù)據(jù)庫(kù)設(shè)計(jì)的對(duì)的性,在數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)階段,常使用關(guān)系規(guī)范化理論來(lái)指導(dǎo)關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì)。其基本思想是,每個(gè)關(guān)系都應(yīng)滿足一定的規(guī)范,才干使關(guān)系模式設(shè)計(jì)合理,達(dá)成減少冗余,提高查詢效率的目的。一個(gè)好的數(shù)據(jù)庫(kù)關(guān)系,應(yīng)當(dāng)沒有數(shù)據(jù)冗余、更新異常、插入異常、刪除異常問題的存在,這就必須進(jìn)行規(guī)范化解決。規(guī)范化使用的理論是函數(shù)依賴。6.什么是一個(gè)“好”的關(guān)系模式,一個(gè)“不好”的關(guān)系模式有什么缺陷?參考答案:“好”的關(guān)系模式通常是指符合第三范式規(guī)定的關(guān)系,“不好”的關(guān)系模式會(huì)存在數(shù)據(jù)冗余、更新異常、插入異常、刪除異常等問題。7.請(qǐng)寫出一個(gè)符合第三范式的關(guān)系模式,并說(shuō)明理由。參考答案:學(xué)生=(學(xué)生號(hào),姓名,性別,專業(yè))課程=(學(xué)生號(hào),課程號(hào),成績(jī))選課=(課程號(hào),課程名,課程學(xué)分)第四章思考與練習(xí)題一、填空題1.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)一般涉及需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)行和運(yùn)營(yíng)維護(hù)等階段。2.?dāng)?shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的建設(shè)涉及結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì)兩個(gè)方面。3.數(shù)據(jù)庫(kù)設(shè)計(jì)的重要原則涉及表設(shè)計(jì)原則、字段設(shè)計(jì)原則和其他原則。4.E-R圖的設(shè)計(jì)關(guān)鍵在于對(duì)實(shí)體、聯(lián)系的選擇和表達(dá)。5.物理設(shè)計(jì)的重要內(nèi)容涉及存儲(chǔ)記錄的格式設(shè)計(jì)、存儲(chǔ)方法設(shè)計(jì)、訪問方法設(shè)計(jì)以及完整性和安全性考慮。二、簡(jiǎn)答題1.請(qǐng)簡(jiǎn)要說(shuō)明數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的環(huán)節(jié)。參考答案:數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的環(huán)節(jié)涉及需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。2.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)的目的是什么,請(qǐng)談?wù)勀愕睦斫狻⒖即鸢?數(shù)據(jù)庫(kù)設(shè)計(jì)指的是設(shè)計(jì)數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,涉及硬件環(huán)境和操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)等軟件環(huán)境,如何使用這個(gè)環(huán)境來(lái)表達(dá)用戶的規(guī)定,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及圍繞數(shù)據(jù)庫(kù)展開的應(yīng)用系統(tǒng),使之可以有效地收集、存儲(chǔ)、操作和管理數(shù)據(jù),滿足公司組織中各類用戶的應(yīng)用需求(信息需求和解決需求)。3.基本表設(shè)計(jì)的重要原則是什么,堅(jiān)持這些原則有什么好處?參考答案:基本表設(shè)計(jì)最重要的原則是關(guān)系規(guī)范化,盡也許達(dá)成第三范式。規(guī)范化有助于消除數(shù)據(jù)庫(kù)中的數(shù)據(jù)冗余,減少更新異常。規(guī)范化有好幾種形式,但第三范式通常被認(rèn)為在性能、擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)成了最佳平衡。簡(jiǎn)樸來(lái)說(shuō),遵守第三范式標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)的表設(shè)計(jì)原則是:“OneFactinOnePl(wèi)ace”(一個(gè)事實(shí)相應(yīng)一個(gè)地方),即某個(gè)表只涉及其自身基本的屬性,當(dāng)不是它們自身所具有的屬性時(shí)需進(jìn)行分解。表之間的關(guān)系通過外鍵相連接。4.進(jìn)行SQLServer數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),一般有哪些命名規(guī)則?參考答案:一方面,命名的長(zhǎng)度應(yīng)盡量充足。假設(shè)某公司現(xiàn)有職工在一千人以內(nèi),假如用數(shù)字表達(dá)職工號(hào)的話,職工號(hào)的長(zhǎng)度為3位即可,它最大可以表達(dá)999個(gè)職工。但是,假如考慮到公司未來(lái)的發(fā)展,那么職工號(hào)最佳設(shè)為4位,當(dāng)公司職工數(shù)目突破千人時(shí),主線無(wú)需重構(gòu)整個(gè)數(shù)據(jù)庫(kù)。另一方面,小心保存詞。要保證字段名沒有與SQL等保存詞或者常用訪問方法名發(fā)生沖突。最后,慎用使用觸發(fā)器。觸發(fā)器在保證數(shù)據(jù)完整性方面發(fā)揮著積極作用,但它同時(shí)也會(huì)帶來(lái)效率方面的問題,因此要慎用。觸發(fā)器的功能通??梢杂闷渌绞綄?shí)現(xiàn)。5.什么是數(shù)據(jù)流程圖,數(shù)據(jù)字典的重要作用是什么,談?wù)勀愕睦斫?。參考答?數(shù)據(jù)流圖(DataFlowDiagram,簡(jiǎn)記DFD),是在業(yè)務(wù)流程分析基礎(chǔ)上,描述實(shí)際數(shù)據(jù)流動(dòng)和加工過程的圖形表達(dá)法,它一般有4種符號(hào),即外部實(shí)體、數(shù)據(jù)流、加工和存儲(chǔ)。外部實(shí)體數(shù)據(jù)的來(lái)源和去向;數(shù)據(jù)流用帶箭頭的連線表達(dá),反映數(shù)據(jù)的流動(dòng)方向;加工用橢圓、圓或方框代表(本教材運(yùn)用圓形表達(dá)加工),表達(dá)對(duì)數(shù)據(jù)的加工解決動(dòng)作;存儲(chǔ)表達(dá)數(shù)據(jù)的存檔情況。數(shù)據(jù)字典(Dat(yī)aDictionary,簡(jiǎn)記DD),是對(duì)數(shù)據(jù)流程圖中數(shù)據(jù)流和存儲(chǔ)結(jié)構(gòu)的描述。在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)中,數(shù)據(jù)字典是表、視圖設(shè)計(jì)的重要依據(jù)。6.什么是E-R圖,它的作用是什么?參考答案:E-R圖是E-R(實(shí)體-關(guān)系)方法的重要組成部分。E-R方法是描述概念模型的有力工具。E-R圖方法是一種有效的信息抽象方法。在E-R圖中,用長(zhǎng)方形表達(dá)實(shí)體,用橢圓形表達(dá)屬性,用菱形表達(dá)聯(lián)系。在圖形內(nèi)標(biāo)記它們的名字,它們之間用無(wú)向線段相連,表達(dá)聯(lián)系的線段上標(biāo)明是哪種聯(lián)系。它的作用是采用E-R圖模型將現(xiàn)實(shí)世界的信息結(jié)構(gòu)統(tǒng)一用實(shí)體、屬性以及實(shí)體之間的聯(lián)系來(lái)描述。7.簡(jiǎn)要說(shuō)明需求分析階段的重要任務(wù)和目的。參考答案:需求分析階段的重要目的是回答“干什么”的問題。需要從多方面對(duì)擬開發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的企事業(yè)單位進(jìn)行調(diào)查,收集和分析各項(xiàng)應(yīng)用對(duì)信息和解決兩方面的需求。了解和掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)對(duì)象(或稱用戶)的工作業(yè)務(wù)流程和每個(gè)崗位、每個(gè)環(huán)節(jié)的職責(zé),了解和掌握信息從開始產(chǎn)生或建立,到最后輸出、存檔或消亡所通過的傳遞和轉(zhuǎn)換過程,了解和掌握各種人員在整個(gè)系統(tǒng)活動(dòng)過程中的作用;通過同用戶充足地交流和溝通,決定那些工作應(yīng)由計(jì)算機(jī)來(lái)做,哪些工作仍由手工來(lái)做,決定各種人員對(duì)信息和解決各有什么規(guī)定,對(duì)視屏操作界面和報(bào)表輸出格式各有什么規(guī)定,對(duì)數(shù)據(jù)(信息)的安全性(保密性)和完整性各有什么規(guī)定等等。需求分析階段的重要工作就是,通過調(diào)查從用戶處獲得對(duì)數(shù)據(jù)庫(kù)的下列需求。信息需求:用戶將從數(shù)據(jù)庫(kù)中獲得的信息的內(nèi)容和性質(zhì),有信息規(guī)定導(dǎo)出數(shù)據(jù)規(guī)定,即在數(shù)據(jù)庫(kù)中存儲(chǔ)哪些數(shù)據(jù)。解決需求:用戶要完畢什么解決功能,對(duì)某種解決的執(zhí)行頻度、用戶規(guī)定的響應(yīng)時(shí)間,以及解決的方式是聯(lián)機(jī)解決還是批解決等。安全性和完整性的約束《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》第3次作業(yè)及答案第五章思考與練習(xí)題一、簡(jiǎn)答題1.請(qǐng)簡(jiǎn)要說(shuō)明數(shù)據(jù)庫(kù)安全機(jī)制?參考答案:一個(gè)用戶訪問SQLServer必須要通過4個(gè)層次的安全控制,操作系統(tǒng)的安全性;服務(wù)器的安全性;數(shù)據(jù)庫(kù)的安全性;表和列的安全性。從上述流程可以看出,用戶使用SQLServer時(shí),需要通過兩個(gè)安全性階段:身份驗(yàn)證和權(quán)限認(rèn)證。身份驗(yàn)證階段系統(tǒng)只檢查用戶是否有連接SQLServer實(shí)例的權(quán)力,假如身份驗(yàn)證通過了,只表達(dá)用戶可以連接SQLServer實(shí)例,否則系統(tǒng)將拒絕用戶的連接。然后需要檢查用戶是否有訪問服務(wù)器上數(shù)據(jù)庫(kù)的權(quán)限,為此需要授予每個(gè)數(shù)據(jù)庫(kù)中映射到用戶登錄的賬號(hào)訪問權(quán)限,權(quán)限認(rèn)證就可以控制用戶在數(shù)據(jù)庫(kù)中進(jìn)行的操作。2.登錄賬號(hào)和用戶賬號(hào)的含義是什么?它們有什么區(qū)別聯(lián)系?參考答案:登錄賬號(hào)用于身份驗(yàn)證,使得用戶到達(dá)登錄到SQLServer服務(wù)器,屬于服務(wù)器層面,相稱于大門的鑰匙;用戶賬號(hào)用于權(quán)限驗(yàn)證,屬于數(shù)據(jù)庫(kù)層面,相稱于自己房間的鑰匙。用戶賬號(hào)在定義時(shí)便與一個(gè)登錄賬號(hào)相關(guān)聯(lián),即任何一個(gè)用戶賬號(hào)背后都有一個(gè)登錄賬號(hào)。3.請(qǐng)簡(jiǎn)要說(shuō)明使用公司管理創(chuàng)建登錄賬號(hào)和用戶賬號(hào)的過程。參考答案:(1)在SQLServer的公司管理器下,展開“SQLServer組”文獻(xiàn)夾,找到需要建立登錄賬號(hào)的服務(wù)器并展開其文獻(xiàn)夾,再展開“安全性”文獻(xiàn)夾,在“登錄”選項(xiàng)上右擊鼠標(biāo),在出現(xiàn)的快捷菜單中單擊“新建登錄”菜單命令,打開“SQLServer登錄屬性->新建登錄”對(duì)話框。(2)SQLServer支持“Windows身份驗(yàn)證”和單擊“SQLServer身份驗(yàn)證”兩種認(rèn)證模式。選擇“SQLServer身份驗(yàn)證”單選鈕,在“名稱”文本框中輸入要?jiǎng)?chuàng)建的登錄賬號(hào)名稱,例如“mysa”,在“身份驗(yàn)證”選項(xiàng)組中,并輸入密碼。(3)設(shè)立完畢后,單擊“擬定”按鈕,即可完畢登錄賬號(hào)的創(chuàng)建。接下來(lái),開始創(chuàng)建用戶賬號(hào),基本方法是:(1)在公司管理器中,展開SQLServer組及其服務(wù)器,在“數(shù)據(jù)庫(kù)”文獻(xiàn)夾中,展開某一數(shù)據(jù)庫(kù),例如“進(jìn)銷存”的文獻(xiàn)夾,然后在“用戶”選項(xiàng)上右擊,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(kù)用戶”命令,打開新建用戶對(duì)話框。(2)單擊“登錄名”下拉列表框右端的下拉箭頭,會(huì)看到剛剛創(chuàng)建的“mysa”登錄帳號(hào)。選擇“mysa”登錄賬號(hào),此時(shí)“用戶名”文本框中自動(dòng)顯示為“mysa”??梢愿摹坝脩裘蔽谋究蛑械挠脩裘部梢栽凇皵?shù)據(jù)庫(kù)角色成員”列表框中選擇新建用戶應(yīng)當(dāng)屬于的數(shù)據(jù)庫(kù)角色。(3)設(shè)立完畢后,單擊“擬定”按鈕,即可在“進(jìn)銷存”數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新的用戶賬號(hào)。假如不想創(chuàng)建用戶賬號(hào),單擊“取消”按鈕即可。4.如何對(duì)用戶賬號(hào)進(jìn)行授權(quán)管理,一般有哪些權(quán)限,請(qǐng)簡(jiǎn)要說(shuō)明。參考答案:(1)展開服務(wù)器組,然后展開服務(wù)器;展開“數(shù)據(jù)庫(kù)”項(xiàng),然后找到相關(guān)的數(shù)據(jù)庫(kù),比如“進(jìn)銷存”;(2)展開“進(jìn)銷存”數(shù)據(jù)庫(kù),根據(jù)對(duì)象類型,單擊表、視圖、存儲(chǔ)過程等對(duì)象,找到需要進(jìn)行授權(quán)管理的數(shù)據(jù)庫(kù)對(duì)象,比如“物資臺(tái)賬”表。(3)右擊授予權(quán)限所在的對(duì)象,從彈出菜單中選擇“所有任務(wù)->管理權(quán)限”選項(xiàng);單擊“列出所有用戶/用戶定義的數(shù)據(jù)庫(kù)角色/public”選項(xiàng),然后選擇授予每位用戶的權(quán)限。其中,選中標(biāo)記表達(dá)授予權(quán)限。進(jìn)一步,通過本界面可完畢列級(jí)的授權(quán)管理。此外,也可以采用GRANT(授予權(quán)限)、DENY(拒絕權(quán)限)和REVOKE(撤消權(quán)限)等SQL語(yǔ)句完畢授權(quán)管理。5.為什么要進(jìn)行數(shù)據(jù)備份?數(shù)據(jù)庫(kù)備份涉及哪些重要內(nèi)容?參考答案:任何系統(tǒng)都不可避免會(huì)出現(xiàn)各種形式的故障,而某些故障也許會(huì)導(dǎo)致數(shù)據(jù)庫(kù)劫難性的損壞,所以做好數(shù)據(jù)庫(kù)的備份工作極為重要。備份可以創(chuàng)建在磁盤、磁帶等備份設(shè)備上,與備份相應(yīng)的是還原。數(shù)據(jù)庫(kù)備份就是在某種介質(zhì)上(磁帶、磁盤等)存儲(chǔ)數(shù)據(jù)庫(kù)(或者其中一部分)的拷貝的過程。更嚴(yán)格意義上講,備份應(yīng)當(dāng)是一種把數(shù)據(jù)從硬盤上復(fù)制到其他可移動(dòng)介質(zhì)上的操作過程。一個(gè)完整的備份通常要涉及三部分內(nèi)容,即系統(tǒng)數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)和事務(wù)日記。6.什么是備份設(shè)備,請(qǐng)談一談SQLServer中創(chuàng)建備份設(shè)備的重要環(huán)節(jié)和方法。參考答案:備份設(shè)備是用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)、事務(wù)日記或文獻(xiàn)和文獻(xiàn)組備份的存儲(chǔ)介質(zhì)。SQLServer支持3種備份設(shè)備,即磁盤設(shè)備、磁帶設(shè)備和命名管道設(shè)備。在SQLServer中,可以采用兩種方法創(chuàng)建備份設(shè)備,一是運(yùn)用公司管理器;二是使用系統(tǒng)存儲(chǔ)過程sp_addumpdevice。其環(huán)節(jié)如下:在公司管理器中展開服務(wù)器組,展開指定的服務(wù)器,展開“管理”文獻(xiàn)夾,右擊“備份”,在彈出的快捷菜單中選擇“新建備份設(shè)備”選項(xiàng),打開“備份設(shè)備屬性-新設(shè)備”對(duì)話框。在“名稱”文本框中輸入邏輯設(shè)備的名稱,在下面選擇磁帶或者磁盤備份設(shè)備,并設(shè)立物理位置。當(dāng)使用磁盤時(shí),SQLServer允許將本地主機(jī)硬盤和遠(yuǎn)程主機(jī)上的硬盤作為備份設(shè)備,備份設(shè)備在硬盤中是以文獻(xiàn)的方式存儲(chǔ)的。完畢后,單擊“擬定”按鈕即可。缺省情況下,備份設(shè)備的全途徑為“C:\ProgramFiles\MicrosoftSQLServer\MSSQL\BACKUP\進(jìn)銷存數(shù)據(jù)庫(kù)備份.BAK”,備份設(shè)備文獻(xiàn)名為“進(jìn)銷存數(shù)據(jù)庫(kù)備份.BAK”,缺省途徑為SQLServer安裝目錄的BACKUP文獻(xiàn)夾。7.事務(wù)日記文獻(xiàn)有什么用途?是否也需要備份?為什么?參考答案:SQLServer數(shù)據(jù)庫(kù)是由兩個(gè)操作系統(tǒng)文獻(xiàn)組成的,即數(shù)據(jù)文獻(xiàn)和事務(wù)日記文獻(xiàn)。事務(wù)日記文獻(xiàn)重要用于存儲(chǔ)數(shù)據(jù)庫(kù)的更新情況等事務(wù)日記信息。事務(wù)日記文獻(xiàn)非常重要,所有對(duì)數(shù)據(jù)庫(kù)的更改操作都會(huì)記錄于此,當(dāng)數(shù)據(jù)庫(kù)損壞時(shí),數(shù)據(jù)庫(kù)管理員可使用事務(wù)日記恢復(fù)數(shù)據(jù)庫(kù)。從事務(wù)日記文獻(xiàn)的作用上可以看出,它是非常有用和重要的,因此也需要備份。8.請(qǐng)按以下操作練習(xí)一下數(shù)據(jù)庫(kù)備份操作,并體會(huì)一下數(shù)據(jù)庫(kù)備份的的效果。(1)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù);(2)使用CREATETABLE語(yǔ)句在數(shù)據(jù)庫(kù)中創(chuàng)建一張表;(3)使用INSERT語(yǔ)句向表中插入若干條數(shù)據(jù);(4)進(jìn)入公司管理器,對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份操作;(5)使用DROPTABLE語(yǔ)句刪除已創(chuàng)建的表;(6)使用公司管理器,對(duì)數(shù)據(jù)庫(kù)進(jìn)行還原操作。參考答案:CREATEDATABASE學(xué)生庫(kù)學(xué)生表:createtable學(xué)生(學(xué)號(hào)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í)題一、簡(jiǎn)答題1.什么是嵌入式SQL,它有哪些特點(diǎn)和用途?參考答案:嵌入式SQL語(yǔ)言是將SQL語(yǔ)句直接嵌入到程序的源代碼中,與其他程序設(shè)計(jì)語(yǔ)言語(yǔ)句混合。嵌入式SQL的用途:它是數(shù)據(jù)庫(kù)應(yīng)用程序的一種開發(fā)方法。是一種應(yīng)用程序進(jìn)行數(shù)據(jù)庫(kù)訪問時(shí)所采用的編程式數(shù)據(jù)庫(kù)語(yǔ)言。嵌入式SQL的特點(diǎn)是,數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS一般會(huì)采用預(yù)編譯的解決辦法,即由DBMS的預(yù)解決程序?qū)υ闯绦蜻M(jìn)行掃描,辨認(rèn)出SQL語(yǔ)句,把它們轉(zhuǎn)換成宿主語(yǔ)言調(diào)用語(yǔ)句,以使宿主語(yǔ)言編譯程序可以辨認(rèn)它,最后再由宿主語(yǔ)言的編譯程序?qū)⒄麄€(gè)源程序編譯成目的碼。嵌入SQL語(yǔ)句完畢的功能也可以通過應(yīng)用程序接口(API)實(shí)現(xiàn)。2.請(qǐng)簡(jiǎn)述C/S和B/S的重要原理,并說(shuō)明它們各自的優(yōu)缺陷。參考答案:C/S模式就是基于公司內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。傳統(tǒng)的C/S模式是一種兩層結(jié)構(gòu)的系統(tǒng),第一層是在客戶機(jī)系統(tǒng)上結(jié)合了表達(dá)與業(yè)務(wù)邏輯;第二層是通過網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)庫(kù)服務(wù)器。優(yōu)點(diǎn)是:C/S模式的應(yīng)用系統(tǒng)最大的好處是不依賴公司外網(wǎng)環(huán)境,即無(wú)論公司是否可以上網(wǎng),都不影響應(yīng)用。缺陷是應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜。B/S模式,即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來(lái)的新的網(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ùn)營(yíng)瀏覽器軟件。優(yōu)點(diǎn)是:B/S占有優(yōu)勢(shì)的是其異地瀏覽和信息采集的靈活性。任何時(shí)間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。缺陷是:采用B/S結(jié)構(gòu),客戶端只能完畢瀏覽、查詢、數(shù)據(jù)輸入等簡(jiǎn)樸功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的承擔(dān)很重。3.請(qǐng)簡(jiǎn)要說(shuō)明運(yùn)用VB開發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的一般環(huán)節(jié)。參考答案:運(yùn)用VB開發(fā)數(shù)據(jù)類應(yīng)用程序的基本框架如下:1)通常要聲明一個(gè)全局?jǐn)?shù)據(jù)庫(kù)連接對(duì)象2)一般要?jiǎng)?chuàng)建Main子過程,并將它設(shè)立為啟動(dòng)對(duì)象。在其中順序完畢以下操作:(1)以非模態(tài)方式顯示飛濺窗。(2)創(chuàng)建全局?jǐn)?shù)據(jù)庫(kù)連接對(duì)象,并連接SQLServer或Access等數(shù)據(jù)庫(kù)。(3)以模態(tài)方式顯示登錄窗,等待用戶登錄。(4)登錄成功后,以非模態(tài)方式顯示主窗體,否則退出程序。3)主窗體一般均提供增長(zhǎng)、刪除、修改、查詢等對(duì)數(shù)據(jù)庫(kù)的管理功能,所有操作均使用全局?jǐn)?shù)據(jù)庫(kù)連接對(duì)象作為與數(shù)據(jù)庫(kù)交互的通道,通過SQL語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行解決,其中涉及增長(zhǎng)功能、刪除功能、修改功能和查詢功能。4)其他功能。比如數(shù)據(jù)庫(kù)備份和恢復(fù)功能、用戶權(quán)限管理功能等。4.什么是數(shù)據(jù)庫(kù)引擎?VB數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)訪問數(shù)據(jù)庫(kù)的重要機(jī)理是什么?參考答案:VB提供了三種數(shù)據(jù)庫(kù)訪問引擎,即Jet引擎、ODBC和OLEDB,目前重要使用OLEDB。在VB應(yīng)用程序中重要用這個(gè)對(duì)象建立與數(shù)據(jù)庫(kù)的連接,一般的方法是:①聲明并創(chuàng)建對(duì)象DimADOcnA(yù)sNewConnection②建立數(shù)據(jù)庫(kù)連接ADOcn.Open連接字符串假如要連接SQLServer數(shù)據(jù)庫(kù),那么連接字符串一般應(yīng)具有以下組成:Provider=SQLOLEDB;Server=<服務(wù)器名>;UserID=<登錄賬號(hào)>;Password=<登錄口令>;Dat(yī)abase=<數(shù)據(jù)庫(kù)名>③對(duì)數(shù)據(jù)表進(jìn)行更新操作5.ADO對(duì)象模型的重要對(duì)象是什么?假如連接后臺(tái)數(shù)據(jù)庫(kù)?參考答案:ADO對(duì)象模型的重要對(duì)象是:Connection、Command、Recordset、Parameter、Property、Field和Error。①聲明并創(chuàng)建對(duì)象DimADOcnAsNewConnection②建立數(shù)據(jù)庫(kù)連接ADOcn.Open連接字符串假如要連接SQLServer數(shù)據(jù)庫(kù),那么連接字符串一般應(yīng)具有以下組成:Provider=SQLOLEDB;Server=<服務(wù)器名>;UserID=<登錄賬號(hào)>;Password=<登錄口令>;Dat(yī)abase=<數(shù)據(jù)庫(kù)名>6.請(qǐng)寫出VB中編寫增、刪、改、查功能的重要環(huán)節(jié)和語(yǔ)句。參考答案:ADOcn.ExecuteSQL語(yǔ)句字符串要增長(zhǎng)學(xué)生成績(jī)表中學(xué)號(hào)為20230008的記錄,可以采用以下語(yǔ)句實(shí)現(xiàn):ADOcn.Execute“insertinto學(xué)生成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))Value(‘20230008’,’101’,’85’要?jiǎng)h除學(xué)生成績(jī)表中學(xué)號(hào)為001的記錄,可以采用以下語(yǔ)句實(shí)現(xiàn):ADOcn.Execute“DELETEFROM學(xué)生成績(jī)表WHERE學(xué)號(hào)=‘001’”要修改學(xué)號(hào)為20230008學(xué)生課程號(hào)為101的成績(jī)?yōu)椋福?。ADOcn.Execute“UPDATE學(xué)生成績(jī)表SET成績(jī)=’89WHERE學(xué)號(hào)=‘20230008’AND課程號(hào)=’101’要查找所有的學(xué)生的成績(jī)ADOcn.Execute“SELECT*FROM學(xué)生成績(jī)表”《數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》第4次作業(yè)及答案一、單項(xiàng)選擇題(每個(gè)題只有一個(gè)答案是對(duì)的的。)1.假如希望從學(xué)生表中查詢出所有姓“李”的同學(xué),那么條件語(yǔ)句應(yīng)當(dāng)是(B)。A、Where姓名%‘李’B、Where姓名LIKE‘李%’C、Where姓名%‘LIKE李’D、Where姓名LIKE‘李’2.在一個(gè)教師關(guān)系中,可以成為主關(guān)鍵字(或稱主碼)的屬性是(B)。A、教師姓名B、教師編號(hào)C、教師年齡D、教師性別3.從最終用戶應(yīng)用程序的視角看,數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)是(C)。A、模式、外模式和內(nèi)模式B、內(nèi)模式、外模式和模式C、外模式、模式和內(nèi)模式D、外模式、內(nèi)模式和模式4.在一個(gè)學(xué)生關(guān)系中,可以成為主關(guān)鍵字(或稱主碼)的屬性是(C)。A、性別B、年齡C、學(xué)號(hào)D、班級(jí)5.有嚴(yán)格的數(shù)學(xué)基礎(chǔ)的數(shù)據(jù)模型是(A)。A、關(guān)系模型B、網(wǎng)狀模型C、層次模型D、面向?qū)ο竽P?.下列關(guān)于索引的說(shuō)明不對(duì)的的是(A)。A、索引必須創(chuàng)建在主關(guān)鍵字之上B、索引與基本表分開存儲(chǔ)C、索引是為了提高查詢速度而創(chuàng)建的D、索引會(huì)在一定限度上影響增刪改操作的效率7.設(shè)關(guān)系R是滿足第一范式的,若R中不存在非主屬性對(duì)主鍵的部分函數(shù)依賴,則R符合(A)。A、第二范式B、第三范式C、BNC范式D、第四范式8.下列符合第三范式的關(guān)系是(D)。A、學(xué)生(學(xué)號(hào),姓名,課程號(hào),課程名)B、學(xué)生(學(xué)號(hào),姓名,課程名,成績(jī))C、學(xué)生(學(xué)號(hào),姓名,課程號(hào),成績(jī))D、學(xué)生(學(xué)號(hào),姓名,性別)9.在第一個(gè)關(guān)系中出現(xiàn),而在第二個(gè)關(guān)系中不出現(xiàn)的記錄組成的新關(guān)系稱為(D)。A、兩個(gè)關(guān)系的積B、兩個(gè)關(guān)系的并C、兩個(gè)關(guān)系的交D、兩個(gè)關(guān)系的差10.?dāng)?shù)據(jù)庫(kù)應(yīng)用程序開發(fā)中,需求分析階段的重要目的是(A)。A、回答“干什么”的問題B、回答“怎么干”的問題C、建立邏輯數(shù)據(jù)模型D、建立最佳物理存儲(chǔ)結(jié)構(gòu)11.用戶使用SQLServer時(shí),通常需要依次通過兩個(gè)安全性階段(C)。A、登錄驗(yàn)證、操作驗(yàn)證B、操作驗(yàn)證、登錄驗(yàn)證C、身份驗(yàn)證、權(quán)限認(rèn)證D、權(quán)限認(rèn)證、身份驗(yàn)證12.SQLServer數(shù)據(jù)庫(kù)中的一個(gè)完整的備份通常要涉及(A)。A、系統(tǒng)數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)和事務(wù)日記B、系統(tǒng)數(shù)據(jù)庫(kù)、系統(tǒng)表和數(shù)據(jù)字典C、系統(tǒng)數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)和數(shù)據(jù)字典D、用戶數(shù)據(jù)庫(kù)和事務(wù)日記13.下列哪些不屬于索引的類型(D)。A、單列索引B、惟一索引C、聚集索引D、事務(wù)日記索引14.下列SQL語(yǔ)句中,可以完畢并運(yùn)算的是(A)。A、SELECT*FROM籃球愛好者UNIONSELECT*FROM足球愛好者B、SELECT*FROM籃球愛好者INTERSECTSELECT*FROM足球愛好者C、SELECT*FROM籃球愛好者EXCEPTSELECT*FROM足球愛好者D、SELECT*FROM籃球愛好者,足球愛好者15.設(shè)學(xué)生表和課程表的結(jié)構(gòu)分別為(學(xué)號(hào),姓名)和(學(xué)號(hào),課程號(hào),成績(jī)),假如希望查詢出“成績(jī)大于90分的學(xué)生姓名”,則相應(yīng)的SQL語(yǔ)句是(D)。A、SELECT姓名FROM學(xué)生表WHERE學(xué)生表.學(xué)號(hào)=課程表.學(xué)號(hào)AND課程表.成績(jī)>90B、SELECT姓名FROM課程表WHERE學(xué)生表.學(xué)號(hào)=課程表.學(xué)號(hào)AND課程表.成績(jī)>90C、SELECT姓名FROM學(xué)生表,課程表WHERE學(xué)生表.學(xué)號(hào)=課程表.學(xué)號(hào)OR課程表.成績(jī)>90D、SELECT姓名FROM學(xué)生表,課程表WHERE學(xué)生表.學(xué)號(hào)=課程表.學(xué)號(hào)AND課程表.成績(jī)>90二、填空題1.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)由外模式、模式和內(nèi)模式三級(jí)抽象模式構(gòu)成。2.備份是指將數(shù)據(jù)從硬盤復(fù)制到可移動(dòng)媒體上的過程。3.“實(shí)體一聯(lián)系”方法是描述數(shù)據(jù)庫(kù)概念模型的重要方法,一般稱這種方法為E-R方法(或E-R圖方法)。4.用戶使用SQLServer數(shù)據(jù)庫(kù)時(shí),一般需要通過兩個(gè)安全性階段:身份驗(yàn)證和權(quán)限認(rèn)證。5.E-R圖設(shè)計(jì)一般在數(shù)據(jù)庫(kù)設(shè)計(jì)的概念設(shè)計(jì)階段使用。三、判斷題(對(duì)的的在括號(hào)內(nèi)打上“√”,錯(cuò)誤的打上“╳”。)1.可以惟一表達(dá)數(shù)據(jù)表中的每條記錄的字段或者字段的組合稱為主碼或主鍵(√)。2.SQLServer數(shù)據(jù)庫(kù)中的NULL值(空值)表達(dá)的是“空格”或“0”值(╳)3.一個(gè)不規(guī)范的關(guān)系模式通常會(huì)引發(fā)插入異常、刪除異常和更新異常,導(dǎo)致大量的數(shù)據(jù)冗余。(√)4.根據(jù)索引的特點(diǎn),應(yīng)當(dāng)對(duì)那些數(shù)據(jù)量大、查詢頻度較高、實(shí)時(shí)性規(guī)定強(qiáng)的基本表創(chuàng)建索引,(√)5.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),有效存儲(chǔ)數(shù)據(jù),滿足用戶信息規(guī)定和解決規(guī)定。(√)6.參照完整性規(guī)則通常是指在兩個(gè)參照和被參照關(guān)系中,參照關(guān)系中每條記錄的外鍵或者為空,或者等于被參照關(guān)系中某條記錄的主鍵。(√)四、簡(jiǎn)述題1.請(qǐng)簡(jiǎn)要說(shuō)明視圖的概念和作用參考答案:視圖是在基本表或其他視圖上建立的表,它的結(jié)構(gòu)和內(nèi)容都來(lái)自某個(gè)基本表,是依據(jù)基本表存在而存在的。刪除一個(gè)視圖時(shí),不會(huì)對(duì)基本表產(chǎn)生任何影響,但當(dāng)刪除一張基本表時(shí),與之相關(guān)聯(lián)的視圖就會(huì)自動(dòng)被刪除。其作用重要是:(1)視圖是通過預(yù)編譯的SELECT語(yǔ)句,存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器端,因此執(zhí)行視圖比從客戶端直接執(zhí)行SELECT語(yǔ)句速度更快、效率更高一些。(2)視圖屬于用戶模式范疇,在實(shí)際中,一般的用戶不一定具有SELECT語(yǔ)句方面的專門知識(shí),從用戶和諧性角度來(lái)說(shuō),視圖更便于用戶使用。(3)運(yùn)用視圖可以簡(jiǎn)化的形式表達(dá)復(fù)雜的SELECT語(yǔ)句組,如嵌套查詢等。2.什么是函數(shù)依賴與函數(shù)決定,請(qǐng)舉例說(shuō)明參考答案:設(shè)一個(gè)關(guān)系為R,X和Y是它的兩個(gè)屬性集。若對(duì)于X上的每個(gè)值都有Y上的一個(gè)惟一值與之相應(yīng),則稱X和Y具有函數(shù)依賴關(guān)系,并稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X,稱X為決定因素。假設(shè)一個(gè)職工關(guān)系為(職工號(hào),姓名,性別,年齡,職務(wù)),職工號(hào)用來(lái)標(biāo)記每個(gè)職工,選作該關(guān)系的主鍵。我們可以從以下兩方面理解函數(shù)依賴的概念:一方面,對(duì)于該關(guān)系中每個(gè)職工的職工號(hào),都相應(yīng)著姓名屬性中的惟一值,即該職工的姓名,或者說(shuō)一個(gè)職工的姓名由其職工號(hào)惟一擬定,所以稱職工號(hào)函數(shù)決定姓名,或稱姓名函數(shù)依賴于職工號(hào)。另一方面,除職工號(hào)外,其他屬性都不能成為決定因素形成函數(shù)依賴,由于對(duì)于它們的每個(gè)屬性值,都也許相應(yīng)另一屬性的多個(gè)不同的取值,比如對(duì)于性別屬性的一個(gè)取值“男”就會(huì)相應(yīng)多個(gè)而不是一個(gè)職工號(hào)。3.請(qǐng)簡(jiǎn)要說(shuō)明存儲(chǔ)過程的概念和優(yōu)點(diǎn)。參考答案:存儲(chǔ)過程(StoredProcedure)是一組預(yù)先編譯好的,以一種可執(zhí)行的形式永久地存儲(chǔ)在數(shù)據(jù)中的SQL代碼。使用存儲(chǔ)過程的好處可歸納為以下幾點(diǎn):(a)執(zhí)行速度快。在通過第一次調(diào)用以后,就駐留在內(nèi)存中,不必再通過編譯和優(yōu)化;(b)模塊化的程序設(shè)計(jì)。通過了一次創(chuàng)建以后,可以被調(diào)用無(wú)數(shù)次;(c)減少網(wǎng)絡(luò)流量;(d)保證系統(tǒng)的安全性。五、綜合應(yīng)用題11.設(shè)有關(guān)系模式:SB(SN,SNAME,CITY)其中,S表達(dá)供應(yīng)商,SN為供應(yīng)商代號(hào),SNAME為供應(yīng)商名字,CITY為供應(yīng)商所在城市,主碼為SN。PB(PN,PNAME,COLOR,WEIGHT)其中P表達(dá)零件,PN為零件代號(hào),PNAME為零件名字,COLOR為零件顏色,WEIGHT為零件重量,主碼為PN。JB(JN,JNAME,CITY)其中,J表達(dá)工程,JN為工程編號(hào),JNAME為工程名字,CITY為工程所在城市,主碼為JN。SPJB(SN,PN,JN,CITY)其中,SPJ表達(dá)供應(yīng)關(guān)系,SN是為指定工程提供零件的供應(yīng)商代號(hào),PN為所提供的零件代號(hào),JN為工程編號(hào),QTY表達(dá)提供的零件數(shù)量,主碼為SN,PN,JN,外碼為SN,PN,JN。如圖3.8所示表達(dá)供應(yīng)商(S)-零件(P)-工程(J)數(shù)據(jù)庫(kù)表,寫出實(shí)現(xiàn)以下各題功能的SQL語(yǔ)句:SB表?SNOSNAMECITY

S1N1上海

S2N2北京?S3N3北京

S4N4 上海?S5N5南京P表

PNOPNAMECOLORWEIGHT?P1PN1紅 12?P2PN2綠?18

P3PN3?藍(lán) 20

P4PN4紅 13?P5PN5?藍(lán) 11?P6PN6?綠 15JB表?JNOJNAMECITY?J1JN1上海?J2?JN2?廣州?J3?JN3 南京?J4?JN4? 南京

J5?JN5? 上海

J6?JN6武漢

J7?JN7上海SPJ表SNOPNOJNO?QTY

S1P1 J1 200?S1?P1 J4?700

S2 P3 J1 400

S2?P3?J2?200S2?P3 J3 200

S2 P3?J4?500

S2?P3 J5 600

S2?P3 J6?400

S2 P3?J7 800

S2 P3 J2 100?S3?P3 J1 200

S3P4?J2 500

S4?P6?J3?300

S4?P6 J7?300

S5P2 J2 200?S5?P2 J4?100

S5P5 J5?500

S5?P5 J7 100S5 P6?J2 200?S5?P1 J4?1000

S5?P3 J4 1200S5 P4?J4 800

S5 P5 J4?400

S5?P6?J4?500

圖3.8表SB、PB、JB和SPJB(1)取出所有工程的所有細(xì)節(jié);SELECT*FROMJBTOSCREENJNJNAMECITYJ1JN1上海J2JN2廣州J3JN3南京J4JN4南京J5JN5上海J6JN6武漢J7JN7上海(2)取出所在城市為上海的所有工程的所有細(xì)節(jié);SELECT*FROMJBWHERECITY=’上海’TOSCREENJNJNAMECITYJ1JN1上海J5JN5上海J7JN7上海(3)取出重量最輕的零件代號(hào);SELECTPNFROMPBWHEREWEIGHT=(SELECTMIN(WEIGHT)FROMPB)TOSCREENPNP5(4)取出為工程J1提供零件的供應(yīng)商代號(hào);SELECTSNFROMSPJBWHEREJN=’JI’TOSCREENSNS1S2S3(5)取出為工程J1提供零件P1的供應(yīng)商代號(hào);SELECTSNFROMSPJB;WHEREJN=’JI’ANDPN=’P1’TOSCREENSNS1(6)取出由供應(yīng)商S1提供零件的工程名稱;SELECTJB.JNAMEFROMJB,SPJB;WHEREJB.JN=SPJB.JNANDSPJB.SN=’S1’TOSCREENJNAMEJN1JN4(7)取出供應(yīng)商S1提供的零件的顏色;SELECTDISTINCTPB.COLORFROMPB,SPJB;WHEREPB.PN=SPJB.PNANDSPJB.SN=’S1’TOSCREENCOLOR紅(8)取出為工程J1或J2提供零件的供應(yīng)商代號(hào);SELECTDISTINCTSNFROMSPJB;WHEREJN=’JI’ORJN=’J2’TO(shè)SCREENSNS1S2S3S5(9)取出為工程J1提供紅色零件的供應(yīng)商代號(hào);SELECTDISTINCTSPJB.SNFROMSPJB,PB;WHEREPB.PN=SPJB.PNANDSPJB.JN=’JI’ANDPB.COLOR=’紅’TOSCREENSNS1(10)取出為所在城市為上海的工程提供零件的供應(yīng)商代號(hào);SELECTDISTINCTSPJB.SNFROMSPJB,JB;WHERESPJB.JN=JB.JNANDJB.CITY=’上海’TOSCREENSNS1S2S3S4S5(11)取出為所在城市為上?;虮本┑墓こ烫峁┘t色零件的供應(yīng)商代號(hào);SELECTSPJB.SNFROMPB,JB,SPJB;WHERESPJB.PN=PB.PNANDJB.JN=SPJB.JNANDPB.COLOR=’紅’;AND(JB.CITY=’上海’ORJB.CITY=’北京’)TOSCREENSNS1S4(12)取出供應(yīng)商與工程所在城市相同的供應(yīng)商提供的零件代號(hào);SELECTDISTINCTSPJB.PNFROMSB,JB,SPJB;WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=JB.CITYTOSCREENPNP1P2P3P4PSP6(13)取出上海的供應(yīng)商提供應(yīng)上海的任一工程的零件的代號(hào);SELECTSPJB.PNFROMSB,JB,SPJB;WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=’上?!?ANDJB.CITY=’上海’TOSCREENPNP1P6(14)取出至少由一個(gè)和工程不在同一城市的供應(yīng)商提供零件的工程代號(hào);SELECTDISTTCTSPJB.JNFROMSB,JB,SPJB;WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY<>JB.CITYTOSCREENJNJ1J2J3J4J5J6J7(15)取出上海供應(yīng)商不提供任何零件的工程的代號(hào);SELECTDISTINCTJNFROMSPJB;WHEREJNNOTIN;(SELECTDISTINCTSPJB.JNFROMSB,SPJB;WHERESB.SN=SPJB.SNANDSB.CITY=’上?!?TOSCREENJNJ2J5J6(16)取出這樣一些供應(yīng)商代號(hào),它們可以提供至少一種由紅色零件的供應(yīng)商提供的零件;SELECTDISTINCTSPJB.SNFROMPB,SPJB;WHERESPJB.PNIN;(SELECTSPJB.PNFROMSPJB,SB,PB;WHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDPB.COLOUR=’紅’)TOSCREENSNS1S3S4S5(17)取出由供應(yīng)商S1提供零件的工程的代號(hào);SELECTDISTINCTSPJB.JNFROMSB,PB,SPJB;WHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDSB.SN=’S1’TO(shè)SCREENJNJ1J4(18)取出所有這樣的一些<CITY,CITY>二元組,使得第1個(gè)城市的供應(yīng)商為第2個(gè)城市的工程提供零件;SELECTDISTINCTSB.CITY,JB.CITYFROMSB,JB,SPJB;WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNTOSCREENCITY_ACITY_B北京廣州北京南京北京上海北京武漢南京廣州南京南京南京上海上海南京上海上海(19)取出所有這樣的一些<CITY,PN,CITY>三元組,使得第1個(gè)城市的供應(yīng)商為2個(gè)城市的工程提供指定的零件;SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJB;WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNTOSCREENCITY_APNCITY_B北京P3廣州北京P3南京北京P3上海北京P3武漢北京P4廣州北京P5廣州南京P1南京南京P2廣州南京P2南京南京P3南京南京P4南京南京P5南京南京P5上海南京P6廣州南京P6南京上海P1南京上海P1上海上海P6南京上海P6上海(20)反復(fù)(19)題,但不檢索兩個(gè)CITY值相同的三元組。SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJB;WHERESB.SN=SPJB.SNAND

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論