数据库原理咸阳师范学院信息工程学院教材教材王珊,萨师煊:数据库系统概论(第四版),高等教育出版社,2006中国人民大学1教材介绍:比较经典的数据库教材第一版中国最早的数据库教材,为众多高校计算机专业采用2.萨老师介绍创建信息系,最早系主任中国的CJ,Date3王老师介绍4数据库所介绍第一章绪论本章主要教学内容:1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成重点及难点:了解数据库系统的四个基本概念;了解什么是数据模型;掌握关系模型的表示方法;掌握数据库系统的三级模式及二级映像;1.1数据库系统概述1.1.1数据库的地位1.1.2四个基本概念1.1.3数据管理技术的产生与发展1.1.1数据库的地位数据库技术产生于二十世纪六十年代末,是数据管理的最新技术,是计算机科学的重要分支数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志1.1数据库系统概述1.1.1数据库的地位1.1.2四个基本概念1.1.3数据管理技术的产生与发展1.1.2四个基本概念数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)一、数据数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类数字、文字、图形、图像、声音、语言等数据的特点数据与其语义是不可分的数据举例学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)数据的形式不能完全表达其内容数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系请给出另一个解释和语义二、数据库二、数据库人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合二、数据库数据库的特征数据按一定的数据模型组织、描述和储存冗余度较小数据独立性较高易扩展可为各种用户共享三、数据库管理系统DBMS数据库管理系统(DatabaseManagementSystem,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。DBMS的用途科学地组织和存储数据、高效地获取和维护数据DBMS的主要功能数据定义功能提供数据定义语言(DataDefinitionLanguage,DDL)定义数据库中的数据对象数据组织、存储和管理数据操纵功能提供数据操纵语言(DML)实现对数据库的基本操作(查询、插入、删除和修改)DBMS的主要功能数据库的事务管理和运行管理保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能(实用程序)数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视、分析功能等其他功能与其他软件的通信功能数据转换功能异构数据库之间的互访和互操作功能四、数据库系统数据库系统数据库系统(DatabaseSystem,简称DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。1.1数据库系统概述1.1.1数据库的地位1.1.2四个基本概念1.1.3数据管理技术的产生与发展1.1.3数据管理技术的产生和发展什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)数据管理技术的产生和发展数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展一、人工管理时期40年代中--50年代中产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理人工管理特点数据的管理者:应用程序,数据不保存。数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制应用程序与数据的对应关系二、文件系统时期50年代末--60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理文件系统特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制数据独立性差:1。靠程序定义和解释数据的结构2。靠程序描述数据间的联系应用程序与数据的对应关系文件系统中数据的结构记录内有结构。数据的结构是靠程序定义和解释的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。数据的最小存取单位是记录。三、数据库系统时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理数据库系统特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制应用程序与数据的对应关系数据结构化整体数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项。数据的共享性高,冗余度低,易扩充降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充数据独立性高物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。DBMS对数据的控制功能数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。DBMS对数据的控制功能并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。1.2数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型数据模型分成两个不同的层次(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。(2)逻辑模型和物理模型逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型和对象关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。物理模型是对数据最低层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。物理模型的具体实现是DBMS的任务。数据模型客观对象的抽象过程---两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。1.2数据模型1.2.1数据模型的组成要素1.2.2概念模型1.2.3常用数据模型1.2.4层次模型1.2.5网状模型1.2.6关系模型1.2.1数据模型的组成要素数据结构数据操作数据的完整性约束条件1.数据结构什么是数据结构是所描述的对象类型的集合数据结构描述的内容有两类与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述2.数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型查询更新(包括插入、删除、修改)数据操作数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述。3.数据的完整性约束条件数据的完整性约束条件一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。1.2.2概念模型1.概念模型2.信息世界中的基本概念3.概念模型的表示方法1.概念模型概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。2.信息世界中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念或联系。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。信息世界中的基本概念(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(EntitySet)同一类型实体的集合称为实体集信息世界中的基本概念(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系两个实体型一对一联系(1:1)三个实体型一对多联系(1:n)一个实体型多对多联系(m:n)两个实体型间的联系两个实体型间的联系一对一联系如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然。记为1:1。实例班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职两个实体型间的联系一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系。记为1:n实例班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习两个实体型间的联系多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系。记为m:n实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程多个实体型间的联系多个实体型间的一对多联系若实体集E1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的。多个实体型间的一对一联系多个实体型间的多对多联系同一实体集内各实体间的联系一对多联系实例职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系多对多联系3.概念模型的表示方法概念模型的表示方法很多实体-联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型E-R图实体型用矩形表示,矩形框内写明实体名。学生教师E-R图属性用椭圆形表示,并用无向边将其与相应的实体连接起来E-R图联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。