一. 数据库系统课程简介

关系数据库关注: 数据库设计 数据库应用程序开发 数据库存储与控制

其他数据库(以关系数据库为基础):面向对象数据库、XML数据库、NoSQL数据库,等等 重点内容:

  • 概念区分:数据库、数据库系统、数据库管理系统
  • 熟悉“表”的相关要求及术语
  • 熟悉数据库系统的构成(工作环境)
  • 了解数据库管理系统的功能:从用户和系统角度

二. 为什么学习数据库系统

传统社会:业务工作 信息社会:业务工作+计算机支持

数据库是一种技术也是一种思维

image-20220127211119851

三. 数据库

1. 数据库的概念

简单来讲,数据库就是相互有关联关系的数据的集合,从计算机的角度一是要考虑如何存储数据,二是检索、查询以及获取有用的信息。

数据库是电子化信息的集合,将信息规范化并使之电子化,形成电子信息“库”,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理。

数据库起源于规范化“表 table(以按行按列形式组织及展现的数据)”的处理。

2. 表——开始“抽象”:理解-区分-命名-表达

表的常用术语: 表名、表标题(格式)、表内容(值)、行/元组/记录(row/tuple/record)、列/字段/属性/数据项(column/field/attribute/data item)、列名、列值

  • 表名+表标题 (关系)模式
  • 表名+表标题+表内容 表/关系

Table中描述了一批相互有关联关系的数据 因此把Table称为关系,但是有些许差别。

Database:相互之间有关联关系的Table的集合。

四. 数据库系统

数据库系统(工作环境)

  • 数据库DB: Database
  • 数据库管理系统DBMS: Database Management System,管理数据库的一种系统软件
  • 数据库应用DBAP: Database Application,为用户更好使用数据库开发的应用程序,不同用户开发不同程序,提供不同功能,这些应用是通过数据库管理系统来使用数据库
  • 数据库管理员DBA: Database Administrator
  • 计算机基本系统:计算机、网络、输入输出设备等
image-20220205195653097

五. 数据库管理系统

1. 从用户角度看数据库管理系统

1.1 数据库管理系统功能

  • 数据库定义: 定义数据库中Table的名称、标题(内含的属性名称及对该属性的值的要求)等
    • DBMS提供 数据定义语言DDL (Data Definition Language)
    • 用户使用DDL描述建立表的格式,DBMS按照定义创建数据库及其中的Table
  • 数据库操纵: 向数据库Table中增加、删除、更改数据及对数据进行查询、检索、统计等
    • DBMS提供 数据操纵语言DML (Data Manipulation Language)
    • 用户使用DML描述要进行的操纵,DBMS按照操作描述实际执行操作
  • 数据库控制: 控制数据库中数据的使用,访问权限等
    • DBMS提供 数据控制语言DCL (Data Control Language)
    • 数据库管理员DBA使用DCL定义控制信息,控制信息告诉DBMS访问权限
    • DBAP访问数据库时,DBMS对用户身份进行检测
  • 数据库维护: 转储、恢复、重组、性能监测、分析……
    • 一般由数据库管理员DBA来使用和掌握

1.2 数据库语言

数据库语言与高级语言差别:一条数据库语言相当于高级语言的一个或多个循环程序

数据库语言可以嵌入到高级语言(宿主语言)中使用

2. 从系统角度看数据库管理系统

“形式 构造 自动化” ——数据库管理系统的实现

2.1 数据库管理系统功能

解析语言并执行的系统——数据库管理系统

DBMS为完成DB管理,在后台运行一系列程序 。注意划分数据库管理系统和操作系统的管理范畴,有一些DBMS也可以越过操作系统智能,直接对磁盘、内存进行管理。

  • 语言编译器:将数据库语言书写的内容,翻译成DBMS可执行的命令,如:DDL编译器、DML编译器等;
  • 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段,例如贯穿于数据存取各个阶段的优化程序;
  • 数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段,例如:存储管理器、缓冲区管理器、索引/文件和记录管理器等;
  • 通信控制:提供网络环境下数据库操作与数据传输的手段;
  • 事物管理:提供提高1可靠性并避免并发操作错误的手段;
  • 故障恢复
  • 安全性控制
  • 完整性控制
  • 数据字典管理
  • 应用程序接口(API)
  • 数据库数据装载、重组等实用程序
  • 数据库性能分析

典型的数据库管理系统:Oracle、DB 2 (IBM)、Sybase、MS SQL Server、MS Access、MS Foxpro等

3. 小结

$$ 课程内容{ 宿

. $$

3. 概念区分

  • 数据库
  • 数据库系统
  • 数据库管理系统

六. 学什么、学到什么程度

1. 数据库相关岗位及素质要求

  • End Users
    • naive users
    • casual users —— interactive SQL
  • Application Programmers —— Procedural SQL, Concept about Transaction (应用程序员)
  • Database analyzer and designer —— Data modeling, Concept about Normalization (数据库分析师、设计师)
  • Database Administrators, DBA —— Database maintainance, Security, Integrity, Recovery (数据库管理员)
  • Database Management System designer and implementor —— implementation technique of above (数据库管理系统的设计开发人员)
  • Techniques for Special and New Database Management System (新型数据库开发人员)