华为SQL笔试题

这是一组关于图书系统的SQL问答,涉及创建表、完整性约束、数据插入、查询操作等。题目涵盖建立借书记录表T_BORROW,插入数据,查询借书超过3本的读者,查找特定书籍的借阅者,过期未还图书,高价位图书,特定条件的读者,延长还书期限,删除无人借阅的图书记录,创建索引,触发器应用,视图创建,同时借阅两本书的读者,以及对已有表的结构调整。
摘要由CSDN通过智能技术生成

/下面是一个基于图书系统的15道SQL问答,供大家参考
问题描述:
本题用到下面三个关系表:
T_CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级
T_BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数
T_BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
要求实现如下15个处理:
/
–1. 写出建立T_BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。
/

create table T_CARD
(
cno number(10) primary key,
name varchar2(100),
class varchar2(100)
);
create table T_BOOKS
(
bno number(10) primary key,
name varchar2(100),
author varchar2(100),
price number(10,2),
quantity number(10)
);
create table T_BORROW
(
cno number(10),
bno number(10),
rdate date
);
alter table T_BORROW
add constraint borrow_pk primary key (cno, bno);
alter table T_BORROW
add constraint boorow_fk_cno foreign key (cno) references T_CARD(cno);
alter table T_BORROW
add constraint boorow_fk_bno foreign key (bno) references T_BOOKS(bno);
insert into T_CARD VALUES(1, ‘bryant’, ‘class_1’);
insert into T_CARD VALUES(2, ‘foxus’, ‘class_1’);
insert into T_CARD VALUES(3, ‘ennel’, ‘class_2’);
insert into T_CARD VALUES(4, ‘keliy’, ‘class_3’);
insert into T_CARD VALUES(5, ‘cinal’, ‘class_2’);
insert into T_CARD VALUES(6, ‘oopp’, ‘class_3’);
INSERT INTO T_BOOKS VALUES(1, ‘Chinese Book’, ‘Mr.mao’, 35.8, 20);
INSERT INTO T_BOOKS VALUES(2, ‘Math Book’, ‘Mr.xiao’, 55.4, 20);
INSERT INTO T_BOOKS VALUES(3, ‘English Book’, ‘Mr.li’, 22.6, 20);
INSERT INTO T_BOOKS VALUES(4, ‘Computer Book’, ‘Mr.yang’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值