Oracle数据库概述OracleDatabaseAdministration大纲•数据库的基本概念•流行数据库介绍•Oracle的发展历程•Oracle的产品系列数据库的基本概念数据库概述•数据库基本概念–数据–数据库–数据库管理系统–数据语言–数据库管理员(DBA)–数据库系统–数据库应用系统数据库概述•数据库系统发展历史–文件系统阶段–层次数据库于网状数据库系统阶段–关系型数据库系统阶段数据库概述•数据库系统基本特点–数据的集成性–高共享性和低冗余性–数据的独立性–数据的统一管理与控制数据库概述•数据库系统的内部结构体系–数据库系统的三级模式•概念模式•外模式/用户模式•内模式/物理模式–数据库系统的二级映射数据库系统概述数据库系统概述•数据是什么?–数据是信息系统的基本概念和计算机系统要处理的基本对象之一。–数据是信息的载体/表示,是描述事物的符号记录;–严格地说,数据可定义为:数据是对客观事物记录下来的、可以鉴别的符号。数据是客观事物的属性、数量、位置及相互关系等等的抽象表示。–数据有多种表现形式。数据库系统概述•数据库是什么?–数据库(Database)是按一定组织方式存储在计算机存储器中的相互关联的数据集合,数据库的建立独立于程序。–尽管数据库技术已发展成熟,但还没有一个普遍接受的、严格的定义。数据库系统概述•数据库是什么?BitBitByteCharByteCharFieldFieldRecordRecordBitByteCharFieldRecordMetaDataIndexAppMetaData数据库的特征(1)数据库是相互关联的数据的集合•数据库中的数据不是孤立的,数据与数据之间是相互关联的,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。(2)用综合的方法组织数据•顺序、索引、聚簇Cluster数据库的特征(续)(3)较小的数据冗余,多个用户共享•低冗余与数据共享:在数据库技术之前,数据文件都是独立的,任何数据文件都必须含有满足某一应用的全部数据。(4)具有较高的数据独立性•指数据的组织和存储方法与应用程序互不依赖,彼此独立的特性。可降低应用程序的开发代价和维护代价。数据库的特征(续)(5)保证数据的安全、可靠•数据库要有一套安全机制,以便有效地防止数据库中的数据被非法使用/修改;•数据库还要有一套备份/恢复机制,以保证当数据遭到破坏时将数据立刻完全恢复。数据库的特征(续)(6)允许并发性、一致性和完整性•一致性:数据库中的数据是共享的,并且允许多个用户同时使用相同的数据。这就要求数据库能够协调一致,保证各个用户之间对数据的操作不发生矛盾和冲突。•正确性、完整性:•保证数据正确的特性——数据完整性•可通过建立一些约束条件保证数据库中的数据是正确的。数据库管理系统•数据库管理系统是一个管理数据库的软件系统,它为用户提供了描述数据库、操纵数据库和维护数据库的方法和命令,并且能自动控制数据库的安全以及数据的完整。–它能对数据资源进行管理,使之能为多个用户共享。–它能保证数据的安全性/可靠性/完整性/一致性/独立性数据库管理系统•数据库系统是在文件系统的基础上发展起来的。数据库系统是一个具有管理数据库功能的计算机系统,它包括应用软件、数据库、数据库管理系统和数据库管理人员几部分。DBMS功能•1.数据库的定义功能•定义数据库结构和存储结构;•定义数据库中数据之间的联系;•定义数据完整性约束条件和保证完整性的触发机制等.•2.数据库的查询功能•以各种方式提供灵活的查询功能,以方便使用数据.DBMS功能(续)•3.数据库的操纵功能•完成对数据库中数据的操作:插入、删除、修改;•重新组织数据库的存储结构;•完成对数据库的备份/恢复等.•4.数据库控制功能•完成对数据库的安全性控制/完整性控制/并发控制DBMS功能(续)•5.数据库的通信功能在分布式数据库或提供网络操作功能的数据库中还必须提供通信功能。数据库系统•DBS(DataBaseSystem)——基于数据库的计算机应用系统,包括:•以数据为主体的数据库•管理数据库的系统软件DBMS•支持数据库系统的计算机硬件环境和操作系统环境•管理和使用数据库系统的人,特别是DBA•方便使用和管理系统的技术说明书和使用说明书数据库系统数据库系统ODBCAPI应用程序ODBC驱动程序管理器ODBC驱动程序ODBC驱动程序ODBC驱动程序数据源数据源数据源数据库管理员•DBA(DataBaseAdministrator)——从事数据库管理工作的人员,负责数据库的全面管理工作(维护、设计)。•数据库的使用会改变企事业单位的管理方式,但因为要把众多部门或用户的数据放在同一数据库中,会带来一些问题,如:数据冲突;越权使用数据;重要数据丢失……•因此需要管理部门:负责和数据管理有关的工作。DBA数据管理的发展•计算机实现数据管理经历了三个发展阶段:•人工管理阶段•数据库管理的初级阶段。•在50年代中期以前,计算机采用的是批处理方式,主要用于科学计算。数据管理的发展(续)•文件系统阶段•50年代后期——60年代中期•特点:–计算机技术有了很大的发展,开始广泛应用于信息处理–存储设备有了磁盘、磁鼓等可直接存取的设备–计算机有了操作系统,包括文件管理系统,用户可将数据组织成文件体交给系统进行自动管理。–数据可长期保存在磁盘等存储设备上–程序和数据有了一定的独立性,且文件有多种形式的组织结构:顺序、链接、索引、直接数据管理的发展(续)•文件系统阶段•50年代后期——60年代中期•缺点:–(1)数据冗余较大–∵每个文件都是为特定的用途设计的,–∴同样数据在多个文件中重复存储–仅能提供以文件为单位的数据共享。–(2)程序和数据之间的独立性较差–应用程序依赖于文件的存储结构,修改文件存储结构就要修改程序数据管理的发展(续)•文件系统阶段•50年代后期——60年代中期•缺点:–(3)对数据的表示和处理能力较差–文件的结构和操作比较单一,不够丰富。–(4)数据不一致–由(1)造成,更新时会造成同一数据在不同文件中的不一致。–(5)数据联系弱–文件与文件之间是独立的,文件之间的联系必须通过程序来构造。–尽管如此,文件系统在数据管理技术的发展中仍起着很重要的作用。数据管理的发展(续)•数据库系统阶段–从60年代后期开始,计算机用于信息处理的规模越来越大,对数据管理的技术提出了更高的要求,此时开始提出计算机网络系统和分布式系统,出现了大容量的磁盘,文件系统已不再能胜任多用户环境下的数据共享和处理。–一个新的数据库管理技术——DBMS由此而形成,它对所有用户数据实行统一的、集中的管理、操作和维护。数据管理的发展(续)•数据库系统阶段•特点:–数据结构化–数据的共享性高、冗余度低、易扩充–数据独立性高–数据由DBMS统一管理和控制–安全性保护–完整性检查–并发控制–数据库恢复数据管理的发展(续)•按照数据模型的进展情况,数据库系统的发展可划分为三代:•1、层次和网状数据库系统–主要支持层次和网状数据模型•2、关系数据库系统–支持关系数据模型,该模型有严格的理论基础,概念简单、清晰,易于用户理解和使用。因此一经提出便迅速发展,成为实力性最强的产品。数据管理的发展(续)•3、面向对象数据库系统•基于扩展的关系数据模型或面向对象数据模型的尚未完全成熟的一代数据库系统。•特点:–支持包括数据、对象和知识的管理–在保持和继承第二代技术的基础上引进新技术(如OO)–对其他系统开放,具有良好的可移植性、可连结性、可扩充性、互操作性。回顾•用一分钟回顾一下前面的内容:–Data的概念?–Database的概念和特征?–DBMS的概念和特征?–DBMS的发展历程?时间结束•下面学习数据模型数据模型数据模型•模型是什么?–对客观事物、现象、过程或系统的简化描述。•所有的数据库系统都为它所要描述的世界建立了模型:–数据模型–业务功能模型数据模型•数据模型–描述了组织数据的框架结构。–如:楼房住户-数据;–房间规格-数据模型–——数据模型最后发展成为数据的存储方式(数据字典中的定义)。数据模型•业务功能模型–用户的最终需求。–——业务功能模型最后发展成为应用程序。–产生高效的应用程序的前提是良好的数据模型。(正如10平米的房间无法成为会议厅一样,一个数据模型为什么要建立DataModel?•象盖大楼的设计图一样,DM可使所有的项目参与者都有一个共同的标准;•避免出现问题再解决;•可及早发现问题;•加快应用开发速度;数据模型三要素1.数据结构——描述数据的静态特征,包括对数据结构和数据间联系的描述。通常按照数据结构的类型来命名数据模型:层次结构——层次模型网状结构——网状模型关系结构——关系模型数据模型三要素(续)2.数据操作——描述数据的动态特征:一组定义在数据上的操作(包括操作的含义、操作符、运算规则及其语言等)。主要操作:检索SELECT插入INSERT删除DELETE修改UPDATE数据模型三要素(续)3.数据的约束条件——完整性规则的集合,数据库中的数据必须满足这组规则。——约束条件的主要目的是使数据库与它所描述的现实系统相符合。1.设计时:数据模型正确、真实、有效地反映现实2.运行时:保证数据库中的数据值真实地体现现实世界的状态常见数据模型•概念(数据)模型(ConceptualDataModel)•逻辑(数据)模型–(LogicalDataModel)•物理(数据)模型–(PhysicalDataModel)概念数据模型•——面向现实世界建模•——主要用来描述现实世界的概念化结构,与具体的DBMS无关•首先介绍E-R模型中常用的几个重要概念,利用它们可构造出现实世界的数据的抽象描述。•实体实体型实体集属性关系概念数据模型(续)•实体(Entity)•——客观存在并能相互区分的事物•如:人;数据库课程;正使用的计算机;一场足球赛•不能严格地定义实体,正如几何中“点”,“线”一样。•关键之处:一个实体能和别的实体区分开。概念数据模型(续)•实体型(EntityType)•——用实体名及属性名集合来抽象刻画同类实体•实体集(EntitySet)•——同型的实体组成的集合。概念数据模型(续)•属性(Attribute)•——指实体所具有的某一方面的特性,一个实体可由若干个属性来刻划。•—属性取值在一定的范围,称为该属性的值域/域(Field)•—唯一标识实体的属性集称为码(Key,又称关键字)概念数据模型(续)•关系(Relationship)•——实体属性间、实体间、实体型(集合)间存在的相互关系。•为了建立现实世界的完整模型,常常需要对关系进行分类,根据一类实体集合的实体可以和多少个另一类实体集合的实体相关系,可将关系分为如下几种:•(1)一对一(1:1)系——系主任•(2)一对多(1:n)班级——学生•(3)一对一(m:n)课程——学生逻辑数据模型•——面向用户建模•——用户从数据库所看到的数据模型•把表示数据与数据之间联系的方法称为逻辑(数据)模型。逻辑数据模型(续)•层次模型(HierarchicalModel)•用树型结构表示实体之间联系的模型。•支持层次模型的典型系统诞生于1970年前后,是IBM公司的IMS(InformationManagementSystem)系统。•优点:结构简单•缺点:插入、删除限制多逻辑数据模型(续)•网状模型(NetworkModel)•典型代表:DBTG(DataBaseTaskGroup)数据库任务组。•优点:更能直接描述世界•缺点:结构复杂逻辑数据模型(续)•关系模型(RelationalModel)•1970,IBM,E.F.Codd•关系模型源于数学,它把数据看成是二维表(关系)中的元素。•用关系表示(不需用指针)实体和实体之间联系的模型称为关系模型。物理数据模型•PhysicalDataModel•——面向具体的DBMS,面向机器•——描述数据在存储介质上的组织结构回顾•用一分钟回顾一下前面的内容:–数据模型的概念?–数据模型的要素?–概