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