ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:228.80KB ,
资源ID:3807792      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3807792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《SQLserver数据库应用技术》期末课程设计.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《SQLserver数据库应用技术》期末课程设计.docx

1、SQLserver数据库应用技术期末课程设计作者有话要说:如果看了这份文档觉得有帮助的亲,记得帮俺关注一下这个网址wwwqdmmcomMMWeb2886821aspx,没事的时候点点就行的,更闲的时候留下些什么我更会感激不尽的,就当作小小回报俺一下啦话说俺也是做了很久的,很累人的。谢谢谢如果看了文档有帮助却不帮俺的话,就别怪俺在你背后画圈圈哦!SQL Sserver数据库技术期末课程设计报告设计题目:小型书店管理系统专业班级:计算机科学与技术学 号: 2012070193 姓 名: 陈 丽 目 录概述 3课题简介 3设计目的 3设计内容 3需求分析 4功能分析 4数据流图 4数据字典 5概念结

2、构设计 6概念结构设计的方法 6概念结构设计的步骤 7抽象初步数据:(此处与优化后E-R图得出的实体联系属性很有可能不同) 7逻辑设计阶段 10将ER模式转换为以下关系模式: 10用户外模式设计: 11物理设计阶段 11建立小型书店管理系统 11对各个基本表的建立(包括了各种完整性约束) 12建立视图 13建立存储过程 15建立触发器(另外5个表也建立相应曾删改触发器,不过此处从略,详情见附件源代码) 16建立索引(由于数据库比较小,没有必要建立索引) 18实现数据库(有附件源代码和该数据库源文件) 18向基本表插入适量如下数据并显示基本表信息 18视图显示基本信息 20执行存储过程完成目标查

3、询 21用普通查询完成目标查询(两次查询同时显示) 22总结 24概述课题简介书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。 经过三个多月的的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过李老师提供的这次软件技术实践的机会,在指导教师的帮助下,历经二周时间,学生自行设计一个小型书店管理系统管理系统,在下面的文章中,我将以这个小型书店管理系统系统为例,谈谈其开发过程和所涉及到的问题。设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更

4、好的结合起来,巩固所学知识。 数据库应用 课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理 软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。设计内容运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管

5、理系统的全部功能。首先做好需求分析,并完成数据流图和数据字典。其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型需求分析功能分析首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等;供应商信息:供应商名称、地址、电话,联系人;客户信息:客户编号、名称、年龄、性别、累计购书金额等

6、;销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义为存储过程。查询当月书店销售金额、营业金额;(存储过程)查询某种图书库存数量;(存储过程)查询当月销量最好的图书信息;(存储过程)按供应商名称查询订购信息;(普通查询)查询购买次数超过3次的客户信息。(普通查询)接着根据需要建立触发器、存储过程、索引,实现对数据库的优化。最后,进行过程功能的验证。允许具有权限者对数据库进行数据更新和查询等合法操作。数据流图用流程图来描述处理过程与数据的关系数据流图如下:数据字典用数据字典来描述数据数据字典如

7、下:数据项:数据项名含义说明别名数据类型长度取值范围取值含义与其他数据项的逻辑关系图书编号唯一标识每本书char80000000099999999根据入库时间先后编号有时与客户编号作为主码图书名称唯一标识每种书书名varchar30有时与供应商组成主码作者名称每种书的作者姓名char8出版社名称每种书的出版社名称char12供应商名称唯一标识供应商char12地址供应商的地址varchar50电话供应商的电话char700000009999999联系人通过联系人书店与供应商进行沟通char8订购时间每种书的订购时间datetime应与图书称与供应商名称作为的主码直接关联订购单价从供应商处进货每

8、种书的每本价格int客户编号唯一标识客户char800000000099999999按购书先后编号有时与图书编号作为主码客户名称客户姓名char8性别客户性别char2女或男年龄客户年龄int每年都要增加一岁的销售时间每本书的销售时间datetime与图书编号和客户编号作为的主码直接关联销售单价每本书的销售价格int数据结构:数据结构名称含义说明组成每种书指具有相同书名的书的集合的基本信息图书名称、作者名称、出版社名称每本书指图书编号唯一标识的个体的归属图书编号、图书名称供应商供应商的基本信息供应商名称、地址、电话、联系人供应基表每种书在何处订购的具体情况图书名称、供应商名称、订购单价、订购时

9、间客户客户的基本信息客户编号、客户名称、性别、年龄销售基表每本书被谁买的具体请况图书编号、客户编号、销售单价、销售时间数据流:此处从略数据存储:此处从略数据处理:此处从略概念结构设计概念结构设计的方法设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向下地进行需求分析然后再自底向上地进行概念设计。概念结构设计的步骤第一步:抽象数据;第二步:设计局部E-R图;第三步:把各分E-R图综合成总体E-R图,消除各种冲突;第四步:对总体E-R图进行优化,消除冗余数据和冗余联系;抽象初步数据:(此处与优

10、化后E-R图得出的实体联系属性很有可能不同)实体:图书、供应商、客户联系:图书订购关系、图书销售关系图书与供应商的关系是多对一的关系;图书与客户的关系是多对一的关系。属性:图书的属性:图书编号、图书名称、出版社名称、作者名称、供应商名称;主码为图书编号供应商的属性:供应商名称、供应商地址、电话、联系人;主码为供应商名称客户的属性:客户编号、姓名、性别、年龄;主码为客户编号图书订购关系属性:供应商名称、图书编号、订购时间、订购单价;主码为供应商名称和图书编号图书销售关系属性:客户编号、图书编号、销售时间、销售单价;主码为客户编号和图书编号分E-R图:图书E-R图:供应商E-R图:客户E-R图:初

11、E-R图:优化后的总E-R图:逻辑设计阶段逻辑设计阶段:将系统E-R模型转换为关系模式,并对给出的关系模式进行关系规范化处理(尽量满足3NF),得到系统全部的关系模式,并标明主键、外键此部分一律采用英文命名。然后进行用户外模式的设计,针对中国用户,此处用中文命名。将ER模式转换为以下关系模式:1) book(#bname, writer_name, press_name); 主键:#bname2.) everybook (# bno, #bname) ;主键:#bno外键:#bname3) supplier (#supplier_name, address, telephone, contac

12、t) ;主键:#supplier_name4) customer (#cno, cname, sex, age); 主键:#cno5) book_order(#bname, #supplier_name, #order_time, order_price, order_count); 主键: #bname, #supplier_name, #order_time6) book_sell(#bno, #cno, sell_time, sell_price);主键:#bno发现这六个关系模式3N都满足。因为元组中都是不可分割的数据,且所有非主属性完全依赖其主码,且它的任何一个非主属性都不传递于任何

13、主关键字。用户外模式设计:基本信息视图的建立:1. 单本销售情况(图书编号,图书名称客户编号,客户名称,销售单价,销售时间);2. 同种销售情况(书名,销售数量,销售金额);3. 客户信息(客户编号,客户名称、性别,年龄,累计购书金额);4. 供应商信息(供应商名称,地址,电话,联系人);5. 图书订购信息(图书名称,供应商名称,订购时间,订购数量,订购单价,订购金额,出版社名称,作者名称);物理设计阶段物理设计阶段:为一个逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法),数据库的物理设计通常分为两步:A、确定数据库的物理结构;B、对物理结构进行时间和空间效率评价。建立小型书

14、店管理系统创建数据库 book_shop_management-创建小型书店管理系统create database book_shop_managementon primary(name=book_shop_management,filename=d:program filesmicrosoft sql servermssql.1mssqldatabook_shop_management.mdf,size=10mb,maxsize=unlimited,filegrowth=10%)log on(name=book_shop_management_log,filename=d:program f

15、ilesmicrosoft sql servermssql.1mssqldatabook_shop_management_log.ldf,size=1mb,maxsize=5mb,filegrowth=3%)go截图得:对各个基本表的建立(包括了各种完整性约束)建立表 book-建立表bookcreate table book(#bname varchar(30) primary key,writer_name char(8),press_name char(12)建立表 everybook-建立表everybookcreate table everybook(#bno char(8) pri

16、mary key,#bname varchar(30) not nullconstraint fk_everybook_bname foreign key references book(#bname)建立表 supplier-建立表suppliercreate table supplier(#supplier_name char(12) primary key,address varchar(50)not null,telephone char(7)not null,contact char(8) not null)建立表 customer-建立表customercreate table c

17、ustomer(#cno char(8) primary key,cname char(8)not null,sex char(2),age int,constraint ck_customer_sex check (sex in(男,女)建立表 book_order-建立表book_ordercreate table book_order(#bname varchar(30),#supplier_name char(12),#order_time datetime,order_count int not null,order_price int not null,constraint pk_

18、book_order primary key (#bname,#supplier_name,#order_time)建立表 book_sell-建立表book_sellcreate table book_sell(#bno char(8) primary key,#cno char(8) not null,sell_time datetime,sell_price int)建立视图建立基本信息视图:建立单本销售情况视图-建立单本销售情况视图create view view_单本销售情况asselect book_sell.#bno as 图书编号,#bname as 图书名称,book_sel

19、l.#cno as 客户编号,cname as 客户名称,sell_time as 销售时间,sell_price as 销售单价from book_sell,customer,everybookwhere everybook.#bno=book_sell.#bnoand customer.#cno=book_sell.#cno建立同种销售情况视图-建立同种销售情况视图create view view_同种销售情况asselect 图书名称 as 书名,count(图书编号) as 销售数量,sum(销售单价) as 销售金额from view_单本销售情况group by 图书名称建立客户信

20、息视图-建立客户信息情况create view view_客户信息select customer.#cno as 客户编号,cname as 客户名称,sex as 性别,age as 年龄,(select sum(sell_price) from book_sellgroup by #cno) as 累计购书金额from book_sell,customerwhere book_sell.#cno=customer.#cno建立供应商视图-建立供应商视图create view view_供应商信息asselect #supplier_name as 供应商名称,address as 地址,t

21、elephone as 电话,contact as 联系人from supplier建立订购信息视图-建立订购信息视图create view view_图书订购信息asselect book_order.#bname as 图书名称,#supplier_name as 供应商名称,#order_time as 订购时间,order_price as 订购单价,order_count as 订购数量,(order_price*order_count) as 订购金额,press_name as 出版社名称,writer_name as 作者名称from book,book_orderwhere

22、book.#bname=book_order.#bname建立存储过程某种图书库存查询存储过程create procedure sp_某种图书库存查询-p1为要查询的图书名称p1 varchar(30)asbegin select 订购数-销售数量as 库存from (select sum(order_count) as 订购数,#bname as 书名from book_ordergroup by #bname) as x,view_同种销售情况where x.书名=p1 and view_同种销售情况.书名=p1endgo某段时间内的销售业绩查询存储过程-建立本月业绩查询存储过程-由于不知

23、其它信息,此处将销售金额与营业金额等同-营业金额=营业额=成本+利润create procedure sp_查询某段时间内的业绩-p1为起始时间,p2为结束时间p1 datetime,p2 datetimeasbeginselect sum(销售单价) as 销售金额from view_单本销售情况where 销售时间=p1 and 销售时间=p1and 销售时间=all(select count(图书编号) from view_单本销售情况where 销售时间=p1and 销售时间=p2group by 图书名称)endgo建立触发器(另外5个表也建立相应曾删改触发器,不过此处从略,详情见附

24、件源代码)建立一个customer的操作审核表,并建立相关触发器,当向customer中插入、更新或删除记录时,生成一条操作记录插入到该操作审核表中,内容包括客户编号、客户名称、操作方式(插入/更新/删除)和操作时间-建一个操作审核表create table customer_operate(客户编号char(8)not null,客户名称char(8)not null,操作方式char(4)not null,操作时间datetime not null)-建立相关触发器create trigger trigger_customer_inserton customerfor insertasbe

25、gindeclare p1 char(8),p2 char(8)set p1=(select #cno from inserted)set p2=(select cname from inserted)printinsert:select *from insertedinsert into customer_operate values(p1,p2,插入,getdate()endgocreate trigger trigger_customer_deleteon customerfor deleteasbegindeclare p1 char(8),p2 char(8)set p1=(sele

26、ct #cno from deleted)set p2=(select cname from deleted)printdeleted:select * from deletedinsert into customer_operate values(p1,p2,删除,getdate()end gocreate trigger trigger_customer_updateon customerfor updateasbegindeclare p1 char(8),p2 char(8)set p1=(select #cno from deleted)set p2=(select cname fr

27、om deleted)print inserted:select *from insertedprint deleted:select *from deletedinsert into customer_operate values (p1,p2,修改,getdate()end go建立索引(由于数据库比较小,没有必要建立索引)实现数据库(有附件源代码和该数据库源文件)过程功能验证向基本表插入适量如下数据并显示基本表信息everybook book#bno#bnameWriter_namePress_name何以笙箫默顾漫晋江出版社原来你还在这里辛夷坞起点出版社烈火如歌明晓溪晋江出版社微微一笑很倾城顾漫阅读出版社#bname00000001何以笙箫默00000002何以笙箫默00000003原来你还在这里00000004烈火如歌00000005烈火如歌00000006烈火如歌00000007微微一笑很倾城book_sell#bno#cnoSell_timeSell_price00000001000000012013-6-16210000000300000002201

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2