数据库课程设计_连锁店管理系统

948738 贡献于2013-02-25

作者 lenovo  创建于2011-09-14 07:09:00   修改者xiao  修改于2013-01-23 15:18:00字数6168

文档摘要: 连锁经营数据库设计初始条件:百货公司管辖若干连锁商店,每家商店经营若干商品。商店的商品由公司统一配送。每家商店有若干职工,每个职工只能服务于一家商店。要求完成的主要任务:根据上述的初始条件,进行调查分析并设计适当的属性。设计一个连锁经营数据库,DBMS可选MsSQLServer、Access、VFP等。完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。
关键词:

 学 号: 0121010340209 课 程 设 计 题 目 连锁经营数据库设计 学 院 计算机科学与技术学院 专 业 计算机科学与技术专业 班 级 1002 姓 名 肖齐天 指导教师 杨克俭 2013 年 1 月 23 日 课程设计任务书 学生姓名: 肖齐天 专业班级: 计算机1002班 指导教师: 杨克俭 工作单位:计算机科学与技术学院 题目:连锁经营数据库设计 初始条件: 百货公司管辖若干连锁商店,每家商店经营若干商品。商店的商品由公司统一配送。每家商店有若干职工,每个职工只能服务于一家商店。 要求完成的主要任务: 1. 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个连锁经营数据库,DBMS可选Ms SQL Server、Access、VFP等。 2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。 3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。 时间安排: 本学期第18周: 1. 消化资料、系统调查 1天 2. 系统分析 1天 3. 总体设计,实施计划 2天  4. 撰写报告 1天 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 目录 题目:连锁经营数据库设计 2 1 需求分析 1 1.1市场需求调查 1 2 系统体系结构及功能结构 2 2.1 系统体系结构及实现方法 2 2.2 系统工作环境及支持软件 2 3 数据库结构设计 2 3.1 数据库的概念模型 2 3.2数据库逻辑模型 6 4. 物理结构设计 6 5. SQL Server 语句实现功能 7 5.1 SQL语句建立表 7 5.2 SQL语句建立视图 8 5.3 SQL语句建立触发器 9 5.4 索引以及角色 9 5.4.1索引 9 5.4.2角色及授权 9 6 数据库运行和维护 10 7.总结 11 1 需求分析 1.1市场需求调查 (1) 调查组织机构的总体情况 这个企业由一个百货公司(总公司),和若干家由百货公司管辖的连锁商店(分店)组成。百货公司许可连锁商店的加盟,并管辖连锁商店,负责连锁商店经营商品的统一配送,负责任命连锁商店的店经理。各个连锁商店之间是平等的关系,并受到百货公司辖制,商店的商品由公司统一配送,店经理可以雇用若干职工,职工完成实际的商品经营。 (2) 调查各部门的业务活动情况 百货公司不直接经营商品,百货公司通过辖下的连锁商店来间接经营商品,商品由百货公司统一配送到各连锁商店。百货公司要对连锁商店经营的所有商品均需备案,并实时获取商品的库存和进销信息,从而实现商品的统一调配。百货公司需要掌握掌握所有分店和商品的销售信息,并能实时查询任意时间段内不同分店、不同商品的销售、财务情况。百货公司的采购人员可以直接、有效地获得商品情况,了解到商品是否畅销或滞销。百货公司的销售管理人员根据商品的销售情况进行分析,以进行下一次的销售计划。百货公司的财务人员能更加清楚地了解库存情况、帐款余额、毛利等财务数据,通过更好地控制成本和费用,提高资金周转率。百货公司管理者把握住商品的进销存动态,对商店各种资源的流转进行更好的控制和发展。百货公司总经理还要根据经营业绩来任免连锁商店的店经理。 连锁商店经营的商品由公司统一配送,商店的销售计划由百货公司统一制定。商店职工可以实时查询本店商品信息和库存,并查询其他分店的商品库存,同时对销售情况进行记录。店经理由百货公司总经理任命,负责对本店的经营管理,同时要雇用若干职工来完成实际的商品经营。 (3) 分析用户需求 1) 信息要求 该应用领域的各个应用从数据库中得到的信息主要有:百货公司的信息、各连锁商店的信息、商店雇用职工的信息、经营商品的信息。从而确定了数据库中应存储的数据。 2) 处理要求 该应用领域的应用要求完成的处理功能有:应用分三部分,第一部分是人员管理,包括职工管理,需要能够添加、修改并删除相关资料,并根据用户对象进行权限管理;第二部分是商品信息与物流管理,对连锁商店经营的所有商品均需备案,并实时获取商品的库存和进销信息;第三部分是财务信息管理,掌握所有分店和商品的销售信息并能实时查询任意时间段内不同分店、不同商品的销售、财务情况。 2 系统体系结构及功能结构 2.1 系统体系结构及实现方法 连锁店系统采用点对点的Client/Server(客户机/服务器)结果,服务器即使网络服务器又是数据库服务器,主要任务是实现客户机连接、数据库管理、数据存取和数据传输功能。客户机是系统的终端设备,它面向顾客,承担网上连锁管理系统的服务工作。 2.2 系统工作环境及支持软件 (1)服务器端的工作环境要求及支持软件 操作系统:Windows 2000高级服务器版 数据库管理系统:SQL Server 2005企业版 (2)客户机的工作环境要求及支持软件 操作系统:Windows XP或更高 3 数据库结构设计 3.1 数据库的概念模型 商品 商品号 名称 厂家 类别 定价 商店 注册商号 负责人 联系电话 地址 等级 订购 商品号 顾客号 数量 定价 采购 商品号 注册商号 数量 供应商号 定价 供应商 供应商号 供应商名 地址 电话 员工 员工号 姓名 联系电话 性别 职务 家庭住址 顾客 帐号 姓名 年龄 性别 等级 3.2数据库逻辑模型 将逻辑装换为关系模型如下: 商品(商品号,类别,厂家,商品名,定价); 商店(注册号码,联系电话,地址,等级,负责人); 供应商(供应商号,供应商名,电话,地址); 采购(注册号码,供应商号,商品号,采购量,定价); 员工(员工号,姓名,年龄,性别,联系电话,家庭地址,职务); 订购(账号,商品号,定价,数量); 顾客(账号,姓名,性别,年龄,等级)。 4. 物理结构设计 4.1 物理结构设计的任务 数据库物理设计的任务是为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)。 数据库物理设计的目标:一是提高数据库的性能,特别是满足主要应用的性能要求;二是有效地利用存储空间。 4.2 物理结构设计的步骤 数据库的物理设计分为如下三个步骤: (1)分析影响数据库物理设计的因素。 (2)为关系模式选择存取方法。 (3)设计关系、索引等数据库文件的物理存储结构。 4.3 选择存取方法 为关系模式选择存取方法为索引方法。 凡符合下列条件之一,可以考虑在有关属性上建立索引: (1)主键码和外键码上一般都建有索引,这有利于主键码唯一性检查和引用完整性约束检查;主键码和外键码通常都是连接条件中的公共属性,建立索引,可显著提高连接查询的效率。 (2)对于以读为主或只读的表,只要需要,存储空间又允许,可以多建索引; (3)对于等值查询,如果满足条件的元组是少量的,例如小于5%,且存储空间允许,可以考虑在有关属性上建立索引。 (4)对于范围查询(即查询条件以>、<等为比较符),可以在有关属性上建立索引。 (5)有些可以直接从索引直接得到结果,不必访问数据块。这种查询在有关属性系上建立索引是有利的。 5. SQL Server 语句实现功能 5.1 SQL语句建立表 建立数据库 CREATE SCHEMA"cbc"AUTHORIZATION MANAGER --(1)建立商品表: CREATE TABLE 商品( 商品号 NVARCHAR(20) PRIMARY KEY, 类别 NVARCHAR(20) NOT NULL, 厂家 NVARCHAR(30), 名称 NVARCHAR(30) NOT NULL, 定价 SMALLMONEY) --(2)建立商店表: CREATE TABLE 商店( 等级 CHAR(2) CHECK (等级 IN ('总店','分店')), 注册商号 NVARCHAR(30) PRIMARY KEY, 联系电话 NVARCHAR(11) NOT NULL, 地址 NVARCHAR(30) NOT NULL, 负责人 NVARCHAR(10)) --CONSTRAINT C1 FOREIGN KEY (负责人) REFERENCES 员工(姓名)) --(3)建立供应商表: CREATE TABLE 供应商( 供应商号 NVARCHAR(20) PRIMARY KEY, 供应商名 NVARCHAR(20) NOT NULL, 电话 NVARCHAR(11) NOT NULL, 地址 NVARCHAR(20) NOT NULL) --(4)建立采购表: CREATE TABLE 采购(商品号 NVARCHAR(20) PRIMARY KEY, 注册号码 NVARCHAR(30), 供应商号 NVARCHAR(20), 采购量 NVARCHAR(10) NOT NULL, 定价 SMALLMONEY, CONSTRAINT C3 FOREIGN KEY (注册号码) REFERENCES 商店(注册商号), CONSTRAINT C4 FOREIGN KEY (供应商号) REFERENCES 供应商(供应商号) ) --(6)建立员工表: CREATE TABLE 员工( 员工号 NVARCHAR(10) PRIMARY KEY, 姓名 NVARCHAR(10) NOT NULL, 年龄 CHAR(2) NOT NULL , 性别 CHAR(2) NOT NULL CHECK (性别 IN ('男','女')), 联系电话 NVARCHAR(11) NOT NULL, 地址 NVARCHAR(20) NOT NULL, 职务 CHAR(5) ) --(7)建立顾客表: CREATE TABLE 顾客( 账号 NVARCHAR(10) PRIMARY KEY, 姓名 NVARCHAR(10) NOT NULL, 性别 CHAR(2) NOT NULL CHECK (性别 IN ('男','女')), 年龄 CHAR(2) NOT NULL CHECK(年龄>0), 等级 CHAR(2)) --(8)建立订购表: CREATE TABLE 订购(商品号 NVARCHAR(20), 账号 NVARCHAR(10), 订购量 NVARCHAR(4) NOT NULL, 定价 SMALLMONEY, CONSTRAINT C8 PRIMARY KEY (账号,商品号), CONSTRAINT C9 FOREIGN KEY (账号) REFERENCES 顾客(账号), CONSTRAINT C10 FOREIGN KEY (商品号) REFERENCES 商品(商品号) ) 5.2 SQL语句建立视图 (1)建立客户视图: CREATE VIEW 客户(账号,姓名,性别,年龄,等级,商品号,商品名,订购量,类别,出版社,作者,定价,订购时间) AS SELECT 客户.账号,客户.姓名,客户.性别,客户.等级,商品.商品号,商品.商品名,商品.订购量,商品.类别,商品.厂家,商品.定价 FROM 商品,订购,客户 WHERE 商品.商品号=订购.商品号AND客户.账号=订购.账号 5.3 SQL语句建立触发器 (1)利用触发器来保证图书连锁店库中订购表的参照完整性: CREATE TRIGGER 1_INSERT ON 订购 FOR INSERT AS IF (SELECT COUNT(*) FORM 商品,inserted,顾客 WHERE 商品.商品号=inserted.商品号AND顾客.账号=inserted.账号)=0 ROLLBACK TRANSACTION (2)利用触发器来保证图书连锁店库中采购表的参照完整性: CREATE TRIGGER 1_INSERT ON 采购 FOR INSERT AS IF (SELECT COUNT(*) FORM 商品,inserted,商店,供应商 WHERE 商品.商品号=inserted.商品号AND商店.注册商号=inserted.注册商号AND inserted.供应商号=供应商.供应商号)=0 ROLLBACK TRANSACTION 5.4 索引以及角色 5.4.1索引 为商品建立索引 Create unique index 商品名称 on 商品(名称)\ 5.4.2角色及授权 1.把对员工表的所有权限授予给管理员r1 sp_addlogin 'manager','password001' sp_addrole r1 Grant all privileges On 员工 To r1 2. 把商品的情况的查询,删除,权限授予给营业员r2 sp_addrole r2 grant select,delete On 商品 To r2 3. 把商品表的查询的权限授予所有的用户 Grant select On 商品 To public 6 数据库运行和维护 数据库投入运行标志着开发任务的基本完成和维护工作的开始,但是并不意味着设计过程的终结 。 在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:数据库的转储和恢复;数据库的安全性、完整性控制;数据库性能的监督、分析和改进;数据库的重组织和重构造。 7.总结 数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。 在这次数据库课程设计过程中,通过对连锁经营数据库系统的设计,我利用所学的数据库课程中的知识和Microsoft SQL Server 2000数据库开发环境完成了设计任务,从而建立了清晰完整的数据库设计概念。根据课程设计题目的要求,我熟悉了数据库设计各个阶段的任务,独立完成了连锁经营数据库设计的需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、运行和维护阶段的设计任务。 数据库课程的学习一定要自己独立完成一个综合系统的分析与设计,虽然有时候我理解内容了,但是实现上面还是会愈要很多困难的,解决这些困难会帮助我提高相关专业能力的。以前看书上的讲解会觉得理解很透彻了,但分析设计的时候就能发现不少看书时没有注意到的问题。通过这次课程设计,我得到了数据库设计方法和技能的基本训练,巩固了在课堂上学到的有关数据库的基本知识和基本方法,为学习后继专业课和未来工作打下坚实的基础。 数据库是一门非常重要的计算机课程,这是一门不可或缺的软件工程专业课程,有助于进一步掌握数据库的基本原理,掌握设计数据库的基本方法,在数据库研究和应用领域内,提高分析问题和解决问题的能力。从软件工程看,连锁经营数据库设计是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中。这次课程设计,我结合自己的实际编程体会去体悟它的思想,同时不陷在细节上,要高屋建瓴的去领会数据库的思想。而且我觉得随着不断学习实践知识积累的丰富对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。 参考文献 [1] 苗雪兰.数据库系统原理及应用教程(第三版)[M].北京.机械工业出版社.2010 [2] 曾毅 .SQL Server数据库技术大全(第五版) [M].北京.清华大学出版社 2009 [3] Jamie MacLennan、唐朝晖、Bogdan Crivat、杨大川 SQL Server 2008数据库 (第七版) [M].北京. 清华大学出版社 2010 [4] 李春葆.数据库原理习题与解析(第二版)[M].北京.清华大学出版社.2004 本科生课程设计成绩评定表 班级: 计算机1002 姓名:肖齐天  学号:0121010340209 序号 评分项目 满分 实得分 1 学习态度认真、遵守纪律 10 2 设计分析合理性 10 3 设计方案正确性、可行性、创造性 20 4 设计结果正确性 40 5 设计报告的规范性 10 6 设计验收 10 总得分/等级 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、 及格(60-69分)、60分以下为不及格                       指导教师签名:                   20 年 月 日

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档