版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库技术简介数据库技术简介 一一 内容内容v 数据库技术的基本理论和方法数据库技术的基本理论和方法v 数据库领域研究的的新理论、新技术。数据库领域研究的的新理论、新技术。二二 要求要求v 掌握相关理论、原理和技术掌握相关理论、原理和技术v 有课后书面作业有课后书面作业v 期末闭卷考试期末闭卷考试v 成绩:平时成绩(成绩:平时成绩(2020)考试成绩()考试成绩(8080) 三三 教材与参考书教材与参考书1.1.教材:教材: 数据库理论与新技术数据库理论与新技术 北京理工大学出版社北京理工大学出版社 2.2.参考资料:参考资料:1.王珊珊 萨师煊萨师煊 数据库系统概论数据库系统概论 高等教育出
2、版社高等教育出版社2. 2. 闪四清,数据库系统原理与应用教程,清华大学出版社,北京,闪四清,数据库系统原理与应用教程,清华大学出版社,北京,2008.42008.43.3.李昭原,数据库技术新进展李昭原,数据库技术新进展 清华大学出版社清华大学出版社 2002007 7. .10104. SYBASE4. SYBASE、ORACLEORACLE、IBM DB2IBM DB2、INFORMIXINFORMIX、MS SQL SERVERMS SQL SERVER数据库系统有关资料。数据库系统有关资料。3.3.教材和参考书的使用教材和参考书的使用 本课程以教材为主,课件内容主要来自教材和参考书本
3、课程以教材为主,课件内容主要来自教材和参考书, ,课程内容自成体系。对以前一课程内容自成体系。对以前一点没有学过数据库基本知识的同学,可以从参考书点没有学过数据库基本知识的同学,可以从参考书1 1或其它相关参考书中查到一些最基或其它相关参考书中查到一些最基本的知识。本的知识。四四. .本课程主要内容本课程主要内容第一章第一章 关系和关系模型关系和关系模型 数据模型, 关系和关系模式, 键, 关系的更新.第二章第二章 关系运算关系运算 布尔运算,选择 ,投影, 连接, 除,常关系 ,属性命名,关系代数.第三章第三章 数据依赖数据依赖 函数依赖、多值依赖和连接依赖,数据依赖的公理系统,依赖集的等价
4、和覆盖及算法。 第四章第四章 关系数据库范式关系数据库范式 范式的概念,1NF5NF,模式分解及其算法,生成范式的不同算法。第五章第五章 数据库系统设计数据库系统设计 数据库系统设计与数据库设计,数据库系统设计的任务与内容,数据库系统设计方法与步骤。第六章第六章 数据库管理系统数据库管理系统 数据库管理系统的系统结构、主要功能、实现技术、语言处理,当前流行的主流数据库管理系统简介。 本课程主要内容本课程主要内容l第七章第七章 分布式数据库系统分布式数据库系统l 分布式数据库系统的特点,分布式数据库系统的体系结构,分布式查询处理,分布式事务管理,分布式目录,数据库的安全保护,数据库的完整性保护。
5、l第八章第八章 面向对象数据库面向对象数据库l 新应用的需求与传统数据库的局限性,面向对象数据模型,面向对象数据库系统的查询、并发控制,面向对象数据库管理系统,对象-关系数据库管理系统。l第九章第九章 数据库技术新进展数据库技术新进展l 数据库技术新进展,包括:数据仓库、数据挖掘、并行数据库、Web数据库、多媒体数据库、工程数据库、主动数据库等。l第十章第十章 数据库技术论文选读数据库技术论文选读l选择10-15篇与教学内容相关的学术论文进行讲解,让学生了解本学科的基本研究方法和研究方向。五五. .数据库领域研究的三个主要方面数据库领域研究的三个主要方面 1 1数据库管理系统软件(数据库管理系
6、统软件(DBMS)DBMS) 研究其设计方法和实现技术,数据模型,对持久性数据研究其设计方法和实现技术,数据模型,对持久性数据的有效存储和存取方法,数据结构定义和数据操纵语言,用的有效存储和存取方法,数据结构定义和数据操纵语言,用户接口等。户接口等。数据库管理系统软件数据库管理系统软件是位于用户和操作系统之间的数据管理是位于用户和操作系统之间的数据管理软件。如软件。如ORACLEORACLE、SQL ServerSQL Server、DB2DB2、ACCESSACCESS等等2 2 数据库应用系统的设计方法和工具数据库应用系统的设计方法和工具 早期有设计指南和规范标准,设计阶段的计算机辅助早期
7、有设计指南和规范标准,设计阶段的计算机辅助设计工具,计算机辅助设计全过程。要求设计工具能够支持设计工具,计算机辅助设计全过程。要求设计工具能够支持不同应用领域数据库设计,如支持复杂对象设计等。不同应用领域数据库设计,如支持复杂对象设计等。 3 3有关数据模型及设计理论的研究有关数据模型及设计理论的研究(7(7方面方面) )(1 1)数据依赖理论)数据依赖理论 函数依赖、多值依赖、连接依赖函数依赖、多值依赖、连接依赖 (2 2)规范化理论)规范化理论 范式、算法、模式分解范式、算法、模式分解(3 3)查询优化理论)查询优化理论 包括逻辑层和物理层的优化包括逻辑层和物理层的优化4 4泛关系理论泛关
8、系理论 泛关系模型、泛关系表示、泛关系查询泛关系模型、泛关系表示、泛关系查询 5 5符号表追踪理论符号表追踪理论 6 6超图理论超图理论 利用超图研究数据库模式的特性利用超图研究数据库模式的特性 7 7空值理论(不确定信息)空值理论(不确定信息) 空值表示,加了空值后的运算、推理,空值的空值表示,加了空值后的运算、推理,空值的分类分类, ,分解方法、查询优化等。分解方法、查询优化等。 分布式数据库分布式数据库面向对象数据库面向对象数据库对象对象关系数据库关系数据库并行数据库并行数据库多媒体数据库多媒体数据库工程数据库工程数据库智能数据库智能数据库模糊数据库模糊数据库嵌入式数据库嵌入式数据库主动
9、数据库主动数据库空间数据库空间数据库时态数据库时态数据库WebWeb数据库数据库数据仓库和数据挖掘数据仓库和数据挖掘 六六. . 数据库领域的新技术数据库领域的新技术人工管理阶段(上世纪人工管理阶段(上世纪5050年代初期)年代初期)数据不保存数据不保存应用程序管理数据应用程序管理数据数据不共享数据不共享数据不具有独立性数据不具有独立性应用程序应用程序1应用程序应用程序2应用程序应用程序n数据集数据集1数据集数据集2数据集数据集n 七七. .数据管理技术的产生和发展数据管理技术的产生和发展 文件系统阶段(上世纪文件系统阶段(上世纪5050年代后期)年代后期) 数据物理结构和逻辑结构的分离数据物
10、理结构和逻辑结构的分离数据可以长期保存数据可以长期保存由文件系统管理数据由文件系统管理数据数据文件是面向应用的数据文件是面向应用的数据共享性差,冗余度大数据共享性差,冗余度大数据独立性差数据独立性差数据文件1应用程序1应用程序n文件管理文件管理系统系统数据文件n 数据库系统阶段(上世纪数据库系统阶段(上世纪60年代后期)年代后期)数据结构化数据结构化数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充数据独立性高数据独立性高数据由统一管理和控制数据由统一管理和控制数据库数据库数据库( (DataBase, DB)DataBase, DB) 长期存放在计算机内的、有组织的、可共享的数
11、据集合。长期存放在计算机内的、有组织的、可共享的数据集合。数据库管理系统数据库管理系统(Data Base Management System DBMS) 数据库管理系统是位于用户和操作系统之间的数据管理软件。数据库管理系统是位于用户和操作系统之间的数据管理软件。如如ORACLE、SQL Server、DB2、ACCESS等等 。 数据库管理系统的功能是:科学地组织和存储数据、高效地获取数据库管理系统的功能是:科学地组织和存储数据、高效地获取和维护数据。和维护数据。八八. .数据库、数据库管理系统、数据库系统数据库、数据库管理系统、数据库系统 数据库系统数据库系统( (DBS)DBS) 由:由
12、:数据库、数据库管理数据库管理系统、应用系统、系统、应用系统、数据库管数据库管理员理员(DBA)、数据库用户构成的系统 用户用户1 1用户用户2 2用户用户3 3 应用系统应用系统 操作系统操作系统数据库数据库用户开发工具用户开发工具 数据库管理系统数据库管理系统 DBADBA后页 l 任课教师:任课教师: 苏桂平苏桂平 l 手机:手机 邮箱:邮箱:l 答疑地点答疑地点:青年公寓青年公寓6号楼号楼2层层214-3l 答疑时间:周三上午答疑时间:周三上午3-4节节 第第 一一 章章 关系和关系模型关系和关系模型主要内容:主要内容:数据模型数据模型关系和关系模式关系和关系
13、模式键键关系的更新关系的更新数据模型的组成要素:数据模型的组成要素: 数据结构、数据操作、数据结构、数据操作、 数据的完整性数据的完整性基本的数据模型分类:基本的数据模型分类: 层次、网状、关系数据模型、层次、网状、关系数据模型、面向对象数据模型面向对象数据模型1.1 数据模型数据模型 1 .1 .1数据模型的组成要素数据模型的组成要素 ( l )数据结构:)数据结构:用于描述数据的静态结构,包括应用用于描述数据的静态结构,包括应用所涉及的对象类和对象类所具有的特性以及它们之间所涉及的对象类和对象类所具有的特性以及它们之间的联系。的联系。 (2 )数据操作:)数据操作:是施加在对象上的一组操作
14、,是对系是施加在对象上的一组操作,是对系统动态特性的描述。统动态特性的描述。 (3 )数据的完整性:)数据的完整性:是对数据静态和动态特征性的限是对数据静态和动态特征性的限制,是一组完整性规则的集合。制,是一组完整性规则的集合。 完整性规则是用以限定符合数据模型的数据库状完整性规则是用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。态以及状态的变化,以保证数据的正确、有效、相容。1.1.层次模型层次模型有且仅有一个结点无双亲,称为根结点;有且仅有一个结点无双亲,称为根结点;其它结点有且仅有一个双亲。其它结点有且仅有一个双亲。 层次模型的数据结构是一棵树。层次模型的数
15、据结构是一棵树。1 .1 .2 基本数据模型分类基本数据模型分类 班级教研室系科室部科室处大学大学组织机构的层次模型大学组织机构的层次模型 2. 网状模型网状模型 允许一个结点可以有多个双亲;允许一个结点可以有多个双亲; 多个结点无双亲结点。多个结点无双亲结点。班级课程学生 基本结构是二维表,一张表称为一个关系。基本结构是二维表,一张表称为一个关系。与层次和网状模型比较,关系模型有下列优点:与层次和网状模型比较,关系模型有下列优点:数据结构单一;数据结构单一;建立在严格的数学概念基础上;建立在严格的数学概念基础上;将数据定义和数据操纵统一在一种语言中,使用方便,将数据定义和数据操纵统一在一种语
16、言中,使用方便,易学易用。易学易用。l 由于关系模型具有许多优点,因而由于关系模型具有许多优点,因而 在在8080年代之后的年代之后的商品化数据库系统几乎都是关系型的。所以关系数据库商品化数据库系统几乎都是关系型的。所以关系数据库是本课程的主要研究内容之一。是本课程的主要研究内容之一。 3 . 关系数据模型关系数据模型9020042 陆川陆川 200402 9020041 刘敏刘敏 200401 9020031 李丽李丽 200302 9020031 王鸣王鸣 200301 班级班级 姓名姓名 学号学号 (a) 学生关系学生关系 9020042 数数 据据 库库 计算机计算机 曹曹 岩岩 90
17、20041 人工智能人工智能 计算机计算机 马小路马小路 9020032 英语英语 外外 语语 赵赵 伟伟 9020031 计算数学计算数学 数数 学学 吴云峰吴云峰 班级班级 课程课程 系别系别 教师姓名教师姓名 (b) 教师开课关系教师开课关系 可以表示复杂对象;可以表示复杂对象; 模块化的结构,便于管理;模块化的结构,便于管理; 具有定义抽象数据类型的能力。具有定义抽象数据类型的能力。 面向对象的数据模型是新一代数据库系统的面向对象的数据模型是新一代数据库系统的基础,是数据库技术发展的方向。基础,是数据库技术发展的方向。 4. 面向对象数据模型面向对象数据模型1.2 1.2 关系和关系模
18、式关系和关系模式1.2.1 1.2.1 关系关系 在关系模型中唯一的数据结构是关系,一个关系对应一张在关系模型中唯一的数据结构是关系,一个关系对应一张二维表。二维表。域域 : : 具有相同数据类型的值的集合。具有相同数据类型的值的集合。定义定义1 1(笛卡尔积)笛卡尔积):D D1 1,D,D2 2,.,Dn,.,Dn的笛卡尔积为:的笛卡尔积为: D D1 1 D D2 2 . D Dn n = (d = (d1 1,d,d2 2,.,d,.,dn n) ) d di i D Di i,i=1,2,.,n i=1,2,.,n 。 其中每一个元素其中每一个元素( (d d1 1,d,d2 2,.
19、,d,.,dn n) )叫做一个叫做一个n n元组元组( (n-tuple)n-tuple),元素,元素中第中第i i个值个值d di i叫做第叫做第i i个分量。个分量。例:例:设设D D1 1 =1=1,2 2,33, D D2 2 =a,b=a,b D D1 1 D D2 2 =(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)=(1,a),(1,b),(2,a),(2,b),(3,a),(3,b) 实际上,如实际上,如D1D1学生集(学生集(5050个),个),如如D2D2班级集(班级集(2 2个),个), D1 D1 D2 D2 有多少元素?意义?有多少元素?意义
20、? 定义定义2 2(关系):(关系):集合集合D D1 1,D,D2 2,.,D,.,Dn n笛卡尔积的任一笛卡尔积的任一个子集称该集合上的一个关系个子集称该集合上的一个关系( (Relation)Relation)。 其中其中, ,集合集合D D1 1,D,D2 2,.,Dn,.,Dn是关系中元组的取值范围,是关系中元组的取值范围,称关系的称关系的域域( (domain)domain),这些域是有限的非空集合,这些域是有限的非空集合,n n叫叫做关系的做关系的度度( (degree)degree)。关系的基本概念关系的基本概念 关系关系(Relation)二维表,关系用关系名标识,如关系二维
21、表,关系用关系名标识,如关系r。 元组元组(Tuple) 表中的行,一般用变量表中的行,一般用变量 t 表示。表示。 属性属性(Attribute) 表中的一列,如列表中的一列,如列A Ai i, domAdomAi i 表示属性表示属性A Ai i的域的域 键键(Key,码),码)可以唯一地确定一个元组的属性组。可以唯一地确定一个元组的属性组。关系举例:关系举例:火车时刻表火车时刻表dom( NUMBER ) = 565, 523, 532, K95, K96 dom( FROM ) = dom( TO ) = BeiJing , XuZhou , , ShenZhen dom( DEPAR
22、TS ) = dom( ARRIVES ) = 一组时间。一组时间。表表1 火车时刻表火车时刻表7:3717:13WuChangShenZhenK967:1816:55ShenZhenWuChangK959:4021:45BeiJingLuoYang5326:0621:30LuoYangXuZhou5237:5420:40BeiJing565ARRIVESDEPARTS FROMNUMBER TOXuZhouXuZhouh关系的性质关系的性质 ( (关系数据库中对关系的限定关系数据库中对关系的限定) ) 1. 1. 每一列中的值是同类型的数据,来自同一个域。每一列中的值是同类型的数据,来自同一
23、个域。 2. 2. 不同的列可以有相同的域,每一列称为属性,用属性不同的列可以有相同的域,每一列称为属性,用属性名标识。名标识。 3. 3. 列的顺序是无关紧要的。列的顺序是无关紧要的。 4. 4. 任意二个元组不能完全相同。(相同元组称重复组)任意二个元组不能完全相同。(相同元组称重复组) 5. 5. 行的顺序是无关紧要的。行的顺序是无关紧要的。 6. 6. 关系中的每个分量都是原子值,是不可分的数据项。关系中的每个分量都是原子值,是不可分的数据项。 1.2.2 1.2.2 关系模式关系模式 关系模式一般表示为:关系模式一般表示为:关系名(属性关系名(属性1、属性属性n) 如:如:R R(A
24、(A1 1,A,A2 2,A,An n) )。 用用U U表示关系表示关系R R的属性集合的属性集合 U=A1A2An ,U=A1A2An , 模式模式R R上的一个关系上的一个关系r r是从是从U U到到D D的映象。元组的映象。元组trtr,t t的分量用的分量用tAtAi i 表示表示. .tAtAi iDDi i例:例: 在学生关系模式在学生关系模式 S(SNO,SNAME,AGE,SEX,CNO)中,中, 当当CNO=1, 就可以一班学生的列表,即一个具体的关系;就可以一班学生的列表,即一个具体的关系; 当当CNO=2, 就可以二班学生的列表,即另一个具体的关系。就可以二班学生的列表
25、,即另一个具体的关系。 l定义定义(关系数据库模式关系数据库模式): l 设属性集设属性集U和和U的属性所关联的域为的属性所关联的域为D,U上的上的关系数关系数据库模式据库模式R是是 R1, R2, , Rp 的集合,即:的集合,即:R =R1, R2, , Rp ,且且U =R1 R2 Rp 。l比如:比如:lR1为学生关系:为学生关系:S(Sno,Sname,Sbirth,Dept,Class,Rno)lR2为班级关系:为班级关系:C(Class,Pname,Dept,Cnum,Cyear) R3为系关系:为系关系:D(Dept,Dno,Office,Dnum) R4为学生会为学生会 关系
26、:关系:M(Mname,Myear,Maddr,Mnum)l关系数据库:关系数据库:一个一个关系数据库模式关系数据库模式R 对应的所有关系集合对应的所有关系集合 r1, r2, , rp称为关系数据库模式称为关系数据库模式R上的一个关系数据库上的一个关系数据库d. 关系模式和关系的区别和联系:l关系模式:对一类实体特征的结构性描述,即对关系的对一类实体特征的结构性描述,即对关系的结构性描述,该描述一般包括关系名、属性名、属性域结构性描述,该描述一般包括关系名、属性名、属性域的类型和长度,属性之间固有的依赖联系等。的类型和长度,属性之间固有的依赖联系等。l关系模式和关系的区别和联系:关系模式描述
27、的是关系关系模式描述的是关系的静态结构信息,是对一个关系的的静态结构信息,是对一个关系的“型型”的描述,是相的描述,是相对固定的。关系是在关系模式约束之下的若干实体的集对固定的。关系是在关系模式约束之下的若干实体的集合,实体的数量是随时间变化的,但这种变化必定在关合,实体的数量是随时间变化的,但这种变化必定在关系模式的约束范围内。系模式的约束范围内。l 一般用大写字母表述关系的结构,比如一般用大写字母表述关系的结构,比如R R,用小写字母一个具,用小写字母一个具体的关系值体的关系值, ,如如r.r. 1.3 1.3 键(键(KeyKey)和关系的完整性)和关系的完整性 1.1.键键 设关系模式
28、设关系模式R(U)R(U),K K U U,r r是是R R上的任一关系,若上的任一关系,若对对r r中的任意二个不同的元组中的任意二个不同的元组t t1 1、t t2 2满足满足: : (1) (1) t t1 1K K t t2 2KK; (2) (2) 若若 K K K K 而而t t1 1KK t t2 2KK 不成立。不成立。称称K K是是R R的的键键。若仅条件。若仅条件( (1)1)成立,成立,K K是是R R的的超键超键。 有键的定义得出:键是能唯一标示元组的最小属有键的定义得出:键是能唯一标示元组的最小属性集。在上面火车时刻表的例子中,性集。在上面火车时刻表的例子中,NUMB
29、ERNUMBER是一个是一个键。键。 2. 主键、隐含键、候选键、主键、隐含键、候选键、 超键超键l主键:主键:有的关系具有多于一个键,这种情况下指派其中有的关系具有多于一个键,这种情况下指派其中一个键为主键,简称为关系的键。用带下划线的属性表一个键为主键,简称为关系的键。用带下划线的属性表示。例如:示。例如: lTRAIN(NUMBER, FROM, TO, DEPARTS, ARRIVES )l TRAIN(NUMBER, FROM, TO, DEPARTS, ARRIVES )l隐含键:隐含键:未被制定的键称隐含键,也称替补键。未被制定的键称隐含键,也称替补键。l候选键:候选键:主键和隐
30、含键统称为候选键。主键和隐含键统称为候选键。l超键:超键: 在上面键的定义中,若条件(在上面键的定义中,若条件(2)不成立,称)不成立,称K为为R的超键。的超键。 例如:例如:NUMBER、 FROM是一个超键。是一个超键。3. 3. 关系的完整性关系的完整性 (1 1)关系模型的三要素:)关系模型的三要素: 数据结构数据结构 关系模型的数据结构为单一的关系,它表示了实体和实关系模型的数据结构为单一的关系,它表示了实体和实体间的联系。体间的联系。 关系操作关系操作 关系操作关系操作 关系代数:布尔运算、专门关系运算;关系代数:布尔运算、专门关系运算; 关系演算:关系元组演算、域演算。关系演算:
31、关系元组演算、域演算。 完整性约束完整性约束 实体完整性、参照完整性、用户定义的完整性。实体完整性、参照完整性、用户定义的完整性。 实体完整性实体完整性 关系中键属性的值不能取关系中键属性的值不能取空值空值。 例如:学生关系例如:学生关系 S(S(SNOSNO,SNAME,AGE,SEX,CNO),SNAME,AGE,SEX,CNO) 参照完整性参照完整性 是关系间引用所遵循的规则,与是关系间引用所遵循的规则,与外键外键有关。有关。 用户定义的完整性用户定义的完整性 数据间应满足的语义约束关系,由用户定义,由系统检数据间应满足的语义约束关系,由用户定义,由系统检查。查。(2 2)完整性约束)完
32、整性约束 下下页u 外键:外键: 设设F F是关系是关系R R的一个或一组属性,但不是的一个或一组属性,但不是R R的键。的键。 若若F F是另一个关系是另一个关系S S的键,则称的键,则称F F是关系是关系R R的外键。的外键。 R R为参照关系,为参照关系,S S为被参照关系。为被参照关系。 例如:例如: 参照关系参照关系 学生关系学生关系 S(S(SNOSNO,SNAME,AGE,SEX,SNAME,AGE,SEX,CNOCNO) ) 班级关系班级关系 C(C(CNOCNO, CMN) , CMN) - - 被参照关系被参照关系 u 参照完整性规则参照完整性规则 关系关系R R中外键的值
33、或者为空值,或中外键的值或者为空值,或者为被参照关系中主键的值。者为被参照关系中主键的值。 建立表结构和完整性约束建立表结构和完整性约束 补充:补充:SQLSQL语言简介语言简介 SQL是英文是英文Structured Query Language的缩写,意思为的缩写,意思为结构化查询语言。结构化查询语言。SQLSQL语言将数据定义语言语言将数据定义语言DDLDDL、数据操纵语言、数据操纵语言DMLDML、数据控制语言、数据控制语言DCLDCL的功能集于一体,可以独立完成数据库的功能集于一体,可以独立完成数据库生命周期中的全部活动生命周期中的全部活动. . SQL被作为关系型数据库管理系统的标
34、准语言。被作为关系型数据库管理系统的标准语言。目前,目前,绝绝大多数流行的关系型数据库管理系统,如大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了等都采用了SQL语言标准。语言标准。 基本的基本的SQL语句包括语句包括Select、Insert、 Update、Delete、Create、Drop,它们可以被用来完成几乎所有的数据库操作。,它们可以被用来完成几乎所有的数据库操作。 很多数据库根据不同的需要对很多数据库根据不同的需要对SQL语句进行了再开发和扩语句进行了再开发和扩展。展。 SQL的基本语句l1.
35、 创建新表创建新表l create table tabname(col1 type1 not null primary key,col2 type2 not null,.) l例:CREATE TABLE C l (CNO NUMBER(6) ,l CMN CHAR(10) )l2.选择选择lselect * from table1 where 范围范围 l例:SELECT SNO,SNAME l FROM S l WHERE CNO=200201l3.插入插入linsert into table1(field1,field2) values(value1,value2) l例:INSERT
36、INTO Sl VALUES(909901, 李利,l 21,男,200205);l4.删除删除ldelete from table1 where 范围范围 l例:DELETE FROM Sl WHERE SNO= 20100162 ;l5.更新(修改)更新(修改)lupdate table1 set field1=value1 where 范围范围 l例:UPDATE S l SET Sage=23 l WHERE Sno=20100162l l 完成核心功能完成核心功能SQLSQL语言只用语言只用9 9个动词,并且它的表达接近英语个动词,并且它的表达接近英语句子,所以比较简单、易学。句子,
37、所以比较简单、易学。l SQLSQL语言既是自含式语言,又是嵌入式语言。作为自含式语语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入键盘上直接键入SQLSQL命令对数据库进行操作;作为嵌入式语言,命令对数据库进行操作;作为嵌入式语言, SQLSQL语句能够嵌入到高级语言,比如:语句能够嵌入到高级语言,比如:C C、PL/1PL/1、FORTRANFORTRAN。 CREATE TABLE SCREATE TABLE S (SNO NUMBER(4)SNO NUMBER(4)
38、, SNAME CHAR(10) NOT NULLSNAME CHAR(10) NOT NULL, AGE NUMBER(3) ,AGE NUMBER(3) , SEX CHAR(1), SEX CHAR(1), CNO NUMBER(6), CNO NUMBER(6), CONSTRAINT SK1 CONSTRAINT SK1 PRIMARY KEY (SNO),PRIMARY KEY (SNO), CONSTRAINT SK2 FOREIGN KEY(CNO)CONSTRAINT SK2 FOREIGN KEY(CNO) REFERENCES C(CNO), REFERENCES C(C
39、NO), CONSTRAINT SK3 CONSTRAINT SK3 CHECK(AGE IN (16,45)CHECK(AGE IN (16,45) );CREATE TABLE C CREATE TABLE C (CNO NUMBER(6)CNO NUMBER(6), CMN CHAR(10),CMN CHAR(10), CONSTRAINT CK CONSTRAINT CK PRIMARY KEY (CNO)PRIMARY KEY (CNO) );1.4 1.4 关系的更新关系的更新插入、删除、修改 1 1插入插入 对关系对关系r(Ar(A1 1,A,A2 2,An),An),插入操作形
40、式为:插入操作形式为: ADD(rADD(r;A A1 1 = d = d1 1, A, A2 2 = d = d2 2, A, An n = d = dn n) ) ADD(r ADD(r;d d1 1, d, d2 2, , d, , dn n) ) 例:例:ADD(SADD(S;SNO=909901, SNAME = SNO=909901, SNAME = 李利李利, , AGE=21, SEX= AGE=21, SEX=男,男,CLASSNO=200205CLASSNO=200205)插入操作的有效检查:插入操作的有效检查:(1).(1).描述的元组是否符合所指定的关系模式描述的元组是
41、否符合所指定的关系模式; ;(2).(2).元组的某些值是否属于对应的域元组的某些值是否属于对应的域; ;(3).(3).元组的键是否已在关系中存在。元组的键是否已在关系中存在。 例:用例:用SQLSQL语言实现在学生关系语言实现在学生关系S S中插入一个元组。中插入一个元组。 INSERT INTO SINSERT INTO S VALUES VALUES(909901909901, 李利李利, 21 21,男男,200205200205);); 2 2删除删除 对关系对关系r(Ar(A1 1,A,A2 2,An),An),删除操作形式为:,删除操作形式为: DEL(rDEL(r;A A1
42、1=d=d1 1, A, A2 2=d=d2 2, A, An n=d=dn n) ) DEL( r DEL( r;d d1 1, d, d2 2, d, dn n );); 若若K=BK=B1 1B B2 2BBm m,DEL( r; BDEL( r; B1 1=k=k1 1, B, B2 2=k=k2 2, B, Bm m=k=km m) ) 例:例:DEL(SDEL(S;SNO=909901, SNAME = SNO=909901, SNAME = 李利李利, , AGE=21, SEX= AGE=21, SEX=男,男,CLASSNO=200205CLASSNO=200205)删除操作
43、的检查:删除操作的检查: 如果被删除元组在关系中不存在,如果被删除元组在关系中不存在,这个关系将保持不变,但需给出一个出错提示这个关系将保持不变,但需给出一个出错提示。* * * 删去最后一个元组不受限制,即允许是空关系。删去最后一个元组不受限制,即允许是空关系。 实际上,为了识别被删除的元组并不实际上,为了识别被删除的元组并不需要所有元组的信息,只需要制定键需要所有元组的信息,只需要制定键的值就足够了。比如:的值就足够了。比如:删除学号为删除学号为909901909901的学生元组的学生元组 DELETE FROM SDELETE FROM S WHERE SNO=909901 WHERE
44、SNO=909901; 3 3修改修改 修改元组的部分值。对关系修改元组的部分值。对关系r(Ar(A1 1,A,A2 2,An),An),若属性集,若属性集 C C1 1,C,C2 2,Cp,Cp A A1 1,A,A2 2,An,An,则修改操作形式为:则修改操作形式为: CH(rCH(r;A A1 1=d=d1 1,A,A2 2=d=d2 2,A,An n=d=dn n;C C1 1=e=e1 1,C,C2 2=e=e2 2,C,Cp p=e=ep p) 如果如果K KBB1 1, B, B2 2, B, Bm m 为键,则可简化为:为键,则可简化为: CH(rCH(r;B B1 1=k=
45、k1 1,B,B2 2=k=k2 2,B,Bm m=k=km m;C C1 1=e=e1 1,C,C2 2=e=e2 2;CCp p=e=ep p) 例例: : CH(SCH(S;SNO=909901SNO=909901;CLASSNO=200203) CLASSNO=200203) 修改操作可用删除操作后跟一个插入操作实现。对插修改操作可用删除操作后跟一个插入操作实现。对插入和删除操作的限制可运用到修改操作中。入和删除操作的限制可运用到修改操作中。 例例: : 施加一系列操作于火车时刻表施加一系列操作于火车时刻表 1. 1. ADD(trainADD(train;33, TianJin, S
46、hangHai,33, TianJin, ShangHai, 17:20, 10:36); 17:20, 10:36);2. ADD(train2. ADD(train;Y15, BeiJing, TianJin,Y15, BeiJing, TianJin, 10:05, 12:43); 10:05, 12:43);3. DEL (train3. DEL (train;523);523);4. CH (train4. CH (train;NUMBER=532; NUMBER=532; DEPARTS=22:45, ARRIVES=10:42) DEPARTS=22:45, ARRIVES=10
47、:42)。 火车时刻表火车时刻表7:3717:13WuChangShenZhenK967:1816:55ShenZhenWuChangK959:4021:45BeiJingLuoYang5326:0621:30LuoYangXuZhou5237:5420:40BeiJing565ARRIVESDEPARTS FROMNUMBER TOXuZhouXuZhou 练习练习l2.建立一个关于系、学生、班级、学会等诸信息的关系数建立一个关于系、学生、班级、学会等诸信息的关系数据库。据库。l学生:学号、姓名、出生年月、系名、班号、宿舍区。学生:学号、姓名、出生年月、系名、班号、宿舍区。l班级:班号、专业
48、名、系名、人数、入校年份。班级:班号、专业名、系名、人数、入校年份。l系:系名、系号、系办公地点、人数。系:系名、系号、系办公地点、人数。l学会:学会名、成立年份、办公地点、人数。学会:学会名、成立年份、办公地点、人数。l 语义如下:一个系有若干专业,每个专业每年只招一个语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。加某学会有一个入会年份。l 请给出关系模式,指出各关系模
49、式的候选键和外键请给出关系模式,指出各关系模式的候选键和外键 。 练习解答练习解答l解:解:(1)关系模式如下:关系模式如下:l 学生:学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)l 班级:班级:C(Class,Pname,Dept,Cnum,Cyear)l 系:系:D(Dept,Dno,Office,Dnum)l 学会:学会:M(Mname,Myear,Maddr,Mnum)l (2)各关系模式的候选键、外部键如下:各关系模式的候选键、外部键如下:l A、学生、学生S候选键:候选键:Sno;外部键:;外部键:Dept、Class;l B、班级、班级C候选键:候选
50、键:Class;外部键:;外部键:Dept;l C、系、系D候选键:候选键:Dept或或Dno;无外部键;无外部键;l D、学会、学会M候选键:候选键:Mname;无外部键。;无外部键。l课后练习:如何用课后练习:如何用SQL来创建该数据库?(建议没有学过数据来创建该数据库?(建议没有学过数据库的同学在自学库的同学在自学SQL后练习一下)后练习一下)第二章第二章 关关 系系 运运 算算本章的主要内容:本章的主要内容:布尔运算布尔运算选择选择 投影投影 连接连接 除除常关系常关系 属性重命名属性重命名关系代数关系代数2.1 布尔运算布尔运算 关系可以看做元组的集合,那么集合的并、交、差等布尔运算
51、算都关系可以看做元组的集合,那么集合的并、交、差等布尔运算算都可以用到关系中。可以用到关系中。 关系的布尔运算包括:并、交、差、广义笛卡尔积、补、有效补。关系的布尔运算包括:并、交、差、广义笛卡尔积、补、有效补。 同类关系:同类关系:若若R R和和S S是同类关系,则满足如下条件:是同类关系,则满足如下条件: (1 1)R R和和S S具有相同的度;具有相同的度; (2 2)R R和和S S的对应属性定义在同一个域上。的对应属性定义在同一个域上。 同类关系也称相容运算,同类关系也称相容运算,布尔运算大多是在同类关系中进行。布尔运算大多是在同类关系中进行。 并并( (Union)Union)关系
52、关系R R和和S S的并的并其结果由属于其结果由属于R或属于或属于S的所有元组组成的所有元组组成,其结果为一个新关系。记为:其结果为一个新关系。记为: Q = RS = t | t R Q = RS = t | t R 或或 t St S 交交( (Intersection)Intersection) 关系关系R R和和S S的交其结果由既属于的交其结果由既属于R R又属于又属于S S的所有元组组成。的所有元组组成。 记为:记为: Q = RS = t | t R Q = RS = t | t R 且且 t St S 差差( ( Difference) Difference) 关系关系R R和
53、和S S的差由属于的差由属于R R但不属于但不属于S S的所有元组组成。的所有元组组成。 记为:记为: Q = RQ = RS = t | t R S = t | t R 但但 t t S S例子:例子: RS ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS c1b2a2c2b2a1c1b1a1CBAc1b1a1CBAc1b2a2c2b3a1c2b2a1CBARSR-S 例子:例子: R - S c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b2a1CBAc1b2a2c2b3a1c2
54、b2a1CBARSR S 例子:例子: R S 例:并运算的例:并运算的SQLSQL实现实现查询查询200201200201班的学生和年龄超过班的学生和年龄超过2 23 3岁的学生姓名。岁的学生姓名。SELECT SNOSELECT SNO,SNAMESNAME FROM S FROM S WHERE CNO = 200201 WHERE CNO = 200201UNIONUNIONSELECT SNOSELECT SNO,SNAMESNAMEFROM SFROM S WHERE AGE 23 WHERE AGE 23; * * INTERSECTINTERSECT(交)、(交)、MINUSM
55、INUS(差)(差) 广义笛卡尔积广义笛卡尔积关系关系R R 和和S S的笛卡尔积为的笛卡尔积为R R中所有元组和中所有元组和S S中所有元组的串接。中所有元组的串接。结果关系的属性个数:结果关系的属性个数:k k1 1+ k+ k2 2 其中其中k k1 1和和k k2 2分别为分别为R R和和S S的属性数的属性数结果关系的元组数:结果关系的元组数: m mn n , 其中其中m m、n n分别为分别为R R和和S S的元组数。的元组数。 R R和和S S的笛卡尔积记为:的笛卡尔积记为: Q = R Q = R S = t |t S = t |t =t=tr rt ts s,t,tr rR
56、 R 且且 t ts sSS广义笛卡尔积广义笛卡尔积 的例子:的例子:ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S c1b1a1c1b1a1c1b2a2c1b2a2c2b2a1c1b2a2c1b1a1R.C R. BR.Ac2b2a1c2b2a1c2b2a1c2b3a1c1b2a2c2b2a1c2b3a1c1b2a2c2b2a1S.CS.BS.Ac1b2a2c2b3a1有学生关系有学生关系S(Sno,Sname,Sage)S(Sno,Sname,Sage)和和 选课关系选课关系SC(Sno,Cno,Grade)SC(Sno,Cno,Grade)
57、SELECT S.SELECT S.* *, SC., SC.* * FROM S,SC FROM S,SC例:广义笛卡尔积的例:广义笛卡尔积的SQL实现实现 补补( (Complement)Complement) 关系模式关系模式R(AR(A1 1,A,A2 2,A,An n) ), R R上的关系上的关系r r。 补运算:补运算:设设dom(R)dom(R)表示模式表示模式R R上的所有元组的集上的所有元组的集合,则关系合,则关系r r的补为:的补为: r r = = dom(R)dom(R)r r 例例: 设设R(A,B), dom(A)=a1,a2,a3,dom(B)=b1,b2 R上
58、的关系上的关系r和和r的补的补 r 如下所示。如下所示。 r ( A B ) r ( A B ) a1 b1 a2 b2 a1 b2 a3 b1 a2 b1 a3 b2 例例: 设设R(A,B,C),dom(A)=a1,a2,dom(B)=整数的集合,整数的集合, dom(C)=c1,c2。求。求r的补。的补。 r ( A B C ) a1 1 c1 a1 2 c2 a2 1 c1 a2 2 c1 a2 3 c2 r r adom(R,r)adom(R,r)r r adom(R,r)adom(R,r)为模式为模式R R上的所有属性对应关系上的所有属性对应关系r r的有效值域的有效值域 组成的所
59、有元组的集合。组成的所有元组的集合。 由于由于adom(R,r)adom(R,r)是有限的,则是有限的,则r r的有效补的有效补 r r 总是一个关系。总是一个关系。 有效补有效补 关系模式关系模式R(AR(A1 1,A,A2 2,A,An n) ),属性,属性A Ai i的有效值域:的有效值域: adom(Aadom(Ai i,r)= d | dD,r)= d | dDi i,存在,存在trtr且且tAtAi i=d =d 定义定义r r的有效补为的有效补为: : 例例: 设设R(A,B,C),dom(A)=a1,a2,dom(B)=整数的集合,整数的集合, dom(C)=c1,c2。R上的
60、关系上的关系r和和r的有效补如下。的有效补如下。 r ( A B C ) r ( A B C ) a1 1 c1 a1 1 c2 a1 2 c2 a1 2 c1 a2 1 c1 a1 3 c1 a2 2 c1 a1 3 c2 a2 3 c2 a2 1 c2 a2 2 c2 a2 3 c1 思考:在关系模式思考:在关系模式R(A1,A2,An)R(A1,A2,An)中,若每个属性中,若每个属性AiAi的的值域都有限,任一关系值域都有限,任一关系r r的补和有效补是否一致?的补和有效补是否一致? 例例: 设设R(A,B), dom(A)=a1,a2,a3,dom(B)=b1,b2。 R上的关系上的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医养生馆医师聘用协议
- 美容院仪器管理规范
- 加油站停车场租用合同
- 艺术品交易中介费
- 旅游业超龄导游服务承诺书
- 石油项目部勘探员聘用协议
- 山西省电力设施建设合同模板
- 住宅装修翻新装饰改造协议
- 跨境电商平台投标技巧
- 2022年大学海洋工程专业大学物理下册期中考试试卷A卷-附解析
- 小学生自我意识心理辅导《独特的我——认识自己,悦纳自己》教案
- 凉菜日常工作操作流程与规范
- 不锈钢管道及板件焊接工艺卡
- 施工现场保卫方案
- 《柔性接口给水管道支墩》(10S505国标图集)简介-国标10s505
- 围棋教案13教学设计
- EXCEL 支票打印模板
- 称念诸佛名号功德(3)
- 疯狂动物城歌词.doc
- 某住宅楼施工图预算毕业设计范本
- 辊压机施工方案
评论
0/150
提交评论