第2章关系数据库基础精.ppt
第第2章关系数据库基章关系数据库基础础第1页,本讲稿共95页本章学习目标本章学习目标 深刻理解关系的定义和关系的基本性质,理解相应的概念和术语;深刻理解关系模型及其三个要素;深刻理解关系完整性约束;掌握关系代数的基本运算和应用;了解SQL Server的基本架构和基本构成;掌握SQL Server数据库的存储结构和建立数据库的方法。第2页,本讲稿共95页本章重点难点本章重点难点本章学习的重点是围绕关系数据模型的关系数据模型的基基本概念、本概念、深刻理解深刻理解关系数据模型的三个要关系数据模型的三个要素素和和关系完整性约束关系完整性约束,为以后设计、使用和管理关系数据库奠定一个良好基础。本章学习的难点是理解关系完整性约束的关系完整性约束的概念及其作用概念及其作用。第3页,本讲稿共95页2.1 关系概念关系概念 关系通俗的讲就是二维表格二维表格,也是人们在日常生活中最常见到的表格数据。关系的基本概念源于数学。关系的形式定义,以及相关的概念和术语。第4页,本讲稿共95页 设D1,D2,Dn为任意集合,定义D1,D2,Dn 的笛卡儿积为:其中集合的每一个元素(d1,d2,dn)称作一个n元组,简称元组,元组中每一个di称作元组的一个分量。笛卡儿积(定义)(定义)第5页,本讲稿共95页举例举例D1=s2,s4,s7,s9 D2=管理学,经济学,运筹学 则D1D2=(s2,管理学),(s2,经济学),(s2,运筹学),(s4,管理学),(s4,经济学),(s4,运筹学),(s7,管理学),(s7,经济学),(s7,运筹学),(s9,管理学),(s9,经济学),(s9,运筹学)第6页,本讲稿共95页排列成表格排列成表格笛卡儿积是二维表格?笛卡儿积是二维表格?第7页,本讲稿共95页形式化的关系定义形式化的关系定义 笛卡儿积D1D2 Dn的任意一个子集任意一个子集称为D1,D2,Dn上的一个n元关系。第8页,本讲稿共95页关系是笛卡尔积的子集、是表格关系是笛卡尔积的子集、是表格取子集,并将D1、D2分别命名为学号和课程名称第9页,本讲稿共95页关系性质关系性质1每一分量必须是不可分的最小数据项,即每一分量必须是不可分的最小数据项,即每个属性都是不可再分解的每个属性都是不可再分解的父父母母孩子孩子李男王男丁女肖女李一李二王一父父母母孩子孩子大大小小李男王男丁女肖女李一王一李二父父母母孩子孩子李男李男王男丁女丁女肖女李一李二王一父父母母大孩大孩小孩小孩李男王男丁女肖女李一王一李二非规范化关系非规范化关系规范化关系规范化关系第10页,本讲稿共95页关系性质关系性质2列的个数和每列的数据类型是固定的,即每列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域一列中的分量是同类型的数据,来自同一个值域学号学号 姓名姓名 性别性别年龄年龄曾用名曾用名0101张三男20张狗子0102李四女18李朋王五0103119王麻子0104赵六21981/2/28赵薇第11页,本讲稿共95页关系性质关系性质3不同的列可以出自同一个值域,每一不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名列称为属性,每个属性要给予不同的属性名学号学号 姓名姓名 性别性别年龄年龄姓名姓名0101张三男20张狗子0102李四女18李朋0103王五男19王麻子0104赵六女20赵薇姓名姓名2曾用名曾用名第12页,本讲稿共95页关系性质关系性质4列的顺序是无关紧要的,即列的次序可以任列的顺序是无关紧要的,即列的次序可以任意交换意交换学号学号姓名姓名性别性别年龄年龄曾用名曾用名0101张三男20张狗子0102李四女18李朋0103王五男19王麻子0104赵六女20赵薇学号学号姓名姓名曾用名曾用名性别性别年龄年龄0101张三张狗子男200102李四李朋女180103王五王麻子男190104赵六赵薇女20第13页,本讲稿共95页关系性质关系性质5元组不可以重复,即在一个关系中任意两元组不可以重复,即在一个关系中任意两个元组不能完全一样个元组不能完全一样学号学号 姓名姓名 性别性别年龄年龄姓名姓名0101张三男20张狗子0102李四女18李朋0103王五男19王麻子0104赵六女20赵薇0101张三男20张狗子重复的重复的元组元组重复的重复的元组元组!第14页,本讲稿共95页关系性质关系性质6行的顺序是无关紧要的,即行的次序可以任行的顺序是无关紧要的,即行的次序可以任意交换意交换学号学号姓名姓名性别性别 年龄年龄0101张三男200102李四女180103王五男190104赵六女20学号学号姓名姓名 性别性别 年龄年龄0104赵六女200101张三男200103王五男190102李四女18第15页,本讲稿共95页基本概念和术语基本概念和术语关系 属性 值域 元组 分量 关系模式 关系模型关系数据库 候选关键字 主关键字主属性非主属性第16页,本讲稿共95页关系数据模型实例学号学号姓名姓名性别性别年龄年龄籍贯籍贯0101李勇男20江苏0102刘晨女19山东0103王明女20北京0199张立男18陕西学生人事记录表学生人事记录表学生人事记录表学生人事记录表关系名关系名关关系系元组元组(行行)属性属性(列列)主关主关键字键字男女值域值域分量分量关系模式:学生(学生(学生(学生(学号学号学号学号、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)属性名属性名第17页,本讲稿共95页参照关系与被参照关系参照关系与被参照关系外部关键字 参照关系被参照关系 第18页,本讲稿共95页参照关系与被参照关系参照关系与被参照关系学号学号姓名姓名所在系所在系0101010201030104张三李四王五赵六计算机计算机计算机计算机课程号课程号课程名课程名学时数学时数C01C02C03C04高等数学数据结构操作系统数据库100708060学号学号课程号课程号成绩成绩01010101010201040104C01C02C04C04C039080908570学生学生课程课程选修选修第19页,本讲稿共95页思考题思考题 值域是个什么概念?它和列有什么关系?关系有哪些基本性质?如果有表格或二维表不满足其中的某个性质,这样的表格或二维表是关系吗?讨论关系、关系模式、关系模型、关系数据库的概念。讨论属性、值域、元组、分量的概念。讨论主属性、非主属性、候选关键字、主关键字、外部关键字的概念。讨论参照关系、被参照关系的概念。第20页,本讲稿共95页2.2 关系数据模型关系数据模型 关系数据模型就是用关系来表示现实世界中实体以及实体和实体之间的联系的数据模型。第21页,本讲稿共95页关系数据模型的三要素关系数据模型的三要素关系数据结构关系数据结构关系数据操作关系数据操作关系数据完整性约束关系数据完整性约束第22页,本讲稿共95页关系数据结构关系数据结构如何表示现实世界中的实体及其联系?在关系数据模型中,现实世界中的实体及实体与实体之间的联系均用关系关系来表示。第23页,本讲稿共95页关系操作集合关系操作集合在关系上能进行哪些操作?传统的集合运算专门的关系运算关系数据操作 第24页,本讲稿共95页关系完整性约束关系完整性约束在数据库中数据完整性是指保证数据正确正确的特性。数据完整性是一种语义概念,它包括两方面的内容:与现实世界中应用需求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。第25页,本讲稿共95页关系完整性约束关系完整性约束 实体完整性参照完整性用户定义完整性 第26页,本讲稿共95页实体完整性规则 实体完整性是要保证关系中的每个元组都是实体完整性是要保证关系中的每个元组都是可识别可识别和和唯一唯一的。的。实实体体完完整整性性规规则则要要求求关关系系中中元元组组的的主主关关键键字字的的值值必必须须唯唯一一,不可以为空值不可以为空值。关系数据库管理系统用关系数据库管理系统用主关键字主关键字实现实体完整性。实现实体完整性。返回第27页,本讲稿共95页参照完整性规则参照完整性规则现实世界中的实体间存在着某种联系,现实世界中的实体间存在着某种联系,而在关系模型中实体是用关系描述的、而在关系模型中实体是用关系描述的、实体之间的联系也是用关系描述的,这实体之间的联系也是用关系描述的,这样就自然存在着关系和关系之间的样就自然存在着关系和关系之间的参照参照或或引用引用。第28页,本讲稿共95页什么是参照完整性?什么是参照完整性?职工号职工号 部门编号部门编号 姓名姓名9801980298039804980501010203张三李四王五赵六钱七部门编号部门编号部门名称部门名称01020304经理办公室人事部公关部技术部职工表职工表(R2)部门表部门表(R1)主关键字主关键字外部关键字外部关键字第29页,本讲稿共95页参照完整性规则参照完整性规则 如如果果属属性性(或或属属性性组组)F是是关关系系R的的外外部部关关键键字字,它它与与关关系系S的的主主关关键键字字K相相对对应应,则则对对于于关关系系R中中每每个个元元组在属性(或属性组)组在属性(或属性组)F上的值必须为:上的值必须为:或者取空值(或者取空值(F的每个属性均为空值);的每个属性均为空值);或者等于或者等于S中某个元组的主关键字的值。中某个元组的主关键字的值。第30页,本讲稿共95页用户定义完整性用户定义完整性 一种与应用密切相关的数据完整性约束,如一种与应用密切相关的数据完整性约束,如某个属性的值必须唯一某个属性的值必须唯一 某个属性的取值必须在某个范围内某个属性的取值必须在某个范围内 某些属性值之间应该满足一定的函数关系等某些属性值之间应该满足一定的函数关系等 类似以上的约束不是关系数据模型本身所要求的,而是为了满足类似以上的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求而提出的应用方面的语义要求而提出的在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,所以在用户定义完整性中最常见的是域完整性约束。所以在用户定义完整性中最常见的是域完整性约束。第31页,本讲稿共95页完整性约束的作用完整性约束的作用 执行插入操作时检查完整性执行插入操作时检查完整性 执行插入操作时需要分别检查实体完整性规则、参照完整性规则执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。和用户定义完整性规则。执行删除操作时检查完整性执行删除操作时检查完整性 执行删除操作时一般只需要检查参照完整性规则。执行删除操作时一般只需要检查参照完整性规则。执行更新操作时检查完整性执行更新操作时检查完整性 执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。以执行更新操作时的完整性检查综合了上述两种情况。第32页,本讲稿共95页思考题思考题 什么是数据模型?什么是关系数据模型?关系数据模型有哪几个要素?并说明这些要素所包含的内容。讨论实体完整性规则,它涉及哪些概念?讨论参照完整性规则,它涉及哪些概念?用户定义完整性可以完成哪些方面的约束?分别讨论实体完整性约束和参照完整性约束是如何实现的。讨论关系完整性约束在保证数据正确性方面是如何发生作用的?第33页,本讲稿共95页2.3 关系代数关系代数 关系代数是实现关系操作的一种方法,是理解关系操作的基础。传统的集合运算并运算交运算差运算广义笛卡尔积专门的关系运算选择运算投影运算连接运算除运算第34页,本讲稿共95页传统的集合运算传统的集合运算集合的并运算集合的交运算集合的交运算1.关系并运算(关系并运算(RS)a)运算表示:RS=t|tR tSb)两个(同类同类)关系的所有元组合并,删去重复的元组。2.关系差运算(关系差运算(RS)a)运算表示:R S=t|tR tSb)由属于R而不属于S的所有元组组成的集合,即在R中删去与S相同的元组。3.关系交运算(关系交运算(RS)a)运算表示:R S=t|tR tSb)既属于R又属于S的元组的集合,即取相同的元组。第35页,本讲稿共95页传统的集合运算举例传统的集合运算举例第36页,本讲稿共95页关系并运算关系并运算A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 2 ca 4 db 4 ca 6 dRSRS第37页,本讲稿共95页关系差运算关系差运算A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 2 cRSRS第38页,本讲稿共95页关系交运算关系交运算A B Ca 2 ca 4 db 4 cA B Ca 4 da 6 db 4 cA B Ca 4 db 4 cRSRS第39页,本讲稿共95页设R为m元关系,S为n元关系,并且 r=(r1,r2,rm)R s=(s1,s2,sn)S 则 称为元组的连串。这是一个(m+n)元组,前m个分量为R中的一个m元组,后n个分量为S中的一个n元组。元组的连串元组的连串第40页,本讲稿共95页集合的广义笛卡尔积运算集合的广义笛卡尔积运算设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积RS是一个m+n元关系、有kl个元组。广义笛卡儿积可以记作:第41页,本讲稿共95页广义笛卡尔积举例:广义笛卡尔积举例:A B Ca 2 ca 4 db 4 cD E Fa 4 da 6 db 4 cA B C D E Fa 2 c a 4 da 2 c a 6 da 2 c b 4 ca 4 d a 4 da 4 d a 6 da 4 d b 4 cb 4 c a 4 db 4 c a 6 db 4 c b 4 cRSRS第42页,本讲稿共95页专门关系运算专门关系运算 选择运算投影运算连接运算除运算第43页,本讲稿共95页选择运算选择运算 从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。其中R是关系名,r是元组,是选择运算符,F是结果为“真”的逻辑表达式。第44页,本讲稿共95页选择运算举例:选择运算举例:职工号=E3(订购单)订购单 从订购单关系中选择职工号为“E3”的元组构成新的关系第45页,本讲稿共95页投影运算投影运算 对指定的关系选择列产生一个新关系。A(R)=r.A|rR 其中R是关系名,是投影运算符,A是被投影的属性或属性集,r.A(或rA)表示r这个元组中相应于属性A的一个分量。根据关系的性质结果中要去掉重复行。第46页,本讲稿共95页投影运算举例:投影运算举例:订购单关系 选取职工号和供应商号两列构成新的关系职工号,供应商号(订购单)第47页,本讲稿共95页举例:举例:从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号。订购单关系供应商号,订购单号(职工号=E3(订购单)第48页,本讲稿共95页连接运算连接运算 连接相互之间有联系的两个关系。连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为连接属性。第49页,本讲稿共95页连接运算连接运算 一般的连接运算也称为连接运算,是比较运算符。连接一般表示为:这里Ai是R中的属性,Bj是S中的属性,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等。第50页,本讲稿共95页连接运算连接运算AB Ca12 ca24 da34 cDEd4e10AB C DEa12 cd4a12 ce10a24 de10a34 ce10RSA B C DEa12 cd4a12 ce10a24 dd4a24 de10a34 cd4a34 ce10RSB”、“”等)。讨论除运算的实际含义和用途。在介绍的关系代数运算中,哪些运算是基本运算?哪些运算可以用其他运算推导出来?第63页,本讲稿共95页2.4 关系数据库管理系统关系数据库管理系统SQL Server介绍介绍 目前广泛使用的是关系数据库管理系统,其中微软公司的SQL Server、甲骨文公司的Oracle、赛贝斯公司的Sybase和IBM公司的DB2等大型数据库管理系统占领了市场的大部分份额。第64页,本讲稿共95页SQL Server的基本结构的基本结构SQL Server的最新版本是SQL Server 2012。现在的数据库管理系统已经不仅仅包含数据的存储、管理、操作和查询功能,它还提供越来越多的各种数据服务功能。第65页,本讲稿共95页SQL ServerSQL Server的数据库结构的数据库结构 每个SQL Server实例包括四个系统数据库(master、model、tempdb和msdb)以及一个或多个用户数据库。数据库是建立在操作系统文件上的,SQL Server在发出CREATE DATABASE命令建立数据库时,会同时发出建立操作系统文件、申请物理存储空间的请求;当CREATE DATABASE命令成功执行后,在物理上和逻辑上都建立了一个新的数据库;然后就可以在数据库中建立各种用户所需要的逻辑组件,如基本表、视图等。第66页,本讲稿共95页SQL Server实例实例在每台服务器上运行的SQL Server称为一个SQL Server实例。一个企业在网络上运行的多个SQL Server实例可以统一进行管理。每个SQL Server实例都有自己的系统数据库,可以建立多个用户数据库。第67页,本讲稿共95页系统数据库及其作用系统数据库及其作用Master记录所有其它的数据库,其中包括数据库文件的位置记录了所有SQL Server服务器特定的配置信息Tempdb保存所有的临时表和临时存储过程 为全局资源,SQL Server 每次启动时都重新创建 Model用作在系统上创建的所有数据库的模板或原型 每当创建数据库时,model数据库的内容就被拷贝到新的数据库中Msdb包含任务调度、异常处理和报警处理等 第68页,本讲稿共95页建立数据库建立数据库 在建立用户逻辑组件之前(如基本表)必须首先建立在建立用户逻辑组件之前(如基本表)必须首先建立数据库。而建立数据库时完成的最实质任务是向操作数据库。而建立数据库时完成的最实质任务是向操作系统申请用来存储数据库数据的物理磁盘存储空间。系统申请用来存储数据库数据的物理磁盘存储空间。这些存储空间以操作系统文件的方式体现,它们的相这些存储空间以操作系统文件的方式体现,它们的相关信息将存储在关信息将存储在mastermaster数据库及其系统表中。数据库及其系统表中。存储数据库数据的操作系统文件可以分为三类存储数据库数据的操作系统文件可以分为三类 文件组的概念文件组的概念建立建立SQL ServerSQL Server数据库的两种方法:数据库的两种方法:可以在可以在SQL Server Management Studio中以图形中以图形界面的方式或命令方式完成。界面的方式或命令方式完成。CREATE DATABASECREATE DATABASE命令常用格式命令常用格式 第69页,本讲稿共95页SQL ServerSQL Server的三种物理文件的三种物理文件主数据文件(扩展名为主数据文件(扩展名为.MDF.MDF)存储数据库的启动信息和系统表,主文件也可以用来存储用存储数据库的启动信息和系统表,主文件也可以用来存储用户数据。每个数据库都包含一个主文件。户数据。每个数据库都包含一个主文件。辅助数据文件(扩展名为辅助数据文件(扩展名为.NDF.NDF)保存所有主文件中容纳不下的数据。如果主文件大到足以容纳数保存所有主文件中容纳不下的数据。如果主文件大到足以容纳数据库中的所有数据,这时候可以没有次文件。而如果数据库非常大,据库中的所有数据,这时候可以没有次文件。而如果数据库非常大,也可以有多个次文件。使用多个独立磁盘驱动器上的次文件,还可以也可以有多个次文件。使用多个独立磁盘驱动器上的次文件,还可以将一个数据库中的数据分布在多个物理磁盘上。将一个数据库中的数据分布在多个物理磁盘上。事务日志文件(扩展名为事务日志文件(扩展名为.LDF.LDF)用来保存恢复数据库的日志信息。每个数据库必须至少有一个事用来保存恢复数据库的日志信息。每个数据库必须至少有一个事务日志文件(尽管可以有多个)。务日志文件(尽管可以有多个)。第70页,本讲稿共95页SQL Server 2005 数据库存储结构数据库存储结构由下图可知,SQL Server的数据库是由文件组成,而文件是由盘区组成,盘区是由页面组成的 SQL Sever数据库数据文件.mdf或.ndf日志文件.ldf盘区(8个连续页面)页面(8KB)最大长度为8060字节表或索引第71页,本讲稿共95页主文件组:主文件组包含主要数据库文件和任何没有明确指派给其他文件组的其他文件。数据库的系统表都包含在主文件组中。用户定义文件组:用户定义文件组是在CREATE DATABASE或ALTER DATABASE语句中,使用FILEGROUP关键字指定的文件组。数据库文件组数据库文件组第72页,本讲稿共95页一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。主文件组中包含了所有的系统表。当建立数据库时,主文件组包括主数据库文件和未指定组的其它文件。在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在默认文件组中。如果没有指定默认文件组,则主文件组为默认文件组。事务日志文件不属于任何文件组。文件组应用的规则文件组应用的规则第73页,本讲稿共95页CREATE DATABASE的常用格式的常用格式 CREATE DATABASE database_name ON ,.,FILEGROUP filegroup_name ,.LOG ON ,.第74页,本讲稿共95页CREATE DATABASE的常用格式的常用格式要建立的数据库的名称,数据库名称必须唯一,并且符合标识符的规则。CREATE DATABASE database_name ON ,.,FILEGROUP filegroup_name ,.LOG ON ,.第75页,本讲稿共95页CREATE DATABASE的常用格式的常用格式指定用来存储数据库的操作系统文件(存储在磁盘上的数据文件),该关键字后跟以逗号分隔的项列表。CREATE DATABASE database_name ON ,.,FILEGROUP filegroup_name ,.LOG ON ,.第76页,本讲稿共95页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语句中列出的第一个文件将成为主文件。第77页,本讲稿共95页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管理和引用。该名称在数据库中必须唯一,并且符合标识符的规则。第78页,本讲稿共95页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,其中包含完整的路径名和文件名,并且不能指定压缩文件系统中的目录。注意:在建立数据库之前,为操作系统文件指定的目录路径必须存在。第79页,本讲稿共95页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。第80页,本讲稿共95页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)。第81页,本讲稿共95页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设置。第82页,本讲稿共95页CREATE DATABASE的常用格式CREATE DATABASE database_name ON ,.,FILEGROUP filegroup_name ,.LOG ON ,.用于定义用户文件组,filegroup_name是组名称,后续的项列表给出该组的文件描述。利用文件组可以将指定的逻辑组件存储到指定的物理文件(在建立基本表的CREATE TABLE命令中有对文件组的引用)。第83页,本讲稿共95页CREATE DATABASE的常用格式CREATE DATABASE database_name ON ,.,FILEGROUP filegroup_name ,.LOG ON ,.指定用来存储数据库日志的操作系统文件(日志文件),该关键字后跟以逗号分隔的项列表。如果没有指定LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件大小总和的25%。第84页,本讲稿共95页建建立立数数据据库库的的例例子子CREATE DATABASE 学生ON(NAME=student,FILENAME=c:mssqldatastudent.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME=order_log,FILENAME=d:mssqllogstudent.ldf,SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)第85页,本讲稿共95页思考题思考题 SQL Server除了是数据库管理系统,它还具有哪些功能和特点?通过SQL Server的数据库存储结构理解大型数据库系统的存储方法。讨论SQL Server的CREATE DATABASE命令各个短语的作用。第86页,本讲稿共95页本章小结本章小结 关系数据库的基本概念和基础理论 关系模型及其三个要素 关系代数 关系数据库管理系统SQL Server 第87页,本讲稿共95页实验实验1 建立数据库建立数据库在SQL Server环境下用CREATE DATABASE命令建立数据库 具体要求见教材第88页,本讲稿共95页例题例题1:求:RS,RS,RS,RS,A,B(R),AB(R)ABCabcbadcdedfgABCbaddfgfhkRS第89页,本讲稿共95页例题例题2:求:R与S的自然连接ABCabcbadcdedfgfhkACDacddfgcekbdgRS第90页,本讲稿共95页例题例题3:求:求:RSABCDabcdabefabhkbdefbddlckcdckefCDcdefRS第91页,本讲稿共95页关系运算举例:关系运算举例:SNOSNAMEAGESEXDEPS1Smith20MCSS2Lisa21FCSS3Bob19MMAS4Linda19FCIS5Ann20FMAS6Jim22MCSSSNOCNOGRADES1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C3BS4C5DS5C2CS5C3BS5C5BS6C4AS6C5ASC1.求选修课程号为C2课程的学号和成绩2.求选修课程号为C2课程的学号和姓名3.求选修课程号为C2或C4的学号4.求至少选修课程号为C1和C2的学号5.求不修C2课程的学号6.求选修了全部课程的学号和姓名7.求所学课包含S3所学课程的学号第92页,本讲稿共95页931、学生信息(学号、姓名、系别、身份证号)(1)候选关键字(2)主关键字(3)主属性(4)非主属性2、选课情况(学号、课程号、成绩)(1)候选关键字(2)主关键字(3)主属性(4)非主属性(5)外部关键字3、课程信息(课程号、课程名、学分)(1)候选关键字(2)主关键字(3)主属性(4)非主属性学号姓名系别身份证号981201王国年王国年计算机系计算机系1101981202李玲李玲计算机系计算机系1102982103刘洪斌刘洪斌信息系信息系11017982104方华方华信息系信息系11015学号课程号成绩981201C180981201C278981202C190982103C288课程号课程名学分C1数据库3C2VB2C3操作系统3第93页,本讲稿共95页944、教师(教师号,教师名,所在系,职称)(1)主关键字:5:销售表(产品号,销售时间,销售数量)语义:同一种产品可以在不同时间销售多次,同一个时间可以销售不同的产品,但在同一个时间对同一种产品只能销售一次。(1)主关键字产品号品号销售售时间销售数量售数量15.1216.1026.10第94页,本讲稿共95页总 结关系模型概述关系模型的三要素:数据结构、数据的操作和数据完整性约束关系操作的特点关系模型的基本概念关系的基本术语及其性质完整性的概念完整性规则:实体完整性规则、参照完整性规则、用户定义完整性规则关系代数五个基本操作:并、差、笛卡尔积、投影、选择四个组合操作:交、联接、自然联接、除法关系代数表达式的简单应用SQL ServerSQL Server数据库的存储结构数据库的创建命令第95页,本讲稿共95页