




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 关系数据库基础,关系数据库采用关系数据模型,已经历了30多年的发展,从理论到技术都已经非常成熟,是目前广泛使用的主流数据库系统,也是数据库课程要讲授的主要内容。本章主要包括关系的基本概念、关系数据模型、关系完整性约束和关系代数等内容,1,学习幻灯,本章学习目标,深刻理解关系的定义和关系的基本性质,理解相应的概念和术语; 深刻理解关系模型及其三个要素; 深刻理解关系完整性约束; 掌握关系代数的基本运算和应用; 了解SQL Server的基本架构和基本构成; 掌握SQL Server数据库的存储结构和建立数据库的方法,2,学习幻灯,本章重点难点,本章学习的重点是围绕关系数据模型的基本概念、
2、深刻理解关系数据模型的三个要素和关系完整性约束,为以后设计、使用和管理关系数据库奠定一个良好基础。 本章学习的难点是理解关系完整性约束的概念及其作用,3,学习幻灯,2.1 关系概念,关系通俗的讲就是二维表格,也是人们在日常生活中最常见到的表格数据。 关系的基本概念源于数学。 关系的形式定义,以及相关的概念和术语,4,学习幻灯,设D1,D2,Dn为任意集合,定义D1,D2,Dn 的笛卡儿积为: 其中集合的每一个元素(d1,d2,dn)称作一个n元组,简称元组,元组中每一个di称作元组的一个分量,笛卡儿积(定义,5,学习幻灯,举例,D1=s2,s4,s7,s9 D2=管理学,经济学,运筹学 则,D
3、1D2=(s2,管理学),(s2,经济学),(s2,运筹学), (s4,管理学),(s4,经济学),(s4,运筹学), (s7,管理学),(s7,经济学),(s7,运筹学), (s9,管理学),(s9,经济学),(s9,运筹学,6,学习幻灯,排列成表格,笛卡儿积是二维表格,7,学习幻灯,形式化的关系定义,笛卡儿积D1D2 Dn的任意一个子集称为D1,D2, Dn上的一个n元关系,8,学习幻灯,关系是笛卡尔积的子集、是表格,取子集,并将D1、D2分 别命名为学号和课程名称,9,学习幻灯,关系性质1每一分量必须是不可分的最小数据项,即每个属性都是不可再分解的,非规范化关系,规范化关系,10,学习幻
4、灯,关系性质2列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域,11,学习幻灯,关系性质3不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名,姓名2 曾用名,12,学习幻灯,关系性质4列的顺序是无关紧要的,即列的次序可以任意交换,13,学习幻灯,关系性质5元组不可以重复,即在一个关系中任意两个元组不能完全一样,14,学习幻灯,关系性质6行的顺序是无关紧要的,即行的次序可以任意交换,15,学习幻灯,基本概念和术语,关系 属性 值域 元组 分量 关系模式 关系模型 关系数据库,候选关键字 主关键字 主属性 非主属性,16,学习幻灯,关系数据模型实
5、例,学生人事记录表,关系名,关系,元组(行,属性(列,主关键字,男 女,值域,分量,关系模式:学生(学号、姓名、性别、年龄、籍贯,属性名,17,学习幻灯,参照关系与被参照关系,外部关键字 参照关系 被参照关系,18,学习幻灯,参照关系与被参照关系,学生,课程,选修,19,学习幻灯,思考题,值域是个什么概念?它和列有什么关系? 关系有哪些基本性质?如果有表格或二维表不满足其中的某个性质,这样的表格或二维表是关系吗? 讨论关系、关系模式、关系模型、关系数据库的概念。 讨论属性、值域、元组、分量的概念。 讨论主属性、非主属性、候选关键字、主关键字、外部关键字的概念。 讨论参照关系、被参照关系的概念,
6、20,学习幻灯,2.2 关系数据模型,关系数据模型就是用关系来表示现实世界中实体以及实体和实体之间的联系的数据模型,21,学习幻灯,关系数据模型的三要素,关系数据结构 关系数据操作 关系数据完整性约束,22,学习幻灯,关系数据结构,如何表示现实世界中的实体及其联系? 在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系来表示,23,学习幻灯,关系操作集合,在关系上能进行哪些操作,传统的集合运算 专门的关系运算 关系数据操作,24,学习幻灯,关系完整性约束,在数据库中数据完整性是指保证数据正确的特性。数据完整性是一种语义概念,它包括两方面的内容: 与现实世界中应用需求的数据的相容性和
7、正确性; 数据库内数据之间的相容性和正确性,25,学习幻灯,关系完整性约束,实体完整性 参照完整性 用户定义完整性,26,学习幻灯,实体完整性规则,实体完整性是要保证关系中的每个元组都是可识别和唯一的。 实体完整性规则要求关系中元组的主关键字的值必须唯一,不可以为空值。 关系数据库管理系统用主关键字实现实体完整性,返回,27,学习幻灯,参照完整性规则,现实世界中的实体间存在着某种联系,而在关系模型中实体是用关系描述的、实体之间的联系也是用关系描述的,这样就自然存在着关系和关系之间的参照或引用,28,学习幻灯,什么是参照完整性,职工表(R2,部门表(R1,主关键字,外部关键字,29,学习幻灯,参
8、照完整性规则,如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系R中每个元组在属性(或属性组)F上的值必须为: 或者取空值(F的每个属性均为空值); 或者等于S中某个元组的主关键字的值,30,学习幻灯,用户定义完整性,一种与应用密切相关的数据完整性约束,如 某个属性的值必须唯一 某个属性的取值必须在某个范围内 某些属性值之间应该满足一定的函数关系等 类似以上的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求而提出的 在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,所以在用户定义完整性中最常见的是域完整性约束,31,学习幻灯,完整
9、性约束的作用,执行插入操作时检查完整性 执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。 执行删除操作时检查完整性 执行删除操作时一般只需要检查参照完整性规则。 执行更新操作时检查完整性 执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况,32,学习幻灯,思考题,什么是数据模型?什么是关系数据模型? 关系数据模型有哪几个要素?并说明这些要素所包含的内容。 讨论实体完整性规则,它涉及哪些概念? 讨论参照完整性规则,它涉及哪些概念? 用户定义完整性可以完成哪些方面的约束? 分别讨论实体完整性约束和参照完整性约束是
10、如何实现的。 讨论关系完整性约束在保证数据正确性方面是如何发生作用的,33,学习幻灯,2.3 关系代数,关系代数是实现关系操作的一种方法,是理解关系操作的基础,传统的集合运算 并运算 交运算 差运算 广义笛卡尔积,专门的关系运算 选择运算 投影运算 连接运算 除运算,34,学习幻灯,传统的集合运算,集合的并运算 集合的交运算 集合的交运算,关系并运算(RS) 运算表示: RS=t | tR tS 两个(同类)关系的所有元组合并,删去重复的元组。 关系差运算(RS) 运算表示: R S=t | tR tS 由属于R而不属于S的所有元组组成的集合,即在R中删去与S相同的元组 。 关系交运算(RS)
11、 运算表示: R S=t | tR tS 既属于R又属于S的元组的集合,即取相同的元组,35,学习幻灯,传统的集合运算举例,36,学习幻灯,关系并运算,R,S,RS,37,学习幻灯,关系差运算,R,S,RS,38,学习幻灯,关系交运算,R,S,RS,39,学习幻灯,设R为m元关系,S为n元关系,并且 r=(r1,r2,rm)R s=(s1,s2,sn)S 则 称为元组的连串。这是一个(m+n)元组,前m个分量为R中的一个m元组,后n个分量为S中的一个n元组,元组的连串,40,学习幻灯,集合的广义笛卡尔积运算,设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡
12、尔积RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作,41,学习幻灯,广义笛卡尔积举例,R,S,RS,42,学习幻灯,专门关系运算,选择运算 投影运算 连接运算 除运算,43,学习幻灯,选择运算,从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的,其中R是关系名,r是元组,是选择运算符,F是结果为“真”的逻辑表达式,44,学习幻灯,选择运算举例,职工号=E3(订购单,订购单,从订购单关系中选择职工号为“E3”的元组构成新的关系,45,学习幻灯,投影运算,对指定的关系选择列产生一个新关系,A(R)=r.A| rR,其中R是关系名,是投影运算符,A是被投
13、影的属性或属性集,r.A(或rA)表示r这个元组中相应于属性A的一个分量,根据关系的性质结果中要去掉重复行,46,学习幻灯,投影运算举例,订购单关系,选取职工号和供应商号两列构成新的关系,职工号,供应商号(订购单,47,学习幻灯,举例,从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号,订购单关系,供应商号,订购单号(职工号=E3(订购单,48,学习幻灯,连接运算,连接相互之间有联系的两个关系。 连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为连接属性,49,学习幻灯,连接运算,一般的连接运算也称为连接运算,是比较运算符。连接一般表
14、示为,这里Ai是R中的属性,Bj是S中的属性,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等,50,学习幻灯,连接运算,R,S,RS,BE,51,学习幻灯,自然连接,连接运算中最常用的是自然连接,自然连接是: 计算广义笛卡尔积RS; 选择满足条件rAi=sBj的所有元组; 去掉重复的属性,和等值连接的区别,52,学习幻灯,自然连接的例子,53,学习幻灯,综合运算实例,根据以上关系求出在上海工作的职工的工资值都有哪些,仓库,职工,54,学习幻灯,查询过程示意,55,学习幻灯,除运算,S,R,56,学习幻灯,映象集,设
15、有关系模式R(X,Y),其中X、Y可以是单个属性,也可以是属性集,定义当X取值为x时,x在R中的映象集为,假设“学时”属性为X,“课程名称”属性为Y,则当X取值为56时相应的映像集为,57,学习幻灯,除法运算,设有关系R(X,Y)和S(Y),其中X、Y可以是单个属性或属性集,则除法运算定义为,在被除关系中给定的x值所对应的那组y值如果包含了除关系中的所有y值,则x就在商关系中。 除运算经常用来完成至少包含了Y的查询,58,学习幻灯,理解除法运算,R(X,Y)是被除关系 S(Y)是除关系 商关系由R中某些X属性值构成,其中的任一X值所对应的一组Y值都包含除关系S。 除运算常用于至少查询或运算,S
16、,R,59,学习幻灯,除运算举例,至少学习了“数据库”和“运筹学”课程的学生,数据库 运筹学,结果为,吴红霞 李丽,60,学习幻灯,基本运算及变换,在关系代数运算中集合的并运算、差运算、笛卡尔积运算以及选择和投影运算是五种基本运算,另三种运算(集合的交运算以及连接和除运算)可以用五种基本运算来表达,引进它们并不增加语言的能力,但是可以简化表达,两个关系的交运算可以表示为: R S = R - (R - S,设有关系R(X,Y)和S(Y),两个关系的除运算可以表示为,两个关系的自然连接运算可以表示为,61,学习幻灯,思考题,为什么要学习、了解关系代数? 两个关系的并、交、差运算有什么约束?分别讨
17、论它们的运算结果。 选择运算是一种什么运算?它可以完成什么查询运算? 投影运算是一种什么运算?它可以完成什么查询运算? 连接运算是一种什么运算?它可以完成什么查询运算,62,学习幻灯,思考题,讨论自然连接和等值连接的关系。 讨论各种连接的含义(如为“”、“”等)。 讨论除运算的实际含义和用途。 在介绍的关系代数运算中,哪些运算是基本运算?哪些运算可以用其他运算推导出来,63,学习幻灯,2.4 关系数据库管理系统SQL Server介绍,目前广泛使用的是关系数据库管理系统,其中微软公司的SQL Server、甲骨文公司的Oracle、赛贝斯公司的Sybase和IBM公司的DB2等大型数据库管理系
18、统占领了市场的大部分份额,64,学习幻灯,SQL Server的基本结构,SQL Server的最新版本是SQL Server 2012。现在的数据库管理系统已经不仅仅包含数据的存储、管理、操作和查询功能,它还提供越来越多的各种数据服务功能,65,学习幻灯,SQL Server的数据库结构,每个SQL Server实例包括四个系统数据库(master、model、tempdb和msdb)以及一个或多个用户数据库,数据库是建立在操作系统文件上的,SQL Server在发出CREATE DATABASE命令建立数据库时,会同时发出建立操作系统文件、申请物理存储空间的请求;当CREATE DATAB
19、ASE命令成功执行后,在物理上和逻辑上都建立了一个新的数据库;然后就可以在数据库中建立各种用户所需要的逻辑组件,如基本表、视图等,66,学习幻灯,SQL Server实例,在每台服务器上运行的SQL Server称为一个SQL Server实例。 一个企业在网络上运行的多个SQL Server实例可以统一进行管理。 每个SQL Server实例都有自己的系统数据库,可以建立多个用户数据库,67,学习幻灯,系统数据库及其作用,Master 记录所有其它的数据库,其中包括数据库文件的位置 记录了所有SQL Server服务器特定的配置信息 Tempdb 保存所有的临时表和临时存储过程 为全局资源,
20、 SQL Server 每次启动时都重新创建 Model 用作在系统上创建的所有数据库的模板或原型 每当创建数据库时,model数据库的内容就被拷贝到新的数据库中 Msdb 包含任务调度、异常处理和报警处理等,68,学习幻灯,建立数据库,在建立用户逻辑组件之前(如基本表)必须首先建立数据库。而建立数据库时完成的最实质任务是向操作系统申请用来存储数据库数据的物理磁盘存储空间。这些存储空间以操作系统文件的方式体现,它们的相关信息将存储在master数据库及其系统表中。 存储数据库数据的操作系统文件可以分为三类 文件组的概念 建立SQL Server数据库的两种方法: 可以在SQL Server M
21、anagement Studio中以图形界面的方式或命令方式完成。 CREATE DATABASE命令常用格式,69,学习幻灯,SQL Server的三种物理文件,主数据文件(扩展名为.MDF) 存储数据库的启动信息和系统表,主文件也可以用来存储用户数据。每个数据库都包含一个主文件。 辅助数据文件(扩展名为.NDF) 保存所有主文件中容纳不下的数据。如果主文件大到足以容纳数据库中的所有数据,这时候可以没有次文件。而如果数据库非常大,也可以有多个次文件。使用多个独立磁盘驱动器上的次文件,还可以将一个数据库中的数据分布在多个物理磁盘上。 事务日志文件(扩展名为.LDF) 用来保存恢复数据库的日志信
22、息。每个数据库必须至少有一个事务日志文件(尽管可以有多个,70,学习幻灯,SQL Server 2005 数据库存储结构,由下图可知,SQL Server的数据库是由文件组成,而文件是由盘区组成,盘区是由页面组成的,71,学习幻灯,主文件组:主文件组包含主要数据库文件和任何没有明确指派给其他文件组的其他文件。数据库的系统表都包含在主文件组中。 用户定义文件组:用户定义文件组是在CREATE DATABASE或ALTER DATABASE语句中,使用FILEGROUP关键字指定的文件组,数据库文件组,72,学习幻灯,一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。 主文件组中包
23、含了所有的系统表。当建立数据库时,主文件组包括主数据库文件和未指定组的其它文件。 在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在默认文件组中。如果没有指定默认文件组,则主文件组为默认文件组。 事务日志文件不属于任何文件组,文件组应用的规则,73,学习幻灯,CREATE DATABASE的常用格式,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,74,学习幻灯,CREATE DATABASE的常用格式,要建立的数据库的名称,数据库名称必须唯一,并且符合标识符的规
24、则,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,75,学习幻灯,CREATE DATABASE的常用格式,指定用来存储数据库的操作系统文件(存储在磁盘上的数据文件),该关键字后跟以逗号分隔的项列表,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,76,学习幻灯,CREATE DATABASE的常用格式,用于定义对应的操作系统文件的属性。包括: PRIMARY (
25、NAME = logical_file_name, FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,为数据库指定主文件。一个数据库只能有一个主文件,如果没有指定PRIMARY,那么CREATE DATABASE语句中列出的第一个文件将成为主文件,77,学习幻灯,CREATE D
26、ATABASE的常用格式,用于定义对应的操作系统文件的属性。包括: PRIMARY (NAME = logical_file_name, FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,为定义的操作系统文件指定逻辑名称logical_file_name,该名称将由SQL Ser
27、ver管理和引用。该名称在数据库中必须唯一,并且符合标识符的规则,78,学习幻灯,CREATE DATABASE的常用格式,用于定义对应的操作系统文件的属性。包括: PRIMARY (NAME = logical_file_name, FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON ,
28、,.,指定要建立的操作系统文件名os_file_name,其中包含完整的路径名和文件名,并且不能指定压缩文件系统中的目录。注意:在建立数据库之前,为操作系统文件指定的目录路径必须存在,79,学习幻灯,CREATE DATABASE的常用格式,用于定义对应的操作系统文件的属性。包括: PRIMARY (NAME = logical_file_name, FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment,CREATE DATABASE data
29、base_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,指定所创建的操作系统文件的大小,单位可以是KB(千字节)、MB(兆字节)、GB(千兆字节)或TB(兆兆字节),默认是MB,80,学习幻灯,CREATE DATABASE的常用格式,用于定义对应的操作系统文件的属性。包括: PRIMARY (NAME = logical_file_name, FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth
30、_increment,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,指定定义的操作系统文件可以增长到的最大尺寸(max_size,81,学习幻灯,CREATE DATABASE的常用格式,用于定义对应的操作系统文件的属性。包括: PRIMARY (NAME = logical_file_name, FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growt
31、h_increment,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,指定定义的操作系统文件的增长增量,该项设置的结果不能超过MAXSIZE设置,82,学习幻灯,CREATE DATABASE的常用格式,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,用于定义用户文件组,filegroup_name是组名称,后续的项列表给出该组的文件描述。利用文件组可以将指定的逻
32、辑组件存储到指定的物理文件(在建立基本表的CREATE TABLE命令中有对文件组的引用,83,学习幻灯,CREATE DATABASE的常用格式,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,.,指定用来存储数据库日志的操作系统文件(日志文件),该关键字后跟以逗号分隔的项列表。 如果没有指定LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件大小总和的25,84,学习幻灯,建立数据库的例子,CREATE DATABASE 学生 ON ( NAME = student, FILENAME = c:mssqldatastudent.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = order_log, FILE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上街区合同标准文本
- 4人合同标准文本
- 住建部 合同标准文本
- 企业与饭堂合作合同标准文本
- 农村电车销售合同范例
- 代理销售提成合同范例
- 加盟锂电租赁合同范例
- 中铁建工钢材合同标准文本
- 2025年国网智慧车联网技术有限公司招聘3人(第一批)笔试参考题库附带答案详解
- 工会会员知识
- 英语语言学概论Chapter 2语音学练习附有答案
- 正反平衡供电煤耗计算方法介绍
- 330KV代席线29301不停电跨越铁路施工方案1解析
- 2001沪S313 SG系列消火栓箱
- 中国工艺美术史资料(田自秉)课件
- 施工现场防汛安全检查表
- 定子中心偏差及圆的调整
- 毕业设计 论文 基于plc的全自动洗衣机控制系统设计论文
- 员工通用请假条Excel模板
- 骨质疏松症ppt课件
- 陶瓷过滤机使用说明书(新)
评论
0/150
提交评论