《关系数据库基础》PPT课件.ppt_第1页
《关系数据库基础》PPT课件.ppt_第2页
《关系数据库基础》PPT课件.ppt_第3页
《关系数据库基础》PPT课件.ppt_第4页
《关系数据库基础》PPT课件.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用与设计,第2章 关系数据库基础,关系数据库采用关系数据模型,已经历了30多年的发展,从理论到技术都已经非常成熟,是目前广泛使用的主流数据库系统,也是数据库课程要讲授的主要内容。本章主要包括关系的基本概念、关系数据模型、关系完整性约束和关系代数等内容。,数据库应用与设计,本章学习目标,深刻理解关系的定义和关系的基本性质,理解相应的概念和术语; 深刻理解关系模型及其三个要素; 深刻理解关系完整性约束; 掌握关系代数的基本运算和应用; 了解SQL Server的基本架构和基本构成; 掌握SQL Server数据库的存储结构和建立数据库的方法。,数据库应用与设计,本章重点难点,本章学习的重点是围绕关系数据模型的基本概念、深刻理解关系数据模型的三个要素和关系完整性约束,为以后设计、使用和管理关系数据库奠定一个良好基础。 本章学习的难点是理解关系完整性约束的概念及其作用。,数据库应用与设计,2.1 关系概念,关系通俗的讲就是二维表格,也是人们在日常生活中最常见到的表格数据。 关系的基本概念源于数学。 关系的形式定义,以及相关的概念和术语。,数据库应用与设计,设D1,D2,Dn为任意集合,定义D1,D2,Dn 的笛卡儿积为: 其中集合的每一个元素(d1,d2,dn)称作一个n元组,简称元组,元组中每一个di称作元组的一个分量。,笛卡儿积(定义),数据库应用与设计,举例,D1=s2,s4,s7,s9 D2=管理学,经济学,运筹学 则,D1D2=(s2,管理学),(s2,经济学),(s2,运筹学), (s4,管理学),(s4,经济学),(s4,运筹学), (s7,管理学),(s7,经济学),(s7,运筹学), (s9,管理学),(s9,经济学),(s9,运筹学),数据库应用与设计,排列成表格,笛卡儿积是二维表格?,数据库应用与设计,形式化的关系定义,笛卡儿积 的任意一个子集称为 上的一个n元关系。,数据库应用与设计,关系是笛卡尔积的子集、是表格,取子集,并将D1、D2分 别命名为学号和课程名称,数据库应用与设计,关系的性质,每一个分量必须是不可分的最小数据项。 列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域。 不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名。 列的顺序是无关紧要的,即列的次序可以任意交换,但一定是整体交换,属性名和属性值必须作为整列同时交换。 行的顺序是无关紧要的,即行的次序可以任意交换。 元组不可以重复,即在一个关系中任意两个元组不能完全一样。,数据库应用与设计,基本概念和术语,关系 属性 值域 元组 分量 关系模式 关系模型 关系数据库,候选关键字 主关键字,主属性 非主属性,数据库应用与设计,参照关系与被参照关系,外部关键字 参照关系 被参照关系,数据库应用与设计,思考题,为什么说关系的概念源于数学? 为什么把关系可以称作表格或二维表? 值域是个什么概念?它和列有什么关系? 关系有哪些基本性质?如果有表格或二维表不满足其中的某个性质,这样的表格或二维表是关系吗?,数据库应用与设计,思考题,讨论关系、关系模式、关系模型、关系数据库的概念。 讨论属性、值域、元组、分量的概念。 讨论主属性、非主属性、候选关键字、主关键字、外部关键字的概念。 讨论参照关系、被参照关系的概念。,数据库应用与设计,2.2 关系数据模型,关系数据模型就是用关系来表示现实世界中实体以及实体和实体之间的联系的数据模型。,数据库应用与设计,关系数据模型的三要素,关系数据结构 关系数据操作 关系数据完整性约束,数据库应用与设计,关系数据结构,如何表示现实世界中的实体及其联系? 在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系来表示。,数据库应用与设计,关系操作集合,在关系上能进行哪些操作?,传统的集合运算 专门的关系运算 关系数据操作,数据库应用与设计,关系完整性约束,在数据库中数据完整性是指保证数据正确的特性。数据完整性是一种语义概念,它包括两方面的内容: 与现实世界中应用需求的数据的相容性和正确性; 数据库内数据之间的相容性和正确性。,数据库应用与设计,关系完整性约束,实体完整性 参照完整性 用户定义完整性,数据库应用与设计,实体完整性规则,实体完整性的目的是要保证关系中的每个元组都是可识别和唯一的。,实体完整性规则:若属性A是关系R的主属性,则属性A不可以为空值。,空值?,数据库应用与设计,实体完整性,实体完整性是关系模型必须满足的完整性约束条件,也称作是关系的不变性。关系数据库管理系统可以用主关键字实现实体完整性(非主关键字的属性也可以说明为唯一和非空值的),这是由关系系统自动支持的。,数据库应用与设计,参照完整性规则,什么是参照完整性?,数据库应用与设计,参照关系和被参照关系,设F是关系R的一个属性或属性组,但不是关系R的关键字,另外有主关键字为K的关系S。如果关系R的属性或属性组F与关系S的主关键字K相对应,则称F是关系R的外部关键字,并称关系R是参照关系、S是被参照关系(或目标关系)。关系R和S可以是同一个关系。,数据库应用与设计,参照完整性规则,如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系R中每个元组在属性(或属性组)F上的值必须为: 或者取空值(F的每个属性均为空值); 或者等于S中某个元组的主关键字的值。,参照完整性也是关系模型必须满足的完整性约束条件,是关系的另一个不变性。,数据库应用与设计,用户定义完整性,满足用户特定需求的数据完整性约束: 属性的取值范围 属性值必须唯一 属性不可以取空值 属性之间必须满足某种关系 ,数据库应用与设计,思考题,什么是数据模型?什么是关系数据模型? 关系数据模型有哪几个要素?并说明这些要素所包含的内容。 讨论实体完整性规则,它涉及哪些概念? 讨论参照完整性规则,它涉及哪些概念? 用户定义完整性可以完成哪些方面的约束? 分别讨论实体完整性约束和参照完整性约束是如何实现的。 讨论关系完整性约束在保证数据正确性方面是如何发生作用的?,数据库应用与设计,2.3 关系代数,关系代数是实现关系操作的一种方法,是理解关系操作的基础。,传统的集合运算 并运算 交运算 差运算 广义笛卡尔积,专门的关系运算 选择运算 投影运算 连接运算 除运算,数据库应用与设计,集合的并运算,如果关系R和关系S都是n元关系,并且对应的属性出自同一个值域,则关系R和关系S的集合并运算可以记作: R S = t | t R t S ,数据库应用与设计,集合的交运算,如果关系R和关系S都是n元关系,并且对应的属性出自同一个值域,则关系R和关系S的集合交运算可以记作: R S = t | t R t S ,数据库应用与设计,集合的差运算,如果关系R和关系S都是n元关系,并且对应的属性出自同一个值域,则关系R和关系S的集合差运算可以记作:,数据库应用与设计,设R为m元关系,S为n元关系,并且 r=(r1,r2,rm)R s=(s1,s2,sn)S 则 称为元组的连串。这是一个(m+n)元组,前m个分量为R中的一个m元组,后n个分量为S中的一个n元组。,元组的连串,数据库应用与设计,集合的广义笛卡尔积运算,设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作:,数据库应用与设计,专门关系运算,选择运算 投影运算 连接运算 除运算,数据库应用与设计,选择运算,从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。,其中R是关系名,r是元组,是选择运算符,F是结果为“真”的逻辑表达式。,数据库应用与设计,对关系R选择学时为56的课程元组,数据库应用与设计,投影运算,对指定的关系选择列产生一个新关系 。,A(R)=r.A| rR,其中R是关系名,是投影运算符,A是被投影的属性或属性集,r.A(或rA)表示r这个元组中相应于属性A的一个分量。,根据关系的性质结果中要去掉重复行。,数据库应用与设计,对关系T选择“姓名和职称”两列进行投影,姓名,职称(T),数据库应用与设计,连接运算,连接相互之间有联系的两个关系。 连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为连接属性。,数据库应用与设计,连接运算,一般的连接运算也称为连接运算,是比较运算符。连接一般表示为:,这里Ai是R中的属性,Bj是S中的属性,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等。,数据库应用与设计,自然连接,连接运算中最常用的是自然连接:,自然连接是: 计算广义笛卡尔积RS; 选择满足条件rAi=sBj的所有元组; 去掉重复的属性。,和等值连接的区别?,数据库应用与设计,除运算,两个关系做除法运算,被除关系应该包含除关系中的列。,数据库应用与设计,映象集,设有关系模式R(X,Y),其中X、Y可以是单个属性,也可以是属性集,定义当X取值为x时,x在R中的映象集为:,假设“学时”属性为X,“课程名称”属性为Y,则当X取值为56时相应的映像集为?,数据库应用与设计,除法运算,设有关系R(X,Y)和S(Y),其中X、Y可以是单个属性或属性集,则除法运算定义为:,在被除关系中给定的x值所对应的那组y值如果包含了除关系中的所有y值,则x就在商关系中。 除运算经常用来完成至少包含了Y的查询,数据库应用与设计,除运算举例,至少学习了“数据库”和“运筹学”课程的学生,数据库 运筹学,结果为?,吴红霞 李丽,数据库应用与设计,思考题,为什么要学习、了解关系代数? 两个关系的并、交、差运算有什么约束?分别讨论它们的运算结果。 选择运算是一种什么运算?它可以完成什么查询运算? 投影运算是一种什么运算?它可以完成什么查询运算? 连接运算是一种什么运算?它可以完成什么查询运算?,数据库应用与设计,思考题,讨论自然连接和等值连接的关系。 讨论各种连接的含义(如为“”、“”等)。 讨论除运算的实际含义和用途。 在介绍的关系代数运算中,哪些运算是基本运算?哪些运算可以用其他运算推导出来?,数据库应用与设计,2.4 关系数据库管理系统SQL Server介绍,目前广泛使用的是关系数据库管理系统,其中微软公司的SQL Server、甲骨文公司的Oracle、赛贝斯公司的Sybase和IBM公司的DB2等大型数据库管理系统占领了市场的大部分份额。,数据库应用与设计,SQL Server的基本结构,SQL Server的最新版本是SQL Server 2008。现在的数据库管理系统已经不仅仅包含数据的存储、管理、操作和查询功能,它还提供越来越多的各种数据服务功能。,数据库应用与设计,SQL Server的数据库,数据库应用与设计,系统数据库及其作用,Master 主数据库 Model 模板数据库 Tempdb 临时数据库,数据库应用与设计,SQL Server实例,在每台服务器上运行的SQL Server称为一个SQL Server实例。 一个企业在网络上运行的多个SQL Server实例可以统一进行管理。 每个SQL Server实例都有自己的系统数据库,可以建立多个用户数据库。,数据库应用与设计,建立数据库,建立数据库的命令CREATE DATABASE 建立操作系统文件、申请物理存储空间 在物理上和逻辑上都建立了一个新的数据库 在数据库中创建各种数据库对象,数据库应用与设计,CREATE DATABASE的常用格式,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,. ,数据库应用与设计,CREATE DATABASE的常用格式,要建立的数据库的名称,数据库名称必须唯一,并且符合标识符的规则。,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,. ,数据库应用与设计,CREATE DATABASE的常用格式,指定用来存储数据库的操作系统文件(存储在磁盘上的数据文件),该关键字后跟以逗号分隔的项列表。,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,. ,数据库应用与设计,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 , ,. ,为数据库指定主文件。一个数据库只能有一个主文件,如果没有指定PRIMARY,那么CREATE DATABASE语句中列出的第一个文件将成为主文件。,数据库应用与设计,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 , ,. ,为定义的操作系统文件指定逻辑名称logical_file_name,该名称将由SQL Server管理和引用。该名称在数据库中必须唯一,并且符合标识符的规则。,数据库应用与设计,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 , ,. ,指定要建立的操作系统文件名os_file_name,其中包含完整的路径名和文件名,并且不能指定压缩文件系统中的目录。注意:在建立数据库之前,为操作系统文件指定的目录路径必须存在。,数据库应用与设计,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 , ,. ,指定所创建的操作系统文件的大小,单位可以是KB(千字节)、MB(兆字节)、GB(千兆字节)或TB(兆兆字节),默认是MB。,数据库应用与设计,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 , ,. ,指定定义的操作系统文件可以增长到的最大尺寸(max_size)。,数据库应用与设计,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 , ,. ,指定定义的操作系统文件的增长增量,该项设置的结果不能超过MAXSIZE设置。,数据库应用与设计,CREATE DATABASE的常用格式,CREATE DATABASE database_name ON , ,. , FILEGROUP filegroup_name , ,. LOG ON , ,. ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论