3.1 数据库的基本概念
数据库技术是研究数据库的结构、存储、设计和使用的一门软件科学,是进行数据管理和处理的最新技术,是计算机技术的重要分支。
考点(1)信息、数据与数据处理
信息:是对现实世界事物的存在方式或运动状态的反映。
载体:信息是数据的内涵,是数据的语义解释。
数据处理:是对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程,也常称为信息处理。
数据模型:实体模型的数据化就是数据模型。
考点(2)数据库、数据库管理系统和数据库系统。
数据库、数据库管理系统和数据库系统是3个不同的概念。数据库强调的是数据,数据库管理系统强调的是系统软件,而数据库系统强调的是数据库的整个运行系统。
(1)数据库(DB)。存储数据的“仓库”,不但存储数据,还存储数据间的逻辑关系。
(2)数据库管理系统(DBMS)。是一种软件,在文件系统的基础上发展起来的一种理想的数据库管理技术,它具有数据共享、数据独立性高(数据结构和应用程序相互独立)、数据结构化、数据冗余度(重复性)小、处理效率高、数据安全性和完整性好等特点。
(3)数据库系统(DBS)。实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件资源组成的系统。
考点(3)数据库系统的三级模式
数据库系统的三级模式结构是由外模式、模式和内模式组成的。
(1)模式。亦称为逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图,它描述的是数据的全局逻辑结构。
(2)外模式。亦称为子模式或用户模式,是数据库用户看到的数据视图。
(3)内模式。亦称为存储模式,是数据在数据库系统内部的表示,即对数据物理结构和方式的描述。
(4)数据的二层映像与数据独立性。外模式/模式映像:模式描述的是数据库数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了外模式与内模式之间的对应关系,应用程序是依据数据的外模式编写的,从而保证了数据与程序的逻辑独立性;模式/内模式映像:数据库只有一个内模式,模式/内模式映像是惟一的,它定义数据库全局逻辑结构与存储结构之间的关系,它保证了数据与程序的物理独立性。
3.2 关系数据模型
考点(4)数据模型概述
数据模型:实体模型的数据化就是数据模型。反映实体之间联系的就是实体模型。
常见的数据模型有关系模型、层次模型和网状模型。
考点(5)关系模型的数据结构
关系模型由3部分组成:数据结构、关系操作集合和关系的完整性。
1.关系数据结构
用关系(表格数据)表示实体与实体之间联系的模型称为关系模型。通俗地讲,关系就是二维表格。
关系可以有3个类型:基本关系(通常称为基本表或基表)、查询表和视图表。
2.关系操作
关系操作采用集合操作方式,即操作的对象和结果都是集合,这种操作方式也称为一次一个集合的方式。
关系模型中常用的关系操作包括选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改等更新操作两大部分。
3.完整性约束
在关系型数据库中,完整性约束用于确保数据的准确性和一致性。关系模型提供了丰富的完整性控制机制,允许定义3类完整性:实体完整性、参照完整性和用户定义完整性。
3.3关系数据标准语言---SQL
考点(6)SQL的数据定义
关系数据库由模式、外模式和内模式组成,即关系数据库的基本对象是表、视图和索引。
因此SQL的数据定义功能包括定义表、定义视图和定义索引。
1.基本表
(1)基本表的创建用“CREATE TABLE”语句。
(2)增加新的列用“ALTER ADD”语句。
(3)删除原有的列用“ALTER DROP”语句。
(4)基本表的撤销使用“DROP TABLE”撤销。
2.索引的创建和删除
(1)索引的创建使用“CREATE INDEX”语句。
(2)索引的删除使用“DROP INDEX”语句。
考点(7)SQL的视图
在SQL中,外模式一级数据结构的基本单位是视图,视图是从一个或几个基本表导出的表。
(1)视图的创建使用“CREATE VIEW”语句
CREATE VIEW<视图名>(列表名)
AS SELECT查询语句;
(2)视图的删除使用"DROP VIEW”语句
DROP VIEW<视图名>;
(3)视图的作用。视图能够简化用户的操作,视图使用户能以多种角度观察同一个数据;视图对重构数据库提供了一定程度的逻辑独立性;视图能够对机密数据提供安全保护。
考点(8)SQL的数据控制语句
(1)授予权限。SQL语言用“GRANT”语句向用户授予操作权限,一般格式为:
GRANT<权限>[,<权限>]
[ON<对象类型><对象名>]
TO<用户>[,<用户>]
[WITH GRANT OPTION];
(2)收回权限。授予的权限可以由DBA或其他授权者用“REVOKE”语句收回,一般格式为:
REVOKE<权限>[,<权限>]
[ON<对象类型><对象名>]
FROM<用户>[,<用户>];