《SQLserver数据库》课程设计范例

  • 格式:doc
  • 大小:374.00 KB
  • 文档页数:22

22/22 10/7/2020 1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。

1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

数据库应用 课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

数据库原理 软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

1.3设计容 运用基于E-R 模型的数据库设计方法和关系规化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。

首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。

然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 22/22 10/7/2020

2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义为存储过程。 查询当月书店销售金额、营业金额;(存储过程) 查询某种图书库存数量;(存储过程) 查询当月销量最好的图书信息;(存储过程) 按供应商名称查询订购信息;(普通查询) 查询购买次数超过3次的客户信息。(普通查询) 接着根据需要建立触发器、存储过程、索引,实现对数据库的优化。最后,进行过程功能的验证。允许具有权限者对数据库进行数据更新和查询等合法操作。

数据流图 用流程图来描述处理过程与数据的关系 数据流图如下:

图书需求图书供应用户

供应商

信息处理信息处理

图书目录文件顾客购书档案文件出版社档案文件购买信息文件用户购买信息供应商供应信息

购买供应汇总文件 图2,1 数据流图 22/22 10/7/2020

数据字典 用数据字典来描述数据 数据字典如下:

数据项: 表2.1 数据字典 数据 项名 含义 说明 别名 数据 类型 长度 取值围 取值含义 与其他数据项 的逻辑关系

图书编号 唯一标识 每本书 char 8 00000000~ 99999999 根据入库时间 先后编号 有时与客 户编号作 为主码

图书名称 唯一标识 每种书 书名 varchar 30 有时与供应商 组成主码

作者名称 每种书的 作者 char 8

名称 每种书的 名称 char 12 供应商名称 唯一标识 供应商 char 12

地址 供应商的地址 varchar 50 供应商的 char 7 0000000~ 9999999

联系人 通过联系人 书店与供应 商进行沟通 char 8 订购时间 每种书的 订购时间 datetime 应与图书称 与供应商 名称 作为的主码 直接关联

订购单价 从供应商处 进货每种书 的每本价格 int

客户编号 唯一标识 客户 char 8 000000000~ 99999999 按购书先后 编号 有时与图 书编号作 为主码 客户名称 客户 char 8 性别 客户性别 char 2 女或男 年龄 客户年龄 int 每年都要 22/22 10/7/2020

增加一岁的 销售时间 每本书的 销售时间 datetime 与图书编号 和客户编号 作为的主码 直接关联

销售单价 每本书的 销售价格 int

数据结构: 数据结构名称 含义说明 组成 每种书 指具有相同书名的书的集 合的基本信息 图书名称、作者名称、名称 每本书 指图书编号唯一标识的个体的归属 图书编号、图书名称 供应商 供应商的基本信息 供应商名称、地址、、联系人

供应基表 每种书在何处订购的具体情况 图书名称、供应商名称、 订购单价、订购时间 客户 客户的基本信息 客户编号、客户名称、性别、年龄

销售基表 每本书被谁买的具体请况 图书编号、客户编号、 销售单价、销售时间

概念结构设计 概念结构设计的方法 设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩以及混合策略。本系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向下地进行需求分析然后再自底向上地进行概念设计。

概念结构设计的步骤 第一步:抽象数据; 第二步:设计局部E-R图; 第三步:把各分E-R图综合成总体E-R图,消除各种冲突; 第四步:对总体E-R图进行优化,消除冗余数据和冗余联系; 22/22 10/7/2020

抽象初步数据:(此处与优化后E-R图得出的实体联系属性很有可能不同)

实体:图书、供应商、客户 联系:图书订购关系、图书销售关系

图书与供应商的关系是多对一的关系; 图书与客户的关系是多对一的关系。 属性: 图书的属性:图书编号、图书名称、名称、作者名称、供应商名称; 主码为图书编号

供应商的属性:供应商名称、供应商地址、、联系人; 主码为供应商名称

客户的属性:客户编号、、性别、年龄; 主码为客户编号

图书订购关系属性:供应商名称、图书编号、订购时间、订购单价; 主码为供应商名称和图书编号

图书销售关系属性:客户编号、图书编号、销售时间、销售单价; 主码为客户编号和图书编号

分E-R图: 图书E-R图:

图书图书编号供应商名称作者名称出版社名称图书名称

供应商E-R图: 22/22 10/7/2020

供应商供应商名称电话联系人

供应商地址

客户E-R图: 客户客户编号年龄性别姓名 22/22 10/7/2020

初E-R图: 图书

客户供应商图书订购图书销售

图书编号供应商名称作者名称出版社名称图书名称

供应商名称联系人电话供应商地址客户编号姓名性别年龄

N1N1

供应商名称订购时间订购单价图书编号客户编号图书编号

销售时间销售单价 22/22 10/7/2020

优化后的总E-R图:

供应商客户销售基表订购基表每本书每种书归属

图书编号图书名称出版社名称作者名称图书名称

客户名称年龄性别客户编号订购单价订购时间供应商名称图书名称客户编号图书编号销售单价销售时间供应商名称电话联系人地址1MNN1M

订购数量 逻辑设计阶段 逻辑设计阶段:将系统E-R模型转换为关系模式,并对给出的关系模式进行关系规化处理(尽量满足3NF),得到系统全部的关系模式,并标明主键、外键此部分一律采用英文命名。然后进行用户外模式的设计,针对中国用户,此处用中文命名。

将E——R模式转换为以下关系模式: 1) book(#bname, writer_name, press_name); 主键:#bname 2.) everybook (# bno, #bname) ; 主键:#bno 外键:#bname 3) supplier (#supplier_name, address, telephone, contact) ; 22/22 10/7/2020

主键:#supplier_name 4) customer (#cno,ame, sex, age); 主键:#cno 5) book_order(#bname, #supplier_name, #order_time, order_price, order_count); 主键: #bname, #supplier_name, #order_time 6) book_sell(#bno, #cno, sell_time, sell_price); 主键:#bno

发现这六个关系模式3N都满足。因为元组中都是不可分割的数据,且所有非主属性完全依赖其主码,且它的任何一个非主属性都不传递于任何主关键字。

用户外模式设计: 基本信息视图的建立: 1. 单本销售情况(图书编号,图书名称客户编号,客户名称,销售单价,销售时间); 2. 同种销售情况(书名,销售数量,销售金额); 3. 客户信息(客户编号,客户名称、性别,年龄,累计购书金额); 4. 供应商信息(供应商名称,地址,,联系人); 5. 图书订购信息(图书名称,供应商名称,订购时间,订购数量,订购单价,订购金额,名称,作者名称);

物理设计阶段 物理设计阶段:为一个逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法),数据库的物理设计通常分为两步:A、确定数据库的物理结构;B、对物理结构进行时间和空间效率评价。

建立小型书店管理系统

创建数据库 book_shop_management --创建小型书店管理系统 create database book_shop_management on primary( name='book_shop_management', filename='d:\program files\microsoft sql server\mssql.1\mssql\data\ book_shop_management.mdf', size=10mb, maxsize=unlimited, filegrowth=10%)