数据库设计流程和依据.pdfVIP

  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.需求分析 数据库需求的作⽤点 1.数据是什么 2.数据有哪些属性 3.数据和属性各⾃有什么特点 2.逻辑设计 1.使⽤ER图对数据库进⾏物理建模 3.物理设计 1.根据数据库⾃⾝的特点把物理逻辑转化为物理设计 4.维护和优化 1.新的需求进⾏建表 2.索引优化 3.⼤表拆分 需求分析: 1.了解系统中要存储的数据 2.了解数据的存储特点 3.了解数据的⽣命周期 1.实体与实体之间的关系(1对1,1对多,多对多) 2.实体所包含的属性 3.哪些属性,或者属性的集合可以唯⼀标⽰⼀个实体 4.实体的特性(如增长量) 对⼀个实体的属性分析应该包括: 1.包括的属性 2.可选的唯⼀标⽰属性 3.存储特点(如快增长型,永久型,临时型)(分表分库) 逻辑设计 数据库设计的范式 1.第⼀范式 2.第⼆范式 3.第三范式 4.BC范式 1.数据库第⼀范式: 数据表中的所有字段都是单⼀属性,不可再分的,这个单⼀属性是由基本的数据类型所构成的 如,整数,浮点,字符串 通俗来数,第⼀范式要求数据库中的表都是⼆维表 2.第⼆范式: 数据库的表中不存在⾮关键字段,对任⼀候选关键字段的部分函数依赖。部分函数依赖是指存在着组合关键字中某⼀关键字决定⾮关键字的 情况。 通俗来说:所有单关键字的表都符合第⼆范式 3.第三范式: 第三范式是在第⼆范式的基础上定义的,如果表中不存在⾮关键字段对任意候选关键字段的传递函数依赖,都符合第三范式 4.Boyce.Codd范式: 在第三范式的基础上,在数据表中如果不存在任何字段对任⼀字段候选关键字段的传递函数依赖,则符合Bc范式。 也就是说如果是复合关键字,则符合关键字之间也不能存在函数依赖关系 数据库设计不当会带来的问题 1.操作异常 1.插⼊异常:如果某个实体随着另⼀个实体的存在⽽存在,即为缺少某个实体是⽆法表⽰另⼀个实体,哪个这个表久存在插⼊异常 2.更新异常:如果更改某表对应的某个实体的单独属性时,需要将多⾏更新,那么就说这个表存在更新异常 3.删除异常:如果删除表的某⼀⾏来反映某实体实例,失效时导致另⼀个不同实体实例信息丢失,哪个这个表中就存在删除异常 2.数据冗余: 指相同的数据在多个地⽅存在,或者说表中的某个列可以通过由其他列计算的到 物理设计: 1.选择合适的数据库管理系统 2.建⽴数据库,表及其字段的命名规范 3.根据所选的DBMS系统选择合适的字段 4.反范式化的设计 如何选择数据库: 商业数据库: 1.Oracle 适合⽐较⼤的事务操作,性能较好 2.,SQLServer 只适合在Windows下运⾏ 开源数据库: 1.MySQL 不适合较的的事务操作,性能不如商业数库 2.PgSQL 跨平台性: Windows: 1.Oracle 2.SQlServer 3.MySQL 4.PgSQL Windows,Linux,mac 1.Oracle 2.MySQL 3.PgSql 企业级中经常使⽤ : 1.Oracle 2.SQLServer 中⼩型企业中经常使⽤ : 1.MySQL 2.PgSql MySQL的存储引擎 1.MyLSAM,不⽀持 事务, ⽀持并发的插⼊表级锁, 主要应⽤:select insert 忌⽤读写操作频繁 2.MRG_MYISAM 不⽀持事务 ⽀持并发插⼊的表级锁 主要应⽤分段归档,数据归档 。忌⽤全局查找多 3.Innodb ⽀持事务 ⽀持MVCC的⾏级锁 主要应⽤事务处理 ⽆禁⽤情况 4.Archive 不⽀持事务 , 锁粒度为⾏级锁 主要⽤应于⽇志记录jnsert和select,只⽀持随机数据读取更快时禁⽤ 5.Ndb Cluster,⽀持事务,锁粒度为⾏级锁,主要应⽤为⾼可⽤性,适合⼤部分场景 表及其字段的命名规范 1.可读性原则: 使⽤⼤写和⼩写来格式化的库对象名来获得可读性 2.表意性原则 对象的名称应该能够描述它所标⽰的对象 3.长命性原则 尽量少的不使⽤缩写 数据库字段类型选择原则 1.列的数据类型⼀⽅⾯影响数据存储空的开销,另⼀⽅⾯也会影响数据查询性能,当⼀个列可以选择多个数据类型时,应该优先考虑数字类 型,其次是 ⽇期或者⼆进制类型,最后是字符类型,对于同级别的数据类型,应该优先考虑选择 占⽤空间⼩的数据类型,⽐如选定长⽽不选 变长 字段类型和存储空间 TINYINT 1字节 SMALLINT 2个字节 MEDIUMINI 3个字节 INT 4

文档评论(0)

134****3224 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档