1. 随着互联网的发展,用户可以随时随地访问并使用数据库,如网上购物,订购机票,转账、存取款、管理账户等。
2. 数据库的4个基本概念:数据、数据库、数据库管理系统、数据库系统。
数据(data):描述事物的符号记录成为数据,它是数据库中存储的基本对象。描述事物的符号可以是数字、文字、图形、图像、音频、视频等。数据的含义成为数据的语义,数据与其语义是不可分的。
数据库(DataBase,DB):数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。概括地讲,数据库具有永久存储、有组织和可共享三个基本特点。
数据库管理系统(DataBase Management System,DBMS):数据库管理系统是一种介于操作系统和用户之间的操纵和管理数据库的大型软件,和操作系统一样是计算机的基础软件。
数据库管理系统具有以下功能:
(1)数据定义;
(2)数据组织、存储和管理;
(3)数据操纵功能;
(4)数据库的事务管理和运行管理;
(5)数据库的建立和维护功能;
(6)与网络中其他软件系统的通信功能;
(7)与另一个数据库管理系统或文件系统的数据转换功能;
(8)异构数据库之间的互访和互操作功能;
数据库系统(DataBase System,DBS):数据库系统是由数据库、数据库管理系统、数据库应用系统、数据库管理员组成的存储、管理、处理和维护数据的系统。人们常常把数据库系统称作数据库。
3. 数据管理技术发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
人工管理阶段特点:
(1)数据不保存;
(2)应用程序管理数据;
(3)数据不共享;
(4)数据不具独立性;
文件系统阶段特点:
(1)数据可以长期保存;
(2)文件系统管理数据;
(3)数据共享性差,冗余度大;
(4)数据独立性差;
数据库系统阶段特点:
(1)数据结构化;
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。在文件系统中,文件中的记录内部具有结构,但是记录的结构和记录之间的联系被固化在程序中,需要有程序员加以维护。这种工作模式既加重了程序员的负担,又不利于结构的变动。
整体结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体式结构化的,数据之间是有联系的。
在数据库系统中,不仅数据是整体结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个或一组数据项、一个记录或一组记录;而在文件系统中,数据的存取单位是记录,粒度不能细到数据项。
(2)数据库管理系统统一管理和控制数据;
数据库管理系统必须提供以下几个方面的数据控制功能:
数据的安全性(security)保护:数据的安全性是指保护数据以防止不合法使用造成的数据泄密和破坏。每个用户只能按规定对某些数据以某些方式进行使用和处理。
数据的完整性(integrity)检查:数据的完整性是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,并保证数据之间满足一定的关系。
并发(concurrency)控制:当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
数据库恢复(recovery):为防止硬件故障、软件故障、操作员失误及故意破坏影响数据库中数据的正确性,甚至造成数据库中部分数据或全部数据的丢失,数据库管理系统必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。
(3)数据共享性高、冗余度低且易扩充;
数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。可以选取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只需要重新选取不同的子集或加上一部分数据便可以满足新的需求。
(4)数据独立性高;
数据独立性是借助数据库管理数据的一个显著优点,它已成为数据库领域中一个常用术语和重要概念,包括数据的物理独立性和逻辑独立性。
物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。也就是说,数据在数据库中怎样存储是由数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变时用户程序也可以不变。
数据与程序的独立性把数据定义从程序中分离出去,加上存取数据的方法又有数据库管理系统负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
4. 现有的数据库系统均是基于某种数据模型的,数据模型是数据库的核心和基础。
5. 根据模型应用的不同目的,将数据模型划分为属于两个不同层次的两大类:第一类是概念模型,第二类是逻辑模型和物理模型。
6. 数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。
7. 常用的数据模型:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型。
8. 关系模型中的一些术语:
学生登记表
学号 | 姓名 | 年龄 | 性别 | 系名 | 年级 |
2012004 | 王大鹏 | 19 | 女 | 计算机 | 2013 |
2013006 | 黄晓明 | 20 | 男 | 设艺 | 2013 |
2013008 | 张文斌 | 18 | 女 | 建筑 | 2013 |
... | ... | ... | ... | ... | ... |
(1)关系(relation):一个关系对应通常说的一张表;
(2)元组(tuple):表中的一行即为一个元组;
(3)属性(attribute):表中的一列即为一个属性,给每一个属性起一个名字即为属性名;
(4)码(key):也称为码键。表中的某个属性组,它可以唯一确定一个元组;
(5)域(domain):域是一组具有相同数据类型的值的集合。属性的某个取值范围来自某个域;
(6)分量:元组中的一个属性值;
(7)关系模式:对关系的描述,一般表示为:
关系名(属性1,属性2,...,属性n)
9. 关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项,也即是说,不允许表中还有表。
10. 关系术语与表格术语的对比:
关系术语 | 一般表格的术语 |
---|---|
关系名 | 表名 |
关系模式 | 表头(表格的描述) |
关系 | (一张)二维表 |
元组 | 记录或行 |
属性 | 列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
(1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。(层次模型和网状模型都是格式化模型)
(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示,对数据的检索和更新结果也是关系(即表),所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存储路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序猿的工作和数据库开发建立的工作。
12. 数据库系统的三级模式结构:外模式、模式、内模式。
(1)模式(schema):模式也成为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑上的视图。
(2)外模式(external schema):外模式也称子模式(subschema)或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式,一个外模式可以被多个应用程序使用,一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施(每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的)。
(3)内模式(internal schema):内模式也称为存储模式(storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
13. 数据库的二级映像功能
数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给数据库管理系统管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
2. 一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象。