如何设计高级的数据库
作者:网络转载 发布时间:[ 2016/1/7 13:57:18 ] 推荐标签:数据库 数据表
近有朋友一直问我为什么需要规范的的数据库设计?
专业人士解析:
因为在实际的项目开发中,如果系统的数据存储量较大,设计的表比较多,表和表之间的关系比较复杂,需要首先考虑规范的数据库设计,然后进行具体的创建库,创建表的工作,不管是创建动态网站,还是创建桌面窗口的应用程序,数据库设计的重要性都不言而喻。如果设计不当,会存在数据操作异常,修改复杂,数据冗余等问题,程序性能会受到影响。所以要有规范的数据库设计才可以提高项目的应用性能!
这位同鞋问的好!什么是数据库设计???
大鹏告诉你:数据库设计是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程。
如下图(学生信息数据库的结构也包括这四个数据实体之间的关系)
说完了数据库设计,接下来说一说设计数据库的步骤:
项目的开发需要经过:需求分析,概要设计,代码编写,运行测试和打包发行几个阶段。
需求分析:分析客户的业务和数据处理需求。
概要设计阶段:绘制数据库的E-R图,用于在项目团队内部,设计人员和客户之间的进行沟通,确认需求信息的正确和完整性。
详细设计阶段:将E-R图转换为多张表,进行逻辑设计,确认各表的主外键,并应用数据库设计的三大范式进行审核。然而后面是交给代码编写阶段。
小窍门:无论数据库的大小和复杂程度如何,在进行数据库的系统分析时,都可以参考下列基本步骤:(不要告诉别人)
1.收集信息。
2.标识实体
3.标识每个实体需要存储的详细信息
4.标识实体之间的关系
标识实体:其实有的童鞋不知道怎么标识出实体,实体可以是有形的事物,如人或者产品;也可以是无形的事物,如商业交易,公司部门,发薪周期。以一个酒店管理系统数据库为例:我们需要标识出系统中主要的实体。
可想而知那是客房,客人。客房包括单人间,标准间,三人间,总统套房;客人包括客人姓名,客人身份信息等
这是标识实体。实体一般是名词,一个实体只描述一件事情,不能重复出现含义相同的实体。
下一步需要做的是要给实体存储详细的信息
客房:客房号,客房类型,客房状态,客房描述,床位数,入住人数,价格
客人:姓名,身份证号,客人编号,入住日期,结账日期,押金,总金额
概念设计————————————绘制E-R图(Entity-Relationship)
E-R图称为实体-关系图。它包括一些具有特定含义的图形符号
矩形表示实体集
椭圆表示属性
菱形标识联系集
直线用来连接属性和实体集,也用来连接实体集和联系集。
绘制E-R图可以使用Microsoft Visio软件具体如何使用不依依介绍了
必背的三大范式:
第一范式:其目标是确保每列的原子性
第二范式:在第一范式的基础上更进一层,其目标是确保表中的每列都和主键相关。
第三范式:在第二范式的基础上更进一层,其目标是确保每列都和主键直接相关,而不是间接相关。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11