概述
数据库逻辑设计是从事数据库应用设计、开发、运行维护等各方面工作的一个重要的基础性工作。根据不同业务和应用需求,确定并遵循数据库逻辑设计原则,例如按照第三范式开展逻辑设计,不仅能满足减少数据冗余、保证数据一致性和完整性、易扩展性和伸缩性等需求,也是保障系统高性能的一个重要基础。
一、为什么要逻辑设计?
1、全表扫描案例
从一个案例来看,例如查询“喜欢语文的所有学生”
--由于%号这里肯定是走了全表扫描select id,name,hobby from student where hobby like '%语文%';
2、原因select id,name,hobby from student;ID NAME HOBBY---------------------1 小明 语文,数学2 小红 英语,语文,数学3 小林 英语,语文
可以看到如果是这么设计表的话,把学生的爱好都塞在一个字段HOBBY中,那么查询条件只能写成like '%语文%'。这里的根本原因是该表设计不符合规范化设计理论,从而导致了全表扫描。这里我们就可以看出逻辑设计的重要性了。
二、什么是逻辑设计
1、概念总结
1)将需求转化成数据库的逻辑模型
2)通过ER图的型式对逻辑模型进行展示
3)同所选用的具体的DBMS系统无关
2、名词解释
关系:一个关系对应通常所说的一张表
元组:表中的一行即为一个元组
属性:表中的一列即为一个属性,每一个属性都有一个名称,称为属性名
候选码:表中的某个属性组,它可以唯一确定一个元组