您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据库关系运算理论(1)
第一节关系的数学定义第二章关系运算理论第二节关系数据库第三节关系代数第一节关系的数学定义关系数据模型的思想由IBM公司的E.F.Codd于1970年在他的一系列论文中提出,以后的几年里陆续出现了以关系数据模型为基础的数据库管理系统,称为关系数据库管理系统(RDBMS)。现代广泛使用的RDBMS有:Oracle、Informix、DB2、SQLServer、Acess数据库等。1.关系的基本术语(1)二维表格1)元数(列数):属性的个数,即列数2)基数(行数):元组的个数,即记录数3)属性:字段或数据项称为属性,也称为列4)属性值:字段值称为属性值。字段——属性字段值——属性值记录类型——关系模式记录——元组55)关系模式:是对关系的描述,即表结构。一般表示为:关系名(属性1,属性2,…属性n)表上属性名必须唯一,不允许重名。6)元组:记录称为元组,也称为行。7)关系:元组的集合称为关系,也称为表格。每个二维表又称为关系。表体是由一些元组组成。8)值域:属性的取值范围称为属性的值域,每个属性对应一个值域,不同的属性可以对应同一个值域。9)分量:元组中的一个属性值。1)超键:能唯一标识元组的属性集。2)候选键:不含有多余属性的超键。3)主键(主码):用户选作元组标识的一个候选键(多个候选键中的一个)(2)关键字:由一个或几个属性组成84)主属性(Primeattribute):主键的各个属性称为主属性。5)非主属性(Non-keyattribute):不包含在任何侯选键中的属性称为非主属性。6)全码(All-key):关系模式的所有属性是这个关系模式的侯选键,称为全码。9(3)关系的类型关系有三类:基本表、查询表、视图表1)基本表:实际存在的表,是实际存储数据的逻辑表示。2)查询表:查询结果对应的表3)视图表:由基本表或其他视图表导出的虚表,不对应实际存储的数据。10基本表查询表视图11(4)关系的规范化性质①列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。②不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名③列的顺序无所谓,即列的顺序可以任意交换。④任意两个元组不能完全相同。⑤行的顺序无所谓,即行的顺序可以任意交换。⑥分量必须取原子值,即每个分量必须是不可再分的数据项。12关系性质1——同质的列学号姓名性别年龄曾用名9901张三男20张狗子9902李四女18李朋王五9903119王麻子9904赵六21981/2/28赵薇13关系性质2—不同的属性名学号姓名性别年龄姓名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵薇姓名2曾用名14关系性质3—属性无序学号姓名性别年龄曾用名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵薇学号姓名曾用名性别年龄9901张三张狗子男209902李四李朋女189903王五王麻子男199904赵六赵薇女2015关系性质4—元组不重复学号姓名性别年龄姓名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵薇9901张三男20张狗子重复的元组重复的元组!16关系性质5—元组无序学号姓名性别年龄9901张三男209902李四女189903王五男199904赵六女20学号姓名性别年龄9904赵六女209901张三男209903王五男199902李四女1817关系性质6—分量是原子父母孩子大小李男王男丁女肖女李一王一李二父母大孩小孩李男王男丁女肖女李一王一李二非规范化关系规范化关系181)域:是一组具有相同数据类型的值的集合例如:所有整数、实数、{1,2,3,}。2)笛卡尔积:给定一组域D1,D2,…Dn,这些域中可以有相同的。笛卡尔积表示为:D1╳D2╳…Dn={(d1,d2,…dn)|di∈Di,i=1,2…n}其中每一个元素(d1,d2,…dn)叫做一个n元组,简称为元组。元素中的每一个值di叫做一个分量。2、关系的数学定义19例如:给出三个域:D1=导师集合supervisor=张清玫,刘逸D2=专业集合speciality=计算机专业,信息专业D3=研究生集合postgraduate=李勇,刘晨,王敏则D1╳D2╳D3的笛卡尔积如表所示:其中(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组,张清玫、计算机专业、李勇、刘晨等都是分量该笛卡尔积的基数为2*2*3=12。即一共有12个元组。20D1,D2,D3的笛卡尔积supervisiorspecialitypostgraduate张清玫计算机专业李勇张清玫计算机专业刘晨张清玫计算机专业王敏张清玫信息专业李勇张清玫信息专业刘晨张清玫信息专业王敏刘逸计算机专业李勇刘逸计算机专业刘晨刘逸计算机专业王敏刘逸信息专业李勇刘逸信息专业刘晨刘逸信息专业王敏1、关系模型由以下三部分组成:数据结构:全部数据及相互联系都被组织成关系(表)关系操作:关系运算完整性规则:关系模型的三类完整性规则(实体完整性、参照完整性、用户定义的完整性)查询操作更新操作第二节:关系数据库22(1)数据结构:一张二维表。现实世界的实体以及实体间的联系均用关系(二维表)表示。(2)关系操作包括:查询和更新操作。查询操作包括:选择、投影、连接、除、并、交、差等操作。更新操作包括:增加、删除、修改操作。关系操作的特点:操作对象和结果都是集合23(3)关系的完整性约束有三类:实体完整性参照完整性用户定义的完整性是关系模型必须满足的完整性约束条件,由关系系统自动支持是应用领域需要遵循的约束条件24关系模型的三类完整性规则(1)实体完整性规则(关系系统支持)组成主键(码)的属性(即主属性)不能有空值。实体完整性规则针对基本关系而言如:选修(学号,课程号,成绩)则,(学号,课程号)为主码,则学号和课程号都不能取空值。25学号课程号成绩9901990199029903C1C2C2C390807080学号姓名年龄性别所在系9901990299039904张三李四王五赵六20181920男女女男计算机计算机计算机计算机26(2)参照完整性规则(定义主外码之间的引用规则)不引用不存在的实体。若属性集K是关系模式R1的主键,K也是关系模式R2的外键,K的取值或为空,或等于R1关系中的某个主键值。R1为被参照关系(目标关系),R2为参照关系。27例如:学生关系(学号,姓名,性别,专业号,年龄,班长)专业(专业号,专业名)1)学生关系中的专业号参照专业关系中的专业号,专业号的值可以是:(1)空值--表示尚未给学生分配专业(2)非空值--值必须取专业关系中专业号的值2)学生关系中的班长与学号之间存在引用关系,班长的取值可以是:(1)空值---表示该班级未选班长(2)非空值---值必须取同一关系的学号28学号姓名所在系9901990299039904张三李四王五赵六计算机计算机计算机计算机课程号课程名学时数C01C02C03C04高等数学数据结构操作系统数据库100708060学号课程号成绩99019901990299049904C01C02C04C04C039080908570学生关系课程关系学习成绩关系外键外键主键主键29职工号部门编号姓名…9801980298039804980501010203张三李四王五赵六钱七部门编号部门名称…01020304经理办公室人事部公关部技术部职工表(R2)部门表(R1)主键外键30(3)用户定义的完整性规则针对不同的应用环境而定义的约束条件。(关系模型提供定义和检验这类完整性的机制,不必用程序完成)★若规定学生的年龄在18到35之间,则是用户定义的完整性规则。31关系模式关系数据库的三层模式:关系概念模式关系存储模式关系外模式32关系数据语言(1)关系数据语言按照完成的功能可分为三类:数据定义语言DDL:负责数据库的描述,提供一种数据定义机制。数据操纵语言DML:负责数据库的操作,提供一种数据处理操作的机制。数据控制语言DCL:负责控制数据库的完整性和安全性,提供一种检验完整性和保证安全性的机制。33(2)关系数据语言按照表达查询的方式不同(理论基础的不同)可以分为三大类:关系代数语言:对关系的集合运算来表达查询方式的语言。关系演算语言:用谓词演算来表达查询方式的语言。结构化查询语言SQL:是介于关系代数和关系演算之间的一种语言,SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集DDL、DML、DCL为一体的标准的关系数据库语言。
本文标题:数据库关系运算理论(1)
链接地址:https://www.777doc.com/doc-3968396 .html