mysql外键约束使用场景_MySQL外键约束的使用

软件工程试验二中要求建立如下数据库:

使用MySQL建立一个“图书数据库“ BookDB,包含两张表:

– Book {ISBN (PK), Title, AuthorID (FK), Publisher, PublishDate, Price}

– Author {AuthorID (PK), Name, Age, Country}

其中FK是 foreign key的意思,即给Book数据表加上一个外键约束,下面先解释下外键约束的作用。

定义外键主要是为了维护关系数据库的完整性,使相关数据表之间的数据同步,可以很好的处理一对多关系,例如一篇博文(一)与该博文下的评论(多),这个例子中有很明显的 一对多关系,假如一片博文不存在的话,与其对应的评论也不应该存在。

这里的parent应该是博文,有一个主键为id,children是评论,有一个外键id与博文的主键相对应,这是合理的,对博文记录的更删查改都起到了很大的规范作用,并且可以设置MySQL自动删除被删除的博文下的评论。

但是,本次试验中,Book与Author的关系虽也是一对多,但是应该是Author为一,Book为多,并且数据展示与操作都是以Book为主的,所以将AuthorID设为Book的外键约束并不是很合理,如将题目改一下,主要操作对象集合改为作者,点开作者后为其添加一本书或新增一个作者,代码写起来就会很自然。

下面贴一下题目要求,题目目的主要是熟悉javaweb开发环境。

fceb541ac3b5c1ccd5092253f4d88230.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值