《2018年電大-數(shù)據(jù)庫(kù)應(yīng)用技術(shù)-綜合應(yīng)用題.docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《2018年電大-數(shù)據(jù)庫(kù)應(yīng)用技術(shù)-綜合應(yīng)用題.docx(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、綜合應(yīng)用題1 圖書(shū)銷(xiāo)售(本題10分)題目1題干寫(xiě)出創(chuàng)建如下三張數(shù)據(jù)表的SQL語(yǔ)句。(本題4分)“圖書(shū)”表結(jié)構(gòu):書(shū)號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為10,主鍵。書(shū)名:普通編碼可變長(zhǎng)字符類(lèi)型,長(zhǎng)度為20,非空。類(lèi)別:統(tǒng)一字符編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為4,取值為:“高等數(shù)學(xué)”、“量子力學(xué)”、“國(guó)學(xué)基礎(chǔ)”。出版日期:日期類(lèi)型。單價(jià):整型。“書(shū)店”表結(jié)構(gòu):書(shū)店編號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為20,主鍵。書(shū)店名:普通編碼可變長(zhǎng)字符類(lèi)型,長(zhǎng)度為30,非空。地址:統(tǒng)一字符編碼可變長(zhǎng)字符類(lèi)型,長(zhǎng)度為30?!颁N(xiāo)售”表結(jié)構(gòu):書(shū)號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為10,引用圖書(shū)表的外鍵。書(shū)店編號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度
2、為20,引用書(shū)店表的外鍵。銷(xiāo)售時(shí)間:日期時(shí)間類(lèi)型。銷(xiāo)售數(shù)量:整型。主鍵:(書(shū)號(hào),書(shū)店編號(hào),銷(xiāo)售時(shí)間)。答:CREATE TABLE 圖書(shū)(書(shū)號(hào) char(10) primary key,書(shū)名 varchar(20) not null,類(lèi)別 nchar(4) CHECK (類(lèi)別 IN(高等數(shù)學(xué),量子力學(xué), 國(guó)學(xué)基礎(chǔ)),出版日期 date,單價(jià) int)CREATE TABLE 書(shū)店(書(shū)店編號(hào) char(20) primary key,書(shū)店名 varchar(30) not null,地址 nvarchar(30)CREATE TABLE 銷(xiāo)售(書(shū)號(hào) char(10),書(shū)店編號(hào) char(20),
3、銷(xiāo)售時(shí)間 datetime,銷(xiāo)售數(shù)量 int,Primary key(書(shū)號(hào),書(shū)店編號(hào),銷(xiāo)售時(shí)間),Foreign key(書(shū)號(hào)) references 圖書(shū)(書(shū)號(hào)),Foreign key(書(shū)店編號(hào)) references 書(shū)店(書(shū)店編號(hào))題目2題干依據(jù)第1題所創(chuàng)建的三張表,寫(xiě)出完成下列操作的SQL語(yǔ)句。(本題4分)1) 查詢(xún)“量子力學(xué)”類(lèi)圖書(shū)的書(shū)名和出版日期。2) 查詢(xún)單價(jià)大于等于60的圖書(shū)的銷(xiāo)售情況,列出書(shū)名、類(lèi)別、銷(xiāo)售時(shí)間和銷(xiāo)售數(shù)量。3) 將“量子力學(xué)”類(lèi)圖書(shū)的單價(jià)降低10。4) 在書(shū)店表中插入一行數(shù)據(jù),書(shū)店編號(hào):SD100,書(shū)店名:新華書(shū)店,地址:西單。答:1)SELECT 書(shū)名,出版
4、日期 FROM 圖書(shū) WHERE 類(lèi)別 = 量子力學(xué)2)SELECT 書(shū)名, 類(lèi)別, 銷(xiāo)售時(shí)間, 銷(xiāo)售數(shù)量 FROM 圖書(shū) a JOIN 銷(xiāo)售 b ON a.書(shū)號(hào) = b.書(shū)號(hào) WHERE 單價(jià) = 603)UPDATE 圖書(shū)SET 單價(jià) = 單價(jià) - 10 WHERE 類(lèi)別 = 量子力學(xué)4)INSERT INTO 書(shū)店VALUES(SD100,新華書(shū)店,西單)題目3題干依據(jù)第1題所創(chuàng)建的三張表,寫(xiě)出創(chuàng)建滿足如下要求的視圖的SQL語(yǔ)句:查詢(xún)銷(xiāo)售了“高等數(shù)學(xué)”類(lèi)圖書(shū)的書(shū)店名和地址。(本題2分)答:CREATE VIEW V1 ASSELECT 書(shū)店名,地址 FROM 書(shū)店 aJOIN 銷(xiāo)售 b
5、ON a.書(shū)店編號(hào) = b.書(shū)店編號(hào) JOIN 圖書(shū) c ON c.書(shū)號(hào) = b.書(shū)號(hào) WHERE 類(lèi)別 = 高等數(shù)學(xué)綜合應(yīng)用題2 教師授課(本題10分)題目4題干寫(xiě)出創(chuàng)建如下三張數(shù)據(jù)表的SQL語(yǔ)句。(本題4分)“教師”表結(jié)構(gòu):教師號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為10,主鍵。教師名:普通編碼可變長(zhǎng)字符類(lèi)型,長(zhǎng)度為20,非空。所在部門(mén):普通編碼可變長(zhǎng)字符類(lèi)型,長(zhǎng)度為30。職稱(chēng):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為6,取值為:“教授”、“副教授”、“其他”?!罢n程”表結(jié)構(gòu):課程號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為20,主鍵。課程名:普通編碼可變長(zhǎng)字符類(lèi)型,長(zhǎng)度為40,非空。學(xué)時(shí)數(shù):微整型。開(kāi)課學(xué)期:微整型。“
6、授課”表結(jié)構(gòu):教師號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為10,引用教師表的外鍵。課程號(hào):普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為20,引用課程表的外鍵。授課時(shí)數(shù):整型。授課年份:整型。主鍵:(教師號(hào),課程號(hào),授課年份)。答:CREATE TABLE 教師(教師號(hào) char(10) primary key,教師名 varchar(20) not null,所在部門(mén) varchar(30),職稱(chēng) char(6) CHECK (職稱(chēng) IN(教授,副教授, 其他)CREATE TABLE 課程(課程號(hào) char(20) primary key,課程名 varchar(40) not null,學(xué)時(shí)數(shù) tinyint,開(kāi)
7、課學(xué)期 tinyint)評(píng)分要點(diǎn):共1分。CREATE TABLE 授課(教師號(hào) char(10),課程號(hào) char(20),授課時(shí)數(shù) int,授課年份 int,Primary key(教師號(hào),課程號(hào),授課年份),Foreign key(教師號(hào)) references 教師(教師號(hào)),Foreign key(課程號(hào)) references 課程(課程號(hào))題目5題干依據(jù)第1題所創(chuàng)建的三張表,寫(xiě)出完成下列操作的SQL語(yǔ)句。(本題4分)1) 查詢(xún)“教授”職稱(chēng)的教師姓名和所在部門(mén)。2) 查詢(xún)每學(xué)期開(kāi)設(shè)的學(xué)時(shí)數(shù)大于40的課程門(mén)數(shù)。3) 查詢(xún)2016年全部課程的授課情況,列出課程名、學(xué)時(shí)數(shù)、教師名和授課時(shí)
8、數(shù)。刪除沒(méi)人講授的課程。答:1) SELECT 教師名, 所在部門(mén)FROM 教師 WHERE 職稱(chēng) = 教授2) SELECT 開(kāi)課學(xué)期,COUNT(*) 課程門(mén)數(shù)FROM 課程WHERE 學(xué)時(shí)數(shù) 40GROUP BY 開(kāi)課學(xué)期3) SELECT 課程名, 學(xué)時(shí)數(shù), 教師名, 授課時(shí)數(shù) FROM 課程 JOIN 授課 ON 課程.課程號(hào) = 授課.課程號(hào) JOIN 教師 ON 教師.教師號(hào) = 授課.教師號(hào) WHERE 授課年份 = 20164) DELETE FROM 課程 WHERE 課程號(hào) NOT IN (SELECT 課程號(hào) FROM 授課)題目6題干依據(jù)第1題所創(chuàng)建的三張表,寫(xiě)出創(chuàng)建滿足如下要求的視圖的SQL語(yǔ)句:查詢(xún)2016授課年份全體授課教師的教師名、所授的課程名和授課時(shí)數(shù)。(本題2分)答:CREATE VIEW V1 ASSELECT 教師名,課程名,授課時(shí)數(shù)FROM 授課 JOIN 教師 ON 授課.教師號(hào) = 教師.教師號(hào)JOIN 課程 ON 課程.課程號(hào) = 授課.課程號(hào)WHERE 授課年份 = 2016