《2022年《数据库原理课程设计》课程设计.pdf》由会员分享,可在线阅读,更多相关《2022年《数据库原理课程设计》课程设计.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统原理课程设计报告学生姓名:系别:班级:专业:指导教师: 2011 年 11 月 15 日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 20 页 - - - - - - - - - - 目录1 引言 . 错误!未定义书签。问题描述 . . 错误 !未定义书签。开发环境和运行环境. . 错误 !未定义书签。2 需求分析 . . 错误!未定义书签。系统功能基本的要求. . 错误 !未定义书签。企业对系统实现的要求. . 错误 !未定义书签。系统功能的设计. 错误 !未定义书签。数据字典
2、. 错误 !未定义书签。3 概念设计 . . 错误!未定义书签。设计分E-R图 . 错误 !未定义书签。设计完成的总E-R图 . 错误 !未定义书签。4 逻辑结构设计 . . 错误!未定义书签。图向关系模式的转换. . 错误 !未定义书签。数据模型的优化. 错误 !未定义书签。用户子模式的设计. . 错误 !未定义书签。5 数据实施和维护. . 错误!未定义书签。建立数据库 . 错误 !未定义书签。建表 . 错误 !未定义书签。建查询 . 错误 !未定义书签。建存储过程 . 错误 !未定义书签。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 -
3、- - - - - - - - -第 2 页,共 20 页 - - - - - - - - - - 6 总结 . 错误!未定义书签。参考文献 . 错误!未定义书签。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 20 页 - - - - - - - - - - 1 引言问题描述随着市场竞争的不断加剧,作为中小企业也迫切需要规范管理。然而目前中小型企业在具体的业务流程处理过程中仍然使用手工操作的方式来实施,由于商品繁多、业务零杂,各类采购、销售单据数量非常多,人工处理比较困难,并且准确性难以确保
4、。所以这种现状不仅费时、费力、效率低下,而且无法达到理想的效果。因此,中小企业实施规范管理势在必行,如何实现内部流程管理和外部市场竞争的管理,无疑是企业经营最核心的问题。建立一个有效的商务进销存管理系统,可以使企业拥有比竞争对手更严谨的业务管理和控制,可以比竞争对手更快速地获得效益。开发环境和运行环境企业进销存管理系统运用了当前流行的SQL SERVER2005 、C#、VS2010等运行和开发的。1库、基本表的建立和修改:在SQL-SERVER 环境下用 CREATE TABLE 建立库以及库中基本表。2数据加载:用手工录入或导入等方法实现基本表中的数据加载。3单表查询以及多表查询:在建立的
5、基本表中使用select基本格式和聚集函数;设计合适的视图,实现多表间查询。4触发器:设计触发器,可实现表间关联字段修改时的完整性等问题。5存储器:设计存储过程,并用语句调用。6用 SQL SERVER 2005/2008、C#、VisualStudio2010等开发环境设计、实现系统主要功能。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 20 页 - - - - - - - - - - 2 需求分析系统功能基本的要求试设计一个企业进销存管理系统,便于企业对产品进行进销业务流程规划化管理。企
6、业对系统实现的要求要求实现的主要模块:(1)用户管理(2)数据库维护(3)产品入库管理(4)产品出库管理(5)库存管理(6)维修管理(7)个人信息(8)基础数据维护。1. 信息要求 :信息的录入是通过产品入库登记,基础数据维护添加新的产品,出库时输入销售记录等过程进行数据信息的录入与查询。2. 处理要求:建立一个有效的商务进销存管理系统,以解决商品繁多、业务零杂,各类采购、销售单据数量非常多,人工处理困难,准确性难以确保等众多问题。3. 安全性与完整性要求:(1)安全性要求a. 系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;b. 系统实现:数据备份、数据恢复,
7、以防止重大失误、或是系统故障引起的损失;(2)完整性要求a. 各种信息记录的完整性,信息记录内容不能为空;b. 各种数据间相互的联系的正确性;c. 相同的数据在不同记录中的一致性。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 20 页 - - - - - - - - - - 系统功能的设计系统实现 (1)用户管理(2)数据库维护( 3)产品入库管理(4)产品出库管理(5)库存管理(6)维修管理(7)个人信息(8)基础数据维护。数据流图数据字典部分重要表:表名: UserInfo序号列名数据类
8、型长度小数位标识主键允许空默认值说明备注1UserIDvarchar166是是否用户名登陆用2Namevarchar84否姓名真实姓名3Pwdvarchar 2000否密码4Powervarchar80否权限固定位是1 有权限,0 无此权限表名: Storage精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 20 页 - - - - - - - - - - 序号列名数据类型长度小数位标识主键允许空默认值说明备注1ListIDvarchar50是是否Lis唯一标志2NumberInt 否0表名:
9、 Computer序号列名数据类型长度小数位标识主键允许空默认值说明备注1ListIDvarchar50是是否唯一标志2LotNumvarchar3是否否批次号3BrandVarchar50否品牌4CPUVarchar50否5Memoryvarchar50否6VideoCardVarchar50否显卡7HardDiskVarchar50否8MainBoardVarchar50否主板9RwDriveVarchar50否光驱10RemarkVarchar50否备注11ScreenVarchar50是 12UnitVarchar20否单位13IsDeleteBit否False逻辑删除批次号True
10、未删除表名: AroundDevice精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 20 页 - - - - - - - - - - 表名: PurchaseOrder5PriceMoney否单价6NumberInt否产品数量7 DateDatetimes否8IsBillingBit否False是否开票序号列名数据类型长度小数位标识主键允许空默认值说明备注1ListIDvarchar50是是否唯一标志2Type1varchar50否Type1类型或名称3Type2varchar50是Type
11、2类型或名称4Type3varchar50是Type3类型或名称5ProductName50否产品名称6UnitVarchar 20否单位7IsDeleteBit逻辑删除序号列名数据类型长度小数位标识主键允许空默认值说明备注1PurchaseNumvarchar20否采购单编号2Suppliervarchar50供货商3ListIDvarchar50否产品唯一标志4UserNamevarchar经办人精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 20 页 - - - - - - - - -
12、- 9IsTaxBit否False是否含税10RemarkVarchar50是备注11IsReturnInt否0区分标志0. 采购单1 退单, 2退库存销售单: SaleOrder5SalePriceMoney否售价6SaleNumberInt否1产品数量7 DateDatetime否8ClientVarchar50否客户9InMarkVarchar20是内部票号10RemarkVarchar50是备注11ScreenVarchar50是11IsReturnBit否False是否退单税票: Ticket序号列名数据类型长度小数位标识主键允许空默认值说明备注1SaleNumvarchar20否销
13、售单编号2ListIDVarchar50否唯一标志ProNameVarchar50否产品名称3UserNamevarchar8否经办人4SaleManVarchar8否业务员4 CostMoney是销售成本精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 20 页 - - - - - - - - - - 3 概念设计设计分 e-r 图由于表格过多只列举部分表格设计E-R图如下:职员 E-R图序号列名数据类型长度小数位标识主键允许空默认值说明备注1InMarkVarchar20否内部票号都放在一起
14、2TicketNumvarchar50否外部票号3OfficeVarchar50否开票单位4ContentVarchar50否内容5AmountMoney否每种产品金额6TaxAmountMoney否税收金额7TotalMoney否总金额精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 20 页 - - - - - - - - - - 周边设备 E-R销售单 E-R图分 E-R 图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - -
15、 - - - - -第 11 页,共 20 页 - - - - - - - - - - 分 E-R图设计完成的总e-r 图4 逻辑结构设计图向关系模式的转换精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 20 页 - - - - - - - - - - 部分关系模式如下:1、职员(职员ID,名字,密码,权限)2、销售单(销售单ID,产品数量,经办人,业务员,是否开票,内部票号,销售日期,客户,销售成品,销售单编号,备注,是否退单,售价)3、产品(产品ID,产品名称,单位,一级分类,二级分类,
16、三级分类,批次号,品牌,类型, CPU ,内存,显卡显示器大小,是否删除等)4、库存(产品ID,库存数量)数据模型的优化在概念设计的基础上,根据设计得到系统总的E-R 图,按照概念模式与关系表转化的一般规则, 结合实际的需要进行逻辑设计,ER图中的实体、 实体的属性和实体之间的联系转化为关系模式。最后生成的部分关系及关系表如下(同时附优化说明):1、 电脑(产品ID,批次号,品牌,型号,CPU ,内存,显卡,硬盘,主板,显示器大小,光驱,是否是笔记本,是否删除)2、单独显示器(产品ID,品牌,大小,是否删除)3、周边设备(产品ID,产品名称,单位,一级分类,二级分类,三级分类,是否删除)优化说
17、明:原来是所有产品对象放在一起,由于这些不同的产品属性差别太大,放在一起造成很大的数据冗余,而且易出错,所以把他们分为三大类,如上面,这样就解决了很多问题。用户子模式的设计在将概念模型转化为全局逻辑模型后, 根据用户对进销存管理系统的局部应用需求,以下设计用户子模式:考虑需求考虑以下的几个需求:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 20 页 - - - - - - - - - - 管理员有可能是业务员或是经办人可随时对任意产品进行开票的需求定义用户级别对用户职员的权限限制:用户职工
18、 : 用户登录系统,系统会判断其权限,他只能操作在他权限范围内的事务。制作查询子系统 :根据分析需求 , 我们设计了一个开票管理系统提供对销售产品的开票,查询税收相关情况。5 数据实施和维护建立数据库Create database SaleManage;建表要求:至少 5 张表1. 建用户表CREATETABLEUserInfo( UserID VARCHAR( 16) primarykey NOTNULL,NAMEVARCHAR( 8) NOTNULL,Pwd varchar ( 200) NOTNULL,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
19、名师归纳 - - - - - - - - - -第 14 页,共 20 页 - - - - - - - - - - Power varchar ( 8)NOTNULL,);2. 建维修表单CREATETABLERepairList( listIDVARCHAR( 50) PRIMARYKEY ,RepairNum VARCHAR( 20),ClientVARCHAR( 50),FaultPartVARCHAR( 50),FaultNum VARCHAR(20),FaultReasonVARCHAR( 50),RepairDate datetime ,ReCompanyVARCHAR( 50),
20、IsFinishBit ,FinishDateDATEtime,RepairCostMoney,Charge Money);3. 建库存CREATETABLEStorage( ListIDVARCHAR( 50) PRIMARYKEY ,Number INT);4. 建销售单CREATE TABLE SaleOrder( ID uniqueidentifiernot null,SaleNum varchar ( 20) NOTNULL,ListIDvarchar (50) NOTNULL,ProName varchar ( 50) NOTNULL,精品资料 - - - 欢迎下载 - - - -
21、 - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 20 页 - - - - - - - - - - UserName varchar ( 8) NOTNULL,SaleMan varchar ( 8) NOTNULL,Cost Money NULL,SalePriceMoney NOTNULL,SaleNumber IntNOTNULL,Date DatetimeNOTNULL,Clientvarchar (50) NOTNULL,InMarkvarchar (20) NULL,Remark varchar (50) NULL,Scree
22、nvarchar ( 50) NULL,IsReturnBitNOTNULL,)5. 建税票表CREATETABLETicket( InMarkVARCHAR( 20),TicketNum VARCHAR( 50),OfficeVARCHAR( 50),ContentVARCHAR( 50),Amount Money,TaxAmount Money,TotalMoney);建查询要求: 5 个查询以上1、查询指定日期的所有的销售单2、查询指定日期的所有的销售单精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第
23、 16 页,共 20 页 - - - - - - - - - - 3、查询指定日期的所有的销售单4、查询指定日期的所有的销售单5、查询指定日期的所有的销售单selectas saID,as 销售单编号 ,as 选择 ,as 产品名称 , isnull, )+isnull( +, )+ isnull, )+isnull( 批次 : +, )+ isnull( CPU:+, ) +isnull( 显卡 : +, )+ isnull( 显示器 : +, )+isnull( 显示器品牌: +, )+ isnull( 大小: +, )as 产品详细信息 ,as 售价 ,as 数量 , isnull, )
24、* isnull( , )as 金额 ,as 是否开票 ,as 业务员 ,as 客户,as 经办人 ,as 销售日期 ,as 开销 ,as 备注from SaleOrderas Sa leftjoinAroundDeviceas Ar on =leftjoinComputer as Comon =leftjoinScreen as Sc on =where Date BETWEEN 2011/12/14AND2011/12/14and= false orderbydesc建存储过程要求:三个以上1. 业务员的显示,如果是管理员,则显示为公司(不带参数)createprocpro_UserSho
25、wasselectcase when power=1111111 then 公司elseNameENDNamefrom UserInfoexec pro_UserShow2. 根据所选产品查看它最近三次售价(带参数)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 20 页 - - - - - - - - - - createprocedurepro_RecentPriceListIDvarchar ( 30), SellID varchar ( 20)ASselecttop 3 SalePr
26、icefromSaleOrderwhere ListID =ListIDand SaleNum != SellID orderby SaleNum desc两种调用示例:exec pro_RecentPriceB2011/12/14 12:46:573, S20exec pro_RecentPriceListID =B2011/12/14 12:46:573, SellID=S203. 查询库存(带输出参数):CREATEPROCpro_StoNumberListIDvarchar ( 30),NumberintoutputASSELECTNumber =NumberfromStoragewh
27、ereListID =ListID调用示例:declareListIDvarchar (30), NumberintselectListID =B2011/12/14 12:46:573EXECpro_StoNumber ListID,NumberOUTPUTSELECTNumber建触发器要求: INSERT,UPDATE,DELETE三种触发器任选精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 20 页 - - - - - - - - - - 插入销售单数据时,同时库存减去销售数量cre
28、atetriggerTr_SaleOrderon SaleOrderforinsertASDECLARE outNumberint , ListIDvarchar ( 30)SELECToutNumber =SaleNumber,ListID =ListIDFROMinsertedUPDATEStorageSET Number = Number -outNumberWHERE ListID=ListIDGO示例:insertintoSaleOrder( ID, SaleNum , ListID , ProName , SalePrice , SaleNumber, IsBilling, InM
29、ark , SaleMan, Client , UserName , Cost, Date, Remark)values ( 12e1c6b1-999b-41ee-a385-edec847dde4e, S20 , B2011/12/14 12:46:573, ProBook 4321s, 4600 , 1 , True, 001, 公司 , 上海直销商 , dahu , , 2011/12/14, )6 总结据库有保持数据的独立性,所谓数据独立,是指存储在数据库中的数据独立于处理数据的所有应用程序而存在。也就是说,数据是客观实体的符号化标识,它就是一个客观存在, 不会因为某一项应用的需要而改变
30、它的结构,因此是独立于应用而存在着的客观实体。而某一项应用是处理数据获取信息的过程,也就是应用程序,它只能根据客观存在着的数据来设计所需要的数据处理方法,而不会去改变客观存在着的数据本身数据库的传统定义是以一定的组织方式存储的一组相关数据的集合,主要表现为数据表的集合。语句按其功能可以分为如下3 大类(1)数据定义语句 DDL ( Data Definition Language)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 20 页 - - - - - - - - - - (2)数据操作
31、语句 DML (Data Manipulation Language);(3)数据控制语句 DCL (Data Control Language)。2. 学习心得我做的是住房公积金测算系统,刚刚拿到题目完全不知道从那下手,应该是第一次做的原因吧! 以前只知道上课听老师讲从来没做过,数据库我认为和生活或者以后的生活没什么联系,所以我平时也就随便听听,但题目一手就知道那是自己一个人的事了,应为题目几乎两三个人一题,就算是两三个人一题也得写的不同,所以刚开始两天我都没怎么做,为了看书上的内容。参考文献数据库系统概论 / 王珊萨师煊主编高等教育出版社,第四版数据库实用教程 / 郑阿奇主编 . 北京:电子工业出版社,高等学校计算机教材精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 20 页 - - - - - - - - - -