本文全部内容来自数据库系统概论(第5版)—王珊、萨师煊著
数据、数据库、数据库管理系统、数据库系统
1.数据(data)
数据是数据库中存储的基本对象,数据不仅仅只是数字,也包括文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等
描述事物的符号记录成为数据
数据含义称为数据的语义,数据与语义不可分割
自然语言:李明同学,男,1995年5月生,江苏省南京市人,2013年入学。
在计算机中的表示形式是记录:
(李明,男,199505,江苏省南京市,计算机系,2013)
即把学生的姓名、性别、出生年月、家庭住址、所在院系、入学时间等组织在一起,构成一个记录。
记录是计算机中表示和存储数据的一种格式或一种方法
2、数据库(DataBase,DB)
数据库是存放数据的仓库,此仓库在计算机存储设备上,而且数据是按照一定的格式存放的
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合
数据库中数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性、易扩展性、可为用户共享
三个特点:永久存储、有组织、可共享
3、数据库管理系统(DataBase Management System,DBMS)
数据库管理系统:用来科学地组织和存储数据,高效地获取和维护数据
主要功能:
4、数据库系统
数据库系统由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
在引入数据库后的计算机系统层次中,数据库系统在操作系统上,应用开发工具下。
数据库技术是应数据管理任务的需要产生的。
数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
数据处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模数据管理 |
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 |
软件背景 | 没有操作系统 | 由文件系统 | 有数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 |
数据面向对象 | 某一应用程序 | 某一应用 | 现实世界 |
数据的共享程度 | 无共享、冗余度大 | 共享性差,冗余度大 | 共享性高、冗余度小 |
数据独立性 | 不独立、完全依赖于程序 | 独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
数据结构化 | 无结构 | 记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 |
采用数据库系统实现学生学籍管理
CREATE TABLE STUDENT(
Sno CHAR(8),
Sname CHAR(10),
Ssex CHAR(2),
Sage SMALLINT,
Major CHAR(20)
);
CREATE TABLE AWARD(
Sno CHAR(8),
Details VARCHAR(2000)
);
利用两条插入命令即可将数据保存到STUDENT和AWARD表中
INSERT INTO STUDENT(Sno,Sname,Ssex,Sage,Major)
VALUES('2001001','林文','男','21','计算机')
INSERT INTO AWARD(Sno,Details)
VALUES('2001001','2014校奖学金,2015校二等奖学金')
查询功能一条语句即可完成
SELECT A.Sno,Sname,Ssex,Sage,Major,Details FROM STUDENT A LEFT JOIN AWARD B
on A.Sno = B.Sno WHERE A.Sno='2001001'
1、数据结构化
整体结构化是指数据库中的数据不在仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体是结构化的,数据之间是具有联系的。
在数据库系统中,存取方式十分灵活,可以存取数据库中的某一个或一组数据项、一个记录或一组记录。
2、数据的共享性高、冗余度低且易扩充
数据库系统从整体角度看待和描述数据,数据面向整个系统,因此数据可以被多个用户,多个应用共享使用。
数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
数据的不一致性是指同一数据不同副本的值不一样。
由于数据库系统面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且我容易增加新的应用,这就是的数据库系统弹性大,易于扩充。
3、数据独立性高
数据独立性包括数据的物理独立性和逻辑独立性。
物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。数据的物理存储改变时应用程序不变。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变时用户程序也可以不变。
4、数据由数据库管理系统统一管理和控制
数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
数据模型是对显示世界数据特征的抽象。是用来描述数据、组织数据和对数据进行操作的。
数据模型是数据库系统的核心和基础。
三方面的要求:
根据模型应用的不同目的,可以将模型划分为两大类:
概念模型用于信息世界的建模
1、信息世界中的基本概念
信息世界==概念模型
entity
:客观存在并可相互区别的事物attribute
:实体所具有的某一特性key
:唯一表示实体的属性集entity type
:用实体名及其属性名集合来抽象和刻画同类实体entity set
:同一类型实体的集合relationship
:反映在信息世界中实体(型)内部的联系和实体(型)之间的联系
2、概念模型的一种表示方法:实体—联系方法
E-R图
数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件
数据模型通常由数据结构、数据操作和数据完整性约束条件三部分组成。
数据结构:描述数据库的组成对象以及对象之间的联系
与对象的类型、内r容、性质有关的
与数据之间的联系有关的
数据结构是所描述的对象类型的集合,是对系统静态特性的描述。
数据操作,是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
数据的完整性约束条件:一组完整性规则
完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
数据库领域中主要的逻辑数据模型有:
层次模型用树形结构来表示各类实体以及实体间的联系。
1、层次模型的数据结构
层次模型中,每个结点表示一个记录类型,记录类型之间的联系用节点之间的连线(有向边)表示,这种联系是父子之间一对多的联系。
层次模型是一种类似于倒立的树的数据结构,结点的双亲是唯一的。
基本特点:任何一个给定的记录值只有按照其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。
2、层次模型的数据操纵与完整性约束
数据操纵:查询、插入、删除、更新
完整性约束:插入、删除、更新
3、层次模型的优缺点
优点:
缺点:
网状模型用来表示非树形结构的非层次关系。
1、网状结构的数据结构
网状模型中子女与双亲的关系可以使不唯一的。
2、网状模型的数据操纵与完整性约束
具体的网状数据库系统对数据操纵都加了一些限制,提供一定的完整性约束。
3、网状模型的优缺点
优点:
缺点:
关系模型是最重要的一种数据模型。
1、关系模型的数据结构
建立在严格的数学概念上的。
学号 | 姓名 | 年龄 | 性别 | 系名 | 年级 |
---|---|---|---|---|---|
2020001 | 王明 | 19 | 男 | 计算机系 | 2020 |
2020002 | 李文 | 20 | 男 | 经济系 | 2020 |
2020003 | 林涵 | 19 | 女 | 音乐系 | 2020 |
… | … | … | … | … | … |
关系(relation):一个关系对应一张表
元组(tuple):表中的一行为一个元组
属性(attribute):表中的一列即为一个属性,给每个属性起一个名称即属性名
码(key):也称为码键,表中的某个属性组,他可以唯一确定一个元组
域(domain):域是一组具有相同数据类型的值得集合
分量:元组中的一个属性值
关系模式:对关系的描述,一般表示为
关系名(属性1,属性2,…,属性n)
关系模型要求关系必须是规范化的,关系必须满足一定的规范条件。
关系的每一个分量必须是一个不可分的数据项
将关系和现实生活中的表格所使用的术语对比结果如下:
关系术语 | 一般表格的术语 |
---|---|
关系名 | 表名 |
关系模式 | 表头(表格的描述) |
关系 | (一张)二维表 |
元组 | 记录或行 |
属性 | 列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
非规范关系 | 表中有表(大表中嵌有小表) |
2、关系模型的数据操纵与完整性约束
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干集合。
关系模型不需要用户了解存取路径,因此大大提高了数据的独立性,提高了用户生产率。
3、关系模型的优缺点
优点:
缺点:查询效率低,开发难度高
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构。
从数据库最终用户角度看:
例如:学生记录定义为(学号,姓名,性别,系别,年龄,籍贯)这样的记录型
(2020001,李明,男,计算机系,19,安徽省芜湖市)则是一个记录值。
模式(schema):是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及到型的描述,不涉及到值。模式的一个具体指称为模式的一个实例。同一个模式可以有很多实例。
模式是相对稳定的,而实例是相对变动的。
指数据库系统是由外模式、模式和内模式三级构成。数据库系统的三级模式是数据的三个抽象级别。
1、模式
模式也成逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
它是数据库系统模式结构的中间层,既不涉及物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。
一个数据库只有一个模式
定义模式时不仅要定义数据的逻辑结构,还要定义数据之间的联系,定义与数据有关的安全性、完整性要求。
数据库管理系统提供数据定义语言(DDL)来严格定义模式。
2、外模式
外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用程序有关的数据的逻辑表示。
外模式是模式的子集,一个数据库可以有多个外模式。
3、内模式
内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
为了能够在系统内部实现三个抽象层次的联系和转换,数据库管理系统提供了两层映像。
1、外模式/模式映像
对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。映像的定义包含在各自外模式的描述中。
当模式改变时,由数据库管理员对各个外模式/模式映像作相应改变,可以保持外模式不变。由于应用程序是依据外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2、模式/内模式映像
模式/内模式映像是唯一的,定义了数据全局逻辑结构与存储结构之间的对应关系。
当数据库的存储结构改变时,由数据库管理员DBA对模式/内模式映像做出相应改变,可以使模式保持不变,从而应用程序也不必改变。保证数据与程序的物理独立性,简称数据的物理独立性
1、硬件平台及数据库
2、软件
3、人员