如何设计一个简单的数据库

如何设计一个简单的数据库,第1张

数据库的设计跟编程语言没关系,是E-R模型的设计以及e-r模型到关系模型的转化。

我觉得你的意思是编写对数据库 *** 作的程序。

建议先用VB入门。看看使用ADO的方式访问数据库。先建一个简单的ACCESS数据库。然后在vb里面依次创建CONNECTION,COMMAND,RECORDSET对象即可,只需要几句代码就能修改数据和查询数据。前提是你熟悉SQL也可以使用ActiveX控件-ADODC和datagrid,不用编程就能看到数据显示。

vc也是一样。

你要是数据中心机房建设请参照一下标准:

1<<电子信息系统机房设计规范>>GB 50174-2008

2<<电子信息系统机房施工及验收规范>>GB 50462-2008

3<<电子计算机场地通用规范>>GB/T 2887-2000

4<<防静电活动地板通用规范>>SJ/T10796-2001

5<<通风与空调工程质量验收规范>>GB 50243-2002

6<<火灾自动报警系统设计规范>>GB 50116-2008

7<<火灾自动报警系统施工及验收规范>>GB 50166-2007

8<<供配电系统设计规范>>GB 50052-2009

9<<建筑电气工程施工质量验收规范>>GB 50303-2002

10<<建筑物电子信息系统防雷技术规范>>GB 50343-2004

11<<建筑物防雷设计规范>>GB 50057-2010

12<<综合布线系统工程设计规范>>GB/T50311-2007

13<<综合布线系统工程验收规范>>GB/T50312-2007

注: 数据中心建设不牵扯民用标准。。DXJS 标准是电信标准,看你是什么行业,金融数据中心有自己的标准, 电力数据中心有自己的标准。

你这个主要区别就是:总库商品价格和商家商品价格,要把这2个价格区分出来。

设计时,数据库结构可以一样,价格最好取两个不同字段名称。

商家从总库下载商品数据,保存到商家自己的数据库,只能修改商家价格,其它禁止修改,这样就只会价格不同,其它和总库一致。

两个不同实体间的1:n关系

上图中表示的是一辆汽车与零件之间的1:n关系,一辆汽车由许多个零件构成。“汽车”这个实体具有型号、单价和牌号等属性,“零件”这个实体具有名称、单价和厂家等属性,“数量”是它们之间的关系“组成”的一个属性。

当然E-R图还可以表示1:1关系,例如夫妻关系以及姓名与学号间的关系等。

E-R图还可以表示m:n关系,例如教材中中讲的“学生”与“课程”之间通过“学习”联系,一个学生要学习多门课程,反之同一门课程有很多学生在学习。

在E-R图中,有时为了使其简洁明了,图中可以略去各属性,着重表示实体间的联系情况,而属性可以单独以表格形式单独列出。

4E-R图的设计

E-R图的设计虽然没有一个绝对固定的方法,但一般来说应遵循以下两条基本原则:

(1)首先要针对每一个用户做出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。

[注意]

在设计E-R图时,能作为属性的就不要作为实体,这样有利于E-R图的简化。

(2)把每一个局部的E-R图综合起来,产生出总体的E-R图。

[注意]

在E-R图的综合的过程中,同名实体只能出现一次,还要去掉不必要的联系,这样才能消除冗余。

一般来说,从总体E-R图必须能导出原来所有局部E-R视图,包括所有的实体、属性和联系。

任何一个系统的E-R图都不是惟一的,强调的侧面不同,所作出的E-R图就可能差别很大。总体的E-R图所表示的实体联系模型,只能说明实体间的联系关系,还需要把它转换成数据模型才能被实际的DBMS所接受。

233 从E-R图导出关系模型

E-R图是现实世界各实体的具体反映,与数据库具体实现毫无关系,但它却是构造数据模型的主要依据。本章的重点也是难点是:正确地应用E-R图反映实体间联系并从E-R图中导出关系模型。

1从E-R图中导出关系模型的原则

(1)对于E-R图中的每一个实体,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性(或哪几个属性组合)作为“主键”。键在关系模型中是实现联系的主要手段。

(2)对于E-R图中的联系,情况比较复杂,要根据实体联系的方式的不同,采取不同的手段加以实现。

2从E-R图中导出关系模型

(1)两实体间1:n联系

对于两实体间1:n联系,导出关系模型的原则是:可以将“1”方实体的“主键”纳入“n”方实体对应的关系中作为“外部键”,同时把联系的属性也一并纳入“n”方对应的关系中。

(2)同一实体内部个体间1:n联系

对于同一实体集内部个体间的1:n联系,导出关系模型的原则是:可在这个实体所对应的关系中多设一个属性,用来作为与该实体相联系的另一个体的“主键”。

(3)两实体间m:n联系

对于两实体间的m:n联系,导出关系模型的原则是:必须对“联系”单独建立一个关系,用来联系双方实体;该关系的属性中至少要包括被它所联系的双方实体的“主键”,并且如果联系有属性,也要归入这个关系中。

(4)同一实体内部存在m:n的联系

如果同一实体内部存在m:n的联系,那么从E-R图导出关系模型的原则是“为这个联系单独建立一个关系;该关系中至少应包括被它所联系的双方实体的“主键”,如果联系有属性,也要归入这个关系中。

(5)两个以上实体间m:n多元联系

对于两个以上实体之间的m:n多元联系,从E-R图导出关系模型的原则是:必须为联系单独建立一个关系,该关系中最少应包括被它联系的各个实体的“主键”,若是联系有属性,也要归入这个关系中。

(6)两实体间1:1联系

对于两实体间1:1联系,只需在一个关系模型中增加另一个关系模型的主键,并可省略两实体间的联系模型。例如:书中所讲到的厂家与工厂的关系,可以省去“管理”这个模型,在“工厂”模型中加入属性“姓名”或在“厂长”模型中加入“工厂”的主键“厂号”,这样关系模型就形成了。

IT行业,数据库确实是一门相当重要的课程。但是在大学里面,对待数据库原理及应用这么课程以及其课程设计的重视程度就相差很大了,各个学校要求也不一样。如果是要学好,那确实要下工夫;如果只是完成课程设计,交差了事,其实相当简单。

既然是课程设计,也算是个小小的项目,既然是项目,也就离不开需求分析、数据库设计、部署实现等环节。当然,这个小小的项目只需要前面的部分:需求和数据库设计,数据库设计是重点。

需求分析就不用多说,和所有其他项目一样,无非就是用户需求,功能需求,系统需求等,找任何一本关于需求分析的书都是可以,除了那些个空话之外,更多的是要根据设计需要进行分析。

数据库设计就比较复杂一点,首先得把数据库原理搞清楚,比如:符合什么样的范式,怎么画ER图,如何理解用例图。在设计数据库之前,有一系列的分析要做:面向对象分析,用例分析,类和对象分析等等。分析到位是数据库设计成功的重要保障。分析完成之后才是设计,比如:逻辑结构设计,关系模式设计,存取方法设计,存储结构设计,数据完整性设计,参考完整性设计,Check约束,Default约束,触发器设计,视图设计,存储过程设计,权限设计等。这些都完成了,最后一步才是写SQL代码实现这些设计,创建数据库及相关的数据表,关联,视图,触发器,存储过程等一些列的看得见的数据库参数。

上面说的比较理论,也比较笼统。我想我可以用一个简单例子告诉你我要表达的意思。例子很简单,其中很多地方都不是太好,不过或许可以给你一个直观的思路。

数据库应用课程设计报告书

网上超市管理系统 

成    绩:

学    号:

姓    名:

指导教师:

20    年  月  日

目录

任务书 (3)

1    需求调查、分析 (4)

11         企业介绍 (4)

12         需求调查及分析 (5)

2    面向对象分析和设计 (7)

21  用例分析 (7)

22类和对象设计   (12)

3    逻辑结构设计 (15)

31  类和对象向关系模式转换 (15)

32 关系模式优化   (16)

4    数据库物理结构设计 (16)

41 存取方法设计   (16)

42  存储结构设计   (17)

5    数据库完整性设计 (17)

51 主键及唯一性索引  (17)

52  参照完整性设计 (18)

53  Check约束  (18)

54  Default约束   (18)

55 触发器设计  (19)

6    数据库视图设计 (19)

7    数据库存储过程设计 (20)

8    权限设计 (20)

9    总结 (21)

参考资料 (21)

网上超市管理系统

摘要:

网上超市管理系统,是以网上管理方式为实例而设计的一种实用型管理系统。本系统最大的特点是通用性、简单 *** 作性,适用于超市的管理。随着商品的增多,商品管理人员的负担越来越重,为了让所有商品管理人员能从繁重的工作中解脱出来,实现无纸化办公;也为了使工作更有条理,更方便,更有效率,更为了超市在经营中提高利润而开发出这套网上超市管理系统。

1 需求调查、分析

11      企业介绍

在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。在政府的大力提倡和支持下,我国电子商务已走上了健康发展的轨道。各行业纷纷建立自己的网站,开展网上产品信息发布,进行网上洽谈、签约,开展网络营销。将超市办成网上超市已经是大势所趋,甚至一些小型的超市也可以开展网上交易。总之,电子商务以互联网为媒介,以信息传播速度快、受众广泛、低成本动作的优势决定着其必然成为未来营销的主导,我国企业要充分重视由此带来的机遇和挑战,才能在激烈的国际竞争中立于不败之地。

在超市经营中,随着超市规模的不断扩大,人们对超市服务的要求不断提高,使用一款适合的网上超市管理系统将更加迫切。利用网上超市,人们可以在家里逛超市,只需要办理会员卡,就可以为本地顾客送货上门。不仅如此,把超市办成网上经营和管理将大大提高效率和收益。因此,开发一个网上超市管理系统是非常有必要和好处的。

12 需求调查及分析

121顾客需求

为方便用户购买商品,网上超市客户系统应该提供如下所示几种功能:

(1)商品分类:网上超市与传统超市相比的一个优势是,当用户明确自己要买哪类商品时,用户可以使用商品分类功能快速找到需要的商品。

(2)商品预览:以列表的方式显示商品信息,这样可以在页面显示大量的商品信息,同时可以提供更多的商品浏览方式,如分类浏览、热门商品等。

(3)商品显示:当用户找到感兴趣的商品后需要显示商品的详细信息,包括商品简介、出产商、价格等。

(4)购物帮助:当用户在购物中遇到什么问题时,可以查看购物帮助获得相关信息。管理员会根据顾客反映的情况及时更改或增添购物帮助的内容。

(5)购物车:当用户找到需要的商品时,可以先将商品加入购物车,然后继续允许找其他的商品,购物车中存储当前用户打算购买的所有商品。

(6)商品订单:当用户在网上超市中找到了所有需要的商品后,决定购买,可以下订单。管理员会定期处理用户下达的订单,并根据用户订单的信息向用户送货。

(7)用户注册:提供用户注册功能以及相关的用户信息修改、密码维护等。

122销售管理员需求

网上超市的销售部分的管理员功能是维护销售的正常工作,它需要提供如下功能:

(1)商品管理:商品是网上超市的内容所在,管理员需要能够维护超市中的商品信息。同时与商品相关的商品类型等信息也需要管理员维护。

(2)会员管理:由于有注册用户,所以管理员需要对拥护账号进行管理,如删除一些无效账号等。

(3)订单处理:在用户下达订单后,管理员需要对用户订单进行处理,为用户准备订购的商品,并组织送货、收取货等。

(4)购物帮助管理:管理员要根据用户反映的情况及时修改购物帮助的内容,使用户得到即时的帮助。

123采购、仓存管理员需求

网上超市的系统中将采购员和仓存管理员统一为采购、仓存管理员,其主要需求如下:

(1)录入商品信息:商品是网上超市的内容所在,当有新进的货物时,采购管理员需要维护超市中的商品信息。

(2)维护供应商信息:采购管理员在进行采购工作时,就需要对供应商信息的查询。

(3)维护仓库信息:有多上仓库,什么商品存放在哪个仓库,这些都需要采购仓存管理员来维护。

124系统管理员需求

网上超市的系统管理员功能是维护系统的正常工作,它需要提供如下功能:

(1)对系统中用户的管理:系统中顾客,销售管理员,采购、仓存管理员都是系统的用户,这些用户就需要系统管理员进行统一管理。

(2)会员管理:由于有注册用户,所以管理员需要对拥护账号进行管理,如删除一些无效账号等。但这样的一个功能可以授权于销售管理员去处理。

125数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询。这就要求数据库结构能够充分地满足各种信息的输入和输出。收集基本数据、数据结构和数据处理流程,为下一步的具体设计做好充分的准备。

网上超市管理系统要处理的数据流程图:

 

2 面向对象分析和设计

21      用例分析

     22     类和对象设计

3 逻辑结构设计

31 类和对象向关系模式转换

顾客信息(姓名、顾客编号、性别、出生年月、家庭地址、邮政编码、是否居住本地区、联系电话、身份z号、备注信息)

供应商信息(供应商编号、公司名称、联系人姓名、联系地址、所在城市、邮政编码、电话号码、传真号码、备注信息)

购物车(商品编号、顾客编号、商品名称、商品规格、时间、备注信息)

商品信息(商品编号、商品名称、单价、商品规格、商品产地、保质期、类别、备注信息)

订单信息(订单编号、商品编号、顾客编号、商品名称、商品规格、数量、顾客姓名、时间、备注信息)

员工信息(姓名、职工号、部门编号、性别、出生年月、家庭地址、邮政编码、联系电话、身份z号、备注信息)

进货信息(进货信息编号、供应商编号、公司名称、联系人姓名、商品编号、商品名称、商品规格、商品产地、商品数量、商品单价、进货日期、备注信息)

部门信息(部门编号、部门名称、负责人姓名)

销售信息(销售信息编号、顾客编号、顾客姓名、商品编号、商品名称、商品规格、商品产地、商品数量、商品单价、销售日期、折扣、备注信息)

仓库信息(仓库编号、仓库名称、存放商品类别、容量、负责人编号,负责人姓名)

留言信息(留言编号、留言标题、留言内容、留言日期、顾客编号、回复人编号、回复日期)

积分信息(积分编号、顾客编号、顾客姓名、积分)

商品入库(仓库编号、仓库名称、商品编号、商品名称、库存量、入库时间)

32 关系模式优化

顾客信息(姓名、顾客编号、性别、出生年月、家庭地址、邮政编码、是否居住本地区、联系电话、身份z号、备注信息)

供应商信息(供应商编号、公司名称、联系人姓名、联系地址、所在城市、邮政编码、电话号码、传真号码、备注信息)

购物车(商品编号、顾客编号、时间、备注信息)

商品信息(商品编号、商品名称、单价、商品规格、商品产地、保质期、类别、备注信息)

订单信息(订单编号、商品编号、顾客编号、数量、时间、备注信息)

员工信息(姓名、职工号、部门编号、性别、出生年月、家庭地址、邮政编码、联系电话、身份z号、备注信息)

进货信息(进货信息编号、供应商编号、商品编号、商品名称、商品规格、商品数量、商品单价、进货日期、备注信息)

部门信息(部门编号、部门名称、负责人姓名)

销售信息(销售信息编号、顾客编号、商品编号、商品数量、商品单价、销售日期、折扣、备注信息)

仓库信息(仓库编号、仓库名称、存放商品类别、容量、负责人编号)

留言信息(留言编号、留言标题、留言内容、留言日期、顾客编号、回复人编号、回复日期)

积分信息(积分编号、顾客编号、积分)

商品库存(仓库编号、商品编号、库存量、入库时间)

4 数据库物理结构设计

41       存取方法设计

42       存储结构设计

为了提高查询时间和空间的利用率,对网上超市管理系统的数据库作如下设计:

首先将网上超市管理系统日志文件存放在磁带上,因为数据库的数据备份和日志文件等只在故障恢复的时候才要使用,而且数据量很大。第二,把所有的基本表(如:顾客信息表)存放在一块磁盘上,而所有的索引则存放在另一块磁盘上。这样分开存放的目的在于查询时多个磁盘驱动器并行工作,提高了物理I/O读写效率,也加快了存取速度。

5 数据库完整性设计

51 主键及唯一性索引

52       参照完整性设计

1、由于员工信息表中的部门编号必须在部门信息中存在,而部门编号又是部门信息表中的主键,所以员工信息表中将属性部门编号设计为外键。

2、订单信息表中属性商品编号对应于商品信息表中的商品编号,因此将其设计为外键。

订单信息表中字段顾客编号对应于顾客信息表中的顾客编号,而顾客编号又是顾客信息的主键,所以将顾客编号作为订单信息表的外键。

3、进货信息表中属性商品编号对应于商品信息表中的商品编号,因此将其设计为外键。

进货信息表中字段供应商编号对应于供应商信息表中的供应商编号,而供应商编号又是供应商信息表的主键,所以将供应商编号作为进货信息表的外键。

4、销售信息表中字段顾客编号对应于顾客信息表中的顾客编号,而顾客编号又是顾客信息表的主键,所以将顾客编号作为销售信息表的外键。此外,销售信息表中的商品编号必须在商品信息表中存在,所以将商品编号也设计为改表的外键。

5、留言信息表中顾客编号需要在顾客信息表中存在记录,把顾客编号作为该表的外键。留言信息表中的属性回复人编号必须是员工信息表在存在的记录,所以把回复人编号也设为留言信息表的外键。

6、积分表中的属性顾客编号对应于顾客信息表中的顾客编号,而顾客编号是主键,所以将其设计为积分表的外键。

53 Check约束

1、对积分表中的积分字段设计check约束:积分必须是大于或者等于0的。

2、订单信息表、进货信息表和销售信息表对数量、商品数量设计check约束:即这些属性值必须取大于或者等于0的值。

54 Default约束

1、积分表中的积分字段设计default约束:积分默认值为0。

2、订单信息表中属性值数量默认为1单位。

55       触发器设计

1、 当采购完成后,即在进货信息表中添加信息时,建立该表上的插入触发器。该触发器的功能是当进货信息表中插入信息时,将进货的商品信息自动添加到商品信息表中以及在商品库存表在自动增加库存量。在这些动作完成之后,将进货信息表中添加的该信息删除。

2、 在订单信息表上建立插入触发器。如果订单中要添加的商品信息在商品信息表中不存在,则不予以添加。当订单信息成功提交,即订单信息表在成功插入新记录时,首先根据该顾客的积分情况自动生成折扣,然后自动将订单信息表中的记录添加到销售信息表中,并且将积分信息表中的记录更新或添加。在这些动作完成之后,再将订单信息表在的该记录删除。

3、 在商品库存量不足的时候需要系统提示工作人员及时的进行采购,所以在商品库存表上建立一个触发器就可以完成以上功能。当商品库存量到达一定的底线时,自动给采购、库存管理员留言,即在留言信息表中添加信息。这样可以对商品库存情况动态掌握。

6              数据库视图设计

1、为了方便查看部门信息,建立部门信息视图。显示部门信息表中的全部内容。

2、商品查询在网上超市管理系统中查看的非常频繁,需要建立商品信息视图。显示商品信息表中的全部信息。

3、建立顾客信息视图,显示顾客信息表中的全部内容。

4、在采购的时候,采购人员需要对供应商的信息进行查询,因此需要建供应商信息视图,显示该表中的全部内容。

5、当顾客在网上逛过超市后会将自己喜欢的商品先放入购物车中备选,这时就需要对购物车进行查询。所以有必要建立购物车信息视图。除了显示购物车表中的全部信息外,还需要连接查询并显示商品信息表中的商品名称和商品规格以及其他的商品信息。

6、顾客确定要购买商品的时候,需要提交订单信息,而在提交之前必须对其进行查询,所以需要建立订单信息视图。显示订单信息,以及连接查询并显示商品信息表中的商品名称和商品规格以及其他的商品信息。

7、对于网上超市的各部门的负责人来说,经常需要对员工的信息查看,故建立员工信息视图。除显示员工信息表中全部信息外,还要通过连接查询并显示部门名称。

8、采购人员在采购前后都需要对进货信息进行查询,这就需要建立进货信息视图。除显示进货信息表中全部信息外,还要通过连接查询并显示供应商的公司名称、联系人姓名、联系电话和商品名称、商品规格、商品产地、数量及单价。

9、每隔一段时间,都要查看一下收益如何,即查询销售情况。因此需要建立一个销售信息视图。显示销售信息表中的全部信息和通过连接查询并显示商品名称、商品规格、商品产地、数量及单价。除此之外,还要计算并显示销售总额。

10、建立仓库信息视图,显示仓库信息表中的所有信息即可。

11、建立留言信息视图。显示留言信息表中的全部信息以及通过连接查询并显示顾客姓名和回复人的姓名。

12、对积分的查询也是顾客经常查询的项目。所以非常有必要建立积分信息视图。显示积分信息表在的所有信息和连接查询并显示顾客姓名。

13、不管是在销售还是在采购的时候,都要对商品的库存量进行查询。因此要建立商品库存信息视图。显示库存信息以及通过连接查询并显示仓库名称和商品名称、商品规格等其他商品信息。

7              数据库存储过程设计

1、 顾客是网上超市管理系统的最主要的用户,也需要经常的添加和删除,故建立顾客删除存储过程。在删除某个顾客信息的时候,如果他的购物车中还有记录,则将其删除;若他提交了订单信息,也要把订单信息中的记录删除;最后还要把留言信息表和积分表中与该顾客相关的信息一并删除。

2、 建立删除员工的存储过程。如果该员工是某个部门的负责人,则一般情况下不予以删除,如果要删除,则必须对部门信息表中的负责人进行更新。若该员工是留言信息表中的回复人,则要对留言信息表在回复人编号进行修改或者删除。

3、 建立删除商品的存储过程。如果某个商品已经过了保质期或者已经被淘汰了,则要对这样的商品进行删除。首先要在商品信息表中把这些商品删除,在商品库存表将其删除,其次若果有顾客将该商品选入了购物车,甚至提交了订单,则要对顾客予以说明并将其从购物车表和订单信息表中删除。

8              权限设计

9 总结

理论联系实际才能做好一件事,学习一门课程同样是这样。通过一周的数据库课程设计实习,我受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。并且对数据库应用这一门课程有了更深一步的理解。在做课程设计中,我们可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQL的应用,也使我们熟练和巩固了对SQL的理解。这样我们对开发系统的整个过程也有了一个系统的了解。

这次课程设计,我选择的课题是《教务管理系统》,在教务管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,再到物理结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。

在这次实习中,我们完全投入到了开发系统的世界里。结束后明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在开发教务管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。只有这样,才能把一门课程甚至一门学科学精、学透

参考资料:

1     萨师煊,王珊数据库系统概论高等教育出版社第三版2000

2     龚波等译 SQL SERVER 2000教程北京希望电子出版社

3     史嘉权,史红星,李博等数据库系统概论习题、实验与考试辅导清华大学出版社2006

4     赵乃真等信息系统设计与应用清华大学出版社2005

注:由于这里不好排版,文章中的表格和没有显示出来,我打包成附件了,可以下载查看。

以上就是关于如何设计一个简单的数据库全部的内容,包括:如何设计一个简单的数据库、数据库系统建设需要依据哪些行业和国家标准或规范、请问我这个业务应该怎么设计数据库表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9399066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存