什么是数据库
将信息规范化并使之电子化,形成电子信息’库’,以便利用计算机对这些信息进行快速有效的存储、检索、统计和管理。
数据库起源于对规范化“表(Table)”的处理
Table:以按行列形式组织及展现的数据
“表”里有什么? =》 “抽象”:理解-区分-命名-表达
Table中描述了一批相互有关联关系的数据=》关系
eg:
Attachment
Database:相互之间有关联关系的若干Table的集合
数据库系统的构成-概念层次
数据库系统(工作环境)
数据库 DB,Datebase
数据库管理系统 DBMS, Database Management System
数据库应用 DBAP, Database Application
数据库管理员 DBA, Database Administrator
计算机基本系统
Attachment
Attachment
从用户角度看数据库系统的功能
数据库定义:定义数据库中Table的名称、标题(内含的属性名称及对该属性值的要求)等
DBMS提供一套数据定义语言(DDL:Data Definition Language)给用户
用户使用DDL描述其所要建立表的格式
DBMS依照用户的定义,创建数据库及其中的Table
数据库操纵:向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等
DBMS提供一套数据操纵语言(DML:Data Manipulation Language)给用户
用户使用DML描述其所要进行的增、删、改、查等操作
DMBS依照用户的操作描述,实际执行这些操作
数据库控制:控制数据库中数据的使用–哪些用户可以使用,哪些不可以
DBMS提供一套数据控制语言(DCL:Data Control Language)给用户
用户使用DCL描述其对数据库所要实施的控制
DBMS依照用户的描述,实际进行控制
数据库维护:转储/恢复/重组/性能检测/分析…
DBMS提供一系列程序(实用程序/例行程序给用户)
在这些程序中提供了对数据库维护的各种功能
用户使用这些程序进行各种数据库维护操作
数据库维护的使用程序,一般都是由数据库管理员(DBA)来使用和掌握的
什么是数据库语言?
数据库语言:使用者通过数据库语言利用DBMS操作数据库
数据库定义语言(DDL:Data Definition Language)
DBMS提供给用户,以便用户定义数据格式
用户使用DDL:定义表名,表标题,列名及其结构形式
数据操纵语言(DML:Data Manipulation Language)
DBMS提供给用户,以便用户对数据进行操作
用户使用DML:增加,删除,修改数据; 查询数据,检索数据,统计数据
数据控制语言(DCL:Data Control Language)
DBMS提供给用户,以便用户对数据进行控制
用户使用DCL:定义对不同操作的约束,对不同操作者(用户)的约束
数据库各种操作的执行
DBMS按用户要求进行定义,操纵,控制和维护
由DBMS执行
由DDL,DML,DCL组成了----SQL语言:结构化的数据库语言
数据库语言与高级语言:一条数据库语言语句相当于高级语言的一个或多个循环程序
eg:从学生登记表中检索出所有性别为男的学生的学号和姓名
数据库语言(标准的:SQL语言)
Select 学号, 姓名 From 学生登记表 Where 性别=‘男’;
高级语言:
For K=1 to 最后一条记录
读第K条记录
If 性别=‘男’ then
显示第K条记录
Endif
Next K
数据库语言可以嵌入到高级语言(宿主语言)中使用
交互式数据库语言(标准的:SQL语言)
Select 学号,
From 学生登记表
Where 性别=‘男’
嵌入式数据库语言(SQL语句嵌入到到某一种高级语言中
从系统角度看数据库管理系统
‘形式->构造->自动化’–数据库管理系统的实现
数据库管理系统(系统软件):从系统角度看DBMS的功能
DMBS为完成DB管理,在后台运行着一系列程序
语言编辑器:将用数据库语言书写的内容,翻译成DBMS可执行的命令. 例如:DDL编译器,DML编译器,DCL编译器等;
查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段;例如贯穿于数据存取各个阶段的优化程序;
数据存取与索引:提供数据在磁盘,磁带等上的高效存取手段.例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等;
通信控制:提供网络环境下数据库操作于数据传输的手段
事务管理:提供提高可靠性并避免并发操作错误的手段
故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份,运行日志操控等实用程序
安全性控制:提供合法性校验,避免非授权非法用户访问数据库的手段
完整性控制:提供数据及数据操作正确性检查的手段
数据字典管理:管理用户已经定义的信息
应用程序接口(API):提供应用程序实用DMBS特定功能的手段
数据库数据装载,重组等实用程序
数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行.
典型的数据库管理系统:
Oracle
DB 2 (IBM)
Sybase
MS SQL Server
MS Access
MS Foxpro