MySQL图书管理数据库:管理数据库和用户
设计数据库结构
1、图书信息表(books):存储图书的基本信息,如书名、ISBN、出版日期等。
2、作者信息表(authors):存储作者的基本信息,如姓名、出生日期等。
3、读者信息表(readers):存储读者的基本信息,如姓名、联系方式等。
4、借阅记录表(borrow_records):存储图书的借阅记录,如借阅日期、归还日期等。
5、图书信息表:
CREATE TABLE books ( book_id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, isbn VARCHAR(13) UNIQUE NOT NULL, publish_date DATE, author_id INT, FOREIGN KEY (author_id) REFERENCES authors(author_id) );
6、作者信息表:
CREATE TABLE authors ( author_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, birth_date DATE );
7、读者信息表:
CREATE TABLE readers ( reader_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, contact_info VARCHAR(255) );
8、借阅记录表:
CREATE TABLE borrow_records ( record_id INT AUTO_INCREMENT PRIMARY KEY, book_id INT, reader_id INT, borrow_date DATE, return_date DATE, FOREIGN KEY (book_id) REFERENCES books(book_id), FOREIGN KEY (reader_id) REFERENCES readers(reader_id) );
创建数据库和表
1、创建数据库:
CREATE DATABASE library_management; USE library_management;
2、创建图书信息表:
CREATE TABLE books ( book_id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, isbn VARCHAR(13) UNIQUE NOT NULL, publish_date DATE, author_id INT, FOREIGN KEY (author_id) REFERENCES authors(author_id) );
3、创建作者信息表:
CREATE TABLE authors ( author_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, birth_date DATE );
4、创建读者信息表:
CREATE TABLE readers ( reader_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, contact_info VARCHAR(255) );
5、创建借阅记录表:
CREATE TABLE borrow_records ( record_id INT AUTO_INCREMENT PRIMARY KEY, book_id INT, reader_id INT, borrow_date DATE, return_date DATE, FOREIGN KEY (book_id) REFERENCES books(book_id), FOREIGN KEY (reader_id) REFERENCES readers(reader_id) );
定义数据类型
在定义表结构时,选择合适的数据类型非常重要,以下是一些常见的数据类型和它们的使用场景:
1、INT:用于存储整数值,如图书ID、作者ID等。
2、VARCHAR:用于存储变长的字符串,如书名、作者姓名等。
3、DATE:用于存储日期,如出版日期、借阅日期等。
4、UNIQUE:用于确保某个字段的值在表中唯一,如ISBN。
设置主键和外键
主键(PRIMARY KEY)用于唯一标识表中的每一行数据,外键(FOREIGN KEY)用于建立表之间的关系,上述表结构设计中,已经为每个表设置了主键和外键。
FOREIGN KEY (author_id) REFERENCES authors(author_id)
这条语句表示图书信息表中的author_id字段是一个外键,它引用了作者信息表中的author_id字段。
插入样本数据
为了测试数据库结构,可以插入一些样本数据。
1、插入作者信息:
INSERT INTO authors (name, birth_date) VALUES ('J.K. Rowling', '19650731'), ('George R.R. Martin', '19480920');
2、插入图书信息:
INSERT INTO books (title, isbn, publish_date, author_id) VALUES ('Harry Potter and the Philosopher''s Stone', '9780747532699', '19970626', 1), ('A Game of Thrones', '9780553103540', '19960806', 2);
3、插入读者信息:
INSERT INTO readers (name, contact_info) VALUES ('John Doe', 'john.doe@example.com'), ('Jane Smith', 'jane.smith@example.com');
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1225521.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复