赞
踩
目录
图书(Book)信息包括图书编号(BookID)、图书名称(BookName)、图书类别(BookType)、作者姓名(Author)、出版社编号(PublishID)、单价(Price)、图书总量(BookSum)、在馆数量(Stock);读者(Reader)信息有:读者编号(ReaderID)、读者姓名(ReaderName)、性别(Sex)、专业(Subject)、在借书数(BorrowNum);出版社(Publisher)信息有:出版社编号(PublisherID)、出版社姓名(PublisherName)、电话(Phone)、地址(Address)。
任何读者可以借阅(Borrow)多本书,任何一种书可为多人借阅;借阅每本图书时,需要登记借书时间(BorrowTime),且该书的在馆数量减一;归还图书时,需要登记还书时间(ReturnTime),且该书的在馆数量加一;
一个出版社可以出版(Publish)多种图书,一种图书可由多个出版社出版,出版时登记每本书的出版数量(PublishNum)和出版时间(PublishTime)。
Book(BookID,BookName,BookType,Author,PublishID,Price,BookSum,Stock)。
Reader(ReaderID,ReaderName,Sex,Subject,BorrowNum)。
Publisher(PublisherID,PublisherName,Phone,Address)。
Borrow(ReaderID ,BookID,BorrowTime,ReturnTime)。
Publish(PublisherID,BookIDPublishNum,PublishTime)。
表1:图书信息表结构
字段名 | 数据类型 | 长度 | 是否允许为空 | 备注 |
BookID | VARCHAR | 20 | 否 | 主键 |
BookName | VARCHAR | 100 | 否 | 非空 |
BookType | VARCHAR | 100 | 否 | 非空 |
Author | VARCHAR | 100 | 否 | 非空 |
PublishID | VARCHAR | 20 | 否 | 非空 |
Price | DECIMAL | (7,2) | 否 | 非空 |
BookSum | INT | 是 | ||
Stock | INT | 是 |
表2:读者信息表结构
字段名 | 数据类型 | 长度 | 是否允许为空 | 备注 |
ReaderID | VARCHAR | 20 | 否 | 主键 |
ReaderName | VARCHAR | 100 | 否 | 非空 |
Sex | VARCHAR | 20 | 否 | 检查 |
Subject | VARCHAR | 100 | 否 | 非空 |
BorrowNum | INT | 是 |
表3:出版社信息表结构
字段名 | 数据类型 | 长度 | 是否允许为空 | 备注 |
PublisherID | VARCHAR | 20 | 否 | 主键 |
PublisherName | VARCHAR | 200 | 否 | 非空 |
Phone | VARCHAR | 20 | 否 | 非空 |
Address | VARCHAR | 200 | 否 | 非空 |
表4:借阅信息表结构
字段名 | 数据类型 | 长度 | 是否允许为空 | 备注 |
ReaderID | VARCHAR | 20 | 否 | 主键 外键 |
BookID | VARCHAR | 20 | 否 | 主键 外键 |
BorrowTime | DATE | 是 | ||
ReturnTime | DATE | 是 |
表4中ReaderID与bookID作为联合主键
表5:出版信息表结构
字段名 | 数据类型 | 长度 | 是否允许为空 | 备注 |
PublisherID | VARCHAR | 20 | 否 | 主键 |
BookID | VARCHAR | 20 | 否 | 主键 |
PublishNum | INT | 否 | 非空 | |
PublishTime | DATE | 否 | 非空 |
3、创建数据库与数据表
(1)创建名为“Library”的数据库;
(2)根据逻辑设计中的表结构,创建该数据库的所有数据表;
- CREATE DATABASE Library;
-
- USE Library;
-
- -- 创建该数据库的所有数据表;
-
- #图书信息表
- CREATE TABLE Book
- (
- BookID VARCHAR(20) PRIMARY KEY,-- 书编号
- BookName VARCHAR(100) NOT NULL,-- 图书名称
- BookType VARCHAR(100) NOT NULL,-- 图书类别
- Author VARCHAR(100) NOT NULL,
- PublishID VARCHAR(20) NOT NULL,
- Price DECIMAL(7,2) NOT NULL,
- BookSum INT,
- Stock INT-- 在馆数量
- );
-
- #读者信息表
- CREATE TABLE Reader
- (
- ReaderID VARCHAR(20) PRIMARY KEY,
- ReaderName VARCHAR(100) NOT NULL,
- Sex VARCHAR(20)NOT NULL,
- `Subject` VARCHAR(100) NOT NULL,-- 专业
- BorrowNum VARCHAR(20),-- 在借书数
- CHECK(Sex IN('男','女'))
- );
-
- #出版社(Publisher)信息表
- CREATE TABLE Publisher
- (
- PublisherID VARCHAR(20) PRIMARY KEY,
- PublisherName VARCHAR(200) NOT NULL,
- Phone VARCHAR(20) NOT NULL,
- Address VARCHAR(200) NOT NULL
- );
-
- #借阅信息表Borrow
- CREATE TABLE Borrow
- (
- ReaderID VARCHAR(20),
- BookID VARCHAR(20),
- BorrowTime DATE,
- ReturnTime DATE,
- PRIMARY KEY(ReaderID,BookID),
- FOREIGN KEY(ReaderID)
- REFERENCES Reader(ReaderID),
- FOREIGN KEY(BookID)
- REFERENCES Book(BookID)
- );
-
- #出版信息表
- CREATE TABLE Publish
- (
- PublisherID VARCHAR(20),
- BookID VARCHAR(20),
- PublishNum INT NOT NULL,
- PublishTime DATE NOT NULL,
- PRIMARY KEY(PublisherID,BookID),
- FOREIGN KEY(PublisherID)
- REFERENCES Publisher(PublisherID),
- FOREIGN KEY(BookID)
- REFERENCES Book(BookID)
- );
-
- SHOW TABLES;
实施结果:
4、表数据添加与处理
- INSERT INTO Book VALUES
- ('b001', '《MySQL数据库技术及应用》', '计算机类', '苗雪兰', 'p003', 29.50, 10, 4),
- ('b002', '《软件工程》', '计算机类', '李建中', 'p003', 48.00, 8, 2),
- ('b003', '《MySQL数据库技术与应用》', '计算机类', '张素青,翟慧,黄静 ', 'p002', 42.00, 15, 8),
- ('b004', '《WEB技术》', '计算机类', '汤惟', 'p004', 32.00, 12, 4),
- ('b005', '《自动控制原理》', '自动化类', '胡寿松', 'p005', 52.00, 15, 8),
- ('b006', '《线性控制理论》', '自动化类', '郑大钟', 'p005', 32.50, 10, 2),
- ('b007', '《计算机导论》', '计算机类', '袁方', 'p003', 49.8, 15, 5),
- ('b008', '《计算机导论》', '计算机类', '王玉龙', 'p004', 46.00, 10, 3),
- ('b009', '《算法导论》', '计算机类', '科曼', 'p005', 128, 10, 2),
- ('b010', '《数学之美》', '基础类', '吴军', 'p002', 35.00, 10, 0),
- ('b011', '《计算机网络技术》', '网络技术类', '施晓秋', 'p001', 23.70, 10, 4);
-
-
- SELECT * FROM Book;
-
- INSERT INTO Reader VALUES
- ('r001','李芳芳','女','软件工程', 3),
- ('r002','刘钦','男','自动化', 2),
- ('r003','王琳','女','自动化', 3),
- ('r004','张芬芳','女','网络工程', 4),
- ('r005','陈丽丽','女','软件工程', 5);
-
- SELECT * FROM Reader;
-
- INSERT INTO Publisher VALUES
- ('p001', '高等教育出版社', '028-83203676', '四川省成都市成华区建设北路'),
- ('p002', '人民邮电出版社', '13504411556', '北京市大兴区育祥街2号'),
- ('p003', '清华出版社', '13219096229', '北京市海淀区清华科技园学研大厦a'),
- ('p004', '电子工业出版社', '010-88254338', '北京丰台区金家村288号'),
- ('p005', '机械工业出版社', '010-88379033', '北京西城区百万庄大街22号院3');
-
- SELECT * FROM Publisher;
-
- INSERT INTO Borrow VALUES
- ('r001','b001',"2022-04-19 09:58:03","2022-05-19 08:38:23"),
- ('r001','b002',"2022-07-01 15:28:12","2022-07-18 09:14:02"),
- ('r001','b007',"2022-07-01 15:28:12","2022-07-18 09:14:02"),
- ('r001','b010',"2022-10-01 16:06:02",NULL),
- ('r002','b005',"2022-07-03 15:28:30","2022-07-17 19:10:32"),
- ('r002','b006',"2022-07-03 15:28:30",NULL),
- ('r002','b010',"2022-09-09 16:06:02",NULL),
- ('r003','b001',"2022-05-01 11:28:24",NULL),
- ('r003','b005',"2022-11-01 10:43:12","2022-12-01 14:09:56"),
- ('r003','b006',"2022-05-01 11:28:24",NULL),
- ('r004','b003',"2022-11-11 16:06:02",NULL),
- ('r004','b010',"2022-11-11 10:43:12","2022-12-01 14:09:56"),
- ('r004','b011',"2022-11-01 16:06:02",NULL),
- ('r005','b003',"2022-10-15 16:06:02","2022-12-01 14:09:56"),
- ('r005','b004',"2022-10-15 10:43:12","2022-12-01 14:09:56"),
- ('r005','b010',"2022-11-01 16:06:02",NULL);
-
- SELECT * FROM Borrow;
-
- INSERT INTO Publish VALUES
- ('p001','b011',50,'2021-09-02'),
- ('p002','b003',40,'2020-07-06'),
- ('p002','b010',100,'2021-09-25'),
- ('p003','b001',120,'2020-11-02'),
- ('p003','b002',50,'2021-07-03'),
- ('p003','b007',120,'2020-03-02'),
- ('p004','b004',100,'2022-01-12'),
- ('p004','b008',120,'2022-05-19'),
- ('p005','b005',120,'2020-03-02'),
- ('p005','b006',100,'2021-11-12'),
- ('p005','b009',120,'2022-07-16'),
- ('p005','b004',120,'2022-07-16');
-
- SELECT * FROM Publish;
实施结果:
2. 编写SQL语句实现以下操作要求:
5、数据查询
6、数据库对象的创建
7、数据库安全管理与维护
(1)用户管理
(2)权限管理
(3)数据备份与恢复
本次实训就到这里结束啦!
有什么疑问可以在评论区提,文章中若有不当之处,也恳请各位帮忙指正
如果本文对铁子们有所帮助的话,可以一键三连哦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。