数据库系统概论第一章

第一章

数据库

数据库是长期储存在计算机内有组织可共享的大量数据的集合。

数据库具有永久存储有组织可共享三个基本特定。

数据库管理系统(DBMS)

主要功能包括:1.数据定义功能 2.数据组织、存储和管理 3.数据操纵功能(查询、插入、删除和修改)4.数据库的事务管理和运行管理 5.数据库的建立的维护功能

数据库系统(DBS)

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据模型

数据模型是一种模型,它是对现实世界数据特征的抽象。数据模型就是现实世界的模拟。

数据模型应满足三方面要求:

  1. 能比较真实的模拟现实世界;
  2. 容易为人所理解;
  3. 便于在计算机上实现。

根据模型应用的不同目的,可分为两类:第一类是概念模型。概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。第二类是逻辑模型和物理模型。

逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型等。它是按计算机系统的观点对数据建模,主要用于DBMS的实现。

物理模型是对数据最低层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。

数据模型的组成要素

数据模型通常由数据结构、数据操作和完整性约束三部分组成。

信息世界的基本概念

  1. 实体

客观存在并可相互区别的事物称为实体。实体剋是具体的人、事、物,也可以是抽象的概念或联系。

  1. 属性

实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。

  1. 码(关键字)

唯一标识实体的属性集称为码。

域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。

  1. 实体型

具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。(学生)

  1. 实体集

同一类型的实体的集合称为实体集。(全体学生)

  1. 联系

在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。

实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。

两个实体型之间的联系

  1. 一对一联系(1:1)

如果对于实体集A中的每一个实体,实体集B中至多由一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。

例:学校里面,一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。

  1. 一对多联系(1:n)

如果对于实体集A中的每一个实体,实体集B中由n个实体(n>=0)与之联系,反之对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。

例:一个班级中由若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。(学生组成班级)

  1. 多对多联系(m:n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m>=0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。

说明:实际上一对一是一对多的特例一对多又是多对多的特例

例:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。

两个以上的实体型之间的联系

两个以上的实体型之间也存在着一对一、一对多、多对多联系。

例:对于课程、教师与参考书3个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。

有三个实体型:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出供应商、项目和零件三者之间的关系是多对多的联系。

单个实体型内的联系

同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。

概念模型的一种表示方法:实体-联系图(E-R

E-R图提供了表示实体型、属性和联系的方法。

实体型:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。

联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁边标上联系的类型(1:1,1:n或m:n)。

例:用E-R图来表示某个工厂物资管理的概念模型。

物资管理涉及的实体有:

  1. 仓库属性有仓库号、面积、电话号码;
  2. 零件属性有零件号、名称、规格、单价、描述;
  3. 供应商属性有供应商号、姓名、地址、电话号码;
  4. 项目属性有项目号、预算、开工日期;
  5. 职工属性有职工号、姓名、年龄、职称。

1.2.4 最常用的数据模型

目前,数据库领域中最常用的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。

1.2.5 关系模型

一、 关系数据模型的数据结构

关系(Relation):一个关系对应通常说的一张表,如下表中的这张学生登记表;

元组(Tuple):表中的一行即为一个元组:

属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。

码(Key):也称为码键。表中的某个属性组,它可以唯一确定一个元组;如上表中的学号,可以唯一确定一个学生,也就称为本关系的码;

(Domain):属性的取值范围,如人的年龄一般在1~150之间;

分量:元组中的一个属性值;

关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)。

例:学生登记表的关系可以描述为:学生(学号,姓名,年龄,性别,系名,年级)

例:学生、课程、学生与课程之间的多对多联系在关系模型中可以如下表示:

学生(学号,姓名,年龄,性别,系名,年级)

课程(课程号,课程名,学分)

选修(学号,课程号,成绩)包含学生里的一个属性(学号)和课程里的一个属性(课程号)

二、 关系数据模型的操作与完整性约束

关系数据模型的操作主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。

关系的完整性约束条件包括三大类:

  1. 实体完整性
  2. 参照完整性
  3. 用户定义的完整性

三、关系数据模型的优点

1. 关系模型与格式化模型不同,它是建立在严格的数据概念的基础上的。

2. 关系模型的概念单一

3. 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性也简化了程序员的工作和数据库开发建立的工作

1.3 数据库系统结构

1.3.1 数据库系统模式的概念

模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,同一模式可以有很多实例。

例:在学生选课数据库系统模式中,包含学生记录、课程记录和学生选课记录,则2003年有一个学生数据库的实例,该实例包含了2003年学校中所有学生的记录(如果某校有10000个学生,则有10000个学生记录)、学校开设的所有课程的记录和所有学生的选课记录。

1.3.2 数据库系统的三级模式结构

数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。

  • 模式(Schema)

模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言(如C,COBOL,FOR-TRAN)无关。

  • 外模式(External Schema)

外模式也称子模式(Subshcema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

【注意】

  1. 外模式是模式的子集,一个数据库可以有多个外模式。
  2. 同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。
  3. 外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据不可见的。
  • 内模式(Internal Schema)

内模式也称存储模式(Storage Schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

1.3.3数据库的二级映射功能与数据独立性

数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中地具体表示方式与存储方式。

数据库管理系统在这三级模式之间提供了两层映像:

外模式/模式映像

模式/内模式映像

两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

1.4数据库系统的组成

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员构成。

  • 硬件平台及数据库

硬件资源要求:

  1. 要有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序;
  2. 要足够的大的磁盘或磁盘阵列等设备存放数据库,有足够的磁带(或光盘)作为数据备份;
  3. 要求系统有较高的通道能力,以提高数据传送率。
  • 软件

数据库系统的软件主要包括:

  1. DBMS。DBMS是为数据库的建立、使用和维护配置的系统软件。
  2. 支持DBMS运行的操作系统。
  3. 具有与数据库接口的高级语言及编译系统,便于开发应用程序。
  4. 以DBMS为核心的应用开发工具。
  5. 为特定应用环境开发的数据库应用系统。
  • 人员

开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。不同的人员设计不同的数据抽象级别,具有不同的数据视图。

  1. 数据库管理员(DataBase Administrator, DBA

需要有专门的管理结构来监督和管理数据库系统。DBA则是这个机构的一个(组)人员,负责全面管理和控制数据库系统。具体职责包括:

  1. 决定数据库中的信息内容和结构,数据库中要存放哪些信息,DBA要参与决策;
  2. 决定数据库的存储结构和存取策略;
  3. 定义数据的安全性要求和完整性约束条件;
  4. 监控数据库的使用和运行;
  5. 数据库的改进和重组重构。
  1. 系统分析员和数据库设计人员

系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。

数据库设计人员负责数据库中的数据的确定和数据库系统各级模式的设计。

  1. 应用程序员

应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。

  1. 用户

这里用户是最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值