一.表(Table) 定义:以按行按列形式组织及展现的数据 一行可以称为:行(row)元组(tuple)记录(record) 一列可以称为:列(column)字段(field)属性(attribute)数据项(data item) 一个表中含有:表名,表标题(格式),表内容(值) 表名和表的标题合在一起称为:关系模式 三部分都合在一起称为:表/关系 二:数据库系统 数据库系统的组成:是由数据库,数据库管理系统,数据库应用,数据库管理员,计算机的基本系统组成的。 数据库(database)(DB):相互有关联关系的Table的集合 数据库管理系统(database management system)(DBMS):管理数据库的一种系统软件 数据库应用(database application)(DBAP):为了用户更好的使用数据库开发的程序 数据库应用是通过数据库系统来使用数据库的 数据库管理员(database administrator)(DBA) 计算机的基本系统 三.从用户角度理解数据库管理系统应该有什么功能 1.数据库定义功能:定义数据库中Table名称,标题(内含属性的名称及对该属性值的要求)等,为实现该功能,数据库管理系统(DBMS)提供一套数据定义语言(DDL:Data Definition Language)给用户使用,用户可以用这个语言来表达要创建的Table的格式,交给DBMS,DBMS解析和执行语言,在计算机系统中创建Table 2.数据库操纵功能:向数据库的Table中增加/删除/更新(修改)数据及对数据进行查询,检索,统计等,为实现这些功能,DBMS又提供了一套数据操纵语言(DML:Data Manipulation Language)供用户使用,用户通过该语言来进行标的增删改查等操作给DBMS,DBMS解析执行 3.数据库控制功能:控制数据库中数据的使用(哪些可以使用,哪些不可以使用),DBMS提供了一套数据控制语言(DCl:Data Control Language)给用户,数据库管理员可以通过该语言来定义控制信息,告诉DBMS哪些数据可以由哪些用户访问,哪些数据不能由哪些用户来访问,当某一个用户访问数据库的时候,DBMS就会对用户身份进行检查,判断用户是否能够访问该数据 4.数据库维护功能:转储/恢复/重组/性能监测/分析等等功能,DBMS提供了一系列程序(实用程序/例行程序)给用户,数据库管理员(DBA)可以通过其进行对数据库维护的各种功能,数据库维护的实用程序,一般都是由数据库管理员(DBA)来使用和掌握的 四.数据库语言 数据库语言:使用者通过数据库语言利用DBMS来操作数据库,包括:数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL),数据库各种操作的执行(DBMS按用户要求进行定义,操纵,控制和维护) SQL语言:结构化的数据库语言 数据库语言与高级语言:一条数据库语言相当于高级语言的一个或者多个循环程序,数据库语言可以嵌入到高级语言(宿主语言)中使用,这种SQL语言嵌入到某一种高级语言中使用叫做嵌入式数据库语言 五.从系统角度理解数据库管理系统应该有什么功能 DBMS为了完成DB管理,在后台运行着一系列的程序,有一些DBMS可以接替操作系统的职能来对磁盘内存进行管理,DBMS运行的程序包括编译与执行控制,查询优化实现,存储与索引,事务处理,各种控制程序... 以下是一些DBMS后台运行的具体程序实例: 语言编译器:将用数据库语言书写的内容,翻译成DBMS可执行的命令,例如DDL编译器,DML编译器,DCL编译器等等 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段;例如贯穿于数据存取各个阶段的优化程序 数据存取与索引:提供数据在磁盘,磁带等上的高效存取手段。例如存储管理器,缓冲区管理器,索引/文件个记录管理器等等 通信控制:提供网络环境下数据库操作与数据传输的手段 事务管理:提供提高是可靠性并避免并发操作错误的手段 故障恢复:是数据库自动恢复到故障发生前正确状态的手段,例如提供了备份,运行日志操控等实用程序 安全性控制:提供合法性检验,避免非法授权非法用户访问数据库的手段 完整性控制:提供数据及数据操作正确性检查的手段 数据字典管理:管理用户已经定义的信息 应用程序接口(API):提供应用程序使用DBMS特定功能的手段 等等 典型的数据管理系统:Oracle,Sysbase,DB2,MS SQL等等