第一章 绪论
1.1 数据库系统概述
数据库课程的学习内容
数据库的4个基本概念:
-
数据:描述事物的符号记录称为数据。 数据的含义成为数据的语义,数据与其语义是不可分割的。
-
数据库:数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。 数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度(Redundancy)、较高的数据独立性和易扩展性(scalability),并可为各种用户共享。
-
数据库管理系统:数据库管理系统是位于用户和操作系统之间的一层数据管理软件。 其主要功能有:
- 数据定义,Data Definition Language DDL
- 数据组织、存储和管理
- 数据操纵功能 Data Manipulation Language ,DML 即增删改查
- 数据库的事务管理和 运行管理
- 数据库的建立以及维护
常见的DBMS有:MySQL ,Oracle , SQL Server等
通俗的说就是:通过SQL语言来操纵管理数据库的软件系统
DBMS的执行流程:先解析语言,然后执行一系列程序
-
数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA : Database Administrator 数据库管理员)组成的存储、管理、处理和维护数据的系统。
数据库的发展演变
- 人工管理
- 文件管理
- 数据库管理
- 层次,网状数据库
- 关系数据库
- 对象关系数据库,面向对象数据库,xml数据库等…
- 多种数据库系统开放互联(ODBC ,JDBC)
- 新型数据库(关系数据库+其他新技术)
数据库系统的特点:
- 数据结构化
- 数据共享度高,冗余度低且易扩充
- 数据独立性高: 数据独立性包括物理独立性和逻辑独立性。物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
- 数据由数据库管理系统统一管理控制: 数据管理系统提供以下数据控制功能:数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。
工作岗位与学习程度
- 终端用户:简单了解
- 开发程序员:掌握高级语言和SQL语言开发应用程序
- 数据库设计:掌握数据库的模型等
- 数据库管理:数据库的权限,安全等
- DBMS设计:算法等
1.2 数据模型
数据模型也是一种模型,他是对现实世界数据特征的抽象,是数据库系统的核心和基础。
两类数据模型:
- 第一类是概念模型:也称信息模型,它是按照用户的观点来对数据和信息建模,主要用户数据库设计
- 第二类是逻辑模型和物理模型:
- 逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型。 主要用于数据库管理系统的实现
- 物理模型是对数据最底层的抽象。
概念模型
-
实体(entity):客观存在并可相互区别的事务成为实体
-
属性(attribute):实体所具有的某一特性成为属性
-
码(key):唯一标志实体的属性集成为码
-
实体型(entity type) :用实体名及其属性名集合来抽象和刻画同类实体,成为实体型
-
实体集(entity set)
-
联系(relationship)
实体之间的联系有:
- 一对一
- 一对多
- 多对多
概念模型的一种表示方法:实体-联系法(entity-relationship approach) ,该方法用E-R 图来描述现实世界的概念模型
数据模型的组成要素
- 数据结构
- 数据操作
- 数据的完整性约束条件
常用的数据模型
- 层次模型:树的形式组织数据
- 网状模型:网的形式组织数据
- 关系模型: 表的形式组织数据
关系模型
关系模型 :所有的模式都可为抽象表(table)的形式
模型:用什么形式组织模式。模式:如何表示具体数据的结构。数据:具体信息
数据本身结构抽象为模式,模式抽象为模型
关系模式:对关系的描述,一般表示为 关系名(属性1,属性2,…)
关系模型要求关系是规范的,不可再分
关系模型概念严格单一,便于理解和开发;支持集合的操作
但是存取路径对用户隐蔽,查询效率不高,需要优化
数据库系统的结构
三级模式,两级映射
模式:(概念层模式,Conceptual Schema)
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图。一个数据库只有一个模式。
外模式(子模式,External Schema):
外模式也称子模式或用户模式,他是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据逻辑表示。一个应用程序只能使用一个外模式。
外模式是用户和程序员看到的部分,可以是由一张表或多张表创建出来的视图
模式就是一张张表
内模式就是实际的物理存储结构,包括索引等Schema描述的是结构,View(视图)是数据的展示
内模式(内部模式,Internal Schema):
内模式也称存储模式,一个数据库只有一个内模式。他是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
外模式/模式映像(E-C Mapping :External Schema-Conceptual Schema Mapping):
当模式改变时**(如增加新的关系,新的属性,改变属性的数据类型等),由数据库管理人员对各个外模式/模式映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。**
模式/内模式映像(C-I Mapping :Conceptual Schema-Internal Schema Mapping):
当数据库的存储结构改变时(例如选用另一种存储结构),由数据库管理人员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序不必改变。保证了数据与程序之间的物理独立性,简称数据的物理独立性。