数据库的逻辑结构设计和物理设计kingwzun

概念模型将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。

描述概念模型的工具E-R模型

实体之间的联系(1)两个实体型之间的联系:

一对一联系(1∶1)学校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。

一对多联系(1∶n)一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。

多对多联系(m∶n)一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。

(2)一般的,单个实体型and两个以上的实体型之间也存在着一对一、一对多、多对多联系。

联系的度:参与联系的实体型的数目2个实体型之间的联系度为2,也称为二元联系;3个实体型之间的联系度为3,称为三元联系;N个实体型之间的联系度为N,也称为N元联系

E-R图E提供了表示实体型、属性和联系的方法:

实体型:用矩形表示,矩形框内写明实体名。

实体与属性的划分原则:为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。两条准则:

E-R图的集成一般需要分两步

(1)合并E-R图,生成初步E-R图各个局部应用所面向的问题不同,各个子系统的E-R图之间必定会存在许多不一致的地方,称之为冲突。

子系统E-R图之间的冲突主要有三类:

属性冲突

命名冲突

结构冲突

(2)消除不必要的冗余,设计基本E-R图冗余的数据:能由基本数据导出的数据,冗余的联系:能由其他联系导出的联系。注意:并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。

消除冗余方法:

分析方法(主要采用)即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。

用规范化理论来消除冗余

由于规范化理论受到泛关系假设的限制,应注意下面两个问题:冗余的联系一定在D中,而D中的联系不一定是冗余的;当实体之间存在多种联系时,要将实体之间的联系在形式上加以区分。

逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。

对于我们来说就是指:将E-R图转换为关系模式

转换内容E-R图由实体型、实体的属性和实体型之间的联系三个要素组成。关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模型就是指:将实体型、实体的属性和实体型之间的联系转化为关系模式

一个实体型转换为一个关系模式。关系的属性:实体的属性关系的码:实体的码

实体型间的联系有以下不同情况

一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。①转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码②与某一端实体对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身的属性合并后关系的码:不变

一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。①转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体的码②与n端对应的关系模式合并合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用合并

一个m:n联系只能转换为一个关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合

三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合

具有相同码的关系模式可合并目的:减少系统中的关系个数合并方法:1将其中一个关系模式的全部属性加入到另一个关系模式中2然后去掉其中的同义属性(可能同名也可能不同名)3适当调整属性的次序

可以将部门压缩到职工可以将领导压缩到部门参加n:m所以必须独立负责:可以将职工压缩到产品中供应:n:m:p必须独立

数据库逻辑设计的结果不是唯一的。优化数据模式就是指:从一范式优化到到更高的范式优化。

确定数据依赖按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。

对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。

按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。

按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。注意:并不是规范化程度越高的关系就越优非BCNF的关系模式虽然会存在不同程度的更新异常,但如果在实际应用中对此关系模式只是查询,并不执行更新操作,就不会产生实际影响。

对关系模式进行必要分解,提高数据操作效率和存储空间的利用率。

常用分解方法

水平分解把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。实际中:对符合80/20的,把经常被使用的数据(约20%)水平分解出来,形成一个子关系。水平分解为若干子关系,使每个事务存取的数据对应一个子关系。

垂直分解概念:把关系模式R的属性分解为若干子集合,形成若干子关系模式。分解原则经常在一起使用的属性从R中分解出来形成一个子关系模式优点可以提高某些事务的效率缺点可能使另一些事务不得不执行连接操作,降低了效率分解要求:垂直分解必须不损失关系模式的语义(保持无损连接性和保持函数依赖)

数据库的物理结构数据库在物理设备上的存储结构与存取方法。它依赖于选定的数据库管理系统。设计目标:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。

关系数据库物理设计的内容

常用存取方法

1.确定数据的存放位置

基本原则根据应用情况将易变部分与稳定部分分开存放经常存取部分与存取频率较低部分分开存放例可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效。可以将日志文件与数据库对象(表、索引等)放在不同的磁盘以改进系统的性能。

评价方法

对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。

数据库结构建立好后,就可以向数据库中装载数据了。组织数据入库是数据库实施阶段最主要的工作。

数据装载方法人工方法计算机辅助数据入库

在组织数据入库的同时还要调试应用程序。

数据库应用程序的设计应该与数据设计并行进行。

应用程序调试完成,并且已有一小部分数据入库后,就可以开始对数据库系统进行联合调试,也称数据库的试运行。

主要工作包括:功能测试:实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能。性能测试:测量系统的性能指标,分析是否符合设计目标。

数据的分期入库原因:重新设计物理结构甚至逻辑结构,会导致数据重新入库由于数据入库工作量实在太大,所以可以采用分期输入数据的方法

先输入小批量数据供先期联合调试使用,待试运行基本合格后再输入大批量数据,逐步增加数据量,逐步完成运行评价。

数据库的转储和恢复在数据库试运行阶段,系统还不稳定,硬、软件故障随时都可能发生。系统的操作人员对新系统还不熟悉,误操作也不可避免因此必须做好数据库的转储和恢复工作,尽量减少对数据库的破坏

在数据库运行阶段,对数据库经常性的维护工作主要是由数据库管理员完成的,包括:

数据库的转储和恢复数据库管理员要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份。一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态。

数据库的安全性、完整性控制初始定义数据库管理员根据用户的实际需要授予不同的操作权限根据应用环境定义不同的完整性约束条件修改定义当应用环境发生变化,对安全性的要求也会发生变化,数据库管理员需要根据实际情况修改原有的安全性控制由于应用环境发生变化,数据库的完整性约束条件也会变化,也需要数据库管理员不断修正,以满足用户要求

数据库性能的监督、分析和改进在数据库运行过程中,数据库管理员必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法。利用监测工具获取系统运行过程中一系列性能参数的值通过仔细分析这些数据,判断当前系统是否处于最佳运行状态如果不是,则需要通过调整某些参数来进一步改进数据库性能

数据库的重组织与重构造

重组织的形式

重组织的目标提高系统性能

重组织的工作

数据库管理系统一般都提供了供重组织数据库使用的实用程序,帮助数据库管理员重新组织数据库。

(2)数据库的重构造重构造原因数据库应用环境发生变化,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好地满足新的需求。

数据库重构造的主要工作根据新环境调整数据库的模式和内模式增加或删除某些数据项改变数据项的类型增加或删除某个表改变数据库的容量增加或删除某些索引

注意:重构造数据库的程度是有限的若应用变化太大,已无法通过重构数据库来满足新的需求,或重构数据库的代价太大,则表明现有数据库应用系统的生命周期已经结束,应该重新设计新的数据库应用系统了。

数据库的设计过程

需求分析综合各个用户的应用需求(现实世界的需求)。

概念结构设计概念模式(信息世界模型),用E-R图来描述。

逻辑结构设计在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式

物理结构设计在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式

THE END
1.数据库的物理设计对性能的影响(以SQLite为例)在物理设计阶段,可以考虑使用内存数据库、优化磁盘读写策略、合理设计数据文件的布局等方法来减少磁盘IO次数,从而提高数据库的整体性能。 数据类型的选择 选择合适的数据类型也是数据库物理设计中需要考虑的重要因素。在 SQLite 中,不同的数据类型对存储空间的占用和数据操作的性能有不同影响。 https://www.jianshu.com/p/92097abac872
2.第二十九章:数据库的设计规范其他实例文章**第二十九章:数据库的设计规范** 在软件开发领域,数据库是系统中最重要的一部分,它负责存储和管理数据。然而,很多时候,我们会发现数据库设计不合理,导致性能问题、维护困难等问题。因此,在本章中,我们将讨论数据库设计的规范。 **1. 数据库设计原则** ...http://www.shili8.cn/article/detail_20002674471.html
3.数据库物理设计原则Jackychen83数据库物理设计原则 1.1数据库环境配置原则 1.1.1操作系统环境: 对于中小型数据库系统,采用linux操作系统比较合适,对于数据库冗余要求负载均衡能力要求较高的系统,可以采用Oracle9iRAC的集群数据库的方法,集群节点数范围在2—64个。对于大型数据库系统,可以采用SunSolarisSPARC64位小型机系统或HP9000系列小型机系统。RAD5...http://blog.chinaunix.net/uid-685175-id-154686.html
4.数据库原理?四数据库设计和规范化理论数据存放于物理数据库中,由数据库管理系统进行管理。数据字典有助于对这些数据进一步管理和控制,为设计人员和数据库管理员在数据库设计、实现和运行阶段控制有关数据提供一定的依据。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。 https://developer.aliyun.com/article/1232854
5.数据库物理结构设计.ppt数据库数据库物理结构设计.ppt 22页内容提供方:kabudou 大小:3.14 MB 字数:约6.06千字 发布时间:2016-12-06发布于重庆 浏览人气:44 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)数据库物理结构设计.ppt 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全...https://max.book118.com/html/2016/1202/67530865.shtm
1.如何设计数据库- 设计数据库的物理存储结构,包括表空间、文件组和文件。 - 考虑性能优化,如选择合适的索引和分区。 6. **实施**: - 创建数据库架构,包括数据库、模式、表、视图、索引、触发器、存储过程和用户定义的数据类型。 - 将数据从旧系统(如果存在)迁移到新数据库。 https://blog.csdn.net/2401_87715607/article/details/143245364
2.高级数据库模式设计与性能优化g201909的技术博客当然,接下来我将为您撰写一篇关于数据库模式设计的深入文章,包括高级设计技巧、性能优化策略以及一个更复杂的示例代码。以下是大约3000字的文章内容: 高级数据库模式设计与性能优化 数据库模式设计不仅仅是创建表和字段那么简单,还需要考虑数据的一致性、性能优化、安全性和可扩展性等多个方面。本文将深入探讨数据库模式...https://blog.51cto.com/u_14540126/12523063
3.物理数据库设计英文怎么写物理数据库设计英语怎么说沪江英语词库精选物理数据库设计英文怎么写、物理数据库设计用英语怎么说及怎么读、物理数据库设计英文怎么写、物理数据库设计的英语读音及例句。http://m.hujiang.com/ciku/w_556293_-1704839835/
4.系统数据库的概念结构,逻辑结构,物理结构设计方法由于自己在写这一部分的报告时,总感觉不能很好地理解概念含义,具体的设计目标也不知道用怎样的形式来表达。在做完相关报告之后,想着把老师指导之后改正的作业展示一下,希望可以给有类似问题的小伙伴一点点帮助。 系统的概念数据库设计 将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计,最后...https://cloud.tencent.com/developer/article/2153995
5.数据库课程设计指导书6篇(全文)数据库是信息系统的核心和基础,它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。 数据库设计是信息系统开发和建设的重要组成部分。 数据库设计的基本任务是:对于一个给定的应用领域,设计优化的数据库逻辑和物理结构,使之满足...https://www.99xueshu.com/w/filea0fwsq7u.html
6.空间数据库设计的过程和步骤开源地理空间基金会中文分会开放...数据库物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 数据库实施阶段 运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,...https://www.osgeo.cn/post/7461g
7.数据库设计说明书范文(精选6篇)3.3物理结构设计 [建立系统程序员视图。] 4.运用设计 4.1数据字典设计学习是成就事业的基石 [对数据库设计中涉及到的各种项目一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。] 4.2安全保密设计 [说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获...https://www.360wenmi.com/f/filevjg4lrw0.html
8.颜值与实用性并存的数据库建模工具Chiner教程数据库其它大家看下面的这个图,是完成表结构建模之后,能够帮我们自动生成各种数据库的建表语句。 不仅如此,还可以生成JAVA和C#的与数据库表相关的实体类代码。对的,它不仅是一个数据建模工具,还是一个代码生成器。 2.3. 支持逻辑视图与物理视图设计 在数据库设计过程中,我们通常需要在初始阶段先通过一个ER图(逻辑视图)来表现...https://www.jb51.net/article/240105.htm
9.2010年10月四川自考04735《数据库系统原理》真题3.数据库物理设计的任务不包括( ) A.优化模式 B.存储记录结构设计 C.确定数据存放位置 D.存取方法设计 4.设有关系WORK(ENO,CNO,PAY),主码为(ENO,CNO)。按照实体完整性规则( ) A.只有ENO不能取空值 B.只有CNO不能取空值 C.只有PAY不能取空值 ...https://www.sczxks.com.cn/zhenti/24782.html
10.2022年研究生初试自命题科目考试大纲2)掌握文件的打开与关闭、文件的读写 四、推荐书目: 何钦铭颜晖编著,《C语言程序设计,第四版》,高等教育出版社,2020. 《数据库技术与应用》科目 一、考查目标 随着IT产业的迅猛发展,数据库技术在IT产业的应用领域越来越广。课程《数据库技术与应用》从基本原理和应用实例两方面全面地介绍关系型数据库系统,其主要...http://yjsyzs.zjou.edu.cn/info/1016/1557.htm
11.义务教育物理课程标准(2011年版)4.了解物理学及其相关技术发展的大致历程,知道物理学不仅含有物理知识,而且还含有科学研究的过程与方法、科学态度与科学精神。 5.有初步的实验操作技能,会用简单的实验仪器,能测量一些基本的物理量,具有安全意识,知道简单的数据记录和处理方法,会用简单图表等描述实验结果,会写简单的实验报告。 http://www.zwcjzx.cn/kcsz/gjkc/2019-03-01/952.html