第1章 关系型数据库及Oracle 10g介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2 数据库的设计
数据库设计的具体步骤如下: (1)数据需求调查 (2)数据需求分析 (3)概念设计: E-R模型 (4)逻辑结构设计 (5)优化数据库结构 (6)物理结构设计
1.2.1 数据库设计的E-R模型
E-R模型是实体-关系模型(EntityRelationship Model),由P.P.Chen于1976年 首先提出的。
表的结构
图1-1 学生信息表
1.1.1 关系型数据库的相关概念
2.主键
关系型二维表中的每一行记录恰好存储了每个实体的 属性,为了减少数据冗余,要求表中的记录不能被重 复存储,也就是说表中的任意两行记录中的数据不能 完全相同,因为它们分别代表了不同的实体。 为了达到这个目的,在表中一般都有一个叫主键的字 段,该字段的值在整个表中都不能重复,并且主键字 段的值也不允许为空。 如学生信息表的学生编号字段、课程信息表的课程编 号字段、职工表的职工编号字段等。 实际上,类似于这样的字段并不是实体与生俱来的属 性而是为了管理需要而为实体增加的属性
图1-3 成绩表
1.1.1 关系型数据库的相关概念
3.外键
在某些情况下,一个表中会包含另一个表的主 键字段,作为本表中所描述实体的一个属性。 如,学生表中包含系部信息表的系部编号、雇 员表中包含部门表的部门编号、产品表中包含 种类表的种类编号等。 这样的字段在本表中叫做外键,是联系另外一 个表的纽带,可以通过该字段去另一个表中发 现更多的信息。
数据管理大致经历了三个阶段
人工管理阶段 文件管理阶段
数据库管理阶段
计算机主要用于科学计算
人工管理阶段 特点
没有磁盘没有操作系统和管理数据的软件 数据的存储介质主要是纸 数据易丢失和损坏 数据难备份、不能共享
有了磁盘,可以长期保存
文件管理阶段 特点
操作系统中有了文件系统管理数据 数据和程序单独存储,数据冗余度大 数据管理功能较少 缺乏统一的管理和控制,共享性差
1.1.1 关系型数据库的相关概念
实体完整性是指:表中的主键字段值不能 重复也不能为空。
表中的每一行描述了一个实体,因此表就是多 个实体的集合。 现实世界中的实体是可Fra Baidu bibliotek相互区分、识别的, 因为它们具有某种惟一性标识。
1.1.1 关系型数据库的相关概念
域完整性是指:字段(列)值域的完整性 。
规范化是一个通过使用某些规则,将复 杂的表结构拆分成简单表结构的方法。规范化使 得表的构成能够满足某些指定的规则并且代表某 些范式。
1.1 关系数据库基础知识
1)第一范式(1NF) 当表的每个属性值都是不可再分的最小数据单 元时,则这个表就满足第一范式。 2)第二范式(2NF) 当一个表是第一范式并且非主属性完全依赖于主 关键字,即不存在部分依赖时,这个表就满足第 二范式。 3)第三范式(3NF) 当一个表是第二范式并且每个非主属性仅直接 依赖于主关键字,即不存在传递依赖时,这个表 就满足第三范式。
1.2.2 利用E-R模型设计表结构
E-R模型导出表结构和表间关系。具体方法如下:
1.E-R模型中的实体映射为表
2.E-R模型中的属性映射为表中的字段
将E-R模型转化为关系模式
3.实体间关系的处理 实体间的一对一关系
• 关系未产生属性 :实体间的一对一关系映射为 表间的一对一关系时,只需要在一个表中添加 另一个表的主键字段 关系产生属性:在一个表中添加这个关系属性 的字段以及另一个实体表的主键字段
1.1.1 关系型数据库的相关概念
图1-2 课程信息表
1.1.1 关系型数据库的相关概念
组合主键
某些情况下,表中的每个字段都有可能重复或 者必须重复,这样该表中的单个字段就不能区 分任意两行记录,不能充当主键 。 在这种情况下,需要将多个字段组合在一起充 当主键,即组合主键。 组合主键中,字段的组合值不能重复,组合中 的任意一个字段值不能为空。
•
将E-R模型转化为关系模式
3.实体间关系的处理 :
实体间的多对多关系
• 关系型数据库管理系统中无法实现多对多关系 ,因此E-R模型中,如果实体与实体之间是多对 多关系,那么必须建立第三张表即关系表,将 一个多对多关系转换为两个一对多关系。 在关系表中需要保存另外两张表的主键字段。 如果关系产生属性,还要将该属性作为字段保 存到关系表中。
详细信息参见数据库范式课件
上机实验内容:
根据以下描述完成E-R模型的创建和表结 构的设计,具体要求如下:
某医院病房计算机管理中需要如下信息:科室信息,包括科室名称 、科地址、科电话、本科室的主任。病房信息,包括楼号、楼层号 、病房号、所属科室名称。床位信息,包括床位号、病房号。医生 信息:医生编号、医生姓名、职称、年龄、所属科室名。病人信息 :病历号、姓名、性别、诊断结果、主管医生、床位号。其中,一 个科室有多个病房、多个医生,一个病房只能属于一个科室,一个 医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管 医生只有一个。根据上面的描述,完成以下操作: 设计该计算机管理系统的E-R模型。 将该E-R模型转换为表结构以及表之间的关系。 指出每个表的主键。 使用数据库范式理论,检验上面设计出的表结构是否存在冗余。
•
将E-R模型转化为关系模式
3.实体间关系的处理 :
实体间的一对多关系
• 关系未产生属性 :在一对多关系中多方的实体 映射的表中添加关系中另一个实体表的主键字 段作为外键字段,使两张表发生一对多关联关 系。 关系产生属性:在多方实体映射的表中添加这 个关系属性的字段以及另一个实体表的主键字 段。
• 分析以下表之间是否存在关系
表和表之间有下列关系:
• 一对一关系(1:1) • 一对多关系(1:n) • 多对多关系(m:n)
分析下面三张表间是什么关系?
1.1.1 关系型数据库的相关概念
5.关系型数据库的完整性约束
关系完整性是为保证数据库中数据的正确性和 相容性,对关系模型提出的某种约束条件或规 则。 完整性通常包括实体完整性、域完整性、参照 完整性和用户自定义完整性。 其中实体完整性、域完整性和参照完整性,是 关系模型必须满足的完整性约束条件
初级阶段 :层次型和网状型数据库
中级阶段:主要以关系型数据库为主
数据库管理阶段 高级阶段 :向“关系—对象”型数据库变迁 特点
数据能够持久存储,数据冗余少 能够进行复杂多样的数据处理 具有统一的管理和控制,共享性良好
1.1.1 关系型数据库的相关概念
1.表(关系)、记录、字段
关系模型是在1970年由E.F.Codd博士提出的。 简单来说,关系模型指的就是二维表格模型, 而一个关系型数据库就是由二维表及其之间的 关系组成的一个数据组织。 标准二维表在数据库中通常称作表(Table), 表中的任一行或一列都是单一的,不能被继续 拆分,并且任意两行或两列都不能被合并。
如,从数据类型、格式、值域范围、是否允许 空值等进行约束。 域完整性限制了某些属性中出现的值,把属性 限制在一个有限的集合中。
1.1.1 关系型数据库的相关概念
参照完整性是指:子表中的外键字段值受 父表中主键字段或唯一键字段值的约束或 限制,也就是表的外键约束。
关系型数据库中通常包含具有关系的多个表, 关系是通过两个表的相同字段(又称两表的公 共字段)实现的,并且子表中公共字段的值应 参照父表中公共字段值。
Oracle 数据库管理与应用
第1章
关系型数据库及Oracle 10g介绍
本章要点
1 2 3 4
关系型数据库的概念及设计模型
Oracle 10g的介绍与安装
Oracle 10g的主要管理工具
Oracle数据库的启动与关闭
1.1 关系型数据库概述
数据是重要的资源,在生产和生活中起着重要的 作用,尤其是全球已步入了信息化时代,各行各 业更是离不开数据。数据是用来描述客观事物属 性的重要手段,能够表达事物外在或内在的特征。 比如,学生有学号、姓名、性别、生日、所在班 级等属性;课程有课程编号、课程名称、课时、 学分等属性,将这些属性表达并记录下来就成为 了数据。当然,也可以用数据描述已发生事件的 特征和结果。比如,考试是个事件,我们需要记 录每位学生考每门课的成绩和考试日期,这些也 是数据。类似这样的例子很多,我们经常会为了 生活或工作的需要收集、存储和使用数据。
1.3.1 Oracle数据库的发展
Oracle公司又称甲骨文公司,是仅次于微 软公司的世界第二大软件公司。 该公司成立于1979年,是加利福尼亚州的 第一家在世界上推出的以RDBMS为中心的 软件公司。
Oracle数据库的发展:
1977年6月,(Software Development Laboratories, SDL)的计算机公司(Oracle公司的前身)开发出第一 款Oracle。 1979年,SDL更名为关系软件有限公司(Relational Software,Inc.,RSI) Oracle产品(第二版) 。 1983年3月,RSI发布了Oracle第三版,并RSI公司再次 更名为Oracle公司 。 1984年10月,Oracle发布了第四版产品。 1999年2月,Oracle正式发布了Oracle 8i 。 2001年6月,正式发布了Oracle 9i 。 2004年2月,Oracle公司正式发布了Oracle10g。
SQL语言最早是IBM的圣约瑟研究实验室为其 关系数据库管理系统SYSTEM R开发的一种查 询语言,它的前身是SQUARE语言。 SQL语言结构简洁、功能强大、简单易学,所 以自从IBM公司1981年推出以来,SQL语言就 得到了广泛应用。
SQL语言包含4个部分:
数据定义语言DDL (Data Definition Language) 数据操作语言DML (Data Manipulation Language) 数据查询语言DQL (Data Query Language) 数据控制语言DCL (Data Control Language)
1.3 Oracle数据库概述
Oracle是一种RDBMS(Relational Database Management System 关系型数 据库管理系统),是Oracle公司的核心产品 ,目前在市场上占有主要份额。 作为一种大型网络数据库管理系统, Oracle数据库功能非常强大,能够处理大批 量数据,主要应用于商业和政府部门。
1.1.1 关系型数据库的相关概念
图1-4 父表与子表
父表与子表的概念
1.1.1 关系型数据库的相关概念
4.表间关系
在关系型数据库中不仅可以存储数据,而且还 可以存储两张表之间的关系(联系)。 如果两张表具有相同的字段(字段值和含义相 同,字段名不一定相同),那么这两张表之间 就具有了关系。
1.1.1 关系型数据库的相关概念
用户自定义完整性则是:根据应用环境的 要求和实际需要,对某一业务规则提出数 据约束条件。
用户自定义完整性主要是针对字段或记录的有 效取值范围进行约束,如性别字段值只能是男 或女,学生的成绩在0到100之间。
1.1.2 SQL命令概述
SQL(Structured Query Language)结构化 查询语言,是一种数据库查询和程序设计 语言,用于查询、更新和管理关系型数据 库。
•
数据库设计举例
1.2.3 数据库设计的范式理论 规范化是一个减少关系数据库中数据冗余的 过程。 冗余将导致以下问题:
由于数据的重复存储更有可能发生不一致错误
在数据插入、更新和删除时可能会导致数据的 不一致; 浪费磁盘空间等。
可以凭借经验和一些常规的理念来设计数据库(如 上节所述)。但是,也可以使用系统方法如规范 化来减少数据的冗余和重复。因此,在数据库设 计时,还可以对数据库中的表进行规范化处理, 以确保数据库更加规范。
它提供不受任何DBMS(Database Management System)约束的面向用户的表达方法,在数据库 设计中被广泛用作数据建模的工具。 E-R模型用来描述实体的属性和实体之间的关系, 主要包括三种模型元素:实体、属性和关系。
E-R模型中实体用矩形框表示 E-R模型中属性用椭圆表示 E-R模型中关系用菱形表示