数据库原理与应用(庞国莉)题目+答案

更新时间:2023-11-04 09:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、 设有一图书馆数据库,包括三个表:图书表、读者表、借阅表。三个表

的结构如表3-3、表3-4和表3-5所示。完成以下习题。

表3-3 图书表结构

列名 说明 图书图书唯一的图书号 号 数据类型 约束 定长字符串,长度为主键 20 空值 书名 图书的书名 变长字符串,长度为50 作者 图书的编著者名 变长字符串,长度为空值 30 出版社 单价 图书的出版社 变长字符串,长度为空值 30 出版社确定的图书的单浮点型,FLOAT 价 空值 表3- 4 读者表结构

列名 读者号 姓名 性别 说明 数据类型 读者唯一编定长字符串,长度为10 号 读者姓名 定长字符串,长度为8 读者性别 约束说明 主键 非空值 定长字符串,长度为2 非空值 空值 办公电读者办公电定长字符串,长度为8 话 话 部门 读者所在部变长字符串,长度为30 门 空值 表3- 5 借阅表结构

列名 读者号 说明 数据类型 约束说明 读者的唯一编定长字符串,长度为外码,引用读者表的号 10 主键 图书号 图书的唯一编定长字符串,长度为外码,引用图书表的号 20 主键 图书借出的日借出日定长字符串,长度为非空值 期 期 8,为’yymmdd’ 归还日图书归还的日定长字符串,长度为空值 期 期 8,为’yymmdd’ 主键为:(读者号, 图书号) (1)用SQL语句创建图书馆数据库。 Create database 图书馆数据库; (2)用SQL语句创建上述三个表。 use 图书馆数据库 Go

create table book

( bnum char (20) primary key, bname varchar (50), bwri varchar (30), bpub varchar (30),

bpri float );

use 图书馆数据库 go

create table rea

use 图书馆数据库 go

create table br

( rnum char (10) not null, bnum char (20) not null, brdate char (8) not null, brback char (8),

foreign key (rnum) references rea(rnum), foreign key (bnum) references book(bnum) ( rnum char (10) primary key, rname char (8) not null, rsex char (2) not null, rphone char (8), rpar char(30) );

);

(3)基于图书馆数据库的三个表,用SQL语言完成以下各项操作: 1)给图书表增加一列“ISBN”,数据类型为CHAR(10)

alter table book add ISBN CHAR(10);

2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为’7111085949’;

ALTER TABLE BOOK

ADD CONSTRAINT ISBNDEF DEFAULT '7111085949' FOR ISBN;

3)为读者表的’办公电话’列,添加一个CHECK约束,要求前五位’88320’,约束名为CHECKDEF。

ALTER TABLE REA

ADD CONSTRAINT CHECKDEF CHECK (RPHONE >='88320000' AND RPHONE <='88320999');

4)删除图书表中ISBN列增加缺省值约束; ALTER TABLE BOOK DROP ISBNDEF;

5)删除读者表中“办公电话”列的CHECK约束;

ALTER TABLE REA DROP CHECKDEF;

6)删除图书表中新增的列ISBN;

ALTER TABLE BOOK DROP COLUMN ISBN;

(4)基于图书馆数据库的三个表,用SQL语言完成以下数据更新操作: 1)向读者表加入一个新读者,该读者的信息为:

(‘200197’, ‘王小平’, ‘男’ , ‘88320732’,’存中楼’)

INSERT INTO REA

VALUES ('200197','王小平','男','88320732','信息系');

2)向借阅表插入一个借阅记录,表示读者’王小平’借阅了一本书,图书号为’TP316/ZW6’,借出日期为当天的日期,归还日期为空值。

INSERT

INTO BOOK(BNUM) VALUES ('TP316/ZW6'); INSERT INTO BR VALUES

('200197','TP316/ZW6',convert( CHAR(8) ,GETDATE(),112),NULL);

3)读者’王小平’在借出上述图书后10 归还该书;

UPDATE BR

SET BRBACK= BRDATE+10 (10什么时候开应该加引号,什么是不加)

WHERE BNUM = 'TP316/ZW6';

本文来源:https://www.bwwdw.com/article/x6w2.html

Top