首页 > 代码库 > 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开发环境。

技术分享

 

MySQL外键约束的使用