数据库系统(1):初步认识数据库系统
课程特点:
- 抽象:概念和原理是抽象的,要通过具体的实例加以理解
- 思维:数据库的思维(集合、逻辑与对象思维)
- 应用:结构化/面向对象程序设计语言的补充->数据库语言
- 管理:数据存储与数据查询:算法、效率
- 案例:通过案例理解,听案例讲解,自己做案例
重点与难点
- 一组概念的区分:数据库、数据库系统和数据库管理系统?
- 熟悉“表”的相关要素及术语
- 熟悉数据库系统的构成(工作环境)
- 了解数据库管理系统的功能:从用户角度和从系统角度
一、为什么要学习数据库系统?
- Everything over DB
- 信息积累与运用的基础--数据库
- 基于数据库的应用--大数据
二、什么是数据库?
- 数据库是相互有关联关系的数据的集合
- 数据库起源于规范化“表(Table)”的处理
- Table:以按行按列形式组织及展现的数据,table中描述了一批相互有关系的数据->关系
- 对“表”的抽象:理解 - 区分 - 命名 - 表达
- Database:相互之间有关联关系的Table的集合
三、什么是数据库系统?
- 数据库系统(工作环境):
- 数据库(DB):Database
- 数据库管理系统(DBMS):Database Management System
- 数据库应用(DBAP):Database Application
- 数据库管理员(DBA):Database Administrator
- 计算机基本系统
- 实例:
四、什么是数据库管理系统?
-
从用户角度看数据库管理系统的功能?
- 数据库定义:定义数据库中Table的名称、标题(内含的属性名称及对该属性的值的要求)等。DBMS提供一套数据定义语言(DDL:Data Definition Language)给用户 。
- 数据库操纵:向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等。 DBMS提供一套数据操纵语言(DML:Data Manipulation Language)给用户 。
- 数据库控制:控制数据库中数据的使用 -- 哪些用户可以使用,哪些不可以。 DBMS提供一套数据控制语言(DCL:Data Control Language)给用户 。
- 数据库维护:转储/恢复/重组/性能监测/分析...。DBMS提供一系列程序(实用程序/例行程序)给用户 ,数据库维护的实用程序一般是有DBA来掌握和使用的 。
- 数据库语言:使用者通过数据库语言利用DBMS操作数据库
- 数据定义语言(DDL:Data Definition Language) --以便用户定义数据格式
- 数据操纵语言(DML:Data Manipulation Language) --以便用户对数据进行操作
- 数据控制语言(DCL:Data Control Language) --以便用户对数据进行控制
- 数据库各种操作的执行 --DBMS按用户要求进行定义、操纵、控制和维护
- 1、2、3为SQL语言:结构化的数据库语言
- 一条数据库语言语句相当于高级语言的一个或多个循环程序
- 数据库语言可以嵌入到高级语言(宿主语言)中使用
-
从系统实现角度看数据库管理系统的功能?
- “形式 -> 构造 -> 自动化” --数据库管理系统的实现
- DBMS为完成DB管理,在后台运行着一系列程序....
- 语言编译器:将用数据库语言书写的内容翻译成DBMS可执行的命令。例如:DDL编译器、DML编译器、DCL编译器等;
- 查询优化(执行引擎)与查询现实(基本命令的不同执行算法):提高数据库检索速度的手段。例如贯穿于数据存取各个阶段的优化程序;
- 数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等;
- 通信控制:提供网络环境下数据库操作与数据传输的手段
- 事务管理:提供提高可靠性并避免并发操作错误的手段
- 故障恢复:是数据库自动恢复到故障发生前正确的状态,例如提供了备份、运行日志操控等实用程序
- 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
- 完整性控制:提供数据及数据操作正确性检查的手段
- 数据字典管理:管理用户已经定义的信息
- 应用程序接口(API):提供应用程序使用DBMS特定功能的手段
- 典型的数据库管理系统:Oracle、DB 2(IBM)、MS SQL Server、MS Access、MS Foxpro......
- 小结: