当前位置:文档之家› 数据库系统概论王珊第五版学习笔记汇编

数据库系统概论王珊第五版学习笔记汇编

学习-----好资料第一章1.数据库的四个基本概念:数据、数据库、数据库管理系统、数据库系统。

数据:是数据库中存储的基本对象。

描述事物的符号称为数据。

数据库:是长期存储在计算机内、有组织的、可共享的大量数据的集合。

数据库数据具有永久存储、有组织和可共享三个基本特点。

数据库管理系统:是计算机的基础软件。

数据库系统:是由数据库、数据库管理系统、应用程序和人组成的存储、管理、处理和维护数据的系统。

2.数据处理和数据管理。

数据处理:指对各种数据进行手机、存储、加工和传播的一系列活动的总和。

数据管理:指对数据进行分类、组织、编码、存储、检索和维护。

3.数据独立性。

物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。

逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。

4.数据模型------是对现实世界数据特征的抽象(现实世界的模拟)。

数据模型是数据库系统的核心和基础。

概念模型:信息模型,按照用户的观点来对数据和信息建模,主要用于数据库设计。

逻辑模型:按照计算机系统的观点对数据建模。

物理模型:描述数据在计算机内部的表示方式和存取方法。

数据模型组成要素:数据结构、数据操作、数据的完整性约束条件。

5.信息世界中的基本概念。

实体:客观存在并可相互区别的事物。

属性:实体所具有的某一特征。

码:唯一标识实体的属性集。

联系:失误内部以及事物之间是有联系的。

实体内部的联系通常是指组成实体的个属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。

实体之间的联系有一对一、一对多和多对多等各种类型。

6.数据完整性约束条件。

实体完整性:检查主码值是否唯一,检查主码的各个属性是否为空。

实体完整性在更多精品文档.学习-----好资料key 主键来定义。

创建表时用primary 短语定foreign key 参照完整性:检查增删改时检查外码约束。

在创建表时用外码义。

:创建表中定义属性的同时,可以根据应用要求定义属性上的约束用户定义完整性条件,即属性值限制。

check检查列值是否满足一个条件表达式、(列值唯一(unique))列值非空(not null 、短语)7.数据库系统的模式。

型:是指对某一类数据的结构和属性的说明,对结构的描述和说明。

值:是型的一个具体赋值。

模式:是数据库中全体数据的逻辑结构和特征的描述,对结构进行描述,仅仅涉及型。

模式的一个具体值称为模式的一个实例。

模式反应的事数据的结构及其联系,而实例反应的是数据库某一时刻的状态。

数据库的三级模式结构。

8.:是数据库中全体数据的逻辑结构和特征的描述,需要定义数据模式(逻辑模式)想的名字,类型,取值范围和数据之间的联系,安全性完整性要求等。

:数据库中数据的局部逻辑结构。

外模式(子模式):是数据物理结构和存储方式的描述,是数据在数据库内部的内模式(存储模式)组织方式。

第二章关系数据结构、关系操作集合、关系完整性约束三部分组成。

1.关系模型------关系。

2. 域:一组具有相同数据类型的值的集合。

关系:笛卡尔积的有限子集。

候选码:关系中某一属性组的值能唯一地标识一个元组。

候选码的诸属性称为主属性。

不包含在任何候选码中的属性称为非主属性。

更多精品文档.学习-----好资料3.表。

基本表(基本关系、基表):实际存在的表,是实际存储数据的逻辑表示。

查询表:是查询结果对应的表。

视图表:是由基本表或其他视图表导出的表,虚表,不对应实际存储的数据。

4.关系代数:用对关系的运算来表达查询。

关系代数运算的三个要素:1.运算对象:关系;2.运算结果:关系;3:运算符:四类选择运算是从行的角度进行的运算IS系)全体学生查询信息系(σSdept = 'IS' (Student) 投影之后不仅取消了原关系中的某些列,而投影操作主要是从列的角度进行运算。

且还可能取消某些元组(避免重复行)关系上学生姓名和所在系两个属性上的投影查询学生的姓名和所在系,即求StudentSdept(Student) πSname,AR关系)在中选取(的广义笛卡尔积R和SR×S连接:连接运算从连接也称θ属性组上值满足比较关系的元组S关系)在B属性组上的值与(除更多精品文档.学习-----好资料更多精品文档.学习-----好资料第四章1.数据库安全性控制。

用户身份鉴别:静态口令鉴别,动态口令鉴别、生物特征鉴别、智能卡鉴别。

存取控制:定义用户权限。

合法权限检查。

自主存取控制:授予不同对象不同权限。

强制存取控制:数据库中的内容带有密级标记,只有具有相应标记的用户才能够访问。

更多精品文档.好资料学习-----2.授权。

授权:----对属性列授权必须指出相应的属性列名。

select,insert,delete,updategrant …on table Student,Sc用户2用户to 1,收回权限:select revoketable Student,Sc on2 1,from 用户用户3.角色。

数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。

创建角色、对角色进行授权、将角色授权给其他的角色或者用户、角色权限的收回。

2 角色role 1,角色create 创建角色:给角色授权:…grant select,insertStudent table on2 1,角色to 角色将角色授权给其他用户:1 角色grant 21, to 用户用户收回角色权限:select Revoke Student table On1角色From更多精品文档.-----好资料学习4.视图。

创建视图:1 view Create 视图AsSelect *Student FromSdept = ‘CS' Where第五章数据库完整性。

1.数据的正确性是指额数据是符合现实世数据库的完整性是指数据的正确性和相容性。

数据的相容性是指数据库同一对象在不同的关系表中的数据界语义、反应当前实际状况的。

是符合逻辑的。

2.保障数据库的完整性。

提供定义完整性约束条件的机制。

提供完整性检查的方法。

进行违约处理。

数据完整性约束条件前文中已经讲述,此处不再赘述。

第六章.函数依赖。

1上的属性值相等,中不可能存在两个元组在XrR(U)的任意一个可能的关系,r若对于Y X→,记作XY 或”函数确定“上的属性值不等,则称而在Y XY “函数依赖于”更多精品文档.学习-----好资料通过模式分解可以转换为若干个高一级范式的关系模式的一个低一级范式的关系模式,集合,这种过程叫做规范化。

1NF ,则R∈(第一范式)1NF如果一个关系模式R的所有属性都是不可分的基本数据项不满足第一范式的数据库模式不能称为关系数第一范式是对关系模式的最起码的要求。

据库。

2NF R∈R:如果∈1NF,且每一个非主属性完全依赖于码,则2NF 的关系采用投影分解法将一个1NF的关系分解为多个2NF 。

3NFR非主属性是2NF,且每个都不传递依赖于的候选码,则R属于R 3NF:如果消除非主属性的部分依赖,2NF3NF 消除非主属性的传递依赖的定义:BCNF BCNF不仅对非主属性有要求,而且也对主属性有要求BCNF 如果一个关系模式只有两个属性构成,则该关系模式一定属于更多精品文档.学习-----好资料更多精品文档.学习-----好资料更多精品文档.学习-----好资料第七章1.数据库设计,数据库设计分6个阶段。

需求分析。

概念结构设计。

逻辑结构设计。

物理结构设计。

数据库实施。

数据库运行和维护。

2.数据项是不可再分的数据单位数据结构反映了数据之间的组合关系。

数据流是数据结构在系统内传输的路径。

数据存储是数据结构停留或保存的地方,也就是流的来源和去向之一。

具体处理逻辑一般用判定表或判定树来描述。

数据字典是关于数据库中数据的描述,是元数据,而不是数据本身。

数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。

概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

自顶向下的进行需求分析,自低向上的设计概念结构。

定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。

物理设计的第一任务就是要确定选择那些存取方法,即建立哪些存取路径。

更多精品文档.学习-----好资料3. E—R图实体型:用矩形表示,矩形框内写明实体名属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。

如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来图转换后关系模式包括:在关系总数尽量少的情况下,该E-R 学院编号)学号学生(,姓名,性别,专业,出生日期,课程编号,课程名称,课程类别,学分)课程()学院编号,学院名称,办公室电话,院长教职工编号学院(学院编号)教职工编号教职工(,姓名,参加工作时间,职称,,成绩)选课(学号,课程号更多精品文档.学习-----好资料第八章1.游标。

使用:声明游标、打开游标、从一个游标中提取信息、关闭释放游标。

Declare XXX cursor声明游标:For select ******open XXX打开游标:close XXX关闭游标:deallocate XXX释放游标:声明一个名为curAllCourse的游标,完成统计有多少学生选修了全部课程,输出学生学号和姓名。

declare curAllCourse cursor //声明游标sname SNO,for SELECTstudent from( sno in where sno select sc from sno by group(*)>= COUNT having((*) COUNT selectcoursefrom))for read onlyopen curAllCourse //打开游标(),(declare@sno char10@sname char10声明变量)//更多精品文档.学习-----好资料set@sno=0fetch next from curAllCourse into@sno,@sname //从游标中取数据0 =while@@FETCH_STATUS beginnull is if@sname1+=@sno set@sno select@sno学号,@sname姓名fetch next from curAllCourse into@sno,@snameendCLOSE curAllCourse //关闭游标//curAllCourse 释放游标DEALLOCATE2.存储过程。

相关主题