数据库模型与语言-1-初步认识数据库系统

一、基础知识和关系模型

第一讲 初步认识数据库系统

1.为什么要学习数据库系统?

(1)Everything Over DB?

(2)信息积累与运用的基础—数据库?

(3)基于数据库的应用—大数据?

(4)数据自有黄金屋?

2.什么是数据库?

(1)数据库与信息管理

数据库是电子化信息的集合

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

(2)数据库与“表”

数据库起源于规范化“表(Table)”的处理

Table: 以按行按列形式组织及展现的数据

(3)基于“表”的数据库的影响

E.F.Codd, 基于对“表(Table)”的理解:

  • 提出了“关系”及关系模型
  • 提出了关系数据库理论
  • 开创了数据库的时代
  • 当前普遍应用的数据库管理系统的奠基者
  • 获得了计算机领域最高奖“图灵奖

(4)对“表”的抽象:理解-区分-命名-表达?

列/字段/属性/数据项(column/field/attribute/data item)

行/ 元组/ 记录( row / tuple / record )

Table中描述了一批相互有关联关系的数据==关系

(5)数据库与“表”的关系?

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

(6)由表形式的数据库 到 各式各样的数据库?

3.什么数据库系统?

(1)数据库系统的构成—概念层次

数据库系统(工作环境):

  • 数据库(DB): Database
  • 数据库管理系统(DBMS): Database Management System
  • 数据库应用(DBAP): DataBase Application
  • 数据库管理员(DBA): DataBase Administrator
  • 计算机基本系统

4. 什么是数据库管理系统?

(1)从用户角度看数据库管理系统的功能?

数据库定义: 定义数据库中Table的名称、标题(内含的属性名称及对该属性的值的要求)等

  • DBMS提供一套数据定义语言(DDL:Data Definition Language)给用户
  • 用户使用DDL描述其所要建立表的格式
  • DBMS依照用户的定义,创建数据库及其中的Table

数据库操纵: 向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等

  • DBMS提供一套数据操纵语言(DML:Data Manipulation Language)给用户
  • 用户使用DML描述其所要进行的增、删、改、查等操作
  • DBMS依照用户的操作描述,实际执行这些操作

数据库控制: 控制数据库中数据的使用—哪些用户可以使用,哪些不可以

  • DBMS提供一套数据控制语言(DCL:Data Control Language)给用户
  • 用户使用DCL描述其对数据库所要实施的控制
  • DBMS依照用户的描述,实际进行控制

数据库维护: 转储/恢复/重组/性能监测/分析

  • DBMS提供一系列程序(实用程序/例行程序) 给用户
  • 在这些程序中提供了对数据库维护的各种功能
  • 用户使用这些程序进行各种数据库维护操作
  • 数据库维护的实用程序,一般都是由数据库管理员(DBA)来使用和掌握的

(2)数据库语言?

数据库语言:使用者通过数据库语言利用DBMS操作数据库

  1. 数据定义语言(DDL:Data Definition Language) —-DBMS提供给用户,以便用户定义数据格式
  2. 数据操纵语言(DML:Data Manipulation Language) —-DBMS提供给用户,以便用户对数据进行操作
  3. 数据控制语言(DCL:Data Control Language) —-DBMS提供给用户,以便用户对数据进行控制
  4. 数据库各种操作的执行—-DBMS按用户要求进行定义、操纵、控制和维护

1,2,3属于SQL语言:结构化的数据库语言

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

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

(3)从系统实现角度看DBMS的功能?

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

数据库管理系统(系统软件):从系统角度看DBMS的功能 :

DBMS为完成DB管理,在后台运行着一系列程序

  • 语言编译器:将用数据库语言书写的内容,翻译成DBMS可执行的命 令。例如: DDL编译器, DML编译器, DCL编译器等; 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据 库检索速度的手段;例如贯穿于数据存取各个阶段的优化程序;
  • 数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等;
  • 通信控制:提供网络环境下数据库操作与数据传输的手段
  • 事务管理:提供提高可靠性并避免并发操作错误的手段
  • 故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份、运行日志操控等实用程序
  • 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
  • 完整性控制:提供数据及数据操作正确性检查的手段
  • 数据字典管理:管理用户已经定义的信息
  • 应用程序接口(API):提供应用程序使用DBMS特定功能的手段
  • 数据库数据装载、重组等实用程序
  • 数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化 运行

(4)典型的数据库管理系统(DBMS)

–Oracle –DB 2 (IBM) –Sybase –MS SQL Server –MS Access –MS Foxpro

参考资料:

哈尔滨工业大学 战德臣

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn