数据库生命周期

上传人:时间****91 文档编号:120905312 上传时间:2022-07-18 格式:DOC 页数:8 大小:622KB
收藏 版权申诉 举报 下载
数据库生命周期_第1页
第1页 / 共8页
数据库生命周期_第2页
第2页 / 共8页
数据库生命周期_第3页
第3页 / 共8页
资源描述:

《数据库生命周期》由会员分享,可在线阅读,更多相关《数据库生命周期(8页珍藏版)》请在装配图网上搜索。

1、数据库生命周期数据库的生命周期重要分为四个阶段:需求分析、逻辑设计、物理设计、实现维护。数据库的物理设计,涉及索引的选择与优化、数据分区等内容。这些内容也非常丰富,并且可以自成体系,园子里也有诸多好文章,故在本系列中不作重要关注。本文最后将给出某些链接供人们参照。数据库生命周期的四个阶段又能细分为多种小环节,我们配合图(1)来看看每一小步涉及的内容。阶段1 需求分析数据库设计与软件设计同样一方面需要进行需求分析。我们需要与数据的发明者和使用者进行访谈。对访谈获得的信息进行整顿、分析,并撰写正式的需求文档。需求文档中需涉及:需要解决的数据;数据的自然关系;数据库实现的硬件环境、软件平台等;图(2

2、)阶段1 需求分析阶段2 逻辑设计使用ER或UML建模技术,创立概念数据模型图,展示所有数据以及数据间关系。最后概念数据模型必须被转化为范式化的表。数据库逻辑设计重要环节涉及:a) 概念数据建模在需求分析完毕后,使用ER图或UML图对数据进行建模。使用ER图或UML图描述需求中的语义,即得到了数据概念模型(Conceptual Data Model),例如:三元关系(ternary relationships)、超类(supertypes)、子类(subtypes)等。eg: 零售商视角,产品/客户数据库的ER模型简图注:ER图的含义,以及具体标记措施将在该系列的下一篇博文中进行讨论图(3)阶

3、段2(a) 概念数据建模b) 多视图集成当在大型项目设计或多人参与设计的状况下,会产生数据和关系的多种视图。这些视图必须进行化简与集成,消除模型中的冗余与不一致,最后形成一种全局的模型。多视图集成可以使用ER建模语义中的同义词(synonyms)、聚合(aggregation)、泛化(generalization)等措施。多视图集成在整合多种应用的场景中也非常重要。eg: 集成零售商ER图与客户ER图零售商ER图如图(3)所示。客户视角,产品/客户数据库的ER模型简图如下:图(4)以客户为关注点绘制的ER图注:目前市面上有许多辅助建模工具可以绘制ER图。使用Sybase的PowerDesign

4、er绘制与图(4)相似语义的ER图如下:其标记法与图(4)中略有不同,这将在此后的博文中加以阐明。这里需要指出的是辅助软件的使用不是设计的核心,人们不要被这些工具困惑。所后来文中我们将重要使用手绘。只要掌握了ER图的语义,使用这些软件都不会是件难事。集成零售商ER图与客户ER图图(5) 阶段2(b) 多视图集成c) 转化概念数据模型为SQL表根据映射规则,把ER图中的实体与关系转化为SQL表构造。在这一过程中我们将辨认冗余的表,并清除这些表。eg: 把图(5)中的customer, product, salesperson实体转化为SQL表图(6) 阶段2(c)转化概念数据模型为SQL表d)

5、范式化范式化是数据库逻辑设计中的重要一步。范式化的目的是尽量清除模型中的冗余信息,从而消除关系模型更新、插入、删除异常(anomalies)。讲到范式化就会引出函数依赖(Functional Dependency)这一概念。函数依赖(FDs)源自于概念数据模型图,反映了需求分析中的数据关系语义。不同实体之间的函数依赖表达各个实体唯一键之间的依赖。实体内部也有函数依赖,反映了实体中键属性与非键属性之间的依赖。在保证数据完整性约束的前提下,基于函数依赖对候选表进行范式化(分解、减少数据冗余)。eg: 对图(6)中的Salesperson表进行范式化,消除更新异常(update anomalies)

6、图(7) 阶段2(d)范式化阶段3 物理设计数据库物理设计涉及选择索引,数据分区与分组等。逻辑设计措施学通过减少需要分析的数据依赖,简化了大型关系数据库的设计,这也减轻了数据库物理设计阶段的压力。1. 概念数据建模和多视图集成精确地反映了现实需求场景2. 范式化在模型转化为SQL表的过程中保存了数据完整性数据库物理设计的目的是尽量优化性能。物理设计阶段,全局表构造也许需要进行重构来满足性能上的需求,这被称为反范式化。反范式化的环节涉及:1. 辨别核心性流程,如频繁运营、大容量、高优先级的解决操作2. 通过增长冗余来提高核心性流程的性能3. 评估所导致的代价(对查询、修改、存储的影响)和也许损失

7、的数据一致性阶段4 数据库的实现维护当设计完毕之后,使用数据库管理系统(DBMS)中的数据定义语言(DDL)来创立数据构造。数据库创立完毕后,应用程序或顾客可以使用数据操作语言(DML)来使用(查询、修改等)该数据库。一旦数据库开始运营,就需要对其性能进行监视。当数据库性能无法满足规定或顾客提出新的功能需求时,就需要对该数据库进行再设计与修改。这形成了一种循环:监视 再设计 修改 监视。在进行数据库设计之前,我们先回忆一下关系数据库的有关基本概念。这里只做一种提纲挈领的简介,人们可以根据相应的线索进行扩展。表、行、列关系数据库可以想象成表的集合,每个表涉及行与列。(可以想象成一种Excel w

8、orkbook,涉及多种worksheet)。表在关系代数中被称为关系,这也是关系数据库名称的来源(不要与表之间的外键关系混淆)。列在关系代数中被称为属性(attribute)。列中容许寄存的值的集合称为列的域(域与数据类型密切有关,但并不完全相似)。行在关系代数中的学名是元组(tuple)。关系数据库的理论基本来自于“关系代数”。但在关系代数中,一种集合的各个元组没有顺序的概念,在关系数据库中为了以便使用,定义了行的顺序。键、索引键是一种约束,目的是保证数据完整性1. 复合键(Compound key):由多种数据列构成的键2. 超键(Superkey):列的集合,其中任何两行都不会完全相似

9、3. 候选键(Candidate key):一方面是一种超键,同步这个超键中的任何列的缺失都会破坏行的唯一性4. 主键(Primary key):指定的某个候选键索引是数据的物理组织形式,目的是提高查询的性能约束基本约束not null constraint, domain constraint检查约束(Check Constraints)eg: Salary 0主键约束(Primary Key Constraints)实体完整性(entity integrity),没有两条记录是完全相似的,构成主键的字段不能为null唯一性约束(Unique Constraints)外键约束(Foreign Key Constraints)也被称为引用完整性约束,eg:关系数据库操作1.选择(Selection)2.映射(Projection)3.联合(Union)4.交集(Intersection)5.差集(Difference)6.笛卡尔积(Cartesian Product)7.连接(Join)上述7种是最基本的关系数据库操作,相应于集合论中的关系运算。有些书籍中还会加入改名(Rename),除(Divide)等关系操作。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!