标签:
相信大家认真看完这篇文章就会知道怎么去设计出高级的数据库了!!!
最近有朋友一直问我为什么需要规范的的数据库设计?
专业人士解析:
因为在实际的项目开发中,如果系统的数据存储量较大,设计的表比较多,表和表之间的关系比较
复杂,就需要首先考虑规范的数据库设计,然后进行具体的创建库,创建表的工作,不管是创建动
态网站,还是创建桌面窗口的应用程序,数据库设计的重要性都不言而喻。如果设计不当,会存在
数据操作异常,修改复杂,数据冗余等问题,程序性能就会受到影响。所以要有规范的数据库设计
才可以提高项目的应用性能!
这位同鞋问的好!什么是数据库设计???
大鹏告诉你:数据库设计就是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程。
如下图(学生信息数据库的结构也包括这四个数据实体之间的关系)
说完了数据库设计,接下来就说一说设计数据库的步骤:
项目的开发需要经过:需求分析,概要设计,代码编写,运行测试和打包发行几个阶段。
需求分析:分析客户的业务和数据处理需求。
概要设计阶段:绘制数据库的E-R图,用于在项目团队内部,设计人员和客户之间的进行
沟通,确认需求信息的正确和完整性。
详细设计阶段:将E-R图转换为多张表,进行逻辑设计,确认各表的主外键,并应用数据
库设计的三大范式进行审核。然而后面就是交给代码编写阶段。
小窍门:无论数据库的大小和复杂程度如何,在进行数据库的系统分析时,都可以参考下列基本步骤:(不要告诉别人)
1.收集信息。
2.标识实体
3.标识每个实体需要存储的详细信息
4.标识实体之间的关系
标识实体:其实有的童鞋不知道怎么标识出实体,实体可以是有形的事物,如人或者产品;也可以是无形的事物,如商业
交易,公司部门,发薪周期。就以一个酒店管理系统数据库为例:我们需要标识出系统中最主要的实体。
可想而知那就是客房,客人。客房包括单人间,标准间,三人间,总统套房;客人包括客人姓名,客人身份信息等
这就是标识实体。实体一般是名词,一个实体只描述一件事情,不能重复出现含义相同的实体。
下一步需要做的就是要给实体存储详细的信息
客房:客房号,客房类型,客房状态,客房描述,床位数,入住人数,价格
客人:姓名,身份证号,客人编号,入住日期,结账日期,押金,总金额
概念设计————————————绘制E-R图(Entity-Relationship)
E-R图称为实体-关系图。它包括一些具有特定含义的图形符号
矩形表示实体集
椭圆表示属性
菱形标识联系集
直线用来连接属性和实体集,也用来连接实体集和联系集。
绘制E-R图可以使用Microsoft Visio软件具体如何使用就不依依介绍了
必背的三大范式:
第一范式:其目标是确保每列的原子性
第二范式:在第一范式的基础上更进一层,其目标是确保表中的每列都和主键相关。
第三范式:在第二范式的基础上更进一层,其目标是确保每列都和主键直接相关,而不是间接相关。
相信你们看到这里怎么去设计出高大上的数据库心里应该也有了一个如意小算盘了吧。
如果对你有帮助请别忘了支持一下!
标签:
原文地址:http://www.cnblogs.com/System-out-println/p/5106709.html