什么是数据库?
表:以按行按列形式组织及展现的数据
如下便是一个表,也叫关系,描述了一批相互有关联关系的数据
数据库:起源于规范化表(如成绩单)的处理,简称DB,是相互有关联关系的若干表的集合。简单说就是一堆文件,这些文件中存储了具有特定格式的数据
什么是数据库管理系统?
作用:专门管理数据库中的数据的,数据库管理系统可以对数据库当中的数据进行增删改查。
类型:层次型、网状型、关系型(本课程主要学习)。
常见的数据库管理系统:MySQL,Oracle、MS SqlServer、DB2、sybase等.....
用户角度看数据库管理系统
一.数据库定义:定义数据库中表的名称标题等
1.DBMS提供数据定义语言即DDL
2.用户使用DDL描述其所要建立表的格式
3.DBMS依照用户的定义,创建数据库及其中的表
二.数据库操纵:向数据库的表进行增删查改等操作
1.DBMS提供数据操纵语言(DML)
2.用户使用DML描述其索要进行的增删改查等操作
3.DBMS根据用户的操作描述,实际执行这些操作
三.数据库控制:控制数据库中数据使用的权限
1.DBMS提供数据控制语言(DCL),即对数据访问权限的控制
2.用户使用DCL描述其对数据库所要实施的控制,即用户对数据的访问权限
3.DBMS依照用户的描述进行权限的检查,实际进行控制
四.数据库维护:转储,恢复,重组等,一般由数据库管理员使用和掌握
1.DBMS提供一系列程序
2.这些程序提供对数据库维护的各种功能
3.用户使用这些程序进行对各种数据库维护操作
数据库语言
使用者通过数据库语言利用DBMS操作数据库
1.数据定义语言(DDL):用于用户定义数据格式,如定义表明,表标题,列名及其结构形式
2.数据操纵语言(DML):用于用户对数据进行操作,如增删查改检索统计数据
3.数据控制语言(DCL):用于用户对数据进行控制,如定义对不同用户的权限
以上三种语言统称为SQL语言 ,即结构化数据语言
DBMS按照用户使用的SQL语言进行定义,操纵,控制和维护
SQL语言相当于高级语言的一个或多个循环程序,用于在数据库中遍历数据进行对特定数据的操
纵,也可以嵌入在高级语言中使用
系统角度看数据库管理系统
这些程序有以下几种:
语言编译器:将用数据库语言书写的内容,翻译成DBMS可执行的命令。例如: DDL编译器,DML编
译器,DCL编译器等;
查询优化(执行引擎)与查询实现(基本命令的不同执行算法) :提高数据库检索速度的手段;例如贯穿
于数据存取各个阶段的优化程序;
数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存储管理器,缓冲区管理器,索
引/文件和记录管理器等;
通信控制:提供网络环境下数据库操作与数据传输的手段
事务管理:提供提高可靠性并避免并发操作错误的手段
故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份、运行日志操控等实用
程序
安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
完整性控制:提供数据及数据操作正确性检查的手段
数据字典管理:管理用户已经定义的信息
应用程序接口(API) :提供应用程序使用DBMS特定功能的手段
数据库数据装载、重组等实用程序
数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行