本文是在Cat Qi的原贴的基础之上,经本人逐题分别在MySql数据库中实现的笔记.
参考原贴:http://www.cnblogs.com/qixuejia/p/3637735.html
01 问题描述
本题用到下面三个关系表:
借书卡:card
| cno | name | class |
| 卡号 | 姓名 | 班级 |
图书:books
| bno | bname | author | price | quantity |
| 书号 | 书名 | 作者 | 单价 | 库存册数 |
借书记录:borrow
| cno | bno | rdate |
| 借书卡号 | 书号 | 还书日期 |
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
02 问题及SQL实现
1、写出建立card,books,borrow表的SQL语句,要求定义表borrow的主码完整性约束和引用完整性约束
1 drop table if exists books; 2 create table books ( 3 bno int(11) auto_increment , 4 bname varchar(30) default null, 5 author varchar(30) default null, 6 price float(6,2) default null, 7 quantity int(11) default null, 8 primary key (bno) 9 ) engine=innodb default charset=utf8; 10 11 drop table if exists card; 12 create table card ( 13 cno int(11) auto_increment, 14 name varchar(30) default null, 15 class varchar(30) default null, 16 primary key (cno) 17 ) engine=innodb default charset=utf8; 18 19 drop table if exists borrow; 20 create table borrow ( 21 cno int(11) not null, 22 bno int(11) not null, 23 rdate datetime null default current_timestamp, 24 primary key (cno,bno), 25 key bno (bno), 26 constraint bno foreign key (bno) references books (bno), 27 constraint cno foreign key (cno) references card (cno) 28 ) engine=innodb default charset=utf8;