回顾数据库发展三阶段DBMS的功能和特点Mysql安装问题?机械自动化学院2014主讲:顾曦电话:15697181079Email:guxi@live.com概念模型逻辑模型物理模型1.0概念数据模型(datamodel)是数据库结构的基础,通过数据模型可以对现实世界的数据特征进行抽象。数据模型是一个描述数据结构、数据操作,以及数据约束的数学形式体系(或工具集)。数据结构:用于刻画数据、数据语义以及数据与数据之间的联系数据约束:对数据结构和数据操作的一致性、完整性约束,也称完整性约束数据模型的分层根据数据抽象的不同级别,将数据模型划分为3层:概念模型:概念层次的数据模型,也称为信息模型逻辑模型:用于描述数据库数据的整体逻辑结构物理模型:用来描述数据的物理存储结构和存取方法12:58512:586需求分析分析设计DBMS1.1概念模型概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解12:587概念模型的建模方法12:588实体型用矩形表示,矩形框内写明实体名。属性用椭圆形表示,并用无向边将其与相应的实体连接起来学生教师学生学号年龄性别姓名E-R法(实体-联系方法、E-R图、E-R模型)E-R图(续)联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。12:589班级班级-班长班长11课程选修学生mn班级组成学生1n联系的属性联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也用无向边与该联系连接起来12:58课程选修学生mn成绩1.2逻辑模型1)层次模型(HierarchicalModel)2)网状模型(NetworkModel)3)关系模型(RelationalModel)4)面向对象模型(ObjectOrientedModel)12:58111)层次模型层次模型是数据库系统中最早出现的数据模型层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系12:5812层次数据模型的数据结构层次模型特点有且只有一个结点没有父结点,这个结点称为根结点根以外的其它结点有且只有一个父结点12:5813R1根结点R2兄弟结点R3叶结点R4兄弟结点R5叶结点叶结点一个简单的教学管理系统的层次数据模型职工号姓名研究方向Employee班级号年级专业Class系编号系名办公地点Department学号姓名性别Student出生日期教学管理系统的层次模型实例图1-8一个简单的教学管理系统的实例值E0501万家乐数据库EmployeeC012008计算机ClassD05计算机系信息大楼DepartmentE0502吴文君信息检索E0503廖兴旺操作系统C022009信息系统StudentS090204王红敏女06/12/92S090212刘宏昊男09/25/91S090228李立女02/18/92StudentS080125李小勇男11/26/90S080148黄小红女05/21/91E0803王国方数据结构C032008电子商务D08信息系信息大楼E0805张长工编译原理E0809李小红运筹学C042009信息系统S090404刘月高女06/12/92S090412王永民男09/25/91S090428英达成女02/18/92S080325万元户男11/26/90S080348李兴女05/21/91层次模型的特点结点的父是唯一的只能直接处理一对多的实体联系每个记录类型可以定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子记录值能够脱离父记录值而独立存在12:5815层次模型的优缺点优点层次模型的数据结构比较简单清晰查询效率高,性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多,应用程序的编写比较复杂查询子女结点必须通过父结点由于结构严密,层次命令趋于程序化12:58162)网状模型满足如下两个条件的基本层次联系的集合称为网状模型允许一个以上的结点无父结点一个结点可以有多个父结点典型代表是DBTG系统,亦称为CODASYL系统,它是20世纪70年代由数据系统语言研究会(conferenceondatasystemlanguage,CODASYL)下属的数据库任务组(databasetaskgroup,DBTG)提出的一个系统方案12:5817网状模型网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,还允许两个结点之间有多种联系(称为复合联系)。因此,网状模型可以更直接地去描述现实世界12:5818网状数据模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个父具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用12:5819层次和网状数据模型的共同缺点在数据的独立性和抽象级别上仍有很大缺陷。用户在对这两种数据库进行存取数据时,需要明确数据的存储结构,指出存取路径12:58203)关系模型1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,他于1981年获得ACM图灵奖。目前推出的数据库管理系统几乎都支持关系模型本课程的重点主要是讲授关系数据库12:58214)面向对象模型对象。面向对象数据模型将客观世界模拟成由各个相互作用的称为对象的单元组成的复杂系统。对象的定义包括状态和行为两方面,状态由一组属性值组成,行为由一组方法组成类。具有相同属性和方法的对象组成类,对象属于某一个类并作为该类的实例继承。定义子类时可以直接继承超类的属性和方法,在此基础上定义不同于超类的属性和方法,这称为子类对超类的继承(inheritance)持久性和对象标识。在大多数程序设计语言中,对象是临时的;但在面向对象数据库中,对象在被删除前是永久存在的。一个对象的对象标识在系统中是唯一的,在整个生存期内是不变的12:5822数据库建模方法数据库的结构,也称为数据库模式。确定数据库的结构的过程称为数据库建模。一般包含两个途径:12:582312:5824面向对象分析设计(UML)关系数据库面向对象的数据库访问技术实体关系建模(E/R)应用程序12:58252.1数据库的三级抽象物理层抽象最低层次的抽象,描述数据实际上是怎样存储的逻辑层抽象描述数据库中存储什么数据以及这些数据之间存在什么关系提供给数据库管理员和数据库应用开发人员使用的,他们必须明确知道数据库中应该保存哪些信息视图层抽象最高层次的抽象,只描述整个数据库的某个部分系统可以为同一数据库提供多个视图,每一个视图对应一个具体的应用12:58262.2数据库的三级模式DBMS提供观察数据库的3个不同角度,以方便不同的用户使用数据库的需要。12:5827数据库的三级模式结构应用A应用B应用C应用E应用F外模式1外模式2外模式3应用D应用G模式内模式数据库模式(Schema)也称为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式的一个具体值称为模式的一个实例(instance)它是DBMS模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关12:5828外模式(子模式或用户模式)对应于视图层数据抽象是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示外模式是保证数据库安全性的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的内模式(存储模式)对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式12:5829数据库的两层映像功能与数据独立性外模式/模式映像对应于一个模式可以有多个外模式。对于每一个外模式,数据库管理系统都有一个模式/外模式映像,它定义了该外模式与模式之间的对应关系在各自的外模式描述中定义外模式/模式映像保证了数据与程序的逻辑独立性,简称为数据的逻辑独立性模式/内模式映像数据库中只有一个模式,也只有一个内模式,模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系在模式描述中定义模式/内模式映像保证了数据与程序的物理独立性,简称为数据的物理独立性数据库的三级模式结构应用A外模式/模式映像应用B应用C应用E应用F外模式1外模式2外模式3应用D应用G模式内模式数据库模式/内模式映像12:58302.3数据库系统外部的体系结构从数据库最终用户角度看,数据库系统的结构如下:多台数据库服务器客户机/服务器一主机多终端早期的单机分布式结构DBSC/S结构DBS主从式结构DBS单用户DBS12:5831单用户数据库系统12:5832PC数据库数据库管理系统(DBMS)应用程序33主从式结构数据库系统主机数据库DBMS应用程序终端终端终端终端12:58集中式C/S结构数据库系统34服务器数据库DBMSPCPCPCPC应用程序12:5835分布式C/S结构数据库系统应用程序数据库DBMSPCPCPCPC服务器群12:5836分布式B/S结构数据库系统浏览器程序数据库DBMSPCPCPCPC服务器群:5837DataDefinitionLanguage(DDL)用于定义数据库模式的规范符号Example:createtableteacher(IDchar(5),namevarchar(20),dept_namevarchar(20),salarynumeric(8,2))DDL编译器生成一系列的表格模板存储在数据字典中数据字典存储元数据(即,数据的数据)数据库模式完整性约束授权12:5838DataManipulationLanguage(DML)在一定的数据模型中,用于访问和操纵数据的语言,也被称为查询语言数据库的查询过程•不同的用户使用不同的查询工具•数据库执行查询过程是复杂的12:5839数据库系统组成数据库系统(databasesystem,DBS),是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其应用开发工具)、应用系统、数据库管理员和最终用户构成数据库管理员(databaseadministrator,DBA),是指数据库的建立、使用和维护等的工作人员DBMS设计工具子系统表生成工具窗体生成工具查询生成工具数据库报表生成工具过程语言编译器引擎运行子系统窗体处理器查询处理器报表书写器过程语言执行数据库系统的组成数据库用户数据元数据索引应用元数据应用程序应用程序开发人员用户12:5840数据库管理系统——DBMS数据库管理系统(DBMS)是一组软件,负责数据库的存取、维护和管理DBMS的功能数据定义:DBMS提供数据定义语言(DDL)数据组织、存储和管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等数据操纵:DBMS还提供数据操纵语言(DML)数据库的事务管理和运行管理:数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发操作以及发生故障后的系统恢复数据库的建立和维护其他功能12:5841数据库管理系统的组成查询处理器:对用户请求的S