软件系统数据库设计中的数据库的逻辑设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)充分应用良好的ORM框架和应用层的对象缓存机制 可以让比较简单的查询根本不打扰数据库,让比较复 杂的查询尽量少的扫描表记录,提高性能。 合理地遵循三大范式,并利用好 ORM和对象缓存技术, 可以获得较好的应用性能
(4)正确认识数据冗余和合理地应用数据冗余 主键与外键在多表中的重复出现, 不属于数据冗余, 非键字段的重复出现, 才是数据冗余! 合理地产生数据冗余的目的是为了提高数据处理的速 度,但数据冗余会增加数据的不一致性——因为同一数据, 可能会从不同时间、地点、角色上多次录入,而出现不同 的值。 (5)充分应用视图——视图是供程序员使用数据库的一个 窗口,是基表数据综合的一种形式, 是数据处理的一种方 法,是用户数据保密的一种手段。
(4)物理设计 根据特定数据库管理系统所提供的多种存储结构和存 取方法实施物理数据模型,并最终完成数据库关系表的物 理结构设计等工作。
(5)安全性设计——数据库的角色和权限
(6)验证和优化设Βιβλιοθήκη Baidu 加载测试所设计的物理数据库,来验证数据库设计 的正确性和合理性;分析并优化数据库的“时—空”效率。 5、数据库设计的范式(3NF范式) (1)范式---应满足一定的规范(约束条件) 数据库的设计范式是数据库设计所需要满足的规范, 满足这些规范的数据库是简洁的、结构明晰的,同时, 不会发生插入、删除和更新操作异常。
(6)中间表和临时表 中间表是存放统计数据的表,它是为数据仓库、输出 报表或查询结果而设计的。 临时表是程序员个人设计的,存放临时记录,为个人 所用。 中间表由DBA维护,临时表由程序员自己维护。 10、实体关系图 (1)实体关系图ERD(Entity Relationship Diagram) 实体关系图是指以实体、关系、属性三个基本概念 来概括数据的基本结构,从而描述出数据的静态结构的一 种概念模式。 (2)实体关系图的主要作用——描述各个实体的内部结构 和实体间的关系 在需求分析阶段使用ERD描述系统中实体(现实世界 中的对象)之间的逻辑关系,在设计阶段则使用ERD描述 物理数据库表之间的关系。
(3)如何满足1NF的要求 如果数据列为复合数据,则需要定义一个新表,并通过 主键关联该表(必须为每组相关数据分别创建一个表) 每条数据记录必须用一个主键来标识
7、第二范式(2NF) (1)基本含义 要求数据库表中的每行数据必须可以被主键唯一地区分。 (2)示例
(3)如何满足2NF的要求 只要数据列的数据出现重复,就需要把该表拆分为多个 表 拆分后的两个表必须用外键建立关联
8、第三范式(3NF) (1)基本含义 要求一个数据库表中不包含已在其它表中已包含的非 主关键字信息,也即属性不依赖于其它非主属性。 (2)示例
(3)如何满足3NF的要求 与主键没有直接关系的数据列必须消除 消除的方法就是将这些与主键没有直接关系的数据列 分离出,并再创建出一个新的数据表
9、在数据库设计的三大范式和性能之间找到平行点 (1)在传统的数据库应用中经常漠视和违反三大范式? 在很多所谓的金融、电信等超级大项目当中,连主键 都没有的表比比皆是,一张表上百个字段,字段之间没 有什么逻辑关系的情况比比皆是? (2)在数据库设计的三大范式和性能之间找到平行点 传统的数据库应用软件开发,程序员很难从符合三大 范式的数据模型当中获得有效的查询性能。 符合三大范式就意味着数据库表会拆分的很细,表间 关联很多,统计分析查询就不可避免的导致n张表的 联合查询。 在没有有效的应用层缓存的情况下,这种查询将不可 避免的性能低下。这使得开发人员宁肯违背三大范式, 而选择查询性能优先的数据库设计。
软件系统数据库设计中的 数据库的逻辑设计
软件系统数据库设计中的 数据库的逻辑设计
在本讲您能了解如下内容
数据库逻辑设计?如何进行? 数据库设计的范式?有那些? 数据库表的主键设计要点 数据库表之间的关联 实体关系图ERD
1、数据库和数据库管理系统(DBMS) (1)数据库是依照某种数据模型组织起来并存放二级存储 器中的数据集合 (2)DBMS是一种操纵和管理数据库的大型软件,是用于建 立、使用和维护数据库。
(2)概念模型设计 数据概念模型设计是将用户总需求中关于数据部分的需 求,将其综合为一个统一的概念模型的过程 根据数据流图和数据字典建立ER图等概念模型,该模型 应能够反映出现实世界各部门的信息结构、信息流动情 况、信息间的互相制约关系以及对信息储存、查询和加 工的要求等。
(3)逻辑设计 根据ER图获得关系模式及表结构的逻辑设计结果(适 应于某种特定数据库管理系统所支持的逻辑数据模式)。
(3)ERD在应用中的不足之处 ERD只关注系统中数据结构和数据间的关系,而缺乏对 系统功能的描述。 如果将 ERD 与 DFD ( DFD 尤其适用于 MIS 系统的表述,但 是从DFD图中无法表达活动中的各个实体间的关系)两 种方法相结合,则可以更准确地描述系统的需求 (4)某项目中的ER图示例 下面给出某项目在需求分析阶段的各个实体及实体关 系一个示例图
(2)范式是符合某一种级别的关系模式的集合 尽管目前关系数据库有六种范式,但一般数据库只 需满足到第三范式(3NF)就行了。 6、第一范式(1NF) (1)满足最低要求的一级 在任何一个关系数据库系统中,第一范式(1NF)是 对关系模式的基本要求,不满足第一范式(1NF)的数据 库就不是关系数据库。 (2)基本含义 第一范式主要是指数据库表的每一列都是不可分割的 基本数据项和数据列无重复的数据值——这个单一属性 由基本类型构成,包括整型、实数、字符型、逻辑型、 日期型等。
2、数据库在企业中的应用-----“无处不有”
3、数据库设计 (1)什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造最优 的数据库模式,建立数据库及其应用系统,有效存储数据, 满足用户信息要求和处理要求。
(2)设计输入 需求文档 体系结构设计文档 4、数据库设计的六个步骤 (1)数据库需求分析 主要是分析数据的种类、范围、数量以及它们在业务 活动中交流的具体情况,确定用户对数据库系统的使用要 求和各种约束条件等方面的信息,从而获得数据流图 (DFD)和数据字典(DD)。