课程设计说明书
课程设计名称: 数据库导论课程设计
学 院 专 业:
班 级:
学 生 姓 名:
指 导 教 师:
2022年 12 月 11 日
课 程 设 计 任 务 书
课程设计题目: 商品存销数据库操作及图书发行管理系统的设计 |
|
起止日期:2022/12/12-2022/12/16 |
设计地点:线上 |
设计任务要求: 一、商品存销数据库操作 创建商品存销数据库GSCS和库中的4张表: 商品表(编号,名称,仓库编号,单价,数量) 仓库表(编号,地址,负责人,电话) 客户表(编号,姓名,地址,电话) 售货表(客户编号,商品编号,售出时间,单价,数量,应付金额) 利用T-SQL语句,在SQL Server Management Studio(SSMS)上完成题目要求的各种操作,包括数据库及表结构的创建,修改和删除;数据的增加、删除、修改以及查询,对于查询,涉及单表、多表连接、嵌套等多种查询方式;索引的创建与使用;完整性机制的定义;视图的定义及查询等。 二、图书发行管理系统的设计 1、了解系统的功能。 2、掌握数据库系统的设计步骤和过程,包括:概念模型(E-R图)的设计,逻辑模型(关系模式)的设计,概念模型向逻辑模型的转换。 3、进一步加深理解关系模式的规范化理论。 具体时间安排: 12月12日-12月16日上机完成题目; 12月16日答辩; 课设报告课后时间完成,12月16日晚提交报告的电子版。 |
注:此任务书由指导教师在课程设计前填写,发给学生作为本门课程设计的依据。
详 细 要 求
一、商品存销数据库操作(利用SQL语句实现)
- 创建商品存销数据库GSCS。
- 创建GSCS中表如下:
商品表goods(编号gno,名称gname,仓库编号sno,单价gprice,数量gamount)
仓库表store(编号sno,地址sadd,负责人smanager,电话spnone)
客户表customer(编号cno,姓名cname,地址cadd,电话cphone)
售货表sale(客户编号cno,商品编号gno,售出时间sdate,单价gprice,数量samount,应付金额smoney)
要求:① 表中数据类型自拟;②定义每个表的主码,有外码的定义参照完整性约束;③仓库表的地址唯一;④仓库表和客户表的电话不允许为空。
- 将所创建的GSCS数据库的客户表增加性别“csex”列。
- 向客户表插入自己所在班级的3名同学的真实信息(包括自己)。
- 将商品表中的每种商品的价格打7折。
- 将商品表中价格打7折后低于700元的商品删除。
- 查找价格在45-390元之间的商品详细信息。
- 查找仓库地址以“主区”开头的仓库负责人及电话。
- 在仓库表上按照仓库地址建立唯一索引。
- 查询Cus666号客户购买商品的应付金额。
- 查询售货表的详细情况,查询结果按照应付金额的升序排序,同一应付金额的按照数量的降序排序。
- 计算ZC10号仓库所存商品的总数量。
- 查询家住跟自己家小区同名的客户购买商品的数量(连接查询和嵌套查询)。
- 查询自己购买商品的编号及数量。
- 查询自己购买的商品名称,商品价格,数量及应付金额。
- 查询单价最低的商品名称。
- 建立视图BXCP,实现查询存储在ZC15号仓库的商品名称及数量。
- 在BXCP视图上查询存储在ZC15号仓库的商品总数量。
- 查询自己负责的仓库数目。
- 查询负责仓库数目不超过4的负责人姓名及电话。
- 查询购买商品应付金额最高的客户编号。
- 查询同时购买PP241号商品和PP526号商品的客户编号。
- 查询Customer28号客户或者Customer39号客户购买的商品编号。
二、图书发行管理系统的设计
至少涉及到图书、出版社、作者、发行员、仓库、仓库管理员等信息,可以不仅限于这些信息。请完成如下的分析和设计:
1、查阅相关资料,了解管理的业务流程,说明系统预计完成哪些功能。
2、根据你了解到的业务语义,以及预计完成的功能,确定实体,实体属性,联系,联系属性,联系类型,并画出E-R图。
3、把E-R图转换为相应的关系模式,说明这样转换的理由;请指出主码,从函数决定关系角度说明确定主码的理由;如果有外码,请指出外码,并给出确定外码的理由。
4、对每个关系模式,分析主码对非码属性的函数决定关系,判断所属范式,给出判断的理由;对于不是3NF的关系模式进行分解,使得每个关系模式都属于3NF。
5、根据你的设计,在平台上建立库、表,定义主码,外码,理解实体完整性和参照完整性。
6、创建合适的索引,以便加快查询速度。
7、根据预计完成的功能,设计至少10个查询,涉及单表,连接,嵌套,视图以及分组统计等内容。
一、设计目的
我希望通过本次实验,能够加深我对SQL Server 2019操作环境的理解,更进一步地掌握SQL语句的使用以及创建数据库和表的基本操作和数据的输入、修改和删除操作。
我希望结合这次课设,对之前所学的数据库理论知识进行总结与归纳,并将所学到的理论知识运用到课程设计过程中去,包括单表,连接,嵌套,视图以及分组统计等内容以及概念模型(E-R图)的设计,逻辑模型(关系模式)的设计,概念模型向逻辑模型的转换。
我希望在设计报告的过程中,通过对排版的标准化,提前了解毕业论文的排版格式,如图片的编号、行距、字号等等。
我第一次接触SQL Server数据库管理系统是在几周前的一次数据库实验的时候,通过那段时间的实验,我对数据库产生了很大的兴趣,所以我认为在接下来的数据库课程设计当中,我能更进一步地去了解数据库管理系统,在数据库课程设计的过程中,如果认真去一步一步实践,都能够有很多收获,不光是对理论知识的巩固,在动手操作的过程中还在锻炼我们的自我反思、自我纠错的能力。
之前老师说过,培养我们的计算机思维模式也是教学目标之一,我相信,通过数据库课程设计,我的计算机专业思维将会得到很大的提升,对数据库及其管理系统SQL server将会有更深层次的理解。
我相信,在接下来的数据库课程设计过程当中,我将会不断积累经验,对于一些基本的问题,自己将会有能力自己解决和反思,在以后的工作当中,数据库课程设计的这段经历将会是我事业方面的一大助力。
二、商品存销数据库操作
1.创建商品存销数据库GSCS。
CREATE DATABASE GSCS
![](https://img-blog.csdnimg.cn/d6ef7319cd1b4ae484a18dd7ac1cf735.png)
图2.1 创建GSCS数据库结果图
2.创建GSCS中表如下:
商品表goods(编号gno,名称gname,仓库编号sno,单价gprice,数量gamount)
仓库表store(编号sno,地址sadd,负责人smanager,电话spnone)
客户表customer(编号cno,姓名cname,地址cadd,电话cphone)
售货表sale(客户编号cno,商品编号gno,售出时间sdate,单价gprice,数量samount,应付金额smoney)
要求:① 表中数据类型自拟;②定义每个表的主码,有外码的定义参照完整性约束;③仓库表的地址唯一;④仓库表和客户表的电话不允许为空。
USE GSCS
CREATE TABLE goods
(gno nchar(4) primary key,
gname varchar(50) NULL,
sno nchar(4) NOT NULL,
gprice int,
gamount int,
)
GO
![](https://img-blog.csdnimg.cn/4a9a5233bbea46b78546da18fb1a20e5.png)
图2.2 创建goods表结果图
USE GSCS
CREATE TABLE store
(sno nchar(4) primary key,
sadd varchar(50) unique,
smanager varchar(50) NOT NULL,
sphone varchar(50) NOT NULL,
)
GO
![](https://img-blog.csdnimg.cn/5bb913a538bf4923b1231b596a6486a1.png)
图2.3 创建store表结果图
USE GSCS
CREATE TABLE customer
(cno n