学号
成绩
课程设计说明书
设计名称 数据库系统概论课程设计
设计题目
超市会员管理
数据库系统设计与实现
设计时间 2018 年 7 月 9 日—
—2018 年 7 月 12 日
专
班
姓
业 计算机科学与技术
级 计算机 16 级 2 班
名
指导教师
2018 年 3 月 11 日
一、引言
1.设计目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际数据
库开发有机的结合起来,锻炼学生的分析、解决实际问题的能力。课程设计的目的:
(1)加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;
(2)在实践化和项目化教学基础上进一步巩固已学基本知识及应用知识并加以综合提高;
(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;
(4)为计算机科学与技术专业毕业设计和毕业后工作打下必要基础。
2.设计要求
运用数据库基本理论与应用知识,在 RDBMS(SQL Server2000 或 SQL Server2005)的环境上建立
一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体
之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和
控制等操作。
1 用功能模型完成对题目的需求分析;
2 用 E-R 图设计选定题目的信息模型;
3 设计相应的关系模型,确定数据库结构;
4 设计应用系统的系统结构图,确定系统功能;
5 通过设计关系的主码约束、外码约束和使用 CHECK 实现完整性控制;
6 定义必要的视图,能够保证数据库的安全性;
3.软件环境:
Windows 7 系统和 SQL Server2005 或其他版本
二、需求分析
1.系统功能结构
图 1 超市会员管理系统功能图
2. 需求分析描述
通过分析,超市会员管理系统旨在为超市的会员管理工作提供一个比较系统的会员管理平台,它
帮助超市存储及管理会员的基本信息、管理会员卡、管理会员报表及会员政策,完全可以取代之前
复杂的手工记录方法,是一套比较完备的管理工具,极大地提高了超市会员管理的效率。在很大程
度上帮助了超市管理者对超市的掌握与管理,经过分析得到系统的功能图如图 1 所示。
三、概念设计
1. 实体、属性和联系
根据分析,系统应该有会员卡实体,该实体具有会员卡卡号、会员卡编号、会员卡种类属性。
商品实体,具有商品编号、商品种类、商品名称、商品单价属性。会员实体,具有会员卡卡号姓名、
性别、年龄、联系方式、购卡日期属性。购物实体,具有会员卡卡号、物品编号、购物数量属性,
购物实体与商品实体具有多对一的联系,会员卡实体与会员实体具有一对一的联系,会员卡实体与
购物实体具有一对一的联系。
2.概念模型设计
图 2 超市会员管理系统 E-R 图
四、逻辑设计
1. E-R 图转换为关系模式
根据图 2 所示系统 E-R 图可以得出本数据库的关系模式:
会员基本信息(会员卡卡号,姓名,性别,年龄,联系方式,购卡日期)
主码:姓名、会员卡卡号
会员卡信息(会员卡卡号,会员卡编号,会员卡种类)
主码:会员卡编号
物品信息(物品编号,物品种类,物品名称,单价)
主码:物品编号
购物信息(会员卡卡号,物品编号,购物数量)
主码:会员卡卡号、物品编号
其中:关系模式会员基本信息、会员卡、物品信息在非主属性对主属性的部分函数依赖,也不存在
传递函数依赖,已经达到了 3NF。购物信息则存在部分依赖属于 2NF。
2. SQL Server 关系图
图 3 超市会员管理系统关系图
五、数据库实现
1.表的设计
(1)会员基本信息表
(2)会员卡信息表
(3)物品信息表
(4)会员购物信息表
2.视图的设计
(1)会员信息视图:
(2)购买信息视图:
六、数据库操作
1.查询(2 个)
(1)查询 SVIP 的会员姓名卡号信息-连接查询
Select Card.Ino,Information.Iname,Card.Ckind
from Card,Information
where Card.Ino=Information.Ino and Ckind='SVIP'
(2)查询会员人数-聚合函数应用
Select count(Ino) as 会员人数
from Information
2.插入(1 个)
插入一条新的会员信息
insert into Information values
('20112209','崔生','女','34','13472526987','2013.3.5')
3.修改(1 个)
修改会员卡种类为 SVIP
update Card
set Ckind='SVIP'
where Ino='20112205';
4.删除(1 个)
删除会员信息
delete Information where Ino ='20112209'
七、小结
通过本次课程设计,我应用了很多实用的知识,实践动手能力得到了提升,虽然开始毫无头绪,
但在老师的耐心指导下还是比较圆满的完成了这次课程设计。从此次课程设计中我也收获了不少,
这次课程设计使我熟悉了数据库系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、
逻辑设计、物理设计、数据库的实施及调试测试六大步骤。在具体的实施阶段中,表的建立及表间
关系最为重要,其实这也是需求分析重要性的体现。这次课程设计加深了我对数据库系统概论相关
知识和 SQL Server 相关功能的理解。但由于缺乏知识的整合,所以在逻辑设计上还是遇到了困难,
不过还好有老师的指导,最终问题迎刃而解。
八、参考文献
[1]《数据库系统概论》王珊编著,高等教育出版社 2006.5
[2]《数据库设计与关系理论》(英)戴特著 卢涛译,机械工业出版社 2013.8
[3]《Microsoft SQL Server2005 中文版设计实务》施威铭研究室,机械工业出版社 2008.4
[4]《SQL Server 2005 基础教程与实验指导》郝安林 等编著,清华大学出版社 2008.11
[5]《数据库系统开发基础与项目实训》文东主编,中国人民大学出版社 2009.4
[6]《SQL 必知必会》Ben
[7] http://www.w3school.com.cn/sql/sql_select.asp
Forta 著,钟鸣译,人民邮电出版社 2013.5
2018 年 7 月
日
时
分
九、答辩记录
答辩时间
问题 1
答辩 1
问题 2
答辩 2