数据库课设(货存管理系统)
- 格式:docx
- 大小:115.24 KB
- 文档页数:10
仓库管理系统数据库设计与实现一.实验时间、地点时间:第十三周(11月21日——25日)地点:软件楼305二.实验目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。
三、课程设计要求:1.对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)四.仓库管理系统实验要求描述:设计一个仓库管理系统,实现下列功能:1.零件信息登记(包括种类,名称和库存数量等信息);2.零件进库登记(包括种类,名称和库存数量等信息);3.零件出库登记(包括种类,名称和库存数量等信息);五.实现思路1.关系模式零件信息表(零件编号,零件名,单价,数量,零件类型号,生产厂家号)生产商情况表(生产厂家号,生产厂家名,生产厂家地址,生产厂家电话)入库登记表(零件编号,零件名,入库数量,零件类型,生产厂家号,入库时间)出库登记表(零件编号,零件名,出库数量,出库时间)零件类型信息表(零件类型号,类型)2.设计思路仓库管理系统设计了五个二维表,他们的设计表如下(1)零件信息设计表(2)生产商情况设计表(3)入库登记设计表(4)出库登记设计表(5)零件类型信息设计表3.仓库管理系统全局E—R图零件信息重量单价数量零件编号 零件类型号颜色 出库入库入库登记零件编号零件名入库数量 入库时间出库时间颜色生产商号零件类型生产 商号零件名 零件编号零件名出库 数量出库 性质提货人员出 库 登 记六.实现过程create database 仓库管理系统 on (name=仓库_dat,Filename='e:\microsoft SQL Server\MSSQL\Date\仓库.mdf', Size=10, Maxsize=150 )Log on (name=仓库_log,Filename='e:\microsoft SQL Server\MSSQL\Date\仓库.ldf', Size=10, Maxsize=80 )create table 零件信息表(零件编号 char(10) primary key, 零件名 char(10) not null,单价 money constraint 单价_Chk check(单价 between 80 and 660), 数量 int,零件类型号 char(10),生产商情况 生产商生产商名 生产商号零件类型生产厂家电用途 类型零件类型零件信息卖 出 类型生产厂家号 char(6));select * from 零件信息设计表/***创建并查询零件信息表索引***/create unique index 零件信息_index on 零件信息表(零件编号) exec Sp_helpindex 零件信息表create table 生产厂家信息表(生产厂家号 char(6) primary key ,生产厂家名 varchar(16) not null,生产厂家地址 varchar(40),生产厂家电话 char(12));select * from 生产厂家信息表/***创建并查询生产厂家信息索引***/create index 生产厂家信息_index on 生产厂家信息表(生产厂家号)exec Sp_helpindex 零件信息表create table 零件类型信息表(零件类型号 char(10) primary key,类型 char(10);select * from 零件信息设计类型表/***创建并查询零件类型信息索引***/create index 零件类型信息表_index on 零件类型信息表(零件类型号) exec Sp_helpindex 零件类型信息表create table 入库登记表(零件编号 char(10),零件名 char(10) not null,入库数量 int,零件类型 char(8),生产厂家号 char(6),入库时间 datetime);select * from 入库登记设计表/***创建并查询入库登记表索引***/create index 入库登记表_index on 入库登记表(零件编号)exec Sp_helpindex 入库登记表create table 出库登记表(零件编号 char(10),零件名 char(10),出库数量 int,出库时间 datetime);select * from 出库登记设计表/***创建出库登记表索引***/create index 入库登记表_index1 on 出库登记表(零件编号)create index 入库登记表_index2 on 出库登记表(出库数量)create index 入库登记表_index3 on 出库登记表(出库时间)/***查询零件名为“硬盘”的信息***/select 零件编号,零件名,单价,数量,生产厂家信息表.生产厂家名,生产厂家地址,生产厂家电话,零件信息类型设计表.类型from 零件信息表,生产厂家信息表,零件信息类型设计表where(零件信息设计表.零件类型号=零件信息类型设计表.零件类型号and 生产厂家信息设计表.生产厂家号=零件信息设计表.生产厂家号and 零件名='硬盘')查询结果为:/***创建零件信息表视图***/create view v_lj as select * from 零件信息表/***创建生产厂家信息表视图***/create view v_sc as select * from 生产厂家信息表create view select_零件信息表 asselect 零件信息设计表.零件编号,零件信息设计表.零件名,零件信息设计表.零件类型号 from 零件信息设计表inner join 零件信息类型设计表 on 零件信息设计表.零件类型号 = 零件类型信息设计表.零件类型号/***创建数量在200—900之间的规则,并绑定规则***/create rule 数量_ruleas @数量>=200 and @数量<=900exec sp_helptext'数量_rule'exec sp_bindrule'数量_rule','零件信息表.数量'exec sp_unbindrule'零件信息表.数量'drop rule 数量_rule/***创建向表中添加信息的存储过程***/create procedure insert_零件信息( @零件编号 char(10),@零件名 char(10),@单价 money,@数量 int,@零件类型号 char(10),@生产厂家号 char(6))asinsert into 零件信息表 values(@零件编号,@零件名,@单价,@数量,@零件类型号,@生产厂家号)exec insert_零件信息 @零件编号='001',@零件名='鼠标',@单价=80,@数量='1000',@零件类型号='L1',@生产厂家号='01'select * from 零件信息表/***删除存储过程***/drop procedure insert_零件信息/***创建触发器并向利用触发器向表内添加信息***/create trigger ChangDisplayon 零件信息表for insertasselect * from 零件信息表insert into 零件信息表 values('002','数据线',80,'800','L2','06')七.实验总结本系统是一个面向小型企业,具有一定实用性的数据库仓库管理系统。
数据库课程设计任务书计算机科学与技术系《数据库系统》课程设计项目《数据库系统》课程设计任务书设计题目:物资管理系统背景资料:1)一个存放商品的仓库,每天都有商品出库和入库。
2)种商品都有名称、生产厂家、型号、规格等。
3)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。
设计要求:1)进行需求分析,编写数据字典。
2)设计E-R图。
3)设计出入库单据的录入。
4)实现按商品名称、出入库日期的查询。
5)实现分别按日、月和年对出入库商品数量的统计。
任务安排:1、每个学生选择一个题目,独立完成设计任务。
2、提交完整的设计报告和源程序清单(以附录形式)。
3、设计报告要求,设计报告按照以下提纲书写:1)摘要。
2)需求分析。
3)数据库概念结构设计。
4)数据库逻辑结构设计。
5)数据流图及程序结构框图。
6)程序原代码及其说明。
7)总结。
数据库课程设计指导书计算机科学与技术系目录1、学生成绩管理系统简介 (3)2、课程设计选题 (10)3、VFP课程设计难点分析之一——主界面和退出表单的设计 (12)4、VFP课程设计难点分析之二——浏览成绩表单的设计 (16)5、VFP课程设计难点分析之三——浏览学生表单的设计 (21)6、VFP课程设计难点分析之四——设置口令表单集的设计 (24)1、学生成绩管理系统简介1. 系统组成本系统由1个数据库、3个查询,14个表单、3个报表、1个菜单、6个程序和2个自由表组成。
数据库组成:(1)数据表3个:学生表(5个字段:xh, xm, xb, csrq, bj),其中有4个班各5名学生的记录课程表(4个字段:kch,kcm, js, xf),其中有4门课程的记录;成绩表(3个字段:xh, kch, cj),其中有80条学生成绩的记录。
(2)本地视图1个:基于以上3张表创建,输出字段为:xh, xm, xb, bj, kcm, cj查询组成:查询学生、按班级查询成绩、按课程查询成绩表单组成:主界面表单、退出表单、学生表单、课程表单、成绩表单(可按学号分类和按课程分类)、查询学生表单、查询成绩表单、总浏览表单、浏览学生表单、浏览成绩表单、系统信息表单、设置口令表单集、修改表单界面。
进销存管理系统课程设计一、课程目标知识目标:1. 理解进销存管理系统的基本概念、功能及业务流程;2. 掌握进销存管理系统的数据结构、关键算法和功能模块设计;3. 了解数据库在进销存管理系统中的应用,掌握基本的数据查询和操作方法。
技能目标:1. 能够运用所学知识,设计并实现一个简单的进销存管理系统;2. 培养学生分析问题、解决问题的能力,提高编程实践技能;3. 学会使用数据库管理工具,进行数据查询、更新和删除等操作。
情感态度价值观目标:1. 培养学生对信息技术的兴趣,提高其主动学习、积极探索的精神;2. 增强学生的团队协作意识,培养良好的沟通能力;3. 引导学生认识到信息技术在企业管理中的重要作用,培养其应用信息技术解决实际问题的意识。
课程性质:本课程为高年级信息技术或计算机科学与技术相关专业的选修课程,旨在让学生掌握进销存管理系统的基本原理和技术,提高其实践能力。
学生特点:学生具备一定的编程基础和数据库知识,具有较强的学习能力和动手实践能力。
教学要求:结合实际案例,采用项目驱动的教学方法,引导学生通过自主探究、团队合作的方式,完成进销存管理系统的设计与实现。
同时,注重培养学生的实际操作能力和解决问题的能力,将理论知识与实际应用相结合。
通过本课程的学习,使学生具备独立设计和开发进销存管理系统的基础能力。
二、教学内容1. 进销存管理系统概述- 系统定义、功能及作用- 现有进销存管理系统案例分析2. 数据库设计- 数据库基本概念- 表结构设计、关系建立- 常用数据库管理工具的使用3. 系统功能模块设计- 进货管理模块- 销售管理模块- 库存管理模块- 报表统计与分析模块4. 算法分析与设计- 进销存管理系统的关键算法- 算法实现与优化5. 系统实现与测试- 编程语言选择- 系统功能实现- 系统测试与调试6. 项目实践- 团队协作与分工- 进销存管理系统项目开发流程- 项目展示与评价教学内容安排和进度:1. 进销存管理系统概述(第1周)2. 数据库设计(第2-3周)3. 系统功能模块设计(第4-5周)4. 算法分析与设计(第6周)5. 系统实现与测试(第7-8周)6. 项目实践(第9-10周)教材章节关联:1. 进销存管理系统概述:《信息技术与管理》第3章2. 数据库设计:《数据库原理与应用》第2、3章3. 系统功能模块设计:《软件工程》第4章4. 算法分析与设计:《数据结构与算法》第5-7章5. 系统实现与测试:《编程实践》相关章节6. 项目实践:结合各教材内容,进行综合实践锻炼三、教学方法1. 讲授法:- 对于进销存管理系统的基本概念、数据库设计原则、算法分析等理论性较强的内容,采用讲授法进行教学,使学生在短时间内掌握核心知识;- 结合实际案例,通过讲解案例中的关键技术和解决方案,帮助学生理解理论知识在实际中的应用。
辽宁工业大学管理信息系统设计课程设计报告(论文)题目:数据库系统基础课程设计仓库管理系统院(系):软件学院专业班级:软件工程113班学号: 111301060学生姓名:安凯辰指导教师:王彦华教师职称:讲师起止时间: 2012.5.28--2012.6.8课程设计(论文)任务及评语目录第一章系统分析 (1)1. 1 系统需求 (1)1. 2 系统设计原则 (1)1. 3 系统可行性分析 (1)1.4 数据字典 (1)1. 5 系统流程图 (2)1.6 业务流程图 (3)1.7 实体与实体间E-R模型(CDM图) (3)1.8 PDM图 (4)第二章系统设计 (5)2. 1 概念设计 (5)2. 2 逻辑设计 (5)第三章系统实施 (7)3.1 数据库表格设计代码 (7)3.2 存储过程及触发器设计代码 (11)3.3 与数据库连接代码 (15)3.4 出库单明细代码 (15)3.5 借条信息查询代码 (16)第四章系统总结 (18)参考文献 (19)第一章系统分析1. 1 系统需求软件环境:用户端:windows vispaSP1,windowsXP服务器端:windows2000及以上操作系统编程语言:sql数据库:sql2005硬件环境:有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络1. 2 系统设计原则1) 系统运行安全可靠,稳定性好;2) 系统的可管理性和可维护性好;3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量;4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询;5)数据具有规范性,整体性,方便数据之间的比较分析。
1. 3 系统可行性分析技术可行性:系统要求在windows2000以上环境运行,后台数据库采用SQL,使用SQL编程,采用ADO方式连接数据库,程序将部分需要经常调用的数据存入内存,可提高程序运行速度.经济可行性:在经济上,用此系统加强了信息管理效率,为管理人员提供了较高的效率,可节省人力资源的开支。
数据库管理系统课程设计一、课程目标知识目标:1. 理解数据库管理系统的基本概念,掌握数据库的基本结构;2. 学会使用SQL语言进行数据库的基本操作,包括数据的增、删、改、查;3. 了解数据库设计的基本原则,掌握实体-关系模型和关系模型的基本应用;4. 掌握数据库的安全性和一致性控制方法。
技能目标:1. 能够独立使用数据库管理系统建立、管理和维护数据库;2. 能够运用SQL语言进行复杂的数据查询和操作;3. 能够根据实际需求进行简单的数据库设计和优化;4. 能够分析和解决数据库应用中的一般性问题。
情感态度价值观目标:1. 培养学生对数据库管理系统学科的兴趣和热情,激发其主动学习的动力;2. 培养学生的团队协作精神,使其在小组讨论和项目中能够互相支持、共同进步;3. 培养学生严谨、务实的学术态度,使其具备良好的数据管理和数据处理素养;4. 通过数据库管理系统在实际案例中的应用,培养学生的社会责任感和创新意识。
二、教学内容1. 数据库基本概念:数据库、数据库管理系统、数据库系统;2. 数据模型:实体-关系模型、关系模型;3. 关系数据库:关系代数、SQL语言、数据定义、数据操纵、数据查询、视图和索引;4. 数据库设计:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施与维护;5. 数据库安全性与一致性:安全性控制、事务管理、并发控制、故障恢复;6. 数据库应用案例分析:学生信息管理系统、图书馆管理系统等。
教学内容安排与进度:第一周:数据库基本概念、数据模型;第二周:关系数据库、SQL语言;第三周:数据库设计;第四周:数据库安全性与一致性;第五周:数据库应用案例分析及小组项目实践。
教材章节及内容:第一章:数据库基本概念(1.1-1.3节);第二章:数据模型(2.1-2.3节);第三章:关系数据库(3.1-3.5节);第四章:数据库设计(4.1-4.4节);第五章:数据库安全性与一致性(5.1-5.4节);第六章:数据库应用案例分析(6.1-6.2节)。
数据库课程设计仓库管理系统一、引言仓库管理系统是企业日常运营中不可或缺的一部分,它涉及到商品的存储、采购、销售等方方面面。
为了更好地管理仓库,提高工作效率,降低成本,我们设计了一个仓库管理系统,通过数据库课程的学习和实践,我们将系统的设计和实现进行了详细的分析和讨论。
二、系统需求分析1. 功能需求(1)商品管理:包括商品的入库、出库、库存管理等。
(2)订单管理:包括订单的生成、处理、发货等。
(3)员工管理:包括员工信息的录入、权限管理等。
(4)报表管理:包括库存报表、销售报表等。
(5)权限管理:不同角色的员工有不同的权限,需要进行权限管理。
2. 性能需求系统需要具备良好的性能,能够快速响应用户的操作,保证系统的稳定性和可靠性。
3. 可靠性需求系统需要保证数据的安全性,避免数据丢失或损坏。
4. 可维护性需求系统需要易于维护和扩展,能够方便地进行功能的更新和改进。
三、系统设计1. 数据库设计我们选择了关系型数据库来存储系统的数据,采用了MySQL作为数据库管理系统。
根据系统的功能需求,设计了商品表、订单表、员工表、权限表等,通过表之间的关联来实现数据的一致性和完整性。
2. 系统架构设计我们采用了B/S架构来设计系统,通过浏览器访问系统,实现了跨平台的使用。
前端采用了HTML、CSS、JavaScript等技术,后端采用了Java语言,通过Servlet和JSP来实现页面的动态生成和交互。
3. 安全设计为了保障系统的安全性,我们对系统进行了权限管理,对不同角色的员工进行了权限划分,确保了数据的安全和隐私。
4. 性能优化为了提高系统的性能,我们对数据库进行了索引优化、查询优化等操作,提高了系统的响应速度和稳定性。
四、系统实现1. 数据库搭建我们首先搭建了MySQL数据库,创建了相应的表结构,进行了数据的导入和测试。
2. 前端页面设计通过HTML、CSS、JavaScript等技术,设计了系统的前端页面,实现了用户的交互和操作。
数据库系统原理课程设计文档学号:姓名:一、DBMS的实现方式(一)文件存储的设计思想如下:本数据库管理系统(DBMS)主要有一下文件:database.ini:用于存储本数据库管理系统(DBMS)的关系数据库、数据库表信息;[tablename].ini:以关系数据库表名(tablename)命名的.ini文件主要用于存储数据库表的配置信息,如完整性约束,关系表属性名、属性类型、主键等信息;[Tablename]_info.ini:以关系数据库表名(tablename)命名的_info.ini文件主要用于存储数据库表的数据信息(Data information),所有的数据库表数据信息全部存储在此类文件中;[Tablename]_index.ini:以关系数据库表名(tablename)命名的_index.ini文件主要用于存储数据库表的索引文件。
此数据库管理系统(DBMS)中,除数据文件_info.ini、索引文件_ index.ini 外其余的均采用节点名、键名、键值之间的对应关系存储本DBMS系统的关系数据库、数据库表信息和数据库表的配置信息;数据文件的存储,数据文件采用流式文件,字段之间采用Tab间隔开,从左到右根据数据库表的配置信息依次存储关系表数据;在最前端设置一删除标志,为0表示次元组已经被删除,为1表示次元组未被删除;索引文件的建立采用稠密索引方式,每条记录对应于一条索引记录,在索引文件中存放了每条数据元组在数据文件中具体的位置。
这样,由于索引文件较数据文件小很多,故大大加快了数据元组查询速度;图1:文件存储的设计思想(二)DBMS系统流程控制设计思想如下:鉴于此数据库管理系统(DBMS)采用SQL执行,故设计如下程序控制流程:(1)超级管理员、一般管理员、普通用户通过各自的用户名、密码口令登陆系统;(2)对SQL进行编译,本DBMS中采用CCompiler类进行编译,编译过程当中可以对要执行的SQL操作进行信息收集并保存在相应的数据结构(或类)当中。
winform仓库货物管理系统课程设计一、课程目标知识目标:1. 掌握Winform编程基础,包括窗体设计、控件使用和数据绑定;2. 学会使用C#语言开发Winform应用程序;3. 了解仓库货物管理系统的业务流程和功能需求;4. 掌握SQL语句,实现数据库的增、删、改、查操作。
技能目标:1. 能够独立设计并实现仓库货物管理系统的界面;2. 能够运用面向对象编程思想,编写功能模块代码;3. 能够利用数据库技术,实现货物信息的存储和管理;4. 能够运用调试工具,查找并修复程序中的错误。
情感态度价值观目标:1. 培养学生对信息技术的兴趣和求知欲,提高学习积极性;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 增强学生的实际操作能力,使其能够学以致用,为将来从事软件开发工作打下基础;4. 培养学生严谨、细致的工作态度,提高代码质量和编程素养。
本课程针对高年级学生,结合教材内容,以实用性为导向,注重培养学生的动手实践能力。
课程设计遵循由浅入深、循序渐进的原则,使学生能够在掌握基础知识的基础上,逐步提高编程技能。
课程目标明确,可衡量性强,便于学生和教师了解预期成果,为后续教学设计和评估提供依据。
二、教学内容1. Winform编程基础:- 窗体设计与控件使用;- 事件处理与数据绑定;- C#语言基础。
2. 仓库货物管理系统功能模块:- 系统需求分析;- 功能模块划分;- 数据库设计。
3. 编程实践:- 界面设计与实现;- 功能模块代码编写;- 数据库操作实现。
4. 调试与优化:- 程序调试技巧;- 性能优化方法;- 代码规范与编程素养。
教学内容依据课程目标,结合教材相关章节,确保科学性和系统性。
教学大纲明确,涵盖以下安排和进度:1. Winform编程基础(第1-2周);2. 仓库货物管理系统功能模块(第3-4周);3. 编程实践(第5-6周);4. 调试与优化(第7-8周)。
教学内容与实践相结合,使学生能够逐步掌握Winform编程技能,为开发仓库货物管理系统奠定基础。
一.题目
1.1题目:货存数据库设计
1.2初始条件:
一个公司希望为控制它的货存建立一个数据库。
货存中的产品被分为几类,如服装、食品和文具。
当产品需要从供应商那里重新订购时,工作人员需要提出一个购买清单。
跟踪记录要提供买进、卖出的货物以及其他费用。
二.需求分析
2.1各个实体和关系的含义
◆货存信息:存储各个产品的相关信息以及产品的货存余量。
◆产品:主要存放产品的各种信息,包括产品ID,产品名称,产品价格等信息。
◆顾客:存放顾客的姓名和联系方式。
◆供应商:存放供应商的厂商名称和联系方式。
◆订购清单:主要存放要订购产品的信息和订购的数量以及订购厂商的详细信
息,这样一来就可以跟踪记录购入的产品和其详细来源。
◆出售清单:主要存放要出售产品的信息和出售的数量以及购买者的详细信息,
这样一来就可以跟踪记录售出的产品和其详细去向。
2.2货存管理的数据流图
在此只考虑货存管理的概要数据流图,不作更深层次的划分。
2.3数据字典
由于数据项过多,在此只列出小部分数据项,列出库存文件销售清单和订购清单中的各个数据项的相关信息。
如下表:
库存文件
销售清单
三.概念结构设计
3.1概念设计的过程
概念设计的过程就是将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构。
这种信息结构不是DBMS支持的数据模型,而是概念级模型。
然后再把概念模型转换为计算机上某一DBMS能够理解的数据模型。
这一过程可以形象的使用下图描述出来
上图为概念设计的过程
3.2概念设计方法:E-R图
实体联系法使用E-R图来描述现实世界的概念模型。
货存数据库概念设计中的各实体和E-R图如下
(1)货存数据库中的E-R图
说明:货存信息、顾客和产品组成多个(3个)实体之间的联系;货存信息、供应商和产品组成多个(3个)实体之间的联系。
(2)顾客实体
顾客有两个属性:姓名和联系方式,两者共同组成顾客实体的主码。
(3)供应商实体
顾客有两个属性:厂商名称和联系方式,两者共同组成供应商实体的主码。
(4)产品实体
产品实体有三个属性:产品ID,产品名称,产品价格,各属性可以在数据字典中查询,其主码为产品ID。
(5)货存信息
货存信息有四个属性,产品ID,产品名称,产品数量,产品价格,其主码为产品ID。
(6)订货清单
订货清单有四个属性:产品ID,订货数量,厂商名称,厂商联系。
主产品ID,厂商名称,厂商联系方式组成主码。
(7)销售清单
销售清单有四个属性:产品ID,销售数量,顾客名称,顾客联系。
主产品ID,顾客名称,顾客联系方式组成主码。
四.逻辑结构设计
4.1逻辑结构设计的任务
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所指出的数据模型相符合的逻辑结构
4.2E-R图向关系模型的转换
根据概念结构设计阶段中的基本E-R图可以将其转换为以下几个关系模式
◆货存实体对应的关系模式
仓库货存(产品ID,产品余量)
◆售出清单关系的关系模式
售出清单(产品ID,消费ID,产品数量)
◆产品实体对应的关系模式
产品(产品ID,产品名称,产品价格)
◆顾客实体对应的关系模式
顾客(消费ID,姓名,联系方式)
◆厂商实体对应的关系模式
厂商(厂商ID,厂商名称,联系方式)
◆订购关系对应的关系模式
订货清单(产品ID,厂商ID,产品数量)
4.3各表的结构
◆库存表
说明:GoodsID为产品ID,GoodsCount为产品余量
◆订购清单
说明:GoodsID为产品ID,BuyCount为购买数量,FactoryID为厂商ID ◆销售清单
说明:GoodsID为产品ID,SellCount为销售数量,ConsumerID为顾客的消费ID
◆产品表
说明:GoodsID为产品ID,GoodsName为产品名称,GoodsPrice为产品价格◆顾客表
说明:ConsumerName为顾客姓名,ConsumerContact为顾客的联系方式,ConsumerID为顾客的消费ID(唯一标识一名顾客)
◆厂商表
说明:FactoryName为厂名,FactoryContact为厂商的联系方式,FactoryID为厂商ID(唯一标识一家厂商)
4.4表之间的关系
五.物理结构设计
5.1设计步骤
数据库的物理结构式和给定的硬件环境和RDBMS软件产品有关的。
因此数据库物理设计依赖具体的RDBMS产品
数据库的物理设计分为两步
◆确定数据库的物理结构
◆对物理结构进行评价,评价的重点是时间和空间效率
5.2存取方法
存取方法是使事务能够快速存取数据库中数据的技术。
此次数据库中各表使用索引方法,具体如下:
◆在GoodsList的GoodsID上建立唯一索引
◆在BuyList的FactoryID上建立唯一索引
◆在SellList的ConsumerID上建立唯一索引
◆在Consumer的ConsumerID上建立唯一索引
◆在Factory的FactoryID上建立唯一索引
◆在Goods的GoodsID上建立唯一索引
六.体会与心得
1. 本次课程设计为我提供了一个独立设计简单数据库的机会,在设计的过程中我获益匪浅。
我了解了数据库设计的各个阶段以及各个阶段的任务,这几个阶段主要包括需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,物理结构设计阶段,数据库的实施,数据库的运行和维护阶段。
在这几个设计阶段中我学会了很多知识,数据流图的设计,数据字典的创建,E-R图的设计以及把
E-R图转换为关系模式的各种规则和方法。
在设计这个数据库的过程中也遇到了一些问题,例如主码的设计,实体与关系的设计。
特别是在设计货存信息,顾客和产品之间的关系中,我选择了三个实体间一对多关系而没有选择三个实体两两多对多的联系。
这也为后续数据库的设计打下了基础。
2. 除了数据库的设计外,我还编写了一个小程序来测试和使用数据库。
程序使用MFC编写,使用ADO技术连接数据库。
通过编写这个程序,我自己的编程能力和对数据库的设计和操作能力都有所提高。
本科生课程设计成绩评定表
班级:计算机0706姓名:卢俊华学号:0120710340619
、及格(60-69分)、60分以下为不及格
指导教师签名:
2010 年月日。