数据管理与数据库数据库的常用术语在系统地介绍数据库的基本概念之前,本节首先介绍一些数据库最常用的术语和基本概念:数据、数据库、数据库管理系统、数据库系统数据管理技术的产生和发展数据库系统的特点信息•泛指通过各种方式传播的,可被感受的数字、文字、图像和声音等符号所表征的某一事物的新的消息、情报和知识。它是观念性的东西,是人们头脑对现实事物的抽象反映,与载体无关。数据•数据(Data):描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等多种表现形式,它们都可以经过数字化后存入计算机。•数据与信息的关系•数据与信息是两个既有联系、又有区别的概念。数据是信息的载体,信息则是对数据加工的结果,是对数据的解释。•计算机系统的每项操作,均是对数据进行某种处理、数据输入计算机后,经存储、传送、排序、计算、转换、检索、制表及仿真等操作,输出人们需要的结果,即产生信息。数据库(DataBase,简称DB)所谓数据库是长期存储在计算机内、有组织的、可共享的数据集合、数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。•数据库概念包含2层意思:•1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务的数据,“数据”和“库”两个概念结合成为“数据库”•2)数据库是数据管理的新方法和技术,它能够更合理地组织数据、更方便地维护数据、更严密地控制数据和更有效地利用数据。•数据库应满足各种用户的不同需要•1)批处理用户,也称为应用程序用户。这类用户使用程序设计语言编写应用程序,对数据进行检索、插入、修改等操作,并产生数据输出•2)联机用户,或称终端用户。终端用户可使用简单的终端命令或查询语言对数据库进行存取操作。•由于各种用户可以同时使用一个数据库,所以数据库应具有数据共享特性,并提供数据完整性控制、安全性控制以及并发控制功能。•数据库的数据是集成式的•通常将一个部门所涉及到得全部数据都组织在一个数据库中。例如一个学生进行人事档案的管理、学生学籍的管理、教学管理等各种数据处理。我们可以利用数据库系统,把各种应用相关的数据集中在一个数据库中统一进行维护和管理,各职能部门随时可以从数据库中提取所需的数据。因此,数据库中的数据不是把程序用到的数据进行简单的堆积,而是按一定关系组织起来的有结构的数据集合。数据库管理系统(DataBaseManagementSystem,简称DBMS)数据库管理系统位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面:数据定义功能数据操纵功能数据库的运行管理数据库的建立和维护功能数据库系统(DataBaseSystem,简称DBS)数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBaseAdministrator,简称DBA)数据库系统的组成用户用户用户应用系统应用开发工具数据库管理系统操作系统数据库管理员数据库信息系统•是由人、硬件、软件和数据资源组成的复合系统,目的是及时、正确地收集、加工、存储、传递和提供信息,实现组织中各项活动的管理、调节和控制。数据独立性•1)物理数据独立性•2)逻辑数据独立性数据库技术的产生和发展数据库技术是应数据管理任务的需要而产生的。在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。人工管理阶段人工管理数据具有如下特点:(1)数据不保存(2)应用程序管理数据:数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。(3)数据不共享(4)数据不具有独立性:数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这就进一步加重了程序员的负担。应用程序1数据集1应用程序n应用程序2数据集2数据集n人工管理阶段应用程序与数据之间的对应关系文件系统阶段用文件系统管理数据具有如下特点:(1)数据可以长期保存(2)由文件系统管理数据:文件系统实现了记录内的结构性,但整体无结构。程序和数据之间由文件系统提供存取方法进行转换,使应用程序与数据之间有了一定的独立性。(3)数据共享性差,冗余度大(4)数据独立性差应用程序1文件1应用程序n应用程序2文件2文件n存取方法文件系统阶段应用程序与数据之间的对应关系数据库系统阶段20世纪60年代后期以来,硬件价格下降;软件则价格上升,为编制和维护系统软件及应用程序所需的成本相对增加;在处理方式上,联机实时处理要求更多,并开始提出和考虑分布处理。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,于是为了解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了统一管理数据的专门软件系统┈┈┈数据库管理系统数据库系统特点数据结构化数据共享性高、冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制DBMS还必须提供以下几方面的数据控制功能:(1)数据的安全性(Security)保护(2)数据的完整性(Integrity)检查(3)并发(Concurrency)控制(4)数据库恢复(Recovery)数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型的组成要素数据结构数据结构是所研究的对象类型的集合。规定了如何把基本的数据项组织成较大的数据单位,以描述数据的的类型、内容、性质和数据之间的相互关系。数据操作数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。数据的约束条件数据的约束条件是一组完整性规则的集合。概念模型概念模型中涉及的概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。(2)属性(Attribute)实体所以具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。例如学号是学生实体的码。(4)域(Domain)属性的取值范围称为该属性的域(5)实体型(EntityType)具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。(6)实体集(EntitySet)同型实体的集合称为实体集。例如,全体学生就是一个实体集。(7)联系(Relationship)在信息世界中联系反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为三类:①一对一联系(1:1)②一对多联系(1:n)③多对多联系(m:n)概念模型的表示方法E-R图提供了表示实体型、属性和联系的方法;实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁边标上联系的类型(1:1,1:n或m:n)。职工仓库1:1职工仓库1:1职工仓库1:n职工仓库1:1职工仓库1:n职工仓库工作n1仓库零件存放nm仓库零件存放nm工作职工n1供应p供应商项目mn建立E-R图的过程如下:(1)首先确定实体类型。(2)确定联系类型(1:1,1:N,M:N)。(3)把实体类型和联系类型组成E-R图。(4)确定实体类型和联系类型的属性。(5)确定实体类型的键,在属于键的属性名下划一条横线。将ER模型转换成关系数据库一般规则:(1)将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。(2)对于二元联系,按各种情况处理,如下面所示。ER图转换成的关系联系的处理外键(2个关系)模式A模式B处理方式(1):(1)把模式B的主键,联系的属性加入模式A处理方式(2):(2)把模式A的主键,联系的属性加入模式B方式(1):模式B的主键为模式A外键方式(2):表A的主键为表B的外键ER图转换成的关系联系的处理外键(2个关系)模式A模式B把模式A的主键,联系的属性加入模式B模式A的主键为模式B的外键ER图转换成的关系联系的处理主键外键(3个关系)模式A模式B模式A-B联系类型转换成关系模式A-B;模式A-B的属性:(a)联系的属性(b)两端实体类型的主键两端实体类型的主键一起构成模式A-B主键两端实体类型的主键分别为模式A-B的外键学生选课学号课程姓名性别年龄成绩课程号课程名任课教师MN学生选课学号课程姓名性别年龄成绩课程号课程名任课教师MN可以转换成以下模式:学生(学号,姓名,性别,年龄)主键为学号课程(课程号,课程名,任课教师)主键为课程号选课(学号,课程号,成绩)主键为课程号、学号,外键为课程号,学号;学生运动会模型(1)有若干班级,每个班级包括:班级号,班级名,专业,人数(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄(3)有若干比赛项目,包括:项目号,名称,比赛地点(4)每名运动员可参加多项比赛,每个项目可有多人参加(5)要求能够公布每个比赛项目的运动员名次与成绩(6)要求能够公布各个班级团体总分的名次和成绩要求:1、每个实体及其属性关系、实体间实体联系的E-R图2、根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每个表的主键和外键。数据库体系结构•模式是对数据库中全体数据的逻辑结构和特征的描述,数据模式是数据库的框架,反映的是数据库中数据的结构及其相互关系。数据库中的三级模式由外模式、概念模式和内模式构成。概念模式•又称模式。它是数据库中全部数据的整体逻辑结构和特征的描述,由若干概念记录类型组成,还包含记录间的联系、数据的完整性和安全性等要求。概念模式以某一种数据模型为基础,综合考虑了所有用户的需求,并将这些需求有机地集成为一个逻辑整体。概念模式可以被看做现实世界中一个组织或部门中的实体及其联系的抽象模型在具体数据库系统中的实现。•一个数据库只有一个概念模式,它是数据库系统三级模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序及程序设计语言无关。定义概念模式时不仅要定义数据的逻辑结构,例如数据记录由哪些字段构成,字段的名称、类型、取值范围等,而且还要定义数据之间的联系以及与数据有关的安全性、完整性要求等内容。外模式•外模式是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是用户与数据库系统之间的接口。•外模式表示了用户所理解的实体、实体属性和实体间的联系。在一个外模式中包含了相应用户的数据记录型、字段型、数据集的描述等。数据库中某个用户一般只会用概念模式中的一部分记录型,有时甚至只需要某一记录型中的若干个字段而非整个记录型。因此,外模式是概念模式的一个逻辑子集。•设置外模式的优点如下:•1)方便用户使用,简化用户接口。•2)保证数据的独立性。•3)有利于数据共享。•4)有利于数据的安全和保密。内模式•也称存储模式。是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。规定了数据项、记录、键、索引和存取路径等所有数据的物理组织以及优化性能、响应时间和存储空间需求等信息,还规定了记录的位置、块的大小和溢出区等。此外,数据是否加密,是否压缩存储等内容也可以在内模式中加以说明。两级映像•所谓映像是一种对应规则,它指出了映像双方如何进行转换的。•1)外模式/概念模式映像•2)概念模式/内模式映像两级数据独立性•1)物理数据独立性•2)逻辑数据独立性三个层次•1)数据存储层•2)业务处理层•3)界面表示层结构类型•1)