《数据库系统原理》实验13:综合实验

一、实验目的

1、熟悉数据库应用系统需求分析;

2、熟悉数据库设计的基本方法;

3、掌握数据库和数据表的创建方法;

4、掌握视图的创建方法;

5、了解各种数据完整性约束;

6、对存储过程和触发器有一个完整的认识。

二、实验要求

给出网上书店管理系统的需求分析报告(见四),要求根据功能分析和数据分析设计概念模型,实现完整的数据库(包括:各种表,视图,必要的存储过程,触发器等)。

三、实验内容和步骤

1、需求分析:

一个书店中的书籍类别、数量是非常庞大的,虽然书籍的分类是非常规范,但仅仅局限于概念上的分类仍无法运用于实践当中,这就给管理人员带来了极大的工作量,因此就需要一个比较科学的管理办法来解决此问题——利用MySQL数据库来进行数据管理。

2、概要分析:

该系统主要分为两部分,一个为普通会员用户部分,亦即前台系统。另外一个是系统的管理员部分,即后台系统。网上书店前台系统部分主要是实现网上选书、购书、产生订单等功能的系统。后台实现书籍管理、用户管理、订单处理等功能。

3、开发技术:

Microsoft SQLServer 5.5.28

开发语言:SQL

开发技术:数据库开发技术

面向对象:需求者

4、系统主要功能

《数据库系统原理》实验13:综合实验_第1张图片

5、概念结构设计

系统共有6个实体:图书目录、图书库存、采购、客户、订单、发货、供应商

(1)图书目录的属性:书号、书名、作者、出版社、价格、关键字、本书的目录、封皮

(2)图书库存的属性:书号、存货量、供书商、丛书、库存存放位置

(3)采购的属性:书号、书名、出版社、供书商、数量、登记日期、顾客email

(4)客户的属性:网上ID、登录密码、名称、地址、帐户余额、信用等级

(5)订单的属性:订单号、订货日期、客户ID、书号、订书数量、金额、发货地址、发货情况

(6)供应商的属性:供应商编号、供应商基本信息、供应商供货信息、现有书目信息

6、逻辑结构设计

图书(书号,书名,出版社,价格,目录,封皮)

作者(作者名,书号,顺序号)

关键字(关键字,书号)

供应(书号,供书商)

丛书(书号,书名)

库存(书号,存货量,库存存放位置)

采购单(书号,数量,登记日期,顾客email)

客户(网上ID,登录密码,名称,地址,帐户余额,信用等级,信用额度)

订单(订单号,订货日期,客户ID,订单金额)

订单中的书(订单号,书号,数量)

发货(订单号,发货情况)

供应商(供应商编号,供应商基本信息)

供应商供货(供应商编号,供应商供货信息)

供应商现有书目(供应商编号,书号,数量)

7、细化表结构

(1)图书信息表book_info:

《数据库系统原理》实验13:综合实验_第2张图片

(2)作者信息表author_list:

《数据库系统原理》实验13:综合实验_第3张图片

(3)关键字表keywords_list:

(4)供应表provide_list:

(5)丛书情况表series_book:

(6)库存情况表reserve_info:

《数据库系统原理》实验13:综合实验_第4张图片

(7)采购表purchase_list:

《数据库系统原理》实验13:综合实验_第5张图片

(8)客户表customer_info:

《数据库系统原理》实验13:综合实验_第6张图片

(9)订单表order_list:

《数据库系统原理》实验13:综合实验_第7张图片

(10)订单中的书books_in_order:

《数据库系统原理》实验13:综合实验_第8张图片

(11)发货表delivery_info:

(12)供应商provider_list:

(13)供应商供货provider_supply:

(14)供应商现有书目provider_books:

《数据库系统原理》实验13:综合实验_第9张图片

8、创建数据库

《数据库系统原理》实验13:综合实验_第10张图片

9、创建数据表及必要的约束:

《数据库系统原理》实验13:综合实验_第11张图片

10、建立必要的视图:

《数据库系统原理》实验13:综合实验_第12张图片

11、创建必要的外键:

《数据库系统原理》实验13:综合实验_第13张图片

《数据库系统原理》实验13:综合实验_第14张图片

12、创建必要的触发器:

《数据库系统原理》实验13:综合实验_第15张图片

《数据库系统原理》实验13:综合实验_第16张图片

13、总结:

通过本次实验使我对数据库有了一个更加全面,更加深入的了解,也可以说是对本学期所学的数据库知识的一个总结,这次实验不像以前一样,只是对数据库某一部分知识的练习巩固,不仅仅是设计几张表,设计几个存储过程,触发器,而是对这些知识的一个整合,是一次综合的练习,使我对设计一个数据库的流程有了一个了解和掌握。

 

三、出现的问题及解决方案

问题:

ORDER BY关键字降序排序问题

SQL AND & OR 运算符与优先级问题

WHERE语句的特殊条件——例如is null、between and、like模糊查询等问题

Enum枚举类型的设定值问题

CHECK语句约束不起作用问题

解决方案:

参考《数据库系统概论课本》、菜鸟教程(https://www.runoob.com/sql)、CSDN博客和MySQL参考手册(https://dev.mysql.com/doc/)

你可能感兴趣的:(实验,考试与课设)