本文是在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;
View Code

相关文章: