图书管理系统数据库设计:创建表结构及外键约束
图书管理系统数据库设计:创建表结构及外键约束
本文将详细介绍图书管理系统数据库的设计过程,包括创建各个表以及添加外键约束。
1. 创建表结构
1.1 图书类别表 (Book_Type)
CREATE TABLE Book_Type (
btype_ID CHAR(2) NOT NULL PRIMARY KEY COMMENT '图书类别编号',
btype_Name VARCHAR(20) NOT NULL COMMENT '图书类别名称'
);
1.2 出版社表 (Publisher)
CREATE TABLE Publisher (
Pub_ID CHAR(2) NOT NULL COMMENT '出版社编号',
Pub_Name VARCHAR(30) NOT NULL COMMENT '出版社名称',
Pub_Address VARCHAR(60) NOT NULL COMMENT '出版社地址',
Pub_PostCode CHAR(6) NOT NULL COMMENT '邮政编码',
Pub_Person CHAR(8) NOT NULL COMMENT '联系人',
Pub_Tel CHAR(13) NOT NULL COMMENT '联系电话',
PRIMARY KEY (Pub_ID)
);
1.3 图书表 (Books)
CREATE TABLE Books (
b_ID CHAR(8) NOT NULL COMMENT '图书编号',
b_Name VARCHAR(60) NOT NULL COMMENT '图书名称',
Btype_ID CHAR(2) NOT NULL COMMENT '图书类别编号',
b_Author VARCHAR(16) NOT NULL COMMENT '作者',
b_ISBN CHAR(17) NOT NULL COMMENT 'ISBN',
Pub_ID CHAR(2) NOT NULL COMMENT '出版社编号',
b_Quantity SMALLINT NOT NULL COMMENT '图书数量',
b_PubTime DATE NOT NULL COMMENT '出版时间',
b_Detail VARCHAR(100) NULL COMMENT '图书简介',
b_Picture BLOB NULL COMMENT '封面图片',
PRIMARY KEY (b_ID),
KEY Btype_ID (Btype_ID),
KEY Pub_ID (Pub_ID),
CONSTRAINT books_ibfk_1 FOREIGN KEY (Btype_ID) REFERENCES book_type (Btype_ID),
CONSTRAINT books_ibfk_2 FOREIGN KEY (Pub_ID) REFERENCES publisher (Pub_ID),
CONSTRAINT books_chk_1 CHECK ((b_Quantity >= 0))
);
1.4 读者类别表 (ReaderType)
CREATE TABLE ReaderType (
Rt_ID CHAR(2) NOT NULL COMMENT '读者类别编号',
Rt_Name VARCHAR(8) NOT NULL UNIQUE COMMENT '读者类别名称',
Rt_Num SMALLINT NOT NULL DEFAULT 3 COMMENT '限借数量',
Rt_time SMALLINT NOT NULL COMMENT '限借天数',
Rt_Fine DECIMAL(3,1) NOT NULL COMMENT '超期日罚金',
PRIMARY KEY (Rt_ID)
);
1.5 读者表 (Reader)
CREATE TABLE Reader (
R_ID CHAR(10) NOT NULL COMMENT '读者编号',
R_Name CHAR(8) NOT NULL COMMENT '读者姓名',
Rt_ID CHAR(2) NOT NULL COMMENT '读者类别编号',
PRIMARY KEY (R_ID)
);
1.6 借阅信息表 (BorrowReturn)
CREATE TABLE BorrowReturn (
Br_ID CHAR(6) NOT NULL COMMENT '借阅编号',
R_ID CHAR(10) NOT NULL COMMENT '读者编号',
Bor_Date DATETIME COMMENT '借书日期',
Ret_Date DATETIME COMMENT '还书日期',
CONSTRAINT Dateeime1 CHECK (Bor_Date < Ret_date),
PRIMARY KEY (Br_ID)
);
2. 添加外键约束
2.1 删除已有外键约束
首先,我们需要删除读者信息表(Reader)和读者类别表(ReaderType)之间已有的外键约束。
ALTER TABLE Reader DROP CONSTRAINT R_ID1;
ALTER TABLE ReaderType DROP PRIMARY KEY;
2.2 添加新的外键约束
现在,我们可以为读者信息表(Reader)添加新的外键约束,引用读者类别表(ReaderType)的 Rt_ID 列作为外键。
ALTER TABLE Reader ADD CONSTRAINT R_ID1 FOREIGN KEY (Rt_ID) REFERENCES ReaderType (Rt_ID);
执行以上 SQL 语句后,即可为读者信息表(Reader)添加外键约束。
3. 注意事项
- 在执行添加外键约束操作之前,请确保数据库中的数据满足外键约束的要求,即读者信息表(Reader)的 Rt_ID 列中的值都存在于读者类别表(ReaderType)的 Rt_ID 列中。
- 在执行任何操作之前,请务必备份数据库,以免意外操作导致数据丢失。
通过以上步骤,我们完成了图书管理系统数据库的设计,并成功添加了外键约束,保证了数据完整性和一致性。
原文地址: https://www.cveoy.top/t/topic/S1c 著作权归作者所有。请勿转载和采集!