資源描述:
《sql數(shù)據(jù)庫(kù)建表》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1.寫(xiě)出創(chuàng)建如下三張表的SQL語(yǔ)句,要求在定義表的同時(shí)定義數(shù)據(jù)的完整性約束:(1)“圖書(shū)表”結(jié)構(gòu)如下:書(shū)號(hào):統(tǒng)一字符編碼定長(zhǎng)類(lèi)型,長(zhǎng)度為6,主鍵;書(shū)名:統(tǒng)一字符編碼可變長(zhǎng)類(lèi)型,長(zhǎng)度為30,非空;第一作者:普通編碼定長(zhǎng)字符類(lèi)型,長(zhǎng)度為10,非空;出版日期:小日期時(shí)間型;價(jià)格:定點(diǎn)小數(shù),小數(shù)部分1位,整數(shù)部分3位。(2)“書(shū)店表”結(jié)構(gòu)如下:書(shū)店編號(hào):統(tǒng)一字符編碼定長(zhǎng)類(lèi)型,長(zhǎng)度為6,主鍵;店名:統(tǒng)一字符編碼可變長(zhǎng)類(lèi)型,長(zhǎng)度為30,非空;電話:普通編碼定長(zhǎng)字符類(lèi)型,8位長(zhǎng),每一位的取值均是0~9的數(shù)字;地址:普通編碼可變長(zhǎng)字符類(lèi)型,40位長(zhǎng)。郵政編碼:
2、普通編碼定長(zhǎng)字符類(lèi)型,6位長(zhǎng)。(3)“圖書(shū)銷(xiāo)售表”結(jié)構(gòu)如下:書(shū)號(hào):統(tǒng)一字符編碼定長(zhǎng)類(lèi)型,長(zhǎng)度為6,非空;書(shū)店編號(hào):統(tǒng)一字符編碼定長(zhǎng)類(lèi)型,長(zhǎng)度為6,非空;銷(xiāo)售日期:小日期時(shí)間型,非空;銷(xiāo)售數(shù)量:小整型,大于等于1。主鍵為(書(shū)號(hào),書(shū)店編號(hào),銷(xiāo)售日期);其中“書(shū)號(hào)”為引用“圖書(shū)表”的“書(shū)號(hào)”的外鍵;“書(shū)店編號(hào)”為引用“書(shū)店表”的“書(shū)店編號(hào)”的外鍵。答:CREATETABLE圖書(shū)表(書(shū)號(hào)nchar(6)primarykey,書(shū)名nvarchar(30)notnull,第一作者char(10)notnull,出版日期smalldatetime,價(jià)格num
3、eric(4,1))CREATETABLE書(shū)店表(書(shū)店編號(hào)nchar(6)primarykey,店名nvarchar(30)notnull,電話char(8)check(電話like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),地址varchar(40),郵政編碼char(6))CREATETABLE圖書(shū)銷(xiāo)售表(書(shū)號(hào)nchar(6)notnull,書(shū)店編號(hào)nchar(6)notnull,銷(xiāo)售日期smalldatetimenotnull,銷(xiāo)售數(shù)量smallintcheck(銷(xiāo)售數(shù)量>=1),primary
4、key(書(shū)號(hào),書(shū)店編號(hào),銷(xiāo)售日期),foreignkey(書(shū)號(hào))references圖書(shū)表(書(shū)號(hào)),foreignkey(書(shū)店編號(hào))references書(shū)店表(書(shū)店編號(hào)))1.1為圖書(shū)表添加“印刷數(shù)量”列,類(lèi)型為整數(shù),同時(shí)添加約束,要求此列的取值要大于等于1000。答:ALTERTABLE圖書(shū)表ADD印刷數(shù)量intcheck(印刷數(shù)量>=1000)1.2刪除“書(shū)店表”中的“郵政編碼”列。答:ALTERTABLE書(shū)店表DROPCOLUMN郵政編碼1.3將“圖書(shū)銷(xiāo)售表”中的“銷(xiāo)售數(shù)量”列的數(shù)據(jù)類(lèi)型改為整型。答:ALTERTABLE圖書(shū)銷(xiāo)售表ALTE
5、RCOLUMN銷(xiāo)售數(shù)量int2.設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有三個(gè)實(shí)體集:商店:商店編號(hào)、商店名、地址商品:商品編號(hào)、商品名、規(guī)格、單價(jià)職工:職工編號(hào)、姓名、性別、業(yè)績(jī)每個(gè)商店可銷(xiāo)售多種商品,每種商品也可放在多個(gè)商店銷(xiāo)售,每個(gè)商店銷(xiāo)售一種商品時(shí)有月銷(xiāo)售量;每個(gè)商店有許多職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用職工有聘期和月薪。(1)試畫(huà)出E-R圖,要求在圖上注明屬性及聯(lián)系的類(lèi)型;(2)將E-R圖轉(zhuǎn)換成關(guān)系模型,并注明主碼;(3)根據(jù)實(shí)際情況,使用SQL創(chuàng)建表,包括各種約束;(4)用SQL語(yǔ)句查找大于平均業(yè)績(jī)的職工姓名;(5)用SQL語(yǔ)句創(chuàng)建一個(gè)業(yè)績(jī)大
6、于100的所有男職工信息的視圖。(1)(5分)(2)這個(gè)E-R圖可轉(zhuǎn)換為4個(gè)關(guān)系模式:(8分)商店(商店編號(hào),商店名,地址)(2分)職工(職工編號(hào),姓名,性別,業(yè)績(jī),商店編號(hào),聘期,月薪)(2分)商品(商品編號(hào),商品名,規(guī)格,單價(jià))(2分)銷(xiāo)售(商店編號(hào),商品編號(hào),月銷(xiāo)售量)(2分)(3)createshop(Sidchar(3)primarykey,Snamechar(10),Saddchar(50));(2分)createemployee(Eidchar(3)primarykey,Enamechar(5),Esexchar(1),Eachr
7、eal,Sidchar(3),Eredate,Esaint,foreignkey(Sid)references(shop));(2分)createcommodity(Cidchar(3)primarykey,Cnamechar(10),Cspchar(10),Cprreal);(2分)createvendition(Sidchar(3),Cidchar(3),Vseint,primarykey(Sid,Cid),foreignkey(Sid)references(shop),foreignkey(Cid)references(commodity
8、));(2分)(4)(4)selectEnamefromemployeexwhereEach>=(selectavg(Each)fromemploye