还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《数据库原理及应用》复习重点第一章数据库实体一记录属性一字段(数据项实体集一文件系统基本概念
一、数据管理技术的发展实体标识符一关键码
1.分为四个阶段人工管理阶段、文件系统阶段、
5.实体之间联系的元数与一个联系有关的实体集数据库阶段和高级数据库阶段个数常用二元联系二元联系的类型有三种一对一联系、一对多联系、多对多联系
2.数据库阶段数据管理的特点1)采用数据模型表示复杂的数据结构
6.一对一联系如果实体集E1中每一个实体至多2)有较高的数据独立性和实体集E2中的一个实体有联系,反之亦然,那末实体集E1和E2的联系称为一对一联系记3)数据库系统为用户提供了方便的用户接口为4)提供四方面的数据控制功能数据库的恢复、
7.一对多联系如果实体集E1中每一个实体与实数据库的并发控制、数据的完整性、数据安体集E2中任意个〔零个或者多个实体间有联系,全性而E2中每一个实体至多和E1中一个实体有联5)增加了系统的灵便性系,那末称E1对E2的联系是一对多联系记为
3.数据库(DB是长期存储在计算机内、有组织
8.多对多联系如果实体集E1中每一个实体可以的、统一管理的相关数据的集合与实体集E2中任意个(零个或者多个实体间有
4.数据库管理系统(DBMS是位于用户与操作系联系,反之亦然,那末称E1和E2的联系是多对统之间的一层数据管理软件,它为用户或者应多联系记为o用程序提供访问DB的方法,包括DB的建立、
三、数据抽象的级别查询、更新及各种数据控制
1.数据模型描述数据库的结构和定义,对现实世
5.数据库系统〔DBS是实现有组织地、动态地存界的数据进行抽象储大量关联数据、方便多用户访问的计算机硬
2.从现实世界的信息到数据库存储的数据以及用户件、软件和数据资源组成的系统,即它是采用数使用的数据是一个逐步抽象过程,根据数据抽据库技术的计算机系统象的级别定义了四种模型概念模型、逻辑模
二、数据描述型、外部模型和内部模型
1.分为三个阶段概念设计、逻辑设计和物理设计
3.概念模型表达用户需求观点的数据全局逻辑结
2.概念设计中的术语构的模型1)实体客观存在,可以相互区别的事物称
4.逻辑模型表达计算机实现观点的DB全局逻辑为实体结构的模型2)实体集性质相同的同类实体的集合
5.外部模型表达用户使用观点的DB局部逻辑结3)属性实体有不少特性,每一个特性称为构的模型属性
6.内部模型表达DB物理结构的模型4)实体标识符(关键码或者键能惟一标识
7.数据抽象的过程、即数据库设计的过程具体步骤实体的属性或者属性集I)根据用户需求,设计数据库的概念以上概念均有类型和值之分
3.逻辑设计中的术语1)字段(数据项标记实体属性的命名单位称为字段或者数据项2)记录字段的有序集合3)文件同一类记录的集合4)关键码能惟一标识文件中每一个记录的字段或者字段集以上概念均有类型和值之分
二、〉、〉=、4检索选修课程号为C2或者C4课程的学生学号
二、或者!=SELECT S#逻辑运算符AND、OR、NOTFROM SC集合成员资格运算符IN、WHERE C#=C2OR C#=,C4,NOT IN5检索至少选修课程号为C2和C4课程的学生学号谓词EXISTSALL、SOMESELECT X.S#聚合函数AVG、MIN、MAX、FROM SC AS X,SCAS YSUM、COUNTWHERE X.S#=Y.S#AND X.C#=C2ANDF中运算对象还可以是另一个SELECTY.C#=C4语句,即SELECT语句可以嵌套6检索不学C2课程的学生姓名与年龄
2.SELECT语句的使用技术SELECT SNAME,AGESELECT使用时有三种写法连接查询、嵌套查询和带存FROM S在量词的嵌套查询WHERE S#NOT INSELECT S#例针对前面使用的教学数据库,检索学习课程号为FROM SCWHEREC2课程的学生学号与姓名C#=C2第一种写法(连接查询7检索学习全部课程的学生姓名(在表S中SELECT S.S#,SNAME找学生,在C中不存在一门课程,这个学生没有学FROM S,SCSELECT SNAMEWHERE S.S#=SC.S#AND C#=C2FROM第二种写法(嵌套查询SELECTSELECT S#,SNAME*FROM CFROM SSELECTWHERE S#IN(SELECTS#FROM SCFROM SCWHERE C#=C2WHER NOEXISTS第三种写法(使用存在量词的嵌套查询E TWHERESELECTS#,SNAMESC.S#=S.S#ANDFROM SWHEREEXISTSWHEREEXISIS(SELECT*NOT SC.C#=C.C#»FROM SC8检索所学课程包含学号为S3学生所学课程的学生WHERE SC.S#=S.S#学号在SC表中找一个学生不存在S3学的一门课,该AND C六C2学生没有学例对于教学数据库中四个基本表T、C、S、SC,用SELECTSELECT DISTINCT S#语句表示下面查询FROM SCAS X1读取FROM子句中基本表、视图的数据,执行笛WHERE NOTEXISTS卡儿积操作SELECT*2选取满足WHERE子句中给出的条件表达式的元FROM SCASY组WHERE Y.S#=S33按GROUP子句中指定列的值分组,同时提取满AND NOTEXISTS足HAVING子句中组条件表达式的那些组SELECT*4按SELECT子句中给出的列名或者列表达式求值FROM SCAS Z输出WHERE Z.S#=X.S#AND5ORDER子句对输出的目标表进行排序,按附加说Z.C#=Y.C#»明ASC升序罗列,或者按DESC降序罗列例1统计每注DISTINCT表示去掉重复值门课程的学生选修人数
3.聚合函数SELECT COUNTS#COUNT*计算元组个数FROM SCCOUNT〈列名〉对一列中的值计算个数GROUP BY C#SUM〈列名,求某一列值的总和此列值为数值型例2统计每门课程的学生选修人数,要求只查询出选修人AVG v列名,求某一列值的平均值此列值为数值型数超过50人的结果MAX列名求某一列值的最大值SELECT COUNTS#MIN列名求某一列值的最小值FROM SCGROUP BYC#说明列名前均可加DISTINCT,表示去掉重复值HAVING COUNTS#50例1求男生的总人数和平均年龄例3检索每名学生的学号和年龄,查询结果按年龄降序SELECT COUNT*,AVG AGE罗列,年龄相同按学号升序罗列FROM SSELECT S#,AGEWHERE SEX=男FROM S例2统计选修了课程的学生人数ORDER BYAGE DESC,S#ASCSELECT COUNTDISTINCTS#
5.SELECT子句的具体规定FROM SC
4.SELECT语句完整的句法SELECT[ALL|DISTINCT]歹U名或者列表达式序列|*SELECT〈目标表的列名或者列表达式序歹「FROM说明1DISTINCT选项保证重复的行将从结构中〈基本表名和或者视图序列,[WHERE〈行条件表去除;而ALL选项是默认的,将保证重复的行留在结果达式习中,普通可不必写出[GROUP BY〈列名序列〉2*是对于在FROM子句中命名表的所有[HAVING组条件表达式]]列的简写[ORDER BY〈列名[ASC|DESC],...]3列表达式中允许浮现+、-、*、/等运说明U表示其中的内容根据需要可以省略算符以及列名和常数、聚合函数等I表示二选一O例1检索男同学选修的课程的课程号各子句的作用SELECT子句用于指定输SELECT DISTINCTC#出的内容;FROM子句用于指定要检索的数据的来源表;FROM S,SCWHERE子句称为行条件子句用于指定对元组的选取条件;GROUPBY子句称为分组子句作用是指定对元组进行分WHERE S.S#=SC.S#AND SEX=男例2检索所有的学生信息类后再检索;HAVING子句称为组条件子句用于指定对分类后的元组的选取条件;ORDER BY子句称为排序子SELECT*句作用是对检索到的元组进行排序FROM S整个语句的执行过程为例3检索每一个学生的学号和出生年份SELECTS#,2022-AGE FROM S以开头的字符串
6.列和基本表的改名操作3空值的比较操作有时,一个基本表在SELECT语句中多次浮现,即使用IS[NOT]NULL来比较这个表被多次调用,为区别不同的引用,应给每次的引用例检索年龄为空值的学生姓名加之不同的名字固然,除此情况之外,也可以给任何一SELECT SNAME个表起别名但要注意一旦给表起了别名,在该语句中,FROM S凡是引用该表名时,必须用别名而不能用原表名WHERE AGEIS NULL有时,用户也可以要求输出的列名与基本表中列名不一致,4集合成员资格的比较可在SELECT子句用旧名AS新名形式改名其中AS可语法INOTJ INv集合〉以省略例1检索年龄分别是
18、
20、21岁的学生姓名例检索每一个学生的姓名和出生年份,输出的列名分别SELECT SNAME为STUDENT_NAME和BIRTH_YEAR FROM SSELECTS#ASWHERE AGEIN18,20,21STUDENT_NAME,2022-AGE ASBIRTH_YEAR FROM例2检索男同学选修课程的课程号SSELECT DISTINCTC#
7.条件表达式中的比较操作FROM SC1算术比较操作常用运算符有〈、〈
二、〉、〉
二、
二、WHERE S#IN SELECTS#FROMS或者!二WHERE SEX=男[NOT]BETWEEN...AND用来查5集合成员的算术比较找不在给定范围内的数据,下限语法元组0ALL|SOME|ANY[〈集合〉在前,上限在后,包括上、下限说明ALL表示左边那个元组与右边集合中每一例检索18—20岁的学生姓名个元组满足0运算;SELECT SNAMEANY和SOME含义相同,表示左边那个元组与FROMS右边集合中至少一个元组满足0运算WHERE AGE=18AND AGE〈=20或者:例1检索学习C2课程的学生学号和姓名SELECT SNAMESELECTS#,SNAMEFROM SFROMSWHERE AGEBETWEEN18AND20WHERE S#=SOME SELECTS#2字符串的匹配操作FROM SCWHERE C#=C2语法〈字符串〉[NOT]LIKE匹配模式〉说明匹配模式中常使用两个通配符例2检索不学C2课程的学生姓名与年龄%与零个或者多个字符组成的字符串匹SELECT SNAME,AGE配_与单个字符匹配FROMS例检索姓名以字符D打头的学生姓名WHERES#ALL SELECTS#FROM SCSELECTSNAMEWHERE C#=C2FROMS6集合空否的测试WHERE SNAMELIKE D%转义字符为使字符串中包含特殊字符〔即%和_允许定使用[NOT]EXISTS见前面例子
四、数据更新义转义字符转义字符紧靠特殊字符并放在它前面,表示该特殊字符被当成普通字符使用ESCAPE定
1.数据插入义转义字符语法1单元组的插入例LIKE69ESCAPE”匹配所有INSERT INTO〈基本表名〉[(<列名序以ab%cd开头的字符串列>]VALUES(〈元组值〉LIKE4ab\cd%9ESCAPE”匹配所有2多元组的插入语法CREATE VIEW〈视图名,[V列表序列,AS<INSERT INTO〈基本表名〉[(<列名序列习SELECT查询语句,VALUES(v元组值,,
4.视图的撤销(v元组值>,..,(〈元组值〉・语法DROP VIEW<视图名)3查询结果的插入
5.对视图的操作INSERT INTO〈基本表名》[(〈列名序列>]<SELECCT1视图的查询操作,与基本表一样查询语句〉2视图的更新操作,普通仅限于行列子集视图4表的插入行列子集视图如果视图是从单个基本表中只使用选择、INSERT INTO〈基本表名[(<列名序投影操作导出的,并且包含了基本表的主键,那末这样的视图称为行列子集视图列:>]TABLE〈基本表名2>
六、嵌入式SQL说明在上述各种插入语句中,如果插入的值在属性个数、
1.SQL语言有两种使用方式一种是在终端交互方式下顺序与基本表的结构彻底一致,那末基本表后的(<列名使用,称为交互式SQL;另一种是在主语言的程序中使用,序列,可省略,否则必须详细列出
2.数据删除称为嵌入式SQLo语法DELETE FROM〈基本表名〉
2.嵌入式SQL的实现,有两种处理方式一种是扩充主[WHERE(条件表达式>]语言的编译程序,使之能处理SQL语句;另一种是采用说明如果省略WHERE子句,表示删除基本表中所有元预处理方式目前多数系统采用后一种方式组预处理方式是先用预处理程序对源程序进行扫描,识别出例把课程名为MATHS的成绩从基本表SC中删除SQL语句,并处理成主语言的函数调用形式;然后再用主DELETE FROMSC语言的编译程序编译成目标程序WHERE C#IN(SELECT C#FROM C
3.嵌入式SQL的使用规定WHERE CNAME=MATHS1在程序中要区分SQL语句与主语言语句
3.数据修改2允许嵌入的SQL语句引用主语言的程序变量(成为共享语法UPDATE〈基本表名〉变量SET〈歹1」名>=<值表达式>[,<歹U名>3通过游标协调SQL的集合处理方式和主语言的单记录处=<理方式值表达式〉...]
七、存储过程|ROW=«元组>>[WHERE〈条件表达式>]
1.存储过程是使用SQL语句和流程控制语句编写的模块,例1把C5课程的课程名改为DB存储过程经编译和优化后存储在数据库服务器端的数据库UPDA TEC中,使用时调用即可SET CNAME=DB
2.使用存储过程的优点WHEREC#=C51提高运行速度;例2把课程号为C5的元组修改为(C5,DB,T3UPDA TE2增强了SQL的功能和灵便性C3可以降低网络的通信量;SET ROW=(C5;DB;T3,4减轻了程序编写的工作量;WHEREC#=C55间接实现安全控制功能
五、视图第六章数据库管理
1.在SQL中,外模式一级数据结构的基本单位是视图
一、事务
2.视图的定义视图是从若干基本表和]或者其他视图构
1.DBMS对DB的监控,称为数据库的管理,也称为数据库的保护它分为四个方面数据库的恢复、并发控制、造出来的表这种构造方法采用SELECT语句实现在我完整性控制和安全性控制们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,在用户使用视图时才去求
2.事务是构成单一逻辑工作单元的操作集合,要么完对应的数据因此,视图被称为虚表整地执行,要末彻底不执行DBS运行的最小逻辑工作单位是事务所有对数据库的操作,都要以事务作为一个整体
3.视图的创建单位来执行或者撤销允许其他事务再对该数据加S锁,但在对该数据的所有S锁都解除之前决不允许任何事务对该数据加X锁
3.一个事务由应用程序中的一组操作序列组成,在程序中,事务以BEGIN TRANSACTION开始,以COMMIT
4.封锁的粒度封锁对象的大小封锁粒度与系统的并语句或者ROLLBACK语句结束发度成反比COMMIT
5.调度事务的执行次序如果多个事务挨次执行,称语句表示事务执行成功地结束(提交;为事务的串行调度;如果利用分时的方法,同时处理多个ROLLBACK语句表示事务执行不成功地结束(应该回退事务,则称为事务的并发调度
6.
4.事务的ACID性质可串行化调度每一个事务中,语句的先后顺序在各种调度中始终保持一致在这个前提下,如果一个并发调度的1原子性(Atomicity一个事务对数据库的所有操执行结果与某一串行调度的执行结果等价,那末,这个并作,是一个不可分割的工作单元这些操作要末全部执行,发调度称为可串行化的调度否则是不可串行化的调度要末什么也不做
四、数据库的完整性
1.数据库的2一致性(Consistency一个事务独立执行的结果,完整性是指数据的正确性、有效性和相容性,防止错误应保持数据库的一致性,即数据不会因事务的执行而遭受的数据进入数据库破坏1正确性是指数据的合法性3隔离性(Isolation在多个事务并发执行吐系统2有效性是指数据是否属于所定义的有效范围应保证与这些事务先后单独执行时的结果一样3相容性是指表示同一事实的两个数据应相同,不一致4持久性(Durabili ty一个事务一旦完成全部操作就是不相容后,它对数据库的所有更新应永久地反映在数据库中,不
2、SQL中的完整性约束会丢失1域约束
二、数据库的恢复
1.数据库的可恢复性系统能把数据库从被破坏、不正确例CREATE DOMAINCOLOR CHAR(6DEFAULT的状态,恢复到最近一个正确的状态,DBMS的这种能力称CONSTRAINT VALID_COLORS为可恢复性CHECK(VALUE INPRcd\,Yellow;Blue「Green;
2.为保证可恢复性,平时应做好转储和建立日志日志定义完后,该域便可作为一种数据类型使用,如用在库记录事务的开始、结束标志,记录事务对数据库的每一次插入、删除和修改先后的值CREATE TABLE中2基本表约束
3.常见故障分三类事务故障、系统故障(硬件故障、软主要有三种形式候选键定义、外键定义和检查约束定义件(DBMS、OS或者应用程序错误、掉电等,不破坏数据库、介质故障这些定义都可在前面加CONSTRAINT约束名,也可以省略事务故障和系统故障的恢复由系统自动进行,而介质故障候选键的定义UNIQUE(列名序列〉或者PRIMARY的恢复需要DBA配合执行系统故障通常称为软故障,KEY(〈列名序列》介质故障通常称为硬故障UNIQUE方式表示值惟一;
三、数据库的并发控制
1.并发操作PRIMARY KEY值惟一,并且自动设为非空一个基带来的三个问题丢失更新、读脏数据(把未提交的随后本表只能指定一个主键被撤销的数据称为脏数据、不可重复读采用封锁技术解检查约束的定义决这些问题例CHECK(AGE=18AND AGE=
202.锁是一个与数据项相关的变量,对可能应用于该数3断言如果完整性约束牵涉面较广,与多个关系有关,据项上的操作而言,锁描述了该数据项的状态通常在数或者与聚合操作有关,应使用断言据库中每一个数据项都有一个锁
3.触发器是一个能由系统自动执行对数据库修改的语句
3.锁的主要类型有时也称为主动规则(相对于前面的各种被动约束机制1排他锁(X锁、写锁如果事务T对某个数据R(可以
五、数据库的安全性是数据项、记录、数据集乃至整个数据库实
1.数据库的安全性是指保护数据库,防止不合法的使用,现了X锁,那末在T对数据R解除封锁之前,不允许其他以免数据的泄密、更改或者破坏事务再对该数据加任何类型的锁,这种锁称为锁
2.SQL中的安全性机制2共享锁£锁、读锁如果事务T对某数据加之S锁后,仍提供四个视图、权限、角色和审计殊的存储过程1视图使系统具有三个优点数据安全性(用来对无权区别1存储过程利用EXEC语句调用执行,触发器为表用户屏蔽数据、逻辑数据独立性和操作简便性视图不占上的INSERT、UPDATE、DELETE事件所触发而自动执存储空间行2权限授权语句GRANT、回收语句REVOKE2触发器不能传递或者接受参数3角色
2.两个暂时表在SQL中,用户是实际的人或者是访问数据库的应用程触发器被执行时,系统会创建一个或者两个暂时表序而角色是一组具有相同权限的用户,实际上角色是属INSERTED和DELETED,这些表在结构上类似于定义触于目录一级的概念发器的表,用于保存用户操作更改的行的新值和旧值用户和角色之间存在多对多联系,即一个用户可以参预多
3.一个用户要访问SQL Server数据库中的数据,必须经个角色,一个角色也可授予多个用户过三个认证过程4审计1身份验证使用登录账号来标识用户,身份验证只验证用户连接到SQL Server数据库服务器的资格,即验证该用于安全性目的的数据库日志,称为审计追踪第七章SQL用户是否具有连接到数据库服务器的连接权Server2000简介及应用
一、2当用户访问数据库时,他必须具有对具体数据库的访问
1.SQL Server2000是Microsoft公司推出的合用于大型权,即验证用户是否是该数据库的合法用户网络环境的关系型数据库管理系统它支持客户机/服务3当用户操作数据库中的数据或者对象时,他必须具有所器体系结构要进行操作的操作权
2.客户机/服务器体系结构将数据库防在服务器上,该
4.SQL Server的两种身份验证模式Windows身份验证服务器数据库中的数据可被多个用户同时存取,而用户存模式和混合验证模式取服务器中的数据是通过客户机或者服务器端的应用程序
三、T-SQL语言获得的
1.T-SQLTransact-SQL的简称为扩展SQL
3.SQL Server2000的系统数据库
2.批处理由一条或者多条T-SQL语句构成,前端应用程序会将所有这些语句作为单个代码单元发送给SQLIMaster数据库记录了所有系统信息、登录账号、系统Servero SQL Server将整个批处理作为一个整体加以解析配置设置、系统中所有数据库及其系统信息以及存储介质批处理分隔符为g信息
3.SQL脚本文件可包含多个批处理2Model数据库为用户创建数据库提供的模板数据库第八章PowerBuilder
9.0简介及应用3Msdb数据库主要用于存储任务计划信息、事件处理信
一、PowerBuilder
9.0集成开辟环境息、备份恢复信息以及异常SQL Server2000的报告等
1.PowerBuilder
9.0是当前最为流行的数据库前端应用开4Tempdb数据库存放所有暂时表和暂时的存储程序,并辟和多层应用开辟工具之一且存放目前使用中的表,它是一个全局的资源,暂时表和
2.PB的主要特点存储程序可供所实用户使用1采用面向对象的编程方法和事件驱动的工作原理
4.SQL Server2000的主要工具2支持跨平台开辟,具有开放的数据库连接系统1查询分析器使用这个工具用户可以交互地设计和测试
3.PB
9.0的开辟空间有三个层次T-SQL语句、批处理和脚本1工作空间2服务管理器可以用来启动、暂停和住手SQL Server的2目标主要服务和指示其当前状态3库文件3企业管理器用户管理SQLServer2000的主要管理工
二、PB
9.0与数据库的连接具和图形界面在企业管理器中可以完成几乎所有的管理
1.连接步骤工作,如管理登录账号、数据库用户和权限、创建和管理1建立ODBC数据源;数据库、创建和管理表、视图、存储过程以及用户自定义2建立数据库描述文件;数据类型等3用Connect命令连接数据库
二、企业管理器第八章复习题
1.触发器与存储过程的联系和区别联系触发器是一种特填空题的数据模型
1.PB
9.0的开辟空间有三个层次工作空间、和库文件第九章数据库技术的发展
11.1969年,美国IBM公司的IMS系统是典型的层次模型系统要求、目标了解数据库技术发展的前景,了解面向对象的概念
12.网状模型用有向图结构表示实体及实体间联系的数据模型建模和开放数据库互连技术
一、面向对象的概念建模
13.1969年,CODASYL组织提出DBTG报告中的数据模型是网状模型的主要代表
1.概念建模经历了图一对象联系图一类图的发展历程
14.关系模型是由若干个关系模式组成的集合关系模
2.面向对象的数据类型系统由基本类型、复合类型和引式即记录类型,它的实例称为关系,每一个关系实际用类型三部份组成上是一张二维表格
3.对象联系图是面向对象数据模型中数据结构的一种
15.1970年,美国IBM公司的EF.Codd连续发表论文,重要图例表示方法,由于使用了对象标识的概念,使结构提出关系模型,奠定了关系数据库的理论基础关系的嵌套和递归成为可能是描述面向对象数据模型的基本数据库是目前的主流数据库工具它不仅完整地揭示了数据之间的联系,也把查询的层次观点表现的一清二楚
16.外部模型中的模式称为视图
4.统一建模语言(UML面向对象开辟的行业标准语言
17.三级模式
二、开放数据库互连(ODBC从用户〔或者应用程序到数据库之间,DB的数据结构
1.API即应用程序设计接口,是为开辟者提供单一的描述有三个层次编程接口,这样同一个应用程序就可以访问不同的数据库1外模式用户与数据库系统的接口,是用户用到的服务器那部份数据的描述外模式由若干个记录类型组成
2.ODBC Microsoft公司的产品,以C/S结构为设计基2逻辑模式是数据库中全部数据的整体逻辑结构的础该技术使得应用程序与DBMS之间在逻辑上可以分描述离,使应用程序具有数据库武官性ODBC定义了一个3内模式是数据库在物理存储方面的描述API,每一个应用程序利用相同的源代码就可访问不同的数注意外模式是逻辑模式的子集据库系统,存取多个数据库中的数据
18.两级映像ODBC一个最显著的优点是用它生成的应用程序与数据1外模式/逻辑模式映像存在于外模式和逻辑模式库或者数据库引擎无关之间,用于定义外模式和逻辑模式之间的对应性第九章复习题2逻辑模式/内模式映像存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性
1.面向对象的数据类型系统由基本类型、3类型和用中类型三部份组成
19.数据库系统的三级模式、两级映像结构使数据库系统达到了高度的数据独立性
2.概念建模经历了从皿图到对象联系图,再到为图的发・展历程
20.数据独立性是指应用程序与数据库的数据结构之间相互独立,在修改数据结构时,尽可能模型;不修改应用程序分为逻辑数据独立性和物理2)根据转换规则,把概念模型转换成数据库的逻辑数据独立性模型;
21.逻辑数据独立性如果数据库的逻辑模式要修改,3)根据用户的业务特点,设计不同的外部模型,给那末只要对外模式/逻辑模式映像作相应的修改,程序员使用;可以使外模式和应用程序尽可能保持不变这4)数据库实现时,要根据逻辑模型设计其内部模型样就认为数据库达到了逻辑数据独立性通常分为概念设计、逻辑设计(2和3步和物理设计
22.物理数据独立性如果数据库的内模式要修改,三个阶段即数据库的物理结构有所变化,那么只要对逻
8.常用的概念模型是实体联系(ER模型,ER模型主要用辑模式/内模式映像作相应的修改,可以使逻辑ER图来表示模式尽可能保持不变也就是对内模式的修改
9.逻辑模型的分类层次模型、网状模型、关系模型等尽量不影响逻辑模式,固然对外模式和应用程序
10.层次模型用树型(层次结构表示实体及实体间联系的影响更小,这样就认为数据库达到了物理数据独立性类型统称为实体
四、数据库管理系统(DBMS
3.联系表示一个或者多个实体之间的关联关系联系集是指同一类联系构成的集合联系类型是对联系集
1.DBMS的主要功能数据库的定义功能(DBMS提供DDL定义数据库的三级模式、两级映像等、中联系的定义数据库的控制功能(DBMS提供DML实现对数普通将联系、联系集、联系类型统称为联系据的操作,基本的数据操作有检索和更新两类、
4.同一个实体集内部实体之间的联系,称为一元联系;数据库的保护功能、数据库的维护功能、数据两个不同实体集实体之间的联系,称为二元联系,以字典此类推
五、数据库系统(DBS
5.属性实体的某一特性称为属性在一个实体中,能够惟一标识实体的属性或者属性集称为实体标识符
1.DBS的组成是数据库、硬件、软件和数据库管理员的集合体
6.ER模型中,方框表示实体、菱形框表示联系、椭圆形
2.软件包括DBMS、OS、各种主语言和应用开辟框表示属性、实体与联系、实体与其属性、联系与其支撑软件等程序其中,DBMS是DBS的核心属性之间用直线连接实体标识符下画横线联系的软件,要在OS支持下才干工作类型要在直线上标注注意联系也有可能存在属性,但联系本身没有标识符
3.数据库管理员(DBA是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、例假设一个学生可选多门课程,而一门课程又有多监控和维护数据库结构的责任个学生选修,一个教师可讲多门课程,一门课程第二章数据库设计和ER模型
一、数据库系统至多惟独一个教师讲授ER图如下生存期
7.概念设计三个步骤设计局部ER模型、设计全局ER模型和全局ER模型的优化
1.数据库系统生存期数据库应用系统从开始规
三、关系模型的基本概念划、设计、实现、维护到最后被新的系统取代而停止使用
1.关系模型的定义用二维表格表示实体集用关键码表示的整个期间
2.数据库系统实体之间联系的数据模型生存期分七个阶段规划、需求分析、概念设计、逻辑设
2.在关系模型中,字段称为属性,字段值称为属性值,记计、物理设计、实现、运行维护录类型称为关系模式记录称为元组,元组的集合称为关
3.规划阶段三个步骤系统调查、可行性分析、确定数据系或者实例有时习惯称关系为表或者表格,元组为行,库系统总目标
4.需求分析属性为列关系中属性个数称为元数,元组个数称为基数阶段主要任务是系统分析员和用户双方共同采集数据库
3.关键码[简称键由一个或者多个属性组成系统所需要的信息内容和用户对处理的需求,并以需求说
4.超键在关系中能惟一标识元组的属性集称为关系模明书的形式确定下来式的超键
5.概念设计阶段产生反映用户单位信息需求的概念模型与硬件和DBMS无关
6.逻辑
5.候选键不含有多余属性的超键设计阶段将概念模型转换成DBMS能处理的逻辑模型
6.主键用户选作元组标识的候选键普通如不加说明,外模型也将在此阶段完成
7.物理键是指主键设计阶段对于给定的基本数据模型选取一个最适合应用
7.外键如果模式R中属性集K是其他模式的主键,那环境的物理结构的过程数据库的物理结构主要指数据库末K在模式R中称为外键的存储记录格式、存储记录安排和存取方法
8.值域关系中每一个属性都有一个取值范围,称为属
8.数据库的实现包括定义数据库结构、数据装载、编制性的值域每一个属性对应一个值域,不同的属性可对应与调试应用程序、数据库试运行于同一值域
二、ER模型的基本概念ER模型的基本元素是实体、
9.关系的定义关系是一个属性数目相同的元组的集合联系和属性
10.关系的性质关系是一种规范化了的二维表格
2.实体是一个数据对象,指应用中可以区别的客观存在1关系中每一个属性值都是不可分解的;的事物2关系中不允许浮现重复元组;实体集是指同一类实体构成的集合实体类型是3关系没有行序;对实体集中实体的定义普通将实体、实体集、实体4元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序
11.关系数第二步对于11联系,可以在系模式中加入教工号(教据库中的数据与更新操作必须遵循三类完整性规则实体工号为外键完整性规则、参照完整性规则、用户定义的完整性规则对于1N联系聘用可以在教师模式中加入系编号和聘期
12.实体完整性规两个属性(系编号为外键;则要求关系中元组在组成主键的属性上不能有空值对于1N联系开设可以在课程模式中加入系编号(系编
13.参照完整性规则如果属性集K是关系模式R1的主号为外键这样第一步得到的三个模式键,K也是关系模式R2的外键,那末在R2关系中,K的取改变成如下形式(注意外键通常使用波浪线表示系(系值只允许两种可能,或者为空值,或者等于R1关系中某编号,系名,电话,主耸个主键值这条规则的实质是不允许引用不存在的实体师(教工号姓名,性别,职称,系编号聘一其中,R1称为参照关系;R2称为依赖关系期注意这条规则在具体使用时,有三点变通课程(课程生课程名浮分,系编”1外键和相应的主键可以不同名,只要定义在相同值第三步对于MN联系任教则生成一个新的关系模式域上即可;任教(纥匚臣谡程昱教材这样,转换成的四个关系模式如下2R1和R2可以是同一个关系模式,此时表示了同一系(系编号系名,电话手普人的丁号教师1个关系中不同元组之间的联系;教工号,姓名,性别,职称,系编4期课程(课3外键值是否允许空,应视具体问题而定程号,课程名,学分,系编号任教(教工号,
14.用户定义的完整性规则用户针对具体的数据约束,课程号,教材设置的完整性规则,由系统来检验实施
四、ER模型到关系模型的转换
2.采用ER模型的逻辑设世比骤
1.ER图转换成关系模式集的算法1导出初始关系模式集把概念设计的结果1即全局ER模型转换成初始关系模式集1实体类型的转换将每一个实体类型转换成一个关2规范化处理系模式,实体的属性即为关系模式的属性,实体标识符即3模式评价为关系模式的键4模式修正2联系类型的转换主要掌握二元联系类型的转换a)若实体间联系是11,可以在两个实体类5设计外模式型转换成的关系模式中任意一个关系模第三章关系模式设计理论式的属性中加入另一个关系模式的键
一、关系模式的设计准则
1.数据冗余:(作为外键和联系类型的属性同一个数据在系统中多次重复浮现
2.关系模式设计不当b)若实体间联系是1N,则在N端实体类型引起的异常问题数据冗余、操作异常(包括修改异常、转换成的关系模式中加入1端实体类型插入异常和删除异常
3.关系模式的非形式化设计准则的键(作为外键和联系类型的属性1关系模式的设计应尽可能只包含有直接联系的属c)若实体间联系是M N,则将联系类型也转性,不要包含有间接联系的属性也就是,每个关系模式换成关系模式,其属性为两端实体类型应只对应于一个实体类型或者一个联系类型的键(作为外键加之联系类型的属性,2关系模式的设计应尽可能使得相应关系中不浮现而键为两端实体键的组合插入异常、删除和修改等操作异常现象例下面是教学管理的一个可能的ER图图中,有三个3关系模式的设计应尽可能使得相应关系中避免放实体类型系、教师和课程;有四个联系类型主管、聘置时常为空值的属性用、开设和任教根据转换算法,把该图转换成关系模式4关系模式的设计应尽可能使得关系的等值连接在集的步骤如下主键和外键的属性上进行,并且保证以后不会生成额外的第一步把三个实体类型转换成三个关系模式(注意关系元组模式的表示方法
4.习惯使用的一些符号系(系编号,系名,电话1英文字母表首部的大写字母…表示单个的属性教师(教工号,姓名,性别,职称2英文字母表尾部的大写字母课程(课程号,课程名,学分…,U,V,W,X,Y表示属性集3大写字母R表示关系模式,小写字母漾示其式的模式满足1NF的关系称为规范化的关系,否则称为关系非规范化的关系1NF是关系模式应具备的最起码的条件4关系模式的简化表示方法R…或者R(ABC...
4.局部依赖和彻底依赖对于FDW-A,如果存在XW有5属性集X和Y的并集简写为XYoX-A成立,那末称W—A是局部依赖(A局部依赖于W;
二、函数依赖否则称W-A是彻底依赖
1.函数依赖(FD的定义设有关系模式R(U,X和Y是
5.主属性和非主属性如果A是关系模式R的候选键中属性集U的子集,函数依赖是形成X-Y的一个命题,只的属性,那末称A是R的主属性;否则称A是R的非主属要r是R的当前关系,对r中任意两个元组t和s,都有性t[X]=s[X]蕴涵t[Y]=s[Y]那,么称FD X—Y在关系模式
6.第二范式(2NF如果关系模式是1NF,且每一个非主R(U中成立属性彻底函数依赖于候选键,那末称R是第二范式(2NF说明ItfX]表示元组t在属性集X上的值,其余类同的模式2X-Y读作函数决定或者函数依赖于
7.分解成2NF模式集的算法3FD是对关系模式R的一切可能的关系r定设关系模式R(U,主键是W,R上还存在FD X-Z,并且Z义的对于当前关系r的任意两个元组,如果X值相同,是非主属性和X则要求Y值也相同,即有一个X值就有一个Y值与之对W,那末W-Z就是一个局部依赖此时应把R分解成两应,或者说Y值由X值决定个模式
3.FD的逻辑蕴涵设F是在关系模式R上成立的函数依赖的集合,X-Y是一个函数依赖如果对于R的每一个满RI〔XZ,主键是X;足F的关系r也满足X-Y,那末称F逻辑蕴涵X—Y,记为R2(丫,其中丫二11主键仍是亚,外键是乂(参照R1如F|=X-Yo果R1和R2还不是2NF,则重复上述过程,向来到数据库
4.设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构模式中的每一个关系模式都是2NF为止
8.如果X-Y,Y-A,且Y—X和AY,那布森X—A/成的集合,称为函数依赖集F的闭包,记为F+即F+={X—Y|F|=X-Y}
5.FD的推理规则(Armstrong公理是传递依赖(A传递依赖于X设U是关系模式R的属性集,F是R上成立的只涉及到U
9.第三范式(3NF如果关系模式R是2NF,且每个非主中属性的函数依赖集属性都不传递依赖于R的候选键,那末称R是第三范式
7.对于FDX—Y,如果YX,那末称X-Y是一个平庸的否则(3NF的模式称为非平庸的通常研究非平庸FDo
10.分解成3NF模式集的算法例X—X»X―xp,(p―—X都是平庸函数依赖;设关系模式R(U,主键是W,R上还存在FD X—Z而4X-XY则是非平庸函数依赖Z是非主属性,Z X,X不是候选键,这样W-Z就是一个传递
9.属性集的闭包依赖此时应把R分解成两个模式RI(XZ,主键是X;
10.设F是属性集U上的FD集,X上U的子集,那么(相R2(Y,其中Y=U-Z,主键仍是W,外键是X(参照R1如对于属性集X的闭包用X+表示,它是一个从F集使用FD果R1和R2还不是3NF,则重复上述过程,向来到数据库推理规则推出的所有满足X-A的属性A的集合X+={属模式中的每一个关系模式都是3NF为止
11.如果R是3NF性A|F|=X—A}模式,那末R也是2NF模式如果R是2NF模式,那末
11.X-Y能用FD推理规则推出的充分必要条件是Y X+,R也是1NF模式从而避开求F+,使问题得到简化
12.BC范式(BCNF如果关系模式R是1NF,且每一个
13.如果关系模式R(U上的两个函数依赖集F和G,有FU3属性都不传递依赖于R的候选键,那末称R是BCNF的模式+,则称F和G是等价的函数依赖集
13.如果R是BCNF模式,那末R也是3NF模式
14.分
三、关系模式的分解特性解成BCNF模式集的算法能保持无损分解,但不一定能保Zj\o持FD集而分解成3NF模式集的算法既能保持无损分解,
四、范式又能保持FD集
15.关系模
1.范式衡量关系模式好坏的标准式由1NF分解为2NF,消除了非主属性对键的局部函数依
2.数据库设计中最常用的是3NF和BCNF赖;由2NF分解为3NF,消除了非主属性对键的传递函数
3.第一范式(1NF如果关系模式R的每一个关系r的属依赖;而BCNF则消除了每一属性对键的传递函数依赖性值都是不可分的原子值,那末称R是第一范
16.关系模式设计理3检索至少选修LIU老师所授课程中一门课程的学论主要用于数据库的逻辑设计过程中生学号与姓名第四章关系运算要求、目标
一、简5#,SNAME〔丸诉LILT(SooSCooC介
1.关系模型的三个组成部份数据结构、数据操纵和数据ocT完整性规则4检索选修课程号为C2或者C4课程的学生学号
2.数据结构数据库中全部数据及其相互联系都被组织成关系(二维表格的形式关系模型基本的数据结构是关系5检索至少选修课程号为C2和C4课程的学生学号
3.数据控制关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作关系运算分成关系代数和关兀I(%八2=02诙C4XSC系演算两类6检索不学C2课程的学生姓名与年龄
4.数据完整性规则数据库中数据必须满足实体完整性、参照完整性和用户定义的完整性等三类完整性规则^XSCSNAME,AGES—AME,AGE°C#=C2l
5.关系数据库的数据控制语言(DML的语句分成查询语7检索学习全部课程的学生姓名句和更新语句两大类查询语句用于描述用户的各种检索要求;更新语句用于描述插入、删除、修改等操作前者是基础8检索所学课程包含学号为S3学生所学课程的学生
6.关系查询语言分两类关系代数语言1查询操作以集学号合操作为基础和关系演算语言(查询操作以谓词演算为基础#,c#(SC sCS总结查询语句的关系代数表达式的普通形式是答案RooS2=1兀.xS»或者兀.coS»
10.自然连接公共属性只浮现一次的等值(公共属性值全即首先把查询涉及到的关系取来,执行笛卡儿积或者自然部相等连接连接操作得到一张大的表格,然后对大表格执记为RxS普通自然连接使用在R和S有公共属性的情况中如果两个关系没有公共属性,那末其自然连接就转化为笛卡儿积操作
12.关系代数表达式由五个基本操作经过有限次复合的式子称为代数表达式这种表达式的运算结果仍是一个关系可以用关系代数表达式表示各种数据查询操作例教学数据库中的四个关系如下教师关系T(课程关系T#,TNAME,TITLE C学生关系(C#,CNAME,T#S选课关系(S#,SNAME,AGE,SEXSC(S#,C#,SCORE使用关系代数表达式表达下列每一个查询语句1)检索学习课程号为C2课程的学生学号与成绩⑻或者双5#.SCORE(%-C232检索学习课程号为C2课程的学生学号和姓名0#,SNAME(0*02行水平分割(选择操作和垂直分割(投影操作但这种形式不合用于否定或者全部值的查询这时要用存储文件也可以存放一个或者多个基本表每一个存储差或者除法操作文件与外部存储器上一个物理文件对应
13.外连接如果R和S做自然连接时,把原该舍弃的5用户可以用SQL语句对基本表和视图进行查询元组也保留在新关系中,同时在这些元组新增加的属性等操作在用户看来,两者一样,都是表上填上空值(Null,这种操作称为外连接操作6SQL语句可嵌在C、FORTRAN等主语言的程序
14.左外连接如果R和S做自然连接时,只把R中原中使用,也可在交互环境下供终端用户使用
3.SQL的组该舍弃的元组放到新关系中,那末这种操作称为左外连成接操作核心SQL主要有四个部份
15.右外连接如果R和S做自然连接时,只把S中原该1数据定义语言,即DDL,用于定义SQL模式、基舍弃的元组放到新关系在那末这种操作称为右外连接操本表、视图、索引等结构作2数据控制语言,即SQL DMLo数据控制分成数
16.外部并两个关系R和S做并操作时,如果它们的关据查询和数据更新两类而数据更新又分成插入、删除系模式不同,构成的新关系的属性由R和S的所有属性组和修改三种操作成(公共属性只取一次,新关系的元组由属于R或者属3嵌入式SQL语言的使用规定于S的元组构成,同时元组在新增加的属性上填上空值,4数据控制语言,即SQL DCL,这一部份包括对基那末这种操作称为外部并操作本表和视图的授权、完整性规则的描述、事务控制等内
三、关系演算容关系演算又可分为元组关系演算和域关系演算,前
4.SQL的特点者以元组为变量,后者以属性(域为变量
四、关系代1SQL具有十分灵便和强大的查询功能数表达式的优化2SQL不是一个应用开辟语言,它只提供对数据库
1.目的提高系统效率的操作功能但SQL既可作为交互式语言独立使用,也
2.三条启示式规则可作为子语言嵌入在主语言中使用,成为应用开辟语言1尽可能早地执行选择操作;的一部份2)尽可能早地执行投影操作;3SQL是国际标准语言,有利于各种数据库之间交3)避免直接做笛卡儿积,把笛卡儿积操作之前和换数据,有利于程序的移植,有利于实现高度的数据独之后的一连串选择和投影合并起来一起做立性,有利于实现标准化第五章SQL语言4SQL完成核心功能只用9个英语动词,语法结构
一、SQL简介接近英语,容易学习和使用
1.SQL结构化查询语言,关系数据库的标准语言
二、SQL的数据定义
2.SQL数据库的体系结构
1.SQL模式的创建SQL数据库的体系结构基本上也是三级结构,但术在SQL中,一个SQL模式定义为基本表的集合语与传统的关系模型术语不同在SQL中,关系模式称一个SQL模式由模式名和模式拥有者的用户名或者账号为基本表存储模式称为存储文件子模式称为视图元组称来确定,并包含模式中每一个元素(基本表、视图、索为行属性称为列引等的定义创建SQL模式,就是定义了一个存储空间SQL数据库的体系结构要点创建模式语法1一个SQL模式是表和约束的集合CREATE SCHEMA模式名〉AUTHORIZATION〈用户名〉2一个表由行集构成,一行是列的序列,每列对应
2.SQL模式的撤销一个数据项3表有三种类型基本表、视图和导出表基本表语法DROP SCHEMA〈模式名〉[CASCADE|RESTRICT]实际存储在数据库中的表视图由若干基本表或者其他视图构成的说明CASCADE(级联式方式执行DROP语句吐把表的定义SQL模式及其下属的基本表、视图、索引等所有元素全导出表执行了查询时产生的表部撤销4一个基本表可以跨一个或者多个存储文件,一个RESTRICT(约束式方式惟独当SQL模式中RESTRICT方式表示在没有视图或者约束引用该属性时,没有任何下属元素时,才干撤销SQL模式,否则拒绝执才干在基本表中删除该列,否则拒绝删除行DROP语句3修改原有列的类型、宽度
3.SQL的基本数据类型、语法ALTER TABLE<基本表名)MODIFY(列秒,形为HHMMSS名〉v类型)
4.基本表结构的创建
6.基本表的撤销语法CREATE TABLE〈基本表名〉语法DROP TABLE〈基本表名〉[CASCADE|(〈列名类RESTRICT]型之
7.索引的创建语法CREATE[UNIQUE]INDEX(索弓I名,ON〈完整〈基本表名〉(<列名序列>性约束,,说明完整性约束常用以下几种子句主键子句PRIMARY KEY、外键子句FOREIGN KEY等说明UNIQUE表示每一个索引值对应惟一的NOT NULL表示不允许某一列的值为空值例数据记录对于教学数据库中的四个关系索引在用户查询时会自动起作用教师关系T一一个索引键可以对应多个列索引排列时课程关系T#,0AME,TQLE C学生关系出可以升序,也可以降序,升序罗列用ASC表示,降序罗CNAME,T#S选课关系列用DESC表示,默认时表示升序S#,SNAME,AGE,SEX SC
8.索引的撤销S#,C#,SCORE创建基本表CREATE TABLET语法DROP INDEX〈索引名〉T#CHAR4NOT NULL,TNAME CHAR8
三、SQL的数据查询NOT NULL,TITLE CHAR10,PRIMARY KEY
1.SELECT查询语句句型T#CREATE TABLEC C#CHAR4NOT NULL,在关系代数中最常用的式子是下列表达式CNAME CHAR10NOT NULL,T#CHAR4,PRIMARY KEYC#,FOREIGN KEY〔T#■…./9<R,x…Rxm»REFERENCES TT#CREATE TABLESS#CHAR4NOT NULL,SNAME CHAR{8NOT NULL,AGE SMALLINT,SEXCHAR2,PRIMARY KEY(S#CREATE TABLESC(S#CHAR(4,C#CHAR(4,SCORE SMALLINT,PRIMARY KEY(S#,C#,FOREIGN KEY(S#REFERENCESS(S#,FOREIGN KEY(C#REFERENCESC〔C#
5.基本表结构的修改1增加新的列语法ALTER TABLE<基本表名〉ADD〈列名〉〈类型〉2删除原有的列语法ALTER TABLE〈基本表名〉DROP〈歹U名>[CASCADE|RESTRICT]说明CASCADE方式表示在基本表中删除某歹U时,所有引用到该列的视图和约束也要一起自动地被删除;。