




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库设计,第二学期,2,ACCP第一学期SQL知识回顾,数据库基本概念 SQL查询语言基本知识 SQL Server2000的使用,3,ACCP第二学期SQL 课程目标,理解数据库设计过程 T-SQL编程 理解事务的概念 视图 存储过程 触发器 游标 SQL 安全模型,第一章,数据库设计,5,目标,理解与数据库设计有关的概念,如数据库建模 实体关系模型 理解用于设计数据库的 E-R 图及其实现 理解数据规范化 数据完整性 了解数据字典、数据完整性和数据库服务器设计,6,数据库设计和建模必要性,好的数据库结构有利于: 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 设计
2、不好的数据库结构将导致 数据冗余、存储空间浪费 内存空间浪费,7,设计数据库,不管数据库的大小和复杂程度如何,可以用下列基本步骤来设计数据库: 收集信息 标识对象 设计数据模型 标识每个对象的信息类型 标识对象之间的关系,8,数据建模的概念,将现实世界的数据转换成信息世界的数据 的过程称为建模,9,数据建模步骤,10,建立外模式,外模式是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述 是数据库用户的数据视图 是与某一应用有关的数据的逻辑表现 不依赖于 数据库的逻辑结构,外模式是与用户有关的数据模型,11,建立概念模型1-2,概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户
3、的公共数据视图。 概念模式是整个组织的数据视图,表示数据库中的全部数据内容,因此一个数据库只有一个概念模式。,12,建立概念模型2-2,概念模式由若干个概念记录类型组成,它不仅要描述概念记录类型,还要描述记录之间的联系、所允许的操作、数据的完整性、安全性和其它数据控制方面的要求。 概念模型不涉及到存储结构、访问技术等细节。 设计概念模型的方法有多种,例如实体关系模型、对象模型等。,13,建立内模型,内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。 一个数据库只有一个内模式。 内模式定义了所有内部记录类型、索引和文件的组织形式,以及数据控制方面的细节。,14,使用DBMS设计
4、数据库体系结构,15,概念模型设计实体关系模型,实体关系模型:DB 设计过程,并且表示 DB 的整个逻辑结构 实体:实体可以是具体的(例如一个人或一本书),也可以是抽象的(如一个节日或一个概念) 属性:实体是由一组属性来表示的。例如:Person(个人)实体的属性有 Name(名称)、SSN、Age(年龄)、Street(街道)、City(城市) 关系:关系是两个或多个实体之间的联系,16,关系的类型,17,E-R 图的符号,18,E-R 图1-2,19,E-R 图2-2,20,什么是规范化,我们的任务是研究模式设计,研究设计一个“好”的(没有“毛病”的)关系模式的办法。 数据依赖是通过一个关
5、系中属性间值的相等与否体现出来的数据间的相互关系。,21,三级范式1-3,第一范式的定义: 如果一个表中没有重复组(即行与列的交叉点上只有一个值,而不是一组值),且定义了关键字、所有非关键属性都依赖于关键字,则这个表属于第一范式(常记成1NF)。 例如,图1中的表属于1NF,它的关键字是。,22,三级范式2-3,第二范式的定义: 如果一个表属于1NF,且不包含部分依赖性,既没有任何属性只依赖于关键字的一部分,则这个表属于第二范式(常记成2NF )。 将1NF转换成2NF的方法是分解。,23,三级范式3-3,第三范式的定义: 如果一个表属于2NF,且不包含传递依赖性,则这个表是第三范式(常记成3
6、NF)。 满足3NF的表中不包含传递依赖,即没有一个非关键属性依赖于另一个非关键属性,或者说没有一个非关键属性决定另一个非关键属性。,24,规范化实例1-5,假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等; 公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等; 公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)。 公司定期制定一个工资报表,如图-1所示。,25,规范化实例2-5,图-1 某公司的工资表,26,规范化实例3-5,图-2,27,规
7、范化实例4-5,1表中包含大量的冗余,可能会导致数据异常: a.更新异常 例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行。 b. 添加异常 若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空) c. 删除异常 例如,1001号职工要辞职,则必须删除所有职工号1001的数据行。这样的删除操作,很可能丢失了其它有用的数据。,28,规范化实例5-5,2采用这种方法设计表的结构,虽然很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,很可能导致数据的不一致性。,29,用函数依赖图表示所有属性之间存在的函数依赖关系,如图3所示。 1. 图上方的箭头表示关键属性决定非关键属性。 2. 图下方的箭头表示属性之间的函数依赖性。,函数依赖图,图-3函数依赖图,30,再看这三个表的函数依赖图,图-4 三个表的函数依赖图,31,画出四个表的函数依赖图,从函数依赖图可见,已经消除职工表中的传递依赖,这四个表都属于第三范式。 在绝大多数情况下,一个数据库的所有表都满足3NF,就基本达到数据库设计的目标。,32,数据库设计中的其他因素,数据字典 数据元素定义可以独立于表定义,也可以是表定义的一部分 数据类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厨房装潢施工合同范本
- 医学检验课题申报书
- 合作返款合同范本
- 农药订货合同范本
- 合资种植桉树合同范本
- 厨房电梯采购合同范本
- 单位窗帘定制合同范本
- 劳务合同范本培训学校
- 住房公积金优化调整实施方案
- 口罩机合同范本
- 大数据平台部署与运维高职全套教学课件
- 《大数据平台部署与运维》课程教学大纲
- 工程安全管理组织机构框架图
- 新版现代西班牙语学生用书第一册课后习题答案
- 科技成果查新检索基本情况表
- 新媒体艺术设计交互融合元宇宙
- 家长会课件:七年级家长会优质课件
- 《AutoCAD 中文版实例教程(AutoCAD 2020) (微课版)(第 2 版)》课件 马连志 第1、2章 AutoCAD 2020 中文版入门、绘图设置
- 小学一年级硬笔书法入门班教学课件
- 社会工作-心理学视角下的校园欺凌认知与对策研究论文
- 面神经炎临床路径
评论
0/150
提交评论