790 likes | 948 Views
二级公共基础知识. 第 4 章 数据库设计基础. 内容提要. 数据库的基本概念:数据库,数据库管理系统,数据库系统。 数据模型,实体联系模型及 E-R 图,从 E-R 图导出关系数据模型。 关系代数运算,包括集合运算及选择、投影、连接运算。 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。. 4.1 数据库系统的基本概念. 4.1.1 数据、数据库、数据库管理系统 ( 续 ). 1 .数据 数据 描述事物的符号记录,用物理符号记录下来的可以鉴别的信息 物理符号:数字、文字、图形、图像声音及其他特殊符号。 多种表现形式:数字化
E N D
二级公共基础知识 第4章 数据库设计基础
内容提要 • 数据库的基本概念:数据库,数据库管理系统,数据库系统。 • 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。 • 关系代数运算,包括集合运算及选择、投影、连接运算。 • 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
4.1.1 数据、数据库、数据库管理系统(续) • 1.数据 • 数据 • 描述事物的符号记录,用物理符号记录下来的可以鉴别的信息 • 物理符号:数字、文字、图形、图像声音及其他特殊符号。 • 多种表现形式:数字化 • 计算机中数据分为两部分: • 临时性数据 • 持久性数据 • 数据有型(Type)与值(Value)之分 • 型:数据表示的类型,如整型、实型、字符型等 • 值:给出了符合给定型的值
4.1.1 数据、数据库、数据库管理系统(续) • 2.数据库 • 数据库——Database,简称DB • 数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享 • 按数据所提供的数据模式存放的 • 特点: • 较小的冗余度 • 较高的数据独立性 • 易扩展性 • 为多个用户所共享
4.1.1 数据、数据库、数据库管理系统(续) • 3.数据库管理系统 • 数据库管理系统——Database Management System,简称DBMS • 数据库的管理机构,职能是有效地组织、存储、获取和管理数据,接受及完成用户提出的访问数据的各种请求 • 数据库系统的核心 • DBMS的功能 • 数据模式定义 • 数据存取的物理构建 • 数据操纵。 • 数据的完整性、安全性定义与检查 • 数据库的并发控制与故障恢复 • 数据的服务
4.1.1 数据、数据库、数据库管理系统(续) • 3.数据库管理系统 • 数据库语言 • 数据定义语言DDL • 数据操纵语言DML • 数据控制语言DCL • 数据语言的使用 • 交互式命令语言 • 宿主型语言 • 常见的DBMS • ORACLE、Sybase的PowerBuilder、IBM的DB2、微软的SQL Server • 微软的Visual FoxPro、Access,功能简单
4.1.1 数据、数据库、数据库管理系统(续) • 4.数据库管理员 • 数据库管理员——Database Administrator,简称DBA • 对数据库的规划、设计、维护、监视等的人员 • 其主要工作有: • 数据库设计 • 数据库维护 • 改善系统性能,提高系统效率
4.1.1 数据、数据库、数据库管理系统(续) • 5.数据库系统 • 数据库系统——Database System,简称DBS • 拥有数据库技术支持的计算机系统 • 实现有组织地、动态地存储大量相关数据,提供数据处理和资源共享服务 • 组成: • 数据库(数据) • 数据库管理系统(软件) • 数据库管理员(人员) • 硬件平台:计算机和网络 • 软件平台:操作系统、数据库系统开发工具、接口软件
4.1.1 数据、数据库、数据库管理系统(续) • 6.数据库应用系统 • 数据库应用系统——Database Application System,简称DBAS • 组成:数据库系统+应用软件+应用界面
4.1.2 数据库系统的发展 • 人工管理阶段
4.1.2 数据库系统的发展 • 文件系统阶段
4.1.2 数据库系统的发展 • 数据库系统阶段
4.1.3 数据库系统的基本特点 • 数据的集成性 • 数据的高共享性与低冗余性 • 数据独立性 • 物理独立性 • 逻辑独立性 • 数据统一管理与控制 • 数据的完整性检查: • 数据的安全性保护 • 并发控制
4.1.4 数据库系统的内部结构体系 • 三级模式 • 概念级模式 • 内部级模式 • 外部级摸式 • 二级映射 • 概念级到内部级的映射 • 外部级到概念级的映射
4.1.4 数据库系统的内部结构体系 • l.数据库系统的三级模式 • 概念级模式 • 数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图 • 一个数据库只有一个概念模式 • 内部级模式 • 又称物理模式 • 数据库物理存储结构与物理存取方法 • 对一般用户是透明的,直接影响数据库的性能 • 一个数据库只有一个内模式。 • 外部级摸式 • 也称子模式或用户模式 • 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述 • 用户的数据视图 • 一个数据库可以有多个外模式
4.1.4 数据库系统的内部结构体系 • 2.数据库系统的两级映射 • 概念模式/内模式的映射 • 存在于概念级和内部级之间 • 实现了概念模式到内模式之间的相互转换 • 保证数据具有很高的物理独立性 • 外模式/概念模式的映射: • 存在于外部级和概念级之间 • 实现了外模式到概念模式之间的相互转换 • 保证数据具有较高的逻辑独立性
4.2.1 数据模型的基本概念 • 数据模型,是对现实世界中数据的模拟和抽象。 • 数据模型的分类 • 概念模型:现实世界在人脑中的反映; • 逻辑模型:按计算机系统的观点对数据建模; • 物理模型:反映数据的存储结构。 • 数据模型的组成要素 • 数据结构:所研究的对象类型的集合; • 数据操作:对数据库中各种对象的值允许执行操作的集合; • 数据的约束条件:一组完整性规则的集合。
4.2.2 E-R模型 • 1.基本概念 • 实体 • 属性 • 联系 • 一对一(1:1) • 一对多(1:M或M:1) • 多对多(M:N) • 2.三个基本概念之间的联接关系 • 实体集与属性间的联接关系 • 实体与联系
4.2.2 E-R模型 • 3.E-R型的图示法 • 实体集:用矩形表示 • 属性:用椭圆形表示 • 联系:用菱形表示 • 实体集与属性间的联接关系:用无向线段表示 • 实体集与联系间的联接关系:用无向线段表示
4.2.3 层次模型 • 一种树形结构 • 数据结构比较简单,操作简单 • 对于实体间联系是固定的、且预先定义好的应用系统,有较高的性能 • 可以提供良好的完整性支持 • 不适合表示非层次性的联系,对于插入和删除操作的限制比较多
4.2.4 网状模型 • 一个不加任何条件限制的无向图 • 优于层次模型 • 使用时设计系统内部的物理因素较多,用户操作不方便,其数据模式与系统实现不甚理想
4.2.5 关系模型 • 1.关系的数据结构 属性 表框架 元组
4.2.5 关系模型 • 主要术语 • 关系:一个关系就是一张二维表 • 元组:表中的一行 • 属性:表中的一个列 • 属性域:属性的取值范围 • 分量:元组中的一个属性值 • 主码:唯一地标识表中一个元组,主码属性不能取空值 • 外部关键字:与另一个关系的关键字相对应的属性组 • 关系模式:对一个关系的结构描述 关系名( 属性1, 属性2, ...... , 属性n )
4.2.5 关系模型 • 关系的性质 • 元组个数有限性 • 元组的惟一性 • 元组的次序无关性 • 元组分量的原子性 • 属性名惟一性 • 属性的次序无关性 • 分量值域的同一性
4.2.5 关系模型 • 2.关系操纵 • 数据查询 • 数据删除 • 数据插入 • 数据修改
4.2.5 关系模型 • 3.数据完整性约束 • 实体完整性约束 • 主键中属性值不能为空值 • 参照完整性约束 • 实体及实体间的联系 • 用户定义的完整性约束 • 具体应用要求来定义的约束条件
4.3 关系代数 • 1.关系模型的基本操作 • 四种基本操作 • 插入、删除、修改和查询 • 进一步分解成六种基本操作 • 关系的属性指定 • 关系的元组的选择 • 两个关系的合并 • 关系的查询 • 关系元组的插入 • 关系元组的删除
4.3 关系代数 • 2.传统的集合运算 • 关系代数是以对关系的集合运算为基础,分为传统的集合运算和专门的关系运算,其运算对象是关系,运算结果也是关系。 • 传统的集合运算包括并、交、差、广义笛卡尔积四种运算。其中并、交、差要求参与运算的两个关系的属性个数相同,且相应的属性出自同一个域;广义笛卡尔积则无此限制。
4.3 关系代数 • (1)并(Union) • 关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合。可表示为: • (2)差(Difference) • 关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合。可表示为:
4.3 关系代数 • (3)交(Intersection) • 关系R和S具有相同的关系模式,R和S的交是由属于R且属于S的元组构成的集合。可表示为: • (4)广义笛卡尔积 • 设关系R和S的属性个数分别为n、m,则R和S的广义笛卡尔积是一个有(n+m)列的元组的集合。每个元组的前n列来自R的一个元组,后m列来自S的一个元组,记为R×S。
4.3 关系代数 • 例:有两个关系R和S,分别进行并、差、交和广义笛卡尔积运算。
4.3 关系代数 • 3.专门的关系运算 • (1)选择(Selection) • 在关系中选择满足某些条件的元组,即消去某些行,可表示为: • (2)投影(Projection) • 在关系中选择某些属性列,即消去某些列,可表示为:
4.3 关系代数 • 例:在学生关系中 • 查询1980年以后出生的学生名单,表达式为: • 查询所有学生的“姓名”、“性别”,表达式为:
4.3 关系代数 • (3)连接(Join) • 当一个查询需要来自两个或多个关系的数据时就要用连接操作。连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。可表示为: • 其含义是,从关系R和S的广义笛卡尔积R×S中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系θ的元组。 • 1)等值连接:当连接条件中的比较运算符θ为“=” 。可表示为: • 2)自然连接:要求连接时两个关系中进行相等比较的分量必须是相同属性组,且在结果中将相同的属性列去掉。即若关系R和S具有相同属性组B,则自然连接可记作:
4.3 关系代数 • 例如,有两个关系R和S • 关系T:条件为“R.学号>S.学号”的连接运算 • 关系U:条件为“R.学号=S.学号”的等值连接 • 关系V:进行自然连接
4.3 关系代数 • (4)除(Division) • 笛卡尔乘积的逆运算
4.4.1 数据库设计概述 • 设计一个能满足用户要求,性能良好的数据库 • 基本任务:根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式 • 两种方法: • 以信息需求为主,兼顾处理需求(面向数据的方法) • 以处理需求为主,兼顾信息需求(面向过程的方法) • 面向数据的设计方法已成为主流方法
4.4.1 数据库设计概述 • 一般采用生命周期法,分若干阶段 • 需求分析阶段 • 概念设计阶段 • 逻辑设计阶段 • 物理设计阶段 • 编码阶段 • 测试阶段 • 运行阶段 • 进一步修改阶段 • 在数据库设计中采用前四个阶段,并且重点以数据结构与模型的设计为主线
4.4.2 数据库设计的需求分析 • 任务:通过详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能 • 重点:是“数据”和“处理” • 方法:结构化分析方法、和面向对象的方法 • 对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果 • 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的
4.4.3 数据库概念设计 • 概念设计的方法 • 集中式模式设计法 • 视图集成设计法 • 数据库概念设计的过程 • 选择局部应用 • 视图设计: • 三种方法:自顶向下、由底向上、由内向外 • 视图集成:解决局部设计中的冲突 • 命名冲突 • 概念冲突 • 域冲突 • 约束冲突
4.4.4 数据库的逻辑设计 • 任务 • 概念模型进一步转化成相应的数据模型 • 主要步骤 • 从E-R图向关系模式转换 • 逻辑模式规范化及调整、实现 • 关系视图设计
4.4.5 数据库的物理设计 • 主要目标: • 对数据库内部物理结构作调整并选择合理的存取路径,提高数据库访问速度及有效利用存储空间 • 物理设计的内容: • 索引设计 • 集簇设计 • 分区设计
4.4.6 数据库管理 • 数据库的建立 • 数据模式的建立 • 数据加载 • 数据库的调整 • 数据库的重组 • 数据库安全性控制与完整性控制 • 数据库的故障恢复 • 数据库监控
【例4-1】数据库技术的根本目标是要解决数据的______。【例4-1】数据库技术的根本目标是要解决数据的______。 A)存储问题 B)共享问题 C)安全问题 D)保护问题