SQLServer应用教程电子教案ch7_第1页
SQLServer应用教程电子教案ch7_第2页
SQLServer应用教程电子教案ch7_第3页
SQLServer应用教程电子教案ch7_第4页
SQLServer应用教程电子教案ch7_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、2022年7月4日第1页第第7章章 表表学习目标 本章重点本章内容2022年7月4日第2页学习目标学习目标l表是数据库中最基本、最重要、最核心的表是数据库中最基本、最重要、最核心的对象,是组织数据的方式,是实际存储数对象,是组织数据的方式,是实际存储数据的地方。其他许多数据库对象,例如索据的地方。其他许多数据库对象,例如索引、视图等,都是依附于表对象存在的。引、视图等,都是依附于表对象存在的。l从某种意义上可以这样说,管理数据库实从某种意义上可以这样说,管理数据库实际上就是管理数据库中的表。表结构的设际上就是管理数据库中的表。表结构的设计质量直接影响到数据库中数据的使用效计质量直接影响到数据库

2、中数据的使用效率。率。l本章全面讲述有关表的管理技术。本章全面讲述有关表的管理技术。2022年7月4日第3页本章重点本章重点l设计因素设计因素l特点和类型特点和类型l创建表创建表l修改表修改表l标识符列标识符列l已分区表已分区表2022年7月4日第4页本章内容本章内容7.1 概述概述7.2 表的基本特点和类型表的基本特点和类型7.3 创建和修改表创建和修改表7.4 已分区表已分区表7.5 上机练习上机练习7.6 习题习题2022年7月4日第5页本章内容本章内容7.1 概述概述7.2 表的基本特点和类型表的基本特点和类型7.3 创建和修改表创建和修改表7.4 已分区表已分区表7.5 上机练习上机

3、练习7.6 习题习题2022年7月4日第6页7.1 概述概述l设计数据库实际上就是设计数据库中的表。设计数据库实际上就是设计数据库中的表。l在设计数据库中的表时,目标是使用尽可在设计数据库中的表时,目标是使用尽可能少的表数量、每个表中包含尽可能少的能少的表数量、每个表中包含尽可能少的列数量来达到设计要求。列数量来达到设计要求。l合理的表结构,可以大大提高整个数据库合理的表结构,可以大大提高整个数据库数据查询效率。数据查询效率。2022年7月4日第7页考虑的因素考虑的因素 l因素一,考虑表将要存储哪些数据对象,绘制出因素一,考虑表将要存储哪些数据对象,绘制出ER图。图。 l因素二,考虑表中将要包

4、含的列,这些列的数据类型、精因素二,考虑表中将要包含的列,这些列的数据类型、精度等属性是什么?度等属性是什么? l因素三,考虑列的属性,例如哪些列允许空值,哪些列不因素三,考虑列的属性,例如哪些列允许空值,哪些列不允许空值?允许空值? l因素四,考虑表是否使用主键,如果使用,是在何处使用因素四,考虑表是否使用主键,如果使用,是在何处使用主键?主键? l因素五,考虑是否使用约束、默认值、规则,以及在何处因素五,考虑是否使用约束、默认值、规则,以及在何处使用这些对象?使用这些对象? l因素六,考虑是否使用外键,在何处使用外键?因素六,考虑是否使用外键,在何处使用外键?l因素七,考虑是否使用索引,在

5、何处使用索引,使用什么因素七,考虑是否使用索引,在何处使用索引,使用什么样的索引?样的索引? 2022年7月4日第8页本章内容本章内容7.1 概述概述7.2 表的基本特点和类型表的基本特点和类型7.3 创建和修改表创建和修改表7.4 已分区表已分区表7.5 上机练习上机练习7.6 习题习题2022年7月4日第9页7.2 表的基本特点和类型表的基本特点和类型l本节讲述两方面的内容,首先分析表的基本节讲述两方面的内容,首先分析表的基本特点,然后讨论表的分类方式和表的主本特点,然后讨论表的分类方式和表的主要类型。要类型。l这些内容是有效创建和使用表的基础。这些内容是有效创建和使用表的基础。2022年

6、7月4日第10页表的特点表的特点l表是关系模型中表示实体的方式,是用来组织和表是关系模型中表示实体的方式,是用来组织和存储数据、具有行列结构的数据库对象。一般而存储数据、具有行列结构的数据库对象。一般而言,表具有下面一些基本特点:代表实体、由行言,表具有下面一些基本特点:代表实体、由行和列组成、行和列的顺序是不重要的等等。下面,和列组成、行和列的顺序是不重要的等等。下面,详细讲述这些特点。详细讲述这些特点。l表代表实体,有唯一的名称,该名称用来确定实表代表实体,有唯一的名称,该名称用来确定实体。例如,在北京丽音家用电器制造公司的销售体。例如,在北京丽音家用电器制造公司的销售数据库中,有一个数据

7、库中,有一个orders表,如表表,如表7-1所示。所示。orders表中的数据表示了该公司的订单实体,也表中的数据表示了该公司的订单实体,也就是说该公司的订单信息都存储在该表中,该公就是说该公司的订单信息都存储在该表中,该公司的非订单信息或其他公司的订单信息都不会存司的非订单信息或其他公司的订单信息都不会存储在该表中。储在该表中。 2022年7月4日第11页行和列行和列l表是由行和列组成的,行有时也称为记录,列有时也称为表是由行和列组成的,行有时也称为记录,列有时也称为字段或域。每一行都是这种实体的一个完整描述,例如,字段或域。每一行都是这种实体的一个完整描述,例如,在表在表7-1中,订单代

8、号为中,订单代号为2009030563的这一行记录表示了的这一行记录表示了该公司的一个完整的订单信息。一行数据就是该实体的一该公司的一个完整的订单信息。一行数据就是该实体的一个实例。个实例。l表中的每一个字段都是对该实体的某种属性的描述,例如表中的每一个字段都是对该实体的某种属性的描述,例如客户代号列表示订单信息中的客户信息,订单日期列表示客户代号列表示订单信息中的客户信息,订单日期列表示订单信息中的签约日期。订单信息中的签约日期。l在表中,行的顺序可以是任意的,一般是按照数据插入的在表中,行的顺序可以是任意的,一般是按照数据插入的先后顺序存储的。在使用过程中,经常对表中的行或按照先后顺序存储

9、的。在使用过程中,经常对表中的行或按照索引进行排序,或在检索时使用排序语句。索引进行排序,或在检索时使用排序语句。l列的顺序也可以是任意的。列的顺序也可以是任意的。 2022年7月4日第12页表的类型表的类型l在在Microsoft SQL Server 2008系统中,按照表系统中,按照表的作用,可以把表分为的作用,可以把表分为4种类型,即普通表、已种类型,即普通表、已分区表、临时表和系统表。每一种类型的表都有分区表、临时表和系统表。每一种类型的表都有自己的作用和特点。自己的作用和特点。l普通表,又称标准表,就是我们通常提到的作为普通表,又称标准表,就是我们通常提到的作为数据库中存储数据的表

10、,是最经常使用的表的对数据库中存储数据的表,是最经常使用的表的对象,也是最重要、最基本的表。普通表经常简称象,也是最重要、最基本的表。普通表经常简称为表。其他类型的表都是有特殊用途的表,他们为表。其他类型的表都是有特殊用途的表,他们往往是在特殊应用环境下,为了提高系统的使用往往是在特殊应用环境下,为了提高系统的使用效率派生出来的表。效率派生出来的表。2022年7月4日第13页本章内容本章内容7.1 概述概述7.2 表的基本特点和类型表的基本特点和类型7.3 创建和修改表创建和修改表7.4 已分区表已分区表7.5 上机练习上机练习7.6 习题习题2022年7月4日第14页7.3 创建和修改表创建

11、和修改表l本节主要围绕创建和修改表展开讨论。本节主要围绕创建和修改表展开讨论。l内容包括创建表、增加和删除列、修改列内容包括创建表、增加和删除列、修改列的属性、设置标识符列、查看表的信息、的属性、设置标识符列、查看表的信息、删除表等。删除表等。2022年7月4日第15页创建表创建表l在在Microsoft SQL Server 2008系统中,既系统中,既可以使用可以使用CREATE TABLE语句创建表,也语句创建表,也可以使用可视化的可以使用可视化的SQL Server Management Studio图形工具。下面主要图形工具。下面主要研究如何使用研究如何使用CREATE TABLE语

12、句创建表。语句创建表。lCREATE TABLE语句是一种经常使用的创语句是一种经常使用的创建表的方法,也是一种最灵活、最强大的建表的方法,也是一种最灵活、最强大的创建表的方式。创建表的方式。2022年7月4日第16页【例例7-1】使用使用CREATE TABLE语语句创建句创建students表表 2022年7月4日第17页【例例7-2】使用使用CREATE TABLE语语句创建句创建orders表表 2022年7月4日第18页【例例7-3】使用使用CREATE TABLE语语句创建包含计算列的表句创建包含计算列的表 2022年7月4日第19页【例例7-4】使用使用CREATE TABLE语

13、语句创建全局临时表句创建全局临时表 2022年7月4日第20页增加或删除列增加或删除列l表创建之后,用户可以根据需要使用表创建之后,用户可以根据需要使用ALTER TABLE语句修改表的结构。在表中增加新列、删语句修改表的结构。在表中增加新列、删除已有的列是常见的修改表结构的操作。除已有的列是常见的修改表结构的操作。l当用户向表中添加一个新列时,当用户向表中添加一个新列时,Microsoft SQL Server为表中该列在已有数据的每一行中的相应为表中该列在已有数据的每一行中的相应位置插入一个数据值。位置插入一个数据值。l因此,当向表中增加一个新列时,最好为该新列因此,当向表中增加一个新列时

14、,最好为该新列定义一个默认约束,使该列有一个默认值。如果定义一个默认约束,使该列有一个默认值。如果该新列没有默认约束,并且表中已经有了其他数该新列没有默认约束,并且表中已经有了其他数据,那么必须指定该新列允许空值,否则系统将据,那么必须指定该新列允许空值,否则系统将产生一个错误信息。产生一个错误信息。2022年7月4日第21页【例例7-5】使用使用ALTER TABLE语句语句增加表中的列增加表中的列 2022年7月4日第22页【例例7-5】2022年7月4日第23页【例例7-6】使用使用ALTER TABLE语句语句删除表中的列删除表中的列 2022年7月4日第24页更改列的数据类型更改列的

15、数据类型l使用使用ALTER TABLE语句除了可以增加新列和删语句除了可以增加新列和删除列之外,还可以对列的属性进行更改。本节主除列之外,还可以对列的属性进行更改。本节主要讲述如何更改列的数据类型。使用要讲述如何更改列的数据类型。使用ALTER TABLE语句更改列的数据类型的基本语法形式如语句更改列的数据类型的基本语法形式如下所示:下所示: ALTER TABLE table_name ALTER COLUMN column_name new_type_namel在上面的语法中,在上面的语法中,table_name 参数指定将要更参数指定将要更改的表名称,改的表名称,ALTER COLUM

16、N子句用于指定将子句用于指定将要更改的列名称和新的数据类型名称,要更改的列名称和新的数据类型名称,column_name参数指定列名称,参数指定列名称,new_type_name参数指定新的数据类型名称。参数指定新的数据类型名称。2022年7月4日第25页【例例7-7】使用使用ALTER TABLE语句语句更改列的数据类型更改列的数据类型 2022年7月4日第26页标识符列标识符列l标识符列表示唯一地标识表中的每一行数标识符列表示唯一地标识表中的每一行数据的符号。据的符号。l在在Microsoft SQL Server 2008系统中,可系统中,可以创建两种类型的标识符列,即以创建两种类型的标

17、识符列,即IDENTITY列和列和ROWGUIDCOL列。列。l下面,详细研究这两种标识符列的创建和下面,详细研究这两种标识符列的创建和修改方式。修改方式。2022年7月4日第27页IDENTITY属性属性l使用使用IDENTITY属性的列是属性的列是IDENTITY列,列,每一个表中最多只能有一个每一个表中最多只能有一个IDENTITY列。列。l定义定义IDENTITY属性时需要指定两个值:种属性时需要指定两个值:种子值和增量值。这样,表中第一行的子值和增量值。这样,表中第一行的IDENTITY列的值是种子值,其他行的列的值是种子值,其他行的IDENTITY列的值是在前一行值的基础上增列的值

18、是在前一行值的基础上增加一个增量值得到的。加一个增量值得到的。2022年7月4日第28页【例例7-8】使用使用IDENTITY属性属性 2022年7月4日第29页ROWGUIDCOL列列lIDENTITY属性的作用范围是表。也就是说,在一属性的作用范围是表。也就是说,在一个指定的表中,个指定的表中,IDENTITY属性列的值不会有重复属性列的值不会有重复值。但是,不同的表之间是有可能存在值。但是,不同的表之间是有可能存在IDENTITY属性列的值相同的现象。在执行合并多个表的复属性列的值相同的现象。在执行合并多个表的复制操作中,这种现象是必须避免的。制操作中,这种现象是必须避免的。Micros

19、oft SQL Server系统提供的用于标识符列的系统提供的用于标识符列的ROWGUIDCOL属性可以解决这种问题。属性可以解决这种问题。lROWGUIDCOL列是全局唯一标识符列。每一个列是全局唯一标识符列。每一个表中最多可以创建一个表中最多可以创建一个ROWGUIDCOL列。列。 2022年7月4日第30页【例例7-9】使用使用ROWGUIDCOL列列 2022年7月4日第31页查看表的信息查看表的信息l表创建之后,可以使用许多函数、存储过程查看表创建之后,可以使用许多函数、存储过程查看有关表的各种信息。例如,有关表的各种信息。例如,COLUMNPROPERTY函数可以用于查看有关表函数

20、可以用于查看有关表中的列的信息,这些信息包括是否为空、是否为中的列的信息,这些信息包括是否为空、是否为计算得到的列、是否具有计算得到的列、是否具有IDENTITY属性、是否为属性、是否为ROWGUIDCOL列等。列等。sp_depends存储过程用存储过程用于查看指定表的依赖对象,这些依赖对象包括依于查看指定表的依赖对象,这些依赖对象包括依赖于表的视图、存储过程等。赖于表的视图、存储过程等。l另外,使用另外,使用sp_help存储过程可以查看有关表结存储过程可以查看有关表结构的信息构的信息 2022年7月4日第32页删除表删除表l删除表就是将表中数据和表的结构从数据库中永久性地去删除表就是将表

21、中数据和表的结构从数据库中永久性地去除。表被删除之后,就不能再恢复该表的定义。除。表被删除之后,就不能再恢复该表的定义。l删除表可以使用删除表可以使用DROP TABLE语句来完成,该语句的语语句来完成,该语句的语法形式如下:法形式如下: DROP TABLE table_namel不能使用不能使用DROP TABLE语句删除正在被其他表中的外键语句删除正在被其他表中的外键约束参考的表。当需要删除这种有外键约束参考的表时,约束参考的表。当需要删除这种有外键约束参考的表时,必须首先删除外键约束,然后才能删除该表。表的所有者必须首先删除外键约束,然后才能删除该表。表的所有者可以删除自己的表。当删除

22、表时,绑定在该表上的规则和可以删除自己的表。当删除表时,绑定在该表上的规则和默认将失掉绑定。属于该表的约束或触发器则自动地被删默认将失掉绑定。属于该表的约束或触发器则自动地被删除。如果重新创建表时,必须重新绑定相应的规则和默认、除。如果重新创建表时,必须重新绑定相应的规则和默认、重新创建触发器和增加必要的约束。重新创建触发器和增加必要的约束。2022年7月4日第33页使用可视化工具执行有关表的操作使用可视化工具执行有关表的操作l在在Microsoft SQL Server 2008系统中,可系统中,可以使用可视化工具执行有关表的操作,这以使用可视化工具执行有关表的操作,这些操作包括创建表、修改

23、表的结构、查看些操作包括创建表、修改表的结构、查看依赖关系、查看有关属性信息等。依赖关系、查看有关属性信息等。2022年7月4日第34页【例例7-10】使用使用SQL Server Management Studio 2022年7月4日第35页本章内容本章内容7.1 概述概述7.2 表的基本特点和类型表的基本特点和类型7.3 创建和修改表创建和修改表7.4 已分区表已分区表7.5 上机练习上机练习7.6 习题习题2022年7月4日第36页7.4 已分区表已分区表l已分区表是指按照数据水平方式分区,将数据分已分区表是指按照数据水平方式分区,将数据分布于一个数据库的多个不同的文件组中。在对数布于一个数据库的多个不同的文件组中。在对数据进行查询或更新时,这些已分区表将被视为独据进行查询或更新时,这些已分区表将被视为独立的逻辑单元。立的逻辑单元。l通过采用分区技术,对于数据子集执行的维护操通过采用分区技术,对于数据子集执行的维护操作只是针对所需数据而不是整个表,因此可以高作只是针对所需数据而不是整个表,因此可以高效率地管理和

温馨提示

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

评论

0/150

提交评论