相关文章

【数据库系统原理】药店管理系统的数据库设计

原理:

1.1表的概念

表是数据的集合,是用来存储数据和操作数据的逻辑结构。和电子表格类似,数据在表中是按照行和列的格式来组织排列的,每一行代表一条唯一的记录,每一列代表一个属性。

1.2数据类型

常用的数据类型:整型、浮点型、货币类、日期和时间、字符类型(含Unicode字符串)、二进制类型等

1.3数据的完整性

数据完整性是指数据的正确性、一致性和安全性,它是衡量数据库中数据质量好坏的重要标准。当用户使用INSERT、DELETE或UPDATE语句修改数据库内容时,数据的完整性就可能会遭到破环。为此,SQL Sever提供了实施数据完整性的方法包括约束、规则等。数据的完整性大致分为四种类型:实体完整性:表中的每一行都能由主键的属性列来唯一标识,且不存在重复的数据行;域完整性:限制向表中输入值的范围,保证给定的列的输入的有效性。可以通过限制数据类型,值域或数据格式实现;参照完整性:当一个表引用了另一个表中的某些数据时,要防止非法的数据更新,以保持表间数据的一致性;用户自定义完整性:体现实际运用的业务规则。

1.4 各种查询语句其执行原理及查询效率

1.5 视图作为一种数据库对象,可以让用户对数据源进行查询和修改。视图是SQL Sever中重要的数据库对象。视图常用于集中、简化和定制数据库中的数据信息,为用户从多角度观察数据库中的数据提供方便。

内容:

数据查询

请针对以下业务的具体需求,对上述参考表及其数据做对应查询。

.1 单表查询

查询所有图书的基本信息查询所有图书的编号、名称和价格查询计算机系学生读者的借书证号、姓名和联系电话查询学生借书证号为L0001且所借图书编号为B0003的借阅记录信息查询t_borro表未还书的记录(假设当前的日期是2022-10-20号)。查询借阅日期“1998-02-06”至“2021-12-06”的借书记录信息查询姓徐的学生读者的基本信息

.2对查询结果进行编辑

查询所有曾经借书学生的姓名和所在院系,输出结果的字段名是:姓名和所在院系。查询借书证号为L0002的读者所借图书至今的天数总和。查询借书证号为L0003的读者一共借了多少本书(同一本书多次续借的话,仅统计一次)。查询所有图书信息,结果按价格的降序排列。统计图书信息表中不同出版社的图书的数目,把统计结果大于或等于2的记录输出。查询所有图书的库存总量。输出借阅过期的借阅记录,并且输出的罚金翻倍。持有L0002的读者已经缴纳了全部的罚金,请把对应借书记录的罚金更改为0,然后把续借的数量增加1,把过期记录的“是否过期”属性修改为“N”。

.3连接查询

采用等值连接的方式查询学生读者的学号、借书证号、姓名、联系电话以及所借书的图书编号,借阅日期。采用内连接的方法查询图书信息以及对应图书类别的详细信息。查询学生读者借书证号、姓名、班级以及所借图书的图书编号、借阅日期,没有借阅记录的学生也要输出。查询借书信息表中读者的借书证号、图书编号、借阅日期以及所借图书在图书信息表中对应的出版社编号,图书信息表没有连接成功的记录也要输出。查询在被罚款的同学的学号、姓名、电话、班级名称、借书证号、借书证发证日期、图书编号、图书名称、应还书日期、罚金数量。查询读者的借书证号、姓名、联系电话、以及所借图书的图书编号、类别名称、借阅日期、出版社和编号。

4.子查询

查询借阅了图书编号为B0001的图书的读者信息。查询借阅了广东人民出版社和清华出版社的图书的读者信息。查询还未归还图书的读者的借书证号、姓名、部门和联系电话(假设当前的日期是2022-10-20号,图书归还时候,一定要缴纳罚金)。查询姓名为朱威读者的借阅记录。查询跟徐广声借阅了相关图书的其他读者详细信息。利用相关子查询邹思柔是否有借阅图书的记录,若有则输出借阅记录。查询图书价格比所有图书平均价格高的图书信息。查询图书价格比图书编号为B0002和B0003的价格都高的图书信息。

5.视图

1.根据应用,请同学定义2张视图。第一个视图输出学生学号、姓名、电话号码、班级名称、系部名称。第二个视图输出罚金超过10元的学生学号、学生、电话号码、借书证、图书名字、借书日期、应还书日期及罚金。

2.视图运用视图修改视图数据(与操作表一样,只是把table换成view)

过程与结果

数据查询

请针对以下业务的具体需求,对上述参考表及其数据做对应查询。

1. 单表查询

查询所有图书的基本信息查询所有图书的编号、名称和价格查询计算机系学生读者的借书证号、姓名和联系电话查询学生借书证号为L0001且所借图书编号为B0003的借阅记录信息查询t_borro表未还书的记录(假设当前的日期是2022-10-20号)。查询借阅日期“1998-02-06”至“2021-12-06”的借书记录信息查询姓徐的学生读者的基本信息

代码截图:

2.对查询结果进行编辑

查询所有曾经借书学生的姓名和所在院系,输出结果的字段名是:姓名和所在院系。查询借书证号为L0002的读者所借图书至今的天数总和。查询借书证号为L0003的读者一共借了多少本书(同一本书多次续借的话,仅统计一次)。查询所有图书信息,结果按价格的降序排列。统计图书信息表中不同出版社的图书的数目,把统计结果大于或等于2的记录输出。查询所有图书的库存总量。输出借阅过期的借阅记录,并且输出的罚金翻倍。持有L0002的读者已经缴纳了全部的罚金,请把对应借书记录的罚金更改为0,然后把续借的数量增加1,把过期记录的“是否过期”属性修改为“N”。

代码截图:

3.连接查询

采用等值连接的方式查询学生读者的学号、借书证号、姓名、联系电话以及所借书的图书编号,借阅日期。采用内连接的方法查询图书信息以及对应图书类别的详细信息。查询学生读者借书证号、姓名、班级以及所借图书的图书编号、借阅日期,没有借阅记录的学生也要输出。查询借书信息表中读者的借书证号、图书编号、借阅日期以及所借图书在图书信息表中对应的出版社编号,图书信息表没有连接成功的记录也要输出。查询在被罚款的同学的学号、姓名、电话、班级名称、借书证号、借书证发证日期、图书编号、图书名称、应还书日期、罚金数量。查询读者的借书证号、姓名、联系电话、以及所借图书的图书编号、类别名称、借阅日期、出版社和编号。

代码截图:

4.子查询

查询借阅了图书编号为B0001的图书的读者信息。查询借阅了广东人民出版社和清华出版社的图书的读者信息。查询还未归还图书的读者的借书证号、姓名、部门和联系电话(假设当前的日期是2022-10-20号,图书归还时候,一定要缴纳罚金)。查询姓名为朱威读者的借阅记录。查询跟徐广声借阅了相关图书的其他读者详细信息。利用相关子查询邹思柔是否有借阅图书的记录,若有则输出借阅记录。查询图书价格比所有图书平均价格高的图书信息。查询图书价格比图书编号为B0002和B0003的价格都高的图书信息。

代码截图:

5.视图

根据应用,请同学定义2张视图。第一个视图输出学生学号、姓名、电话号码、班级名称、系部名称。第二个视图输出罚金超过10元的学生学号、学生、电话号码、借书证、图书名字、借书日期、应还书日期及罚金。

代码截图:

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: