《数据库原理课程设计》课程设计(总15页)

上传人:29 文档编号:33773528 上传时间:2021-10-19 格式:DOC 页数:15 大小:250.50KB
返回 下载 相关 举报
《数据库原理课程设计》课程设计(总15页)_第1页
第1页 / 共15页
《数据库原理课程设计》课程设计(总15页)_第2页
第2页 / 共15页
《数据库原理课程设计》课程设计(总15页)_第3页
第3页 / 共15页
点击查看更多>>
资源描述
I 数据库系统原理课程设计报告数据库系统原理课程设计报告学生姓名:学生姓名: 系系 别:别: 班班 级:级: 专专 业:业: 指导教师:指导教师: 2011 年年 11 月月 15 日日I目录目录1 引言引言.11.1 问题描述问题描述 .11.2 开发环境和运行环境开发环境和运行环境.22 需求分析需求分析.22.1 系统功能基本的要求系统功能基本的要求.22.2 企业对系企业对系统统实现的要求实现的要求.22.3 系统功能的设计系统功能的设计.32.4 数据字典数据字典.53 概念设计概念设计.63.1 设计分设计分E-R图图 .63.2 设计完成的设计完成的总总E-R图图 .94 逻辑结构设计逻辑结构设计.94.1 图向关系模式的转换图向关系模式的转换.94.2 数据模型的优化数据模型的优化.104.3 用户子模式的设计用户子模式的设计.105 数据实施和维护数据实施和维护.115.1 建立数据库建立数据库.115.2 建表建表.115.3 建查询建查询.115.4 建存储过程建存储过程.126 总结总结.13参考文献参考文献.1411 引言引言1.1 问题描述问题描述随着市场竞争的不断加剧,作为中小企业也迫切需要规范管理。然而目前中小型企业在具体的业务流程处理过程中仍然使用手工操作的方式来实施,由于商品繁多、业务零杂,各类采购、销售单据数量非常多,人工处理比较困难,并且准确性难以确保。所以这种现状不仅费时、费力、效率低下,而且无法达到理想的效果。 因此,中小企业实施规范管理势在必行,如何实现内部流程管理和外部市场竞争的管理,无疑是企业经营最核心的问题。建立一个有效的商务进销存管理系统,可以使企业拥有比竞争对手更严谨的业务管理和控制,可以比竞争对手更快速地获得效益。1.2 开发环境和运行环境开发环境和运行环境企业进销存管理系统运用了当前流行的 SQL SERVER2005、C#、VS2010 等运行和开发的。1库、基本表的建立和修改:在 SQL-SERVER 环境下用 CREATE TABLE 建立库以及库中基本表。2数据加载: 用手工录入或导入等方法实现基本表中的数据加载。3单表查询以及多表查询:在建立的基本表中使用 select 基本格式和聚集函数;设计合适的视图,实现多表间查询。4触发器:设计触发器,可实现表间关联字段修改时的完整性等问题。5存储器:设计存储过程,并用语句调用。6用 SQL SERVER 2005/2008、C#、VisualStudio2010 等开发环境设计、实现系统主要功能。2 需求分析需求分析22.1 系统功能基本的要求系统功能基本的要求试设计一个企业进销存管理系统,便于企业对产品进行进销业务流程规划化管理。2.2 企业对系统实现的要求企业对系统实现的要求要求实现的主要模块:(1)用户管理 (2)数据库维护 (3)产品入库管理 (4)产品出库管理 (5)库存管理 (6)维修管理 (7)个人信息 (8)基础数据维护。1.信息要求信息要求:信息的录入是通过产品入库登记,基础数据维护添加新的产品,出库时输入销售记录等过程进行数据信息的录入与查询。 2.处理要求:处理要求:建立一个有效的商务进销存管理系统,以解决商品繁多、业务零杂,各类采购、销售单据数量非常多,人工处理困难,准确性难以确保等众多问题。3.安全性与完整性要求:安全性与完整性要求:(1)安全性要求 a.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;b.系统实现:数据备份、数据恢复,以防止重大失误、或是系统故障引起的损失; (2)完整性要求a.各种信息记录的完整性,信息记录内容不能为空;b.各种数据间相互的联系的正确性;c.相同的数据在不同记录中的一致性。2.3 系统功能的设计系统功能的设计系统实现(1)用户管理 (2)数据库维护 (3)产品入库管理 (4)产品出库管理 (5)库存管理 (6)维修管理 (7)个人信息 (8)基础数据维护。数据流图数据流图3 2.4 数据字典数据字典部分重要表:表名:表名:UserInfoUserInfo序号序号列名列名数据类型数据类型长度长度小数位小数位标识标识主键主键允许空允许空默认值默认值说明说明备注备注1UserIDUserIDvarchar166是是否用户名登陆用2Namevarchar84否姓名真实姓名3Pwdvarchar2000否密码4Powervarchar80否权限固定位是1 有权限,0 无此权限 表名:表名:StorageStorage序号序号列名列名数据类数据类型型长度长度小数小数位位标识标识主键主键允许允许空空默认默认值值说明说明备注备注1ListIDvarchar50是是否Lis唯一标志2NumberInt 否0 表名:Computer序号序号列名列名数据类型数据类型长度长度小数位小数位标识标识主键主键允许空允许空默认值默认值说明说明备注备注1ListIDvarchar50是是否唯一标志2LotNumvarchar3是否否批次号3BrandVarchar50否品牌4CPUVarchar50否45Memoryvarchar50否6VideoCardVarchar50否显卡7HardDiskVarchar50否8MainBoardVarchar50否主板9RwDriveVarchar50否光驱10RemarkVarchar50否备注11ScreenVarchar50是 12UnitVarchar20否单位13IsDeleteBit否False逻辑删除批次号True 未删除表名:AroundDevice 表名:PurchaseOrder5PriceMoney否单价6NumberInt否产品数量7 DateDatetimes否序号序号列名列名数据类型数据类型长度长度小数位小数位标识标识主键主键允许空允许空默默认认值值说明说明备注备注1ListIDvarchar50是是否唯一标志2Type1varchar50否Type1类型或名称3Type2varchar50是Type2类型或名称4Type3varchar50是Type3类型或名称 5ProductName50否产品名称6UnitVarchar 20否单位7IsDeleteBit逻辑删除序号序号列名列名数据类型数据类型长度长度小小数数位位标标识识主主键键允许允许空空默默认认值值说明说明备注备注1PurchaseNumvarchar20否采购单编号2Suppliervarchar50供货商3ListIDvarchar50 否产品唯一标志4UserNamevarchar经办人58IsBillingBit否False是否开票9IsTaxBit否False是否含税10RemarkVarchar50是备注11IsReturnInt否0 区分标志0.采购单1 退单,2 退库存 销售单:SaleOrder5SalePriceMoney否售价6SaleNumberInt否1产品数量7 DateDatetime否8ClientVarchar50 否客户9InMarkVarchar20是内部票号10RemarkVarchar50是备注11ScreenVarchar50是11IsReturnBit否False是否退单 税票:Ticket序号序号列名列名数据类型数据类型长度长度小小数数位位标标识识主主键键允许允许空空默认默认值值说明说明备注备注1SaleNumvarchar20否销售单编号2ListIDVarchar50否唯一标志ProNameVarchar50否产品名称3UserNamevarchar8否经办人4SaleManVarchar8否业务员4 CostMoney是销售成本序号序号列名列名数据类型数据类型长度长度小数小数位位标识标识主键主键允许允许空空默认默认值值说明说明备注备注1InMarkVarchar20否内部票号都放在一起2TicketNumvarchar50 否外部票号3OfficeVarchar50否开票单位4ContentVarchar50否内容5AmountMoney否每种产品金额6TaxAmountMoney否税收金额7TotalMoney否总金额6 3 概念设计概念设计3.1 设计分设计分 e-r 图图 由于表格过多只列举部分表格设计 E-R 图如下:职员 E-R 图 周边设备 E-R 7 销售单 E-R 图 分 E-R 图 分 E-R 图3.2 设计完成的总设计完成的总 e-r 图图8 4 逻辑结构设计逻辑结构设计4.1 图向关系模式的转换图向关系模式的转换部分关系模式如下:1、职员(职员 ID,名字,密码,权限)2、销售单(销售单 ID,产品数量,经办人,业务员,是否开票,内部票号,销售日期,客户,销售成品,销售单编号,备注,是否退单,售价)3、产品(产品 ID,产品名称,单位,一级分类,二级分类,三级分类,批次号,品牌,类型,CPU,内存 ,显卡显示器大小,是否删除等) 4、库存(产品 ID,库存数量)4.2 数据模型的优化数据模型的优化在概念设计的基础上,根据设计得到系统总的 E-R 图,按照概念模式与关系表转化的一般规则,结合实际的需要进行逻辑设计,ER 图中的实体、实体的属性和实体之间的联系转化为关系模式。最后生成的部分关系及关系表如下(同时附优化说明):1、 电脑(产品 ID,批次号,品牌,型号,CPU,内存,显卡,硬盘,主板,显示器大小,光驱,是否是笔记本,是否删除)92、单独显示器(产品 ID,品牌,大小,是否删除)3、周边设备(产品 ID,产品名称,单位,一级分类,二级分类,三级分类,是否删除)优化说明:原来是所有产品对象放在一起,由于这些不同的产品属性差别太大,放在一起造成很大的数据冗余,而且易出错,所以把他们分为三大类,如上面,这样就解决了很多问题。 4.3 用户子模式的设计用户子模式的设计在将概念模型转化为全局逻辑模型后,根据用户对进销存管理系统的局部应用需求,以下设计用户子模式:考虑需求考虑需求考虑以下的几个需求:1管理员有可能是业务员或是经办人2可随时对任意产品进行开票的需求定义用户级别定义用户级别对用户职员的权限限制:1用户职工:用户登录系统,系统会判断其权限,他只能操作在他权限范围内的事务。制作查询子系统制作查询子系统:根据分析需求,我们设计了一个开票管理系统提供对销售产品的开票,查询税收相关情况。5 数据实施和维护数据实施和维护5.1 建立数据库建立数据库Create database SaleManage;5.2 建表建表要求:至少 5 张表1.建用户表10CREATE TABLE UserInfo (UserID VARCHAR(16) primary key NOT NULL,NAME VARCHAR(8) NOT NULL,Pwd varchar (200) NOT NULL,Power varchar(8) NOT NULL,);2.建维修表单CREATE TABLE RepairList (listID VARCHAR(50) PRIMARY KEY, RepairNum VARCHAR(20), Client VARCHAR(50), FaultPart VARCHAR(50), FaultNum VARCHAR(20), FaultReason VARCHAR(50), RepairDatedatetime, ReCompany VARCHAR(50), IsFinish Bit, FinishDate DATEtime, RepairCost Money, Charge Money);3.建库存CREATE TABLE Storage (ListID VARCHAR(50) PRIMARY KEY, Number INT);4.建销售单CREATE TABLE SaleOrder (ID uniqueidentifier not null,SaleNum varchar(20) NOT NULL,ListID varchar(50) NOT NULL,ProName varchar(50) NOT NULL,UserName varchar(8) NOT NULL,SaleMan varchar(8) NOT NULL,Cost Money NULL,SalePrice Money NOT NULL,SaleNumber Int NOT NULL,Date Datetime NOT NULL, Client varchar(50) NOT NULL,InMark varchar(20) NULL,Remark varchar(50) NULL,Screen varchar(50) NULL,IsReturn Bit NOT NULL,)5.建税票表CREATE TABLE Ticket (InMark VARCHAR(20), TicketNum VARCHAR(50), Office VARCHAR(50), Content VARCHAR(50), Amount Money, 11 TaxAmount Money, Total Money); 5.3 建查询建查询要求:5 个查询以上 1、查询指定日期的所有的销售单2、查询指定日期的所有的销售单3、查询指定日期的所有的销售单4、查询指定日期的所有的销售单5、查询指定日期的所有的销售单select Sa.ID as saID,Sa.SaleNum as 销售单编号销售单编号,Sa.IsBilling as 选选择择,Sa.ProName as 产品名称产品名称,isnull(Ar.Type1,)+isnull( +Ar.Type2,)+isnull(Com.Brand,)+isnull( 批次批次:+Com.LotNum,)+isnull( CPU:+Com.CPU,) +isnull( 显卡显卡:+Com.VideoCard,)+isnull( 显示器显示器:+Com.Screen,)+ isnull( 显示器品牌:显示器品牌:+Sc.Brand,)+isnull( 大小:大小:+Sc.Size,) as 产品详细信息产品详细信息, Sa.SalePrice as 售价售价,Sa.SaleNumber as 数量数量,isnull(Sa.SalePrice,)*isnull( Sa.SaleNumber,) as 金额金额,Sa.IsBilling as 是否开票是否开票, Sa.SaleMan as 业务员业务员,Sa.Client as 客户客户, Sa.UserName as 经办人经办人,Sa.Date as 销售日期销售日期, Sa.Cost as 开销开销,Sa.Remark as 备注备注 from SaleOrder as Sa left join AroundDevice as Ar on Sa.ListID=Ar.ListID left join Computer as Com on Sa.ListID=Com.ListID left join Screen as Sc on Sa.ListID=Sc.ListID where Date BETWEEN 2011/12/14 AND 2011/12/14 and Sa.IsReturn= false order by Sa.SaleNum desc 5.4 建存储过程建存储过程要求:三个以上1.业务员的显示,如果是管理员,则显示为公司(不带参数)create proc pro_UserShowasselect case when power=1111111then 公司公司 else Name END Name from UserInfo exec pro_UserShow 122.根据所选产品查看它最近三次售价(带参数)create procedure pro_RecentPrice ListID varchar(30),SellID varchar(20)ASselect top 3 SalePrice from SaleOrder where ListID=ListID and SaleNum!=SellID order by SaleNum desc 两种调用示例:两种调用示例:exec pro_RecentPrice B2011/12/14 12:46:573,S20111214205416exec pro_RecentPrice ListID=B2011/12/14 12:46:573,SellID=S201112142054163.查询库存(带输出参数):CREATE PROC pro_StoNumber ListID varchar(30), Number int outputASSELECT Number=Numberfrom Storagewhere ListID=ListID调用示例:declare ListID varchar(30),Number intselect ListID=B2011/12/14 12:46:573 EXEC pro_StoNumber ListID , Number OUTPUT SELECT Number5.4建触发器建触发器要求:INSERT,UPDATE,DELETE 三种触发器任选插入销售单数据时,同时库存减去销售数量create trigger Tr_SaleOrder on SaleOrder for insert AS DECLARE outNumber int, ListID varchar(30) SELECT outNumber=SaleNumber, ListID=ListID FROM inserted UPDATE Storage SET Number= Number -outNumber WHERE ListID=ListID GO 示例:insert into SaleOrder (ID,SaleNum,ListID,ProName,SalePrice,SaleNumber,IsBilling,InMark,SaleMan,Client,UserName,Cost,Date,Remark) 13 values(12e1c6b1-999b-41ee-a385-edec847dde4e,S20111214163521,B2011/12/14 12:46:573,ProBook 4321s,4600,1,True,20111214001,公公司司,上海直销商上海直销商,dahu,2011/12/14,)6 总结总结据库有保持数据的独立性,所谓数据独立,是指存储在数据库中的数据独立于处理数据的所有应用程序而存在。也就是说,数据是客观实体的符号化标识,它就是一个客观存在,不会因为某一项应用的需要而改变它的结构,因此是独立于应用而存在着的客观实体。而某一项应用是处理数据获取信息的过程,也就是应用程序,它只能根据客观存在着的数据来设计所需要的数据处理方法,而不会去改变客观存在着的数据本身数据库的传统定义是以一定的组织方式存储的一组相关数据的集合,主要表现为数据表的集合。1.SQL 语句按其功能可以分为如下语句按其功能可以分为如下 3 大类大类(1)数据定义语句 DDL ( Data Definition Language)(2)数据操作语句 DML (Data Manipulation Language);(3)数据控制语句 DCL (Data Control Language)。2.学习心得学习心得我做的是住房公积金测算系统,刚刚拿到题目完全不知道从那下手,应该是第一次做的原因吧!以前只知道上课听老师讲从来没做过,数据库我认为和生活或者以后的生活没什么联系,所以我平时也就随便听听,但题目一手就知道那是自己一个人的事了,应为题目几乎两三个人一题,就算是两三个人一题也得写的不同,所以刚开始两天我都没怎么做,为了看书上的内容。 参考文献参考文献数据库系统概论/王珊 萨师煊 主编高等教育出版社,2006.5 第四版数据库实用教程/郑阿奇主编.北京:电子工业出版社,2009.1 高等学校计算机教材
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!