用命令建表时如何使两个表中的数据相互制约?check约束可以吗?

水上冰石 2011-03-26 10:09:05
图书表中有个库存量,图书借阅表中有图书借阅与归还功能,问如何能够实现每次借阅图书是库存量减一,还书使库存加一?



如题:

CARD (CNO, NAME, CLASS)

借书卡关系。 CNO 卡号,NAME 姓名,CLASS 班级



BOOKS (BNO, BNAME, AUTHOR, PRICE, QUANTITY)

图书关系。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数



BORROW (CNO, BNO, RDATE)

借书记录关系。 CNO 借书卡号,BNO 书号,RDATE 还书日期



说明:限定每人每种书只能借一本;库存册数随借书、还书而改变。
...全文
136 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
水上冰石 2011-03-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 herowang 的回复:]
触发器
[/Quote]

我刚学sql不久,能详细一些吗,
我是这么建的表,
use cbb
go

create table CARD
(
cno char(15) not null primary key,
name char(50) not null,
class char(4)
)
go
create table BOOKS
(
bno char(20) not null primary key,
bname char(50) not null ,
author char(50),
price money,
quantity int
)

go
create table BORROW
(
cno char(15) not null,
bno char(20),
rdate datetime,
primary key (bno,cno,rdate),
foreign key(cno) references card(cno),
foreign key(bno) references books(bno),
unique(cno,bno)
)
go

谢谢啦
  • 打赏
  • 举报
回复
触发器

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧