数据库原理与应用教材及参考书(1)教材–萨师煊,王珊:数据库系统概论(第三版),高等教育出版社,2000中国人民大学–李红:数据库原理与应用高等教育出版社,2003教材及参考书(2)参考书–崔巍:数据库系统与应用,高等教育出版社,2000–施伯乐:数据库系统教程高等教育出版社第一章绪论1.1数据库系统概述1.1.1数据库的地位1.1.2四个基本概念1.1.3数据管理技术的产生与发展数据库的地位为什么要学习数据库数据库技术始于20世纪60年代,经历了最初的基于文件的初级系统、20世纪60~70年代流行的层次系统和网状系统,而现在广泛使用的是关系数据库系统。数据库应用也从简单的事务管理扩展到各个应用领域,如用于工程设计的工程数据库、用于因特网的Web数据库、用于决策支持的数据仓库技术、用于多媒体技术的多媒体数据库等,但应用最广泛的还是在基于事务管理的各类信息系统领域。1.1数据库系统概述1.1.1数据库的地位1.1.2四个基本概念1.1.3数据管理技术的产生与发展1.1.2四个基本概念•数据(Data)•数据库(Database)•数据库管理系统(DBMS)•数据库系统(DBS)一、数据•数据(Data)是数据库中存储的基本对象•数据的定义–描述事物的符号记录•数据的种类–文字、图形、图象、声音•数据的特点–数据与其语义是不可分的数据举例•学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)•数据的形式不能完全表达其内容•数据的解释–语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间–解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系二、数据库(举例)学生登记表学号姓名年令性别系名年级95004王小明19女社会学9595006黄大鹏20男商品学9595008张文斌18女法律学95………………数据库——是相互关联的数据的集合。性质:用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。什么是数据库DataBaseManagementSystem——简称DBMS三、数据库管理系统简单说DBMS就是管理数据库的系统软件,它应该具有如下功能:•数据库定义功能•数据库操纵功能•数据库查询功能•数据库控制功能•数据库通讯功能什么是数据库管理系统?•数据库管理的重要性•数据库管理员——DataBaseAdministrator•DBA的重要职责数据库管理和数据库管理员DBMS的主要功能–数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象–数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改)DBMS的主要功能–数据库的运行管理保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复–数据库的建立和维护功能(实用程序)数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等四、数据库系统数据库系统就是基于数据库的计算机应用系统,它包括:–以数据为主体的数据库–管理数据库的系统软件DBMS–支持数据库系统的计算机硬件环境和操作系统环境–管理和使用数据库系统的人,特别是负责设计、维护数据库的技术人员——数据库管理员–方便使用和管理系统的各种技术说明书和使用说明书数据库系统(续)•数据库系统构成图示–参看教材page_5图1.1•数据库系统在计算机系统中的位置图示–参看教材page_5图1.21.1数据库系统概述1.1.1数据库的地位1.1.2四个基本概念1.1.3数据管理技术的产生与发展1.1.3数据管理技术的产生和发展•什么是数据管理–对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题•数据管理技术的发展过程–人工管理阶段(40年代中--50年代中)–文件系统阶段(50年代末--60年代中)–数据库系统阶段(60年代末--现在)数据管理技术的产生和发展(续)•数据管理技术的发展动力–应用需求的推动–计算机硬件的发展–计算机软件的发展一、人工管理•时期–40年代中--50年代中•产生的背景–应用需求科学计算–硬件水平无直接存取存储设备–软件水平没有操作系统–处理方式批处理人工管理(续)•特点–数据的管理者:应用程序,数据不保存。–数据面向的对象:某一应用程序–数据的共享程度:无共享、冗余度极大–数据的独立性:不独立,完全依赖于程序–数据的结构化:无结构–数据控制能力:应用程序自己控制应用程序1应用程序2应用程序n…数据集n数据集2数据集1…人工管理阶段二、文件系统•时期–50年代末--60年代中•产生的背景–应用需求科学计算、管理–硬件水平磁盘、磁鼓–软件水平有文件系统–处理方式联机实时处理、批处理文件系统(续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序2文件2……应用程序n文件n文件系统文件系统中数据的结构•记录内有结构。•数据的结构是靠程序定义和解释的。•数据只能是定长的。–可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。•文件间是独立的,因此数据整体无结构。–可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。•数据的最小存取单位是记录。三、数据库系统•时期–60年代末以来•产生的背景–应用背景大规模管理–硬件背景大容量磁盘–软件背景有数据库管理系统–处理方式联机实时处理,分布处理,批处理数据库系统(续)•特点–数据的管理者:DBMS–数据面向的对象:现实世界–数据的共享程度:共享性高–数据的独立性:高度的物理独立性和一定的逻辑独立性–数据的结构化:整体结构化–数据控制能力:由DBMS统一管理和控制应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…数据的高共享性的好处•降低数据的冗余度,节省存储空间•避免数据间的不一致性•使系统易于扩充数据独立性•物理独立性–指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。•逻辑独立性–指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据结构化•整体数据的结构化是数据库的主要特征之一。•数据库中实现的是数据的真正结构化–数据的结构用数据模型描述,无需程序定义和解释。–数据可以变长。–数据的最小存取单位是数据项。DBMS对数据的控制功能•数据的安全性(Security)保护–使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。•数据的完整性(Integrity)检查–将数据控制在有效的范围内,或保证数据之间满足一定的关系。DBMS对数据的控制功能•并发(Concurrency)控制–对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。•数据库恢复(Recovery)–将数据库从错误状态恢复到某一已知的正确状态。第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成1.5数据库技术的研究领域1.6小结数据模型•在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟•数据模型应满足三方面要求–能比较真实地模拟现实世界–容易为人所理解–便于在计算机上实现数据模型(续)•数据模型分成两个不同的层次(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模。(2)数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。数据模型(续)•客观对象的抽象过程---两步抽象–现实世界中的客观对象抽象为概念模型;–把概念模型转换为某一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)两个实体型间的联系实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系两个实体型间的联系•一对一联系–如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。–实例班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职两个实体型间的联系(续)•一对多联系–如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:n–实例班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习两个实体型间的联系(续)•多对多联系(m:n)–如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n–实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程多个实体型间的联系(续)•多个实体型间的一对多联系–若实体集E1,E2,...,En存在联系,对于实体集