本文目录导读:
随着信息技术的飞速发展,数据库技术在各行各业中的应用越来越广泛,关系数据库作为一种成熟的数据管理技术,在数据存储、查询和管理方面具有明显的优势,为了更好地理解和掌握关系数据库技术,本实验报告将对关系数据库标准语言SQL进行深入学习和实践,通过实际操作,对关系数据库的设计与实现进行详细阐述。
图片来源于网络,如有侵权联系删除
实验环境及工具
1、实验环境:Windows 10操作系统,MySQL 5.7数据库。
2、实验工具:MySQL Workbench。
1、数据库设计
本实验以一个简单的图书管理系统为例,设计关系数据库,分析图书管理系统的需求,确定数据表结构。
(1)图书表(Books)
图片来源于网络,如有侵权联系删除
字段名 | 数据类型 | 说明 |
BookID | INT | 图书编号(主键) |
BookName | VARCHAR(100) | 图书名称 |
Author | VARCHAR(100) | 作者 |
Publisher | VARCHAR(100) | 出版社 |
PublishDate | DATE | 出版日期 |
Price | DECIMAL(10,2) | 价格 |
(2)读者表(Readers)
字段名 | 数据类型 | 说明 |
ReaderID | INT | 读者编号(主键) |
Name | VARCHAR(100) | 读者姓名 |
Gender | CHAR(1) | 性别(1为男,2为女) |
Phone | VARCHAR(20) | 联系电话 |
(3)借阅记录表(BorrowRecords)
字段名 | 数据类型 | 说明 |
RecordID | INT | 借阅记录编号(主键) |
BookID | INT | 图书编号(外键) |
ReaderID | INT | 读者编号(外键) |
BorrowDate | DATE | 借阅日期 |
ReturnDate | DATE | 归还日期 |
2、SQL语句实现
(1)创建数据库和表
CREATE DATABASE LibraryManagementSystem; USE LibraryManagementSystem; CREATE TABLE Books ( BookID INT PRIMARY KEY, BookName VARCHAR(100), Author VARCHAR(100), Publisher VARCHAR(100), PublishDate DATE, Price DECIMAL(10,2) ); CREATE TABLE Readers ( ReaderID INT PRIMARY KEY, Name VARCHAR(100), Gender CHAR(1), Phone VARCHAR(20) ); CREATE TABLE BorrowRecords ( RecordID INT PRIMARY KEY, BookID INT, ReaderID INT, BorrowDate DATE, ReturnDate DATE, FOREIGN KEY (BookID) REFERENCES Books(BookID), FOREIGN KEY (ReaderID) REFERENCES Readers(ReaderID) );
(2)插入数据
图片来源于网络,如有侵权联系删除
INSERT INTO Books (BookID, BookName, Author, Publisher, PublishDate, Price) VALUES (1, '数据库原理与应用', '王某某', '清华大学出版社', '2020-01-01', 68.00), (2, 'Java编程思想', '埃克尔', '电子工业出版社', '2019-05-01', 99.00), (3, 'Python编程:从入门到实践', '埃里克', '人民邮电出版社', '2018-08-01', 69.00); INSERT INTO Readers (ReaderID, Name, Gender, Phone) VALUES (1, '张三', '1', '13800138000'), (2, '李四', '2', '13900139000'), (3, '王五', '1', '13700137000'); INSERT INTO BorrowRecords (RecordID, BookID, ReaderID, BorrowDate, ReturnDate) VALUES (1, 1, 1, '2020-02-01', '2020-02-15'), (2, 2, 2, '2020-03-01', '2020-03-15'), (3, 3, 3, '2020-04-01', '2020-04-15');
(3)查询数据
-- 查询所有图书信息 SELECT * FROM Books; -- 查询张三借阅的图书信息 SELECT Books.BookName, Books.Author, Books.Price FROM Books JOIN BorrowRecords ON Books.BookID = BorrowRecords.BookID JOIN Readers ON BorrowRecords.ReaderID = Readers.ReaderID WHERE Readers.Name = '张三'; -- 查询尚未归还的图书信息 SELECT Books.BookName, BorrowRecords.BorrowDate, BorrowRecords.ReturnDate FROM Books JOIN BorrowRecords ON Books.BookID = BorrowRecords.BookID WHERE BorrowRecords.ReturnDate IS NULL;
通过本次实验,我们对关系数据库标准语言SQL进行了深入学习,掌握了数据库设计、表创建、数据插入和查询等基本操作,在实际操作过程中,我们遇到了一些问题,如外键约束、数据类型选择等,通过查阅资料和请教老师,我们逐一解决了这些问题,本次实验不仅加深了我们对关系数据库的理解,也提高了我们的实际操作能力,在今后的学习和工作中,我们将继续努力,不断提高自己的数据库技术水平。
标签: #关系数据库标准语言sql实验
评论列表