资源描述:
《数据库系统原理与设计(第2版)万常选版第3章sql课后答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一个图书管理数据库BookDB的模式如图3-31—图3-34所示。请基于该数据库模式用SQL语句完成如下操作。属性含义属性名类型宽度小数位分类号classNo字符型3分类名称className字符型20图3-31图书分类表BookClass的模式属性含义属性名类型宽度小数位图书编号bookNo字符型10分类号classNo字符型3图书名称BookName字符型40作者姓名authorName字符型8出版社名称publishingName字符型20出版号publishingNo字符型17单价price数值型72出版时间publishingDa
2、te日期型8入库时间shopDate日期型8入库数量shopNum数值型3图3-32图书表Book的模式属性含义属性名类型宽度小数位读者编号readerNo字符型8姓名readerName字符型8性别sex字符型2身份证号identitycard字符型18工作单位workUnit字符型50图3-33读者表Reader的模式属性含义属性名类型宽度小数位读者编号readerNo字符型8图书编号bookNo字符型10借阅日期borrowDate日期型8应归还日期shouldDate日期型8归还日期returnDate日期型8图3-34借阅表Bor
3、row的模式答案:SETNOCOUNTONSETDATEFORMATYMDUSEmasterGO创建数据库BookDBIFEXISTS(SELECT*FROMsysdatabasesWHEREname='BookDB')DROPDATABASEBookDBGOCREATEDATABASEBookDBGOUSEBookDBGO创建图书分类表BookClassCREATETABLEBookClass(classNochar(3)PRIMARYKEY,/*分类号*/classNamechar(20)NOTNULL/*分类名称*/)GO创建图书表B
4、ookCREATETABLEBook(bookNochar(10)PRIMARYKEY,/*图书编号*/classNochar(3)NOTNULL/*分类号*/FOREIGNKEYREFERENCESBookClass,bookNamevarchar(40)NOTNULL,/*图书名称*/authorNamechar(8)NOTNULL,/*作者姓名*/publishingNamevarchar(20)NOTNULL,/*出版社名称*/publishingNochar(17)NOTNULL,/*出版号*/pricenumeric(7,2)N
5、OTNULL,/*单价*/publishingDatedatetimeNOTNULL,/*出版时间*/shopDatedatetimeNOTNULL,/*入库时间*/shopNumintNOTNULL/*入库数量*/)GO创建读者表ReaderCREATETABLEReader(readerNochar(8)PRIMARYKEY,/*读者编号*/readerNamechar(8)NOTNULL,/*读者姓名*/sexchar(2)NOTNULL,/*性别*/identitycardchar(18)NOTNULL,/*身份证号*/workUn
6、itvarchar(50)NULL/*工作单位*/)GO创建借阅表BorrowCREATETABLEBorrow(readerNochar(8)NOTNULL,/*读者编号*/bookNochar(10)NOTNULL,/*图书编号*/borrowDatedatetimeNOTNULL,/*借阅日期*/shouldDatedatetimeNOTNULL,/*应归还日期*/returnDatedatetimeNULL,/*归还日期*/FOREIGNKEY(readerNo)REFERENCESReader,FOREIGNKEY(bookNo)
7、REFERENCESBook,PRIMARYKEY(readerNo,bookNo,borrowDate))GO3.1查询1991年出生的读者姓名、工作单位和身份证号。SELECTreaderName,workUnit,identitycardFROMReaderWHERECONVERT(int,SUBSTRING(identitycard,7,4))=19913.2查询在信息管理学院工作的读者编号、姓名和性别。SELECTreaderNo,readerName,sex=CASEsexWHEN'M'THEN'男'WHEN'F'THEN'女'
8、ENDFROMReaderWHEREworkUnit='信息管理学院'3.3查询图书名中含有“数据库”的图书的详细信息。SELECT*FROMBookWHEREbookNameL