【数据库系统原理】图书信息管理系统数据查询与数据更新

相关文章

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

原理:

1.1表的概念

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

1.2数据类型

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

1.3数据的完整性

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

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

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

内容:

数据查询

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

.1 单表查询

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

.2对查询结果进行编辑

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

.3连接查询

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

4.子查询

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

5.视图

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

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

过程与结果

  1. 数据查询

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

1. 单表查询

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

代码截图:

在这里插入图片描述

2.对查询结果进行编辑

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

代码截图:

在这里插入图片描述

3.连接查询

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

代码截图:

在这里插入图片描述

4.子查询

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

代码截图:

在这里插入图片描述

5.视图

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

代码截图:
在这里插入图片描述

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值