数据库设计与实现概述.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库设计概述  (参考:[1]84-87,[2]8-31,[11]203-241,[4]100-122) 数据库设计就是针对应用需求和环境,建立合理的数据库模式和存储结构,保证数据的高效存取,并满足应用的任务处理要求。数据库设计是应用系统建设的核心技术,是数据库应用领域的主要研究课题。 数据库设计的任务 建立面向数据存储的模式(表、序列、同义词、索引、集聚、数据库链等) 设计物理存储结构(表空间、数据块、范围、段;数据文件、日志文件、控制文件) 设计面向任务处理的模式(包、存储过程、函数、触发器、视图等) 面向数据存储、任务处理和环境调整数据库设计(模式和存储结构) 数据库设计应考虑的因素 数据库的大小(内存和外存) ORACLE 支持超大型数据库(数据文件 32GB、表空间数据文件数 1022、表空间 32TB) 启动数据库实例所需的内存 数据库(文件)所需的磁盘空间 文件装入所需的临时空间(内存和外存) 数据库的发展 性能 磁盘 I/O 是引起性能瓶颈的主要因素(7200 转/秒 SCSI:连续 I/O 为 100 个/ 驱动器;随机 I/O 为 60-70 个/驱动器) 隔离连续存取的数据(重做日志文件和存档日志文件) 分布随机存取的数据(多磁盘或 RAID,因性能增加的磁盘驱动器比因空间增加的多) 增加内存(并行 I/O) 设置缓存(减少 I/O) 功能 数据库分割为多个表空间,便于备份和恢复 模式设计与处理任务(任务分解与面向任务处理的模式) 1 内码设计与功能实现(编程与运行效率) 应用类型与存储结构(OLTP 与 DSS 对日志存放要求不同) 数据保护 重做日志文件和存档日志文件需要完整保护 软件故障容错使用少,硬件故障容错使用多(RAID1 和 RAID5) RAID1(Mirroring)提供最快的故障容错和最大的保护,需要双倍磁盘(空间)(OS 和日志文件) RAID5(Data Guarding)跨磁盘写入奇偶校验信息,可避免一个磁盘故障, 读最快,写最慢(数据文件) 分区 表可以根据数据的范围分区 分区在表空间级实现,表空间由数据文件组成(建立数据文件之前规划分区) ORACLE 支持范围分区、哈西分区、组合分区,分区在提高性能方面有明显作用 字符集 建立数据库前要选择字符集 不重建数据库就不允许修改字符集 客户端字符集应该与数据库字符集相同或是其子集 数据库设计中的原则 实体、属性和关系 实体是数据模型中存储信息的对象,用户工作环境中可标识出的事物或业务元素。实体可以是具体的对象、抽象的概念、虚幻的东西等; 实体是现实世界中具有相同性质的一类事物,实例是实体的具体例子; 实体的每个实例都必须可以唯一标识; 每个实体之间都是互斥的; 属性是描述实体的状态与特征的指标。属性包括强制属性和可选属性 关系是实体之间有意义的关联。关系包括强制关系和可选关系一对一、一对多、多对多、依赖、递归、分类、排斥 对象命名规范 ORACLE 表名和列名最大长度为 30 个字符; 2 ORACLE 忽略表名和列名的大小写,以大写形式将表名和列名存储在数据字典中; ORACLE 用大写存储数据比较容易(*); 命名有意义 层次命名完整性(域名.数据库实例名.所有者.对象名.字段名) 采用英文(避免用拼音*) 单数形式 简洁又清晰(短词、缩写词、自定义缩写词) 一致性(不同表中属性名一致性、一致使用或不使用下划线、一致使用首字母大写) 分类性(密切相关的一组属性采用同一的前缀) 别名不要加(双)引号 建立对象名称词典(不同于数据库内部的数据字典) 规范化及设计范式 规范化是把有问题的关系转化为没有问题的关系的过程,设计要求规范化,但规范化不是设计。规范化应该在物理层进行,但在概念和逻辑层也可以使用。规范化的主要目的有三个: 保持数据完整性 建立尽可能与应用无关的模型(关系模型应该是数据驱动的,而不是程序驱动的,即改变处理需求时数据库结构能保持稳定;应用程序的要求应该与数据库的逻辑设计无关,但应用程序功能要求对数据库物理设计很有意义) 减少存储需求(消除或减少冗余、搜索数据少可能提高性能) 范式 要 求 “当且仅当所有的基础域仅包含原子值”。 所有属性的数据为不可分的数据项,即某个属性不能同时有多个值或不能有重复的值,同一属性的所有记录值为同一类型、单值 1NF 2NF (与唯一值不同),任意两个记录不能完全相同(即关键字确定其它属性)。 规范化措施:分解同时具有多个值的属性,去掉重复的属性。 “当且仅当满足 1NF,且所有非关键字属性都依赖于整个主关键字”。 主关键字有单个属性关键字或多个属性组合关键字。 规范化措施:分离仅依赖部分主关键字的属性构成新实体,与原 3 实体建立一对多的关系。 “当且仅当满足 2NF,且所有非

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档