- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[数据库设计和优化
数据库设计和优化 2001 年 6 月 中科院软件所软件工程技术中心 金蓓弘 对象模型和范式 范式是关系数据库设计的数学原则,它与使用的开发技术如面向对象设计、实体关系设计技术无关 范式提供了组织数据的方法 按面向对象方法设计出来的对象模型(逻辑数据库模型)也是一种组织数据的方法,应该能自然地满足范式的要求,也不需要太多的非正规化 对象建模 表示 一个班最多只允许有20个学生 一个学校篮球队必须有至少8名,至多10名球员 ER图不擅长表示基数关系 实现:用触发器,手工编写业务规则。 逻辑数据库设计 用关系数据库实现UML模型 正规化设计 非正规化设计 常用的非正规化技术 用关系数据库实现UML模型 映射结构 映射功能 映射结构之基本步骤 类映射成表 属性映射成列 有时,为生成型的标识符新增一列 用序列码做唯一标识符 映射关联关系 映射聚合和组合 映射继承关系 映射关联关系:多对多 推荐的实现方法 映射关联关系:一对多 推荐的实现方法 映射关联关系:一对零/一 推荐的实现方法 映射关联关系:一对零/一 另一种方法 资金清算系统中的例子 不好的映射(1) 不好的映射(2) 不好的映射(3) 映射聚合和组合 聚合(aggregation)分成聚合(aggregate)和组合(composite) Oracle8用聚簇(包括索引组织表),嵌套表,VARRAY实现 资金清算系统中的例子 映射继承关系:推荐的方法 映射继承关系:其他方法一 映射继承关系:其他方法二 映射继承关系:其他方法三 映射功能之基本步骤 将在对象模型上的遍历表达式直接映射成SQL语句 在Oracle中有四种实现方式 构造方式 成员方式 排序方式 映射方式 成员方式 成员方式是用户定义的存取路径,指明对一个指定的对象类的数据存取和操纵方式 用PL/SQL过程或函数实现 create or replace type person_t as object (person_ID number, last_name varchar2(50), first_name varchar2(50), birth_date date, member function age return number) create or replace type body person_t is member function age return number is begin return (sysdate - birth_date) /365; end; end; 排序/映射方法 用于比较或排序同一对象类型的数据,即在对象类型中定义排序或映射方法支持对象的不等值比较。 为对象类写方法(method)的方法: PL/SQL,C/C++ PL/SQL写的method在oracle服务器的地址空间运行,C/C++写的method在服务器的地址空间外运行 对计算量不大的method,用PL/SQL性能价格比最好。对计算量大的method,用C/C++ 逻辑数据库设计 用关系数据库实现UML模型 正规化设计 非正规化设计 常用的非正规化技术 正规化(Normalization)设计 范式 每种范式都包含上一个范式的规则,例如,满足3NF的关系一定满足2NF。 第一范式 一行和一列位置包含的值不能超过一个(不包含任何多值属性) 第二范式 每个非键字段必须依赖整个主键,但不是复合主键的一部分(如果只依赖主键的一部分来确定信息,就违反了第二范式) 第三范式 一个非键字段不能依赖另一个非键字段(即没有属性依赖于非键属性;数据库中不能存在传递依赖关系) 违反第一范式的例子 Number Date Item1 Qty1 Price1 Item2 Qty2 Price2 1001 1/1/2001 Ball 3 4.00 Bat 3 5.00 1002 2/2/2001 Ball 2 4.00 1003 3/3/2001 Glove 2 2.00 Ball 2 4.00 Third Normal Form (3NF) A relation R is in 3NF if : whenever A1A2…An--B is a nontrival dependency, either {A1,A2,…,An} is a superkey, or B is a member of some key. 如果一个表有多个键,不要求所有的键都在A1,A2,…,An中,只要一个即可。 Boyce-Codd Normal Form: 依赖关系仅存在于每个属性和整个主键之间。 用Boyce-Codd范式作为标准评
您可能关注的文档
最近下载
- 新教材鲁科版高中物理选择性必修第二册全册各章节知识点考点重点难题解题规律提炼汇总.pdf VIP
- 铁路安全管理条例.pptx VIP
- 22S521 预制装配式混凝土检查井.docx VIP
- 外墙保温装饰一体板施工方案.docx VIP
- HD微机继电保护测试系统说明书.pdf.comp.pdf
- 新概念英语第一册Lesson99-100练习题.docx VIP
- 12S8排水工程图集.docx VIP
- DZ_T 0181-1997水文测井工作规范.pdf
- CJJ 143-2010 埋地塑料排水管道工程技术规范.docx VIP
- 2024浮梁县教体系统“归雁计划”选调历年考试试题及答案.docx VIP
文档评论(0)