
数据库原理及应用复习知识.doc
20页数据库原理及应用复习知识第一章 绪论一、基本概念:1.数据(Data):数据库中存储的基本对象,是描述事物的符号记录,如:数字、文字、图形、图像、声音等,数据与其语义是不可分的2.数据库(Database,DB) :是长期储存在计算机内、有组织的、可共享的大量数据集合其特征是: 数据按一定的数据模型组织、描述和储存 可为各种用户共享 冗余度较小 数据独立性较高、易扩展3.数据库管理系统(Database Management System,DBMS):是位于用户与操作系统之间的一层数据管理软件DBMS的主要功能有: 4.数据管理功能:数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能:提供数据库的用户接口5.数据库系统(Database System,DBS):是指在计算机系统中引入数据库后的系统 “DB+DBMS+应用系统+数据库管理员(DataBase Administration, DBA )”二、数据库管理阶段:1.人工管理阶段(40年代中--50年代中)应用需求:科学计算 硬 件:无直接存取存储设备 软 件:无通用的操作系统 处理方式:批处理数据管理者:应用程序,数据不保存。
数据面向的对象:某一应用程序 数据共享程度:无共享、冗余度极大 数据独立性:不独立,完全依赖于程序 数据结构化:无结构 数据控制能力:应用程序自己控制2.文件系统阶段(50年代末--60年代中)应用需求:科学计算、数据处理 硬 件:出现磁盘、磁鼓等 软 件:操作系统、高级语言 处理方式:批处理、共享的实时处理方式数据管理者:文件系统,数据长期保存 数据面向的对象:某一应用程序 数据共享程度:共享性差、冗余度大 数据结构化:记录内有结构,整体无结构 数据独立性:逻辑结构改变须修改应用程序 数据控制能力:应用程序自己控制3.数据库系统阶段(60年代末以来)应用需求:大规模管理 硬 件:出现大容量磁盘、磁盘阵列 软 件:数据库管理系统 处理方式:联机实时处理、分布处理和批处理数据管理者:DBMS 数据面向的对象:整个系统 数据高度结构化:数据库与文件系统的根本区别 数据的共享性高,冗余度低,易扩充 数据的独立性高:物理独立性和逻辑独立性 数据控制能力:由DBMS统一管理和控制4.数据库系统的特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制三、三级模式、两级映像从数据库管理系统角度看数据库系统内部的模式结构。
三级模式结构:外模式、模式 、内模式应用A应用B应用C应用D应用E内模式外模式1外模式3模式外模式2数据库1.模式(逻辑模式) 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,综合了所有用户的需求 一个数据库只有一个模式 模式是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关2.外模式(子模式或用户模式) 数据库用户使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 外模式通常是模式的子集,一个数据库可以有多个外模式 同一外模式可以为某一用户的多个应用系统所使用 外模式是保证数据库安全性的一个有力措施3.内模式(存储模式) 数据物理结构和存储方式的描述,是数据在数据库内部的存储方式 一个数据库只能有一个内模式三级模式是对数据库中数据的三个抽象级别,两级映象是在DBMS内部实现这三个抽象层次的联系和转换4.外模式/模式映象定义了外模式与模式之间的对应关系,每一个外模式都对应一个外模式/模式映象 保证了数据的逻辑独立性5.模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系,数据库中模式/内模式映象是唯一的。
保证了数据的物理独立性应用1应用2应用3应用4外模式1外模式2外模式3模 式映 像内模式映像1映像2映像3外模式/模式映像数据库模式/内模式映像数据库系统:数据库+数据库管理系统(及其开发工具)+应用系统+数据库管理员6.数据库管理员(DBA)的主要职责是负责全面管理和控制数据库系统,包括:决定数据库中的信息内容与结构决定数据库的存储结构和存取策略定义数据的安全性和完整性约束条件监控数据库的使用和运行(例如定义和实施备份和恢复策略)数据库的改进与重组重构第二章 数据模型一、数据模型的组成要素1.数据结构——系统的静态特性数据结构不仅要描述数据库组成对象,还要描述对象之间的联系通常所说的层状、网状和关系模型,就是按照此处的数据结构来进行划分的2.数据操作——系统的动态特性是指对数据库中的各种对象运行执行的操作的集合,包括操作及有关的操作规则数据库的操作包括查询和更新3.数据的完整性约束条件——一组完整性规则的集合完整性规则是数据模型中数据及其联系所具有的约束规则,用来限定数据库状态以及状态的变化,以保证数据的正确4.关系模型是以集合论中的关系(relation)概念为基础发展起来的数据模型。
5.基本关系的性质①列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域②不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名③列的顺序无关紧要,即列的次序可以任意交换④任意两个元组不能完全相同但在大多数实际关系数据库产品中,例如ORACLE、FoxPro等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组⑤行的顺序无关紧要,即行的次序可以任意交换⑥分量必须取原子值,即每一个分量都必须是不可分的数据项 二、关系模型:用二维表的形式表示实体和实体间联系的数据模型1.关系模型特点:数据结构 数据操作关系数据操作是集合操作 关系模型将操作中的存取路径对用户屏蔽 完整性约束 实体完整性、参照完整性、用户自定义完整性优点: 建立在严格的数学概念的基础上 概念单一,实体和联系都用关系表示,数据操作结果为关系 数据的存取路径对用户是透明的缺点: 由于存取路径透明,使得数据存取的效率不如非关系模型第三章 关系数据库一、概念、性质:关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。
选择运算是从关系的水平方向进行运算,是从关系R中选择满足给定条件的诸元组,记作,其形式定义如下:其中,F中的运算对象是属性名(或列的序号)或常数,运算符算术比较府(<,≤,>,≥,=,≠)和逻辑运算符( ∧,∨,) 等值连接:当θ为“=”时,称之为等值连接,记为,其形式定义如下: 自然连接: 是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中将重复属性列去掉 记为,其形式定义如下: 自然连接可以由基本的关系运算投影、选取和笛卡儿积导出连接运算符是“=”的连接运算称为等值连接它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组二、等值连接与自然连接的区别:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉第四章 SQL语句一、SQL概念:实际上它的功能包括查询(Query),操纵(Manipulation),定义(Definition)和控制(Control)四个方面,是一个综合的、通用的、功能极强的关系数据库语言二、SQL的主要特点1. 综合统一2. 高度非过程化3. 面向集合的操作方式4. 两种使用方式,统一的语法结构5. 语言简洁,易学易用(1).数据库查询 SELECT (2). 数据定义 CREATE, DROP (3). 数据操纵 INSERT, UPDATE, DELETE (5). 数据控制 GRANT, REVOKE6.常用语句:创建数据库Create DATABASE database-name删除数据库drop database dbname备份sql server创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk‘, ‘testBack‘, ‘c:\mssql7backup\MyNwind_1.dat‘开始 备份BACKUP DATABASE pubs TO testBack创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only删除新表drop table tabname增加一个列Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度添加主键: Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建创建视图:create view viewname as select statement删除视图:drop view viewname几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from tab。
