《数据库原理课程设计》课程设计



《《数据库原理课程设计》课程设计》由会员分享,可在线阅读,更多相关《《数据库原理课程设计》课程设计(23页珍藏版)》请在装配图网上搜索。
1、《数据库系统原理课程设计报告》 学生姓名: 系 别: 班 级: 专 业: 指导教师: 2011 年11月15 日 目录 1 引言 错误 !未定义书签。 开发环境和运行环境 2 需求分析 系统功能基本的要求 企业对系统实现的要求 系统功能的设计 数据字典 错误 !未定义书签。 错误 !未定义书签。 3 概念设计 . 设计分 E- R 图 设计完成的总 E-R图 4 逻辑结构设计 图向关系模式的转换 数据模型的优化 用户子模式的设计 . 5 数据实施和维护 建立数据库 建表 建查询 建存储过程 错误 !未定义书签。 错误 !
2、未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。 错误 !未定义书签。
3、 6 总结 参考文献 错误 !未定义书签。 错误 !未定义书签。 1 引言 问题描述 随着市场竞争的不断加剧,作为中小企业也迫切需要规范管理。 然而目前中小型企业在具体的业务流程处理过程中仍然使用手工操作的方式来实施, 由于商品繁多、业务零杂,各类采购、销售单据数量非常多,人工处理比较困难,并且准确 性难以确保。所以这种现状不仅费时、费力、效率低下,而且无法达到理想的效果。 因此,中小企业实施规范管理势在必行,如何实现内部流程管理和外部市场竞争的管 理, 无疑是企业经营最核心的问题。 建立一个有效的商务进销存管理系统, 可
4、以使企业拥有 比竞争对手更严谨的业务管理和控制,可以比竞争对手更快速地获得效益。 开发环境和运行环境 企业进销存管理系统运用了当前流行的 SQLSERVER2005 C# VS2010等运行和开发的。 1 .库、基本表的建立和修改:在 SQL-SERVE即境下用 CREATE_ABLE建立库以及库中 基本表。 2 .数据加载: 用手工录入或导入等方法实现基本表中的数据加载。 3 .单表查询以及多表查询:在建立的基本表中使用 select 基本格式和聚集函数;设 计合适的视图,实现多表间查询。 4.触发器:设计触发器,可实现表间关联字段修改时的完整性等问题。 5.存储器:设计存
5、储过程,并用语句调用。 6.用 SQL SERVER 2005/2008、 C#、 VisualStudio2010 等开发环境设计、实现系统主 要功能。 2 需求分析 系统功能基本的要求 试设计一个企业进销存管理系统,便于企业对产品进行进销业务流程规划化管理。 企业对系统实现的要求 要求实现的主要模块:( 1)用户管理 ( 2 )数据库维护 ( 3)产品入库管理 ( 4)产 品出库管理 ( 5)库存管理 ( 6)维修管理 ( 7)个人信息 ( 8)基础数据维护。 1. 信息要求 : 信息的录入是通过产品入库登记,基础数据维护添加新的产品,出库时输入销售记录 等过程进行数
6、据信息的录入与查询。 2. 处理要求: 建立一个有效的商务进销存管理系统,以解决商品繁多、业务零杂,各类采购、销售 单据数量非常多,人工处理困难,准确性难以确保等众多问题。 3. 安全性与完整性要求: ( 1)安全性要求 a. 系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别 和内容; b. 系统 实现:数据备份、数据恢复,以防止重大失误、或是系统故障引起的损失; ( 2)完整性要求 a. 各种信息记录的完整性,信息记录内容不能为空; b. 各种数据间相互的联系的正确性; c. 相同的数据在不同记录中的一致性。 系统功能的设计 系统实现(1)
7、用户管理 (2)数据库维护 (3)产品入库管理 (4)产品出库管理 (5) 库存管理 (6)维修管理 (7)个人信息 (8)基础数据维护。 数据流图 I 采购 + 速史 > /存 < 出冰 数据字典 部分重要表: 表名:UserInfo 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 备注 1 UserID varchar 16 6 是 是 否 用户名 登陆用 2 Name varchar 8 4 否 姓名 真实姓名 3 Pwd varchar 200
8、 0 否 密码 4 Power varchar 8 0 否 权限 固定位是 1有权限, 0无此权 限 表名:Storage 序号 列名 数据类 型 长度 小数 位 标识 主键 允许 空 默认 值 说明 备注 1 ListID varchar 50 是 是 否 Lis 唯一标 志 2 Number Int 否 0 表名:Computer 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 备注 1 Lis
9、tID varchar 50 是 是 否 唯一标志 2 LotNum varchar 3 是 否 否 批次号 3 Brand Varchar 50 否 品牌 4 CPU Varchar 50 否 5 Memory varchar 50 否 6 VideoCard Varchar 50 否 显卡 7 HardDisk Varchar 50 否 8 MainBoard Varc
10、har 50 否 主板 9 RwDrive Varchar 50 否 光驱 10 Remark Varchar 50 否 备注 11 Screen Varchar 50 是 12 Unit Varchar 20 否 单位 13 IsDelete Bit 否 False 逻辑删 除批次 号 True未删 除 表名:AroundDevice 序号 列名 数据类型 长度 小数位 标识 主键
11、允许空 默 认 值 说明 备注 1 ListID varchar 50 是 是 否 唯一标志 2 Typel varchar 50 否 Type1 类型或名 称 3 Type2 varchar 50 是 Type2 类型或名 称 4 Type3 varchar 50 是 Type3 类型或名 称 5 ProductName 50 否 产品名称 6 Unit Varchar 20 否 单位 7
12、IsDelete Bit 逻辑删 除 表名:PurchaseOrder 序号 列名 数据类型 长度 小 数 位 标 识 主 键 允许 空 默 认 值 说明 备注 1 PurchaseNum varchar 20 否 采购单编 号 2 Supplier varchar 50 供货商 3 ListID varchar 50 否 产品唯一 标志 4 UserName varchar 经办人
13、 5 Price Money 否 单价 6 Number Int 否 产品数量 7 Date Datetimes 否 8 IsBilling Bit 否 Fal se 是否开票 9 IsTax Bit 否 Fal se 是否含税 10 Remark Varchar 50 是 备注 11 IsReturn Int 否 0 区分标志 0.采购单 1退单,2
14、退库存 销售单:SaleOrder 序号 列名 数据类型 长度 小 数 位 标 识 主 键 允许 空 默认 值 说明 备注 1 SaleNum varchar 20 否 销售单编 号 2 ListID Varchar 50 否 唯一标志 ProName Varchar 50 否 产品名称 3 UserName varchar 8 否 经办人 4 SaleMan Varchar 8 否 业务员 4
15、 Cost Money 是 销售成本 5 SalePrice Money 否 售价 6 SaleNumber Int 否 1 产品数量 7 Date Datetime 否 8 Client Varchar 50 否 客户 9 InMark Varchar 20 是 内部票号 10 Remark Varchar 50 是 备注 11 Screen Varchar
16、 50 是 11 IsReturn Bit 否 False 是否退单 税票:Ticket 序号 列名 数据类型 长度 小数 位 标识 主键 允许 空 默认 值 说明 备注 1 InMark Varchar 20 否 内部票号都放 在一起 2 TicketNum varchar 50 否 外部票号 3 Office Varchar 50 否 开票单位 4 Content Varchar 50
17、 否 内容 5 Amount Money 否 每种产品金额 6 TaxAmount Money 否 税收金额 7 Total Money 否 总金额 3概念设计 设计分e-r图 由于表格过多只列举部分表格设计 E-R图如下: 销售单E-R图 分E-R图 分E-R图 设计完成的总e-r图 4逻辑结构设计 图向关系模式的转换
18、 部分关系模式如下: 1、职员(职员ID,名字,密码,权限) 2、销售单(销售单ID ,产品数量,经办人,业务员,是否开票,内部票号,销售日期,客 户,销售成品,销售单编号,备注,是否退单,售价) 3、产品(产品ID ,产品名称,单位,一级分类,二级分类,三级分类,批次号,品牌,类 型,CPU内存,显卡• • ・显示器大小,是否删除等) 4、库存(产品ID,库存数量) 数据模型的优化 在概念设计的基础上,根据设计得到系统总的 E-R图,按照概念模
19、式与关系表转化 的一般规则,结合实际的需要进行逻辑设计, E— R图中的实体、实体的属性和实体之间 的联系转化为关系模式。最后生成的部分关系及关系表如下(同时附优化说明): 1、电脑(产品ID,批次号,品牌,型号, CPU内存,显卡,硬盘,主板,显示器大 小,光驱,是否是笔记本,是否删除) 2、单独显示器(产品ID,品牌,大小,是否删除) 3、周边设备(产品ID ,产品名称,单位,一级分类,二级分类,三级分类,是否删除) 优化说明:原来是所有产品对象放在一起,由于这些不同的产品属性差别太大,放 在一起造成很大的数据冗余,而且易出错,所以把他们分为三大类,如上面,这样就解 决了很多问
20、题。 用户子模式的设计 在将概念模型转化为全局逻辑模型后,根据用户对进销存管理系统的局部应用需求 以下设计用户子模式: 考虑需求 考虑以下的几个需求: ⑴管理员有可能是业务员或是经办人 ⑵可随时对任意产品进行开票的需求 定义用户级别 对用户职员的权限限制: ⑴ 用户职工:用户登录系统,系统会判断其权限,他只能操作在他权限范围内的事 务。 制作查询子系统: 根据分析需求,我们设计了一个开票管理系统 提供对销售产品的开票,查询税收相关情况。 5数据实施和维护 建立数据库 Create database SaleManage; 建表 要求:至少5张表 1 .建用户
21、表 CREATETABLE UserInfo (UserID VARCHAR6) primary key NOTNULL, NAMEVARCHAR8) NOTNULL, Power varchar ( 8) NOTNULL, ); 2. 建维修表单 CREATETABLE RepairList ( listID VARCHA(R50) PRIMARYKEY, RepairNum VARCHA(R20), Client VARCHA(R50), FaultPart VARCHA(R50), FaultNum VARCHA(R20), FaultReason VARCHA(
22、R50), RepairDate datetime , ReCompanyVARCHA(R50), IsFinish Bit , FinishDate DATEtime, RepairCost Money, Charge Money ); 3. 建库存 CREATETABLE Storage ( ListID VARCHA(R50) PRIMARYKEY, Number INT ); 4. 建销售单 CREATE TABLE SaleOrder ( ID uniqueidentifier not null, SaleNum varchar ( 20) NOT N
23、ULL, ListID varchar (50) NOTNULL, ProName varchar ( 50) NOTNULL, UserName varchar ( 8) NOT NULL, SaleMan varchar ( 8) NOTNULL, Cost Money NULL, SalePrice Money NOTNULL, SaleNumber Int NOT NULL, Date Datetime NOTNULL, Client varchar (50) NOTNULL, InMark varchar (20) NULL, Remark varcha
24、r (50) NULL, Screen varchar ( 50) NULL, IsReturn Bit NOT NULL, ) 5. 建税票表 CREATETABLE Ticket ( InMark VARCHA(R20), TicketNum VARCHA(R50), Office VARCHA(R50), Content VARCHA(R50), Amount Money, TaxAmount Money, Total Money ); …… 建查询 要求: 5 个查询以上 1、查询指定日期的所有的销售单 2、查询指定日期的所有的销售单 3、查询指定日
25、期的所有的销售单 4、查询指定日期的所有的销售单 5、查询指定日期的所有的销售单 select as saID, as 销售单编号 , as 选择 , as 产品名称 , isnull , '' )+ isnull ( ' ' +,'' )+ isnull , '' )+ isnull ( ' 批次 :' +, '' )+ isnull ( ' CPU:' +, '' ) + isnull ( ' 显卡 :' +, '' )+
26、 isnull ( ' 显示器 :' +, '' )+ isnull ( ' 显示器品牌: ' +, '' )+ isnull ( ' 大小: ' +, '' ) as 产品详细信息 , as 售价 , as 数量 , isnull , '' )* isnull ( , '' ) as 金额 , as 是否开票 , as 业务员 , as 客户 , as 经办人 , as 销售日期 , as 开销 , as 备注 from SaleOrder as Sa l
27、eft join AroundDevice as Ar on = left join Computer as Comon = left join Screen as Sc on = where Date BETWEEN'2011/12/14' AND'2011/12/14' and = 'false ' order by desc 建存储过程 要求:三个以上 1. 业务员的显示,如果是管理员,则显示为公司(不带参数) create proc pro_UserShow as select case when power='
28、1111111' then ' 公司 ' else NameENDNamefrom UserInfo exec pro_UserShow 2. 根据所选产品查看它最近三次售价(带参数) create procedure pro_RecentPrice @ListID varchar ( 30), @SellID varchar ( 20) AS select top 3 SalePrice from SaleOrder where ListID =@ListID and SaleNum!= @SellID order by SaleNum desc 两种调
29、用示例: exec pro_RecentPrice 'B2011/12/14 12:46:573' , 'S20' exec pro_RecentPrice @ListID ='B2011/12/14 12:46:573' , @SellID ='S20' 3. 查询库存(带输出参数): CREATEPROCpro_StoNumber @ListID varchar ( 30), @Numberint output AS SELECT@Numbe=rNumber from Storage where List
30、ID =@ListID 调用示例: declare @ListID varchar (30), @Numberint select @ListID ='B2011/12/14 12:46:573' EXECpro_StoNumber @ListID , @NumberOUTPUT SELECT@Number 建触发器 要求:INSERT,UPDATE,DELE-ffi#触发器任选 插入销售单数据时,同时库存减去销售数量 create trigger Tr_SaleOrder on SaleOrder for insert AS DECLARE @out
31、Number int , @ListID varchar ( 30) SELECT@outNumbe=rSaleNumber, @ListID =ListID FROMinserted UPDATEStorage SET Number= Number - @outNumber WHEREListID =@ListID GO 示例: insert into SaleOrder ( ID, SaleNum, ListID , ProName, SalePrice , SaleNumber, IsBilling , InMark , SaleMan, Cl ient , UserNa
32、me, Cost, Date , Remark) values ('12e1c6b1-999b-41ee-a385-edec847dde4e' , 'S20' , 'B2011/12/14 12:46:573' , 'ProBook 4321s' , '4600' , '1' ,'True' , '001' , ' 公司 ' , ' 上海直销商 ' , 'dahu' , '' , '2011
33、/12/14' , '' ) 6 总结 据库有保持数据的独立性,所谓数据独立,是指存储在数据库中的数据独立于处 理数据的所有应用程序而存在。也就是说,数据是客观实体的符号化标识,它就是一个 客观存在, 不会因为某一项应用的需要而改变它的结构, 因此是独立于应用而存在着的 客观实体。而某一项应用是处理数据获取信息的过程,也就是应用程序,它只能根据客 观存在着的数据来设计所需要的数据处理方法, 而不会去改变客观存在着的数据本身数 据库的传统定义是以一定的组织方式存储的一组相关数据的集合, 主要表现为数据表的 集合。 语句按其功能可以分为如下 3 大类 1
34、)数据定义语句 DDL ( Data Definition Language ) ( 2)数据操作语句 DML ( Data Manipulation Language ); ( 3)数据控制语句 DCL ( Data Control Language )。。 2. 学习心得 我做的是住房公积金测算系统,刚刚拿到题目完全不知道从那下手,应该是第一次 做的原因吧! 以前只知道上课听老师讲从来没做过,数据库我认为和生活或者以后的生 活没什么联系,所以我平时也就随便听听,但题目一手就知道那是自己一个人的事了, 应为题目几乎两三个人一题, 就算是两三个人一题也得写的不同,所以刚开始两天我都 没怎么做,为了看书上的内容。 参考文献 数据库系统概论 / 王珊 萨师煊 主编——高等教育出版社,第四版 数据库实用教程 / 郑阿奇主编 . —北京:电子工业出版社,高等学校计算机教材
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。