《数据库技术(SQLServer2005)电子教案.doc》由会员分享,可在线阅读,更多相关《数据库技术(SQLServer2005)电子教案.doc(847页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date数据库技术(SQLServer2005)电子教案内蒙古农业大学职业技术学院内蒙古农业大学职业技术学院教案课程:数据库技术 教师姓名 授课班级授课形式理论授课周数第1周授课时数2使用教具多媒体授课章节名称第一章 数据库的基本概念教学目的掌握数据库概念;学会安装、配置SQL Server 2005,并能连接到SQL Server 2005数据库。教学重点安装 SQL Se
2、rver 2005。教学难点学生对于SQL Server的许可授权选项会缺乏认识,教师需要加以说明;对于SQL Server的各个组件,学生还没有了解。教学内容1.1 数据库基本概念1.1.1 数据库与数据库管理系统1数据库(理解概念)数据库(DB)是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机上。从广义上讲,数据不仅包含数字,还包括了文本、图像、音频、视频等。2数据库管理系统数据库管理系统(DBMS)是管理数据库的系统,它按一定的数据模型组织数据。DBMS应提供如下功能:(理解)(1)数据定义功能(2)数据操纵功能(3)数据的完整性检查功能(4)数据库的安全保护功
3、能(5)数据库的并发控制功能(6)数据库系统的故障恢复功能(7)在网络环境下访问数据库的功能(8)方便、有效地存取数据库信息的接口和工具。数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员一起构成了一个完整的数据库系统。1.1.2关系模型(1)层次模型:以树形层次结构组织数据。(2)网状模型:每一个数据用一个节点表示,每个节点与其他节点都有联系,这样数据库中的所有数据节点就构成了一个复杂的网络。(3)关系模型:以二维表格(关系表)的形式组织数据库中的数据。(掌握)例如,学生成绩管理系统所涉及的“学生”、“课程”和“成绩”三个表中,“学生”表
4、涉及的主要信息有:学号、姓名、性别、出生时间、专业、总学分、备注;“课程”表涉及的主要信息有:课程号、课程名、开课学期、学时和学分;“成绩”表涉及的主要信息有:学号、课程号和成绩。 1.2 数据库设计1.2.1 概念结构设计(掌握画E-R模型方法)如果用矩形框表示实体集,用带半圆的矩形框表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记一斜线。 两个实体集A和B之间的联系可能是以下三种情况之一:1一对一的联系(11)A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。例如,“班级”与“正班长”这两个实体集之间的联系
5、是一对一的联系,因为一个班只有一个正班长,反过来,一个正班长只属于一个班。2一对多的联系(1n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如,“班级”与“学生”这两个实体集之间的联系是一对多的联系,因为一个班可有若干学生,反过来,一个学生只能属于一个班。3多对多的联系(mn)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。例如,“学生”与“课程”这两个实体集之间的联系是多对多的联系,因为一个学生可选多门课程,反过来,一门课程可被多个学生选修。1.2.2 逻辑结构设计(掌握E-R图到关系模式的转换方法)1(11)
6、联系的E-R图到关系模式的转换对于(11)的联系,既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。例如,考虑“班级(BJB)”与“正班长(BZB)”实体集通过属于(SYB)联系E-R模型可设计如下关系模式(下横线表示该字段为主码):BJB(班级编号, 院系, 专业, 人数)BZB(学号, 姓名)SYB(学号, 班级编号)(2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。例如,考虑 “班级(BJB)”与“正班长(BZB)
7、”实体集通过属于(SYB)联系E-R模型可设计如下关系模式:BJB(班级编号, 院系, 专业, 人数)BZB(学号, 姓名, 班级编号)或者:BJB(班级编号, 院系, 专业, 人数, 学号)BZB(学号, 姓名)2(1n)联系的E-R图到关系模式的转换对于(1n)的联系,既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。例如,考虑 “班级(BJB)”与“学生(XSB)”实体集E-R模型可设计如下关系模式:BJB(班级编号, 院系, 专业, 人数)XSB (学号, 姓
8、名, 性别, 出生时间, 专业, 总学分, 备注)SYB (学号, 班级编号)(2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。例如,“班级(BJB)”与“学生(XSB)”实体集E-R模型可设计如下关系模式:BJB(班级编号, 院系, 专业, 人数)XSB (学号, 姓名, 性别, 出生时间, 专业, 总学分, 备注, 班级编号)3(mn)联系的E-R图到关系模式的转换对于(mn)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。例如,“学生(XSB)
9、”与“课程(KCB)”实体集之间的联系可设计如下关系模式:XSB (学号, 姓名, 性别, 出生时间, 专业, 总学分, 备注)KCB (课程号, 课程名称, 开课学期, 学时, 学分)CJB (学号, 课程号, 成绩)关系模式CJB的主码是由“学号”和“课程号”两个属性组合起来构成的一个主码,一个关系模式只能有一个主码。至此,已介绍了根据E-R图设计关系模式的方法,通常将这一设计过程称为逻辑结构设计。在设计好一个项目的关系模式后,就可以在数据库管理系统环境下,创建数据库、关系表及其他数据库对象,输入相应数据,并根据需要对数据库中的数据进行各种操作。1.2.3 物理结构设计数据的物理模型即指数
10、据的存储结构,如对数据库物理文件、索引文件的组织方式、文件的存取路径、内存的管理等。物理模型对用户是不可见的,它不仅与数据库管理系统有关,还和操作系统甚至硬件有关。1.3 数据库应用系统1.3.1 数据库的连接方式(了解)1ODBC数据库接口2OLE DB数据库接口3ADO数据库接口4ADO.NET数据库接口5JDBC数据库接口6数据库连接池技术1.4 SQL Server 2005环境1.4.1 SQL Server 2005的安装(会安装SQL Server 2005)1检查计算机的软件、硬件配置为了正确安装和运行SQL Server 2005,计算机必须满足以下配置:(1)硬件:处理器:
11、需要 Pentium 兼容处理器或更高速度的处理器,600 MHz以上。内存:512 MB以上,建议1 GB或更大。硬盘:750MB的安装空间以及必要的数据预留空间。(2)软件:操作系统要求(32位):表1.5显示了不同的操作系统是否可以运行SQL Server 2005服务器软件的各个32位版本。网络软件要求:由于Windows 2003、Windows XP和Windows 2000都具有内置网络软件,所以用户无须进行额外的配置。Internet组件要求:SQL Server 2005的32位版本和64位版本的Internet要求是相同的。表1.6列出了SQL Server 2005的In
12、ternet要求。2SQL Server 2005的安装(给学生演示安装过程,边演示边讲解)1.4.2 SQL Server2005服务器组件(1)Database Engine。数据库引擎是SQL Server 2005用于存储、处理和保护数据的核心服务。(2)Reporting Services。SQL Server Reporting Services(报表服务,简称SSRS)是基于服务器的报表平台,可以用来创建和管理包含关系数据源和多维数据源中的数据的表格、矩阵、图形和自由格式的报表。(3)Analysis Services。SQL Server Analysis Services(分
13、析服务,简称SSAS)为商业智能应用程序提供联机分析处理(OLAP)和数据挖掘功能。(4)Integration Services。SQL Server Integration Services(集成服务,简称SSIS)主要用于清理、聚合、合并、复制数据的转换以及管理SSIS包。除此之外,它还提供包括生产并调试SSIS包的图形向导工具、用于执行FTP操作、电子邮件消息传递等工作流功能的任务。(5)Notification Services。SQL Server Notification Services(通知服务,简称SSNS)是用于开发和部署那些生成并发送通知的应用程序的环境,使用它可以生成
14、个性化消息,并发送给其他人或设备。课外作业P23 1,2,3,4,7课后体会学生对数据库的基本概念掌握的较好,安装SQL Server 2005有些同学出现一些问题,得到及时解决,整体教学效果良好。课程:数据库技术 顺序:教师姓名 授课班级授课形式理论授课周数第2周授课时数2使用教具多媒体授课章节名称第二章 数据库的创建教学目的掌握基本的数据库概念学会用两种方式创建、修改和删除数据库教学重点数据库结构介绍、创建数据库及文件组、使用Transact-SQL创建数据库和文件;教学难点用命令的方式创建、修改和删除数据库文件组、架构的概念往往在大型组织才需要用到,学生不易了解到其作用,学生缺乏规划相关
15、的企业场景和知识教学内容2.1 SQL Server数据库基本概念2.1.1 逻辑数据库(理解) SQL Server数据库是存储数据的容器,是一个存放数据的表和支持这些数据的存储、检索、安全性和完整性的逻辑成分所组成的集合。用户观点将数据库称为逻辑数据库,组成数据库的逻辑成分称为数据库对象。SQL Server 2005的数据库对象主要包括表、视图、索引、存储过程、触发器和约束等。(1)完全限定名。在SQL Server 2005中,完全限定名是对象的全名,包括四个部分:服务器名、数据库名、数据库架构名和对象名,其格式为:server.database.scheme.object(2)部分限
16、定名。在部分限定名中,未指出的部分使用以下默认值:服务器:默认为本地服务器。数据库:默认为当前数据库。数据库架构名:默认为dbo。例如,以下是一些正确的对象部分限定名:server.database.object /*省略架构名*/server. scheme.object /*省略数据库名*/database. scheme.object /*省略服务器名*/serverobject /*省略架构名和数据库名*/scheme.object /*省略服务器名和数据库名*/object /*省略服务器名、数据库名和架构名*/表:它是用来存储和操作数据的一种逻辑结构。视图:视图是从一个或多个基本表
17、中引出的表,数据库中只存放视图的定义而不存放视图对应的数据。索引:索引是一种不用扫描整个数据表就可以对表中的数据实现快速访问的途径,它是对数据表中的一列或者多列的数据进行排序的一种结构。表中的记录通常按其输入的时间顺序存放,这种顺序称为记录的物理顺序。为了实现对表记录的快速查询,可以对表的记录按某个和某些属性进行排序,这种顺序称为逻辑顺序。约束:约束机制保障了SQL Server 2005中数据的一致性与完整性。存储过程:存储过程是一组为了完成特定功能的SQL语句集合。触发器:触发器与表紧密关联。它可以实现更加复杂的数据操作,更加有效地保障数据库系统中数据的完整性和一致性。默认值:默认值是在用
18、户没有给出具体数据时,系统所自动生成的数值。用户和角色:用户是对数据库有存取权限的使用者;角色是指一组数据库用户的集合。规则:规则用来限制表字段的数据范围。类型:用户可以根据需要在给定的系统类型之上定义自己的数据类型。函数:用户可以根据需要定义自己的函数。1数据库文件(掌握)(1)主数据文件。该文件是数据库的关键文件,包含了数据库的启动信息,并且存储数据。每个数据库必须有且仅能有一个主文件,扩展名为.mdf。(2)辅助数据文件。用于存储未包括在主文件内的其他数据。辅助文件的默认扩展名为.ndf。一般当数据库很大时,有可能需要创建多个辅助文件。而数据库较小时,则只要创建主文件而不需要辅助文件。(
19、3)日志文件。日志文件用于保存恢复数据库所需的事务日志信息。每个数据库至少有一个日志文件,也可以有多个,日志文件的扩展名为.ldf。2文件组为了管理和分配数据而将它们组织在一起。将特定的表、索引等与该文件组相关联,那么对这些表的存储、查询和修改等操作都在该文件组中。(1)主文件组。主文件组包含主要数据文件和任何没有明确指派给其他文件组的其他文件。管理数据库的系统表的所有页均分配在主文件组中。(2)用户定义文件组。用户定义文件组是指“CREATE DATABASE”或“ALTER DATABASE”语句中使用“FILEGROUP”关键字指定的文件组。3系统数据库与用户数据库系统数据库存储有关SQ
20、L Server的系统信息,它们是SQL Server 2005管理数据库的依据。如果系统数据库遭到破坏,SQL Server将不能正常启动。(1)master数据库包含了SQL Server诸如登录账号、系统配置、数据库位置及数据库错误信息等,用于控制用户数据库和SQL Server的运行。(2)model数据库为新创建的数据库提供模板。(3)msdb数据库为“SQL Server Agent”调度信息和作业记录提供存储空间。(4)tempdb数据库为临时表和临时存储过程提供存储空间,所有与系统连接的用户的临时表和临时存储过程都存储于该数据库中。2.2 界面方式创建数据库2.2.1 数据库的
21、创建(熟练掌握)【例2.1】 创建数据库PXSCJ,数据文件和日志文件的属性按默认值设置。创建该数据库的主要过程为:第1步 以系统管理员身份登录计算机,启动“SQL Server Management Studio”。如图2.1所示图2.1 连接到服务器第2步 点击“新建数据库”命令 第3步 “常规”、“选项”和“文件组”。这里只配置“常规”选择页,其他选择页使用系统默认设置。创建的数据库名称“PXSCJ”,也可以在“所有者”文本框中指定数据库的所有者如sa,这里使用默认值,其他属性也按默认值设置,如图2.2所示。图2.2 “新建数据库”窗口另外,可以通过单击“自动增长”标签栏下面的 按钮,出
22、现如图2.3所示的对话框,在该对话框中可以设置数据库是否自动增长、增长方式、数据库文件最大文件大小。数据日志文件的自动增长设置对话框与数据文件类似。图2.3 自动增长设置到这里数据库PXSCJ已经创建完成了。此时,可以在“对象资源管理器”窗口的“数据库”目录下找到该数据库所对应的图标2.2.1 数据库的修改(熟练掌握)1数据库的修改在数据库被创建后,数据文件名和日志文件名就不能改变了。对已存在的数据库可以进行的修改包括:增加或删除数据文件;改变数据文件的大小和增长方式;改变日志文件的大小和增长方式;增加或删除日志文件;增加或删除文件组;数据库的重命名。2数据库系统的删除2.3 命令方式创建数据
23、库(熟练掌握)2.3.1 创建数据库命令方式创建数据库使用“CREATE DATABASE”命令,创建前要确保用户具有创建数据库的权限。由语法格式可知,最简单的一句创建数据库的语句为:CREATE DATABASE database_name 【例2.5】 创建一个名为TEST1的数据库,其初始大小为5MB,最大大小不限制,允许数据库自动增长,增长方式是按10%比例增长。日志文件初始为2MB,最大可增长到5MB,按1MB增长。假设SQL Server服务已启动,并以系统管理员身份登录计算机。在“查询分析器”窗口中输入如下Transact-SQL语句:CREATE DATABASE TEST1O
24、N(NAME= TEST1_DATA,FILENAME=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataTEST1.mdf,SIZE=5MB,FILEGROWTH=10%)LOG ON(NAME=TEST1_log,FILENAME=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataTEST1.ldf,SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)输入完毕后,单击“执行”按钮。可以看到,CREATE DATABASE命令执行时,在结果窗口中将显示命令执行的进展情况
25、。【例2.6】 创建一个名为TEST2的数据库,它有两个数据文件,其中主数据文件为20MB,不限制增长,按10%增长。1个辅数据文件为20MB,最大大小不限,按10%增长;有1个日志文件,大小为50MB,最大大小为100MB,按10MB增长。在“查询分析器”窗口中输入如下Transact-SQL语句并执行:CREATE DATABASE TEST2ON PRIMARY (NAME = TEST2_data1,FILENAME = C:test2_data1.mdf,SIZE = 20MB,MAXSIZE = UNLIMITED,FILEGROWTH = 10%), (NAME = TEST2_
26、data2,FILENAME = C:test2_data2.ndf,SIZE = 20MB,MAXSIZE = UNLIMITED,FILEGROWTH = 10%)LOG ON(NAME = TEST2_log1,FILENAME = C:test2_log1.ldf,SIZE = 50MB,MAXSIZE = 100MB,FILEGROWTH = 10MB);【例2.7】 创建一个具有2个文件组的数据库TEST3。要求:(1)主文件组包括文件TEST3_dat1,文件初始大小为20MB,最大为60MB,按5MB增长;(2)有1个文件组名为TEST3Group1,包括文件TEST3_dat
27、2,文件初始大小为10MB,最大为30MB,按10%增长;(3)数据库只有一个日志文件,初始大小为20MB,最大为50MB,按5MB增长。新建一个查询,在“查询分析器”窗口中输入如下Transact-SQL语句并执行:CREATE DATABASE TEST3ON PRIMARY (NAME = TEST3_dat1,FILENAME = C:TEST3_dat1.mdf,SIZE = 20MB,MAXSIZE = 60MB,FILEGROWTH = 5MB),FILEGROUP TEST3Group1( NAME = TEST3_dat2,FILENAME = C:TEST3_dat2.nd
28、f,SIZE = 10MB,MAXSIZE = 30MB,FILEGROWTH = 10%)LOG ON( NAME = TEST3_log,FILENAME = C:TEST3_log.ldf,SIZE = 20MB,MAXSIZE = 50MB,FILEGROWTH = 5MB)2.3.1 修改数据库使用“ALTER DATABASE”命令对数据库可进行以下修改:增加或删除数据文件;改变数据文件的大小和增长方式;改变日志文件的大小和增长方式;增加或删除日志文件;增加或删除文件组。语法格式:ALTER DATABASE database_nameADD FILE ,n TO FILEGROU
29、P filegroup_name /*在文件组中增加数据文件*/| ADD LOG FILE ,n /*增加日志文件*/| REMOVE FILE logical_file_name /*删除数据文件*/| ADD FILEGROUP filegroup_name /*增加文件组*/| REMOVE FILEGROUP filegroup_name /*删除文件组*/| MODIFY FILE /*更改文件属性*/| MODIFY NAME = new_dbname /*数据库更名*/| MODIFY FILEGROUP filegroup_name filegroup_property |
30、NAME = new_filegroup_name | SET ,.n WITH /*设置数据库属性*/| COLLATE /*指定数据库排序规则*/【例2.8】 假设已经创建了例2.5中的数据库TEST1,它只有一个主数据文件,其逻辑文件名为TEST1_DATA,大小为5MB,最大为50MB,增长方式为按10%增长。要求:修改数据库TEST1现有数据文件的属性,将主数据文件的最大大小改为100MB,增长方式改为按每次5MB增长。在“查询分析器”窗口中输入如下Transact-SQL语句:ALTER DATABASE TEST1MODIFY FILE (NAME = TEST1_DATA,MA
31、XSIZE =100MB,/*将主数据文件的最大大小改为100MB*/FILEGROWTH = 5MB/*将主数据文件的增长方式改为按5MB增长)GO【例2.9】 先为数据库TEST1增加数据文件TEST1BAK,然后删除该数据文件。ALTER DATABASE TEST1ADD FILE(NAME = TEST1BAK,FILENAME = E:TEST1BAK.ndf,SIZE = 10MB,MAXSIZE = 50MB,FILEGROWTH = 5%)通过查看数据库属性对话框中的文件属性来观察数据库“TEST1”是否增加数据文件TEST1BAK。删除数据文件TEST1BAK的命令如下:A
32、LTER DATABASE TEST1REMOVE FILE TEST1BAKGO【例2.10】 为数据库TEST1添加文件组FGROUP,并为此文件组添加两个大小均为 10MB的数据文件。ALTER DATABASE TEST1ADD FILEGROUP FGROUPGOALTER DATABASE TEST1ADD FILE(NAME = TEST1_DATA2,FILENAME = C:TEST1_Data2.ndf,SIZE = 10MB,MAXSIZE = 30MB,FILEGROWTH = 5MB),(NAME = TEST1_DATA3,FILENAME = C:TEST1_Da
33、ta3.ndf,SIZE = 10MB,MAXSIZE = 30MB,FILEGROWTH = 5MB)TO FILEGROUP FGROUPGO【例2.11】从数据库中删除文件组,将例2.10中添加到TEST1数据库中的文件组FGROUP删除。在“查询分析器”窗口中输入如下Transact-SQL语句并执行:ALTER DATABASE TEST1REMOVE FILE TEST1_DATA2GOALTER DATABASE TEST1REMOVE FILE TEST1_DATA3GOALTER DATABASE TEST1REMOVE FILEGROUP FGROUPGO【例2.12】 为
34、数据库TEST1添加一个日志文件。在“查询分析器”窗口中输入如下Transact-SQL语句并执行:ALTER DATABASE TEST1ADD LOG FILE(NAME = TEST1_LOG2,FILENAME = C:TEST1_Log2.ldf,SIZE = 5MB,MAXSIZE =10 MB,FILEGROWTH = 1MB )GO【例2.13】 从数据库TEST1中删除一个日志文件,将日志文件TEST1_LOG2删除。将数据库TEST1的名改为JUST_TEST。进行此操作时必须保证该数据库不被其他任何用户使用。在“查询分析器”窗口中输入如下Transact-SQL语句并执行
35、:ALTER DATABASE TEST1REMOVE FILE TEST1_LOG2GOALTER DATABASE TEST1MODIFY NAME = JUST_TESTGO2.3.3 删除数据库删除数据库使用“DROP DATABASE”命令。语法格式:DROP DATABASE database_name,n;其中,database_name是要删除的数据库名。例如,要删除数据库TEST2,使用命令:DROP DATABASE TEST2GO注意:使用“DROP DATABASE”语句不会出现确认信息,所以要小心使用。另外,不能删除系统数据库,否则将导致服务器无法使用。2.3.4数据
36、库快照(了解)创建数据库快照也使用“CREATE DATABASE”命令,语法格式如下:CREATE DATABASE database_snapshot_name ON (NAME = logical_file_name,FILENAME = os_file_name ) ,.n AS SNAPSHOT OF source_database_name;说明:database_snapshot_name:数据库快照的名称,这个名称在SQL Server实例中必须唯一且符合标识符规则。ON子句:若要创建数据库快照,要在源数据库中指定文件列表。若要使快照工作,必须分别指定所有数据文件。其中logi
37、cal_file_name是文件名,os_file_name是文件的路径。日志文件不允许用于数据库快照。AS SNAPSHOT OF子句:指定要创建的快照为source_database_name指定的源数据库的数据库快照。【例2.14】 创建PXSCJ数据库的快照PXSCJ_01。CREATE DATABASE PXSCJ_01ON(NAME=PXSCJ,FILENAME=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataPXSCJ_01.mdf)AS SNAPSHOT OF PXSCJGO命令执行成功之后,在“对象资源管理器”窗口中刷新“
38、数据库”菜单栏,在“数据库”中展开“数据库快照”,就可以看见刚刚创建的数据库快照PXSCJ_01了。删除数据库快照的方法和删除数据库的方法完全相同,可以使用界面方式删除,也可以使用命令方式删除,例如:DROP DATABASE PXSCJ_01;课外作业P42 1,3,4,5课后体会基本的数据库概念掌握较好,但是文件组、架构的概念往往在大型组织才需要用到,学生不易了解到其作用。学生学会了用两种方式创建、修改和删除数据库,用命令的方式创建、修改和删除数据库时有些命令用的不熟练,需要进一步练习。课程:数据库技术 顺序:教师姓名 授课班级授课形式理论授课周数第3-4周授课时数4使用教具多媒体授课章节
39、名称第三章 表与表数据操作教学目的掌握在数据库中使用和创建数据类型,以及在数据库中创建表的方法。理解创建分区表的意义和方法教学重点用两种方式创建、修改和删除表教学难点创建分区表的过程较为复杂,学生不易掌握教学内容3.1 表结构和数据类型(掌握)3.1.1 表和表结构表由行和列组成,因此也称之为二维表。表是在日常工作和生活中经常使用的一种表示数据及其关系的形式。下面简单介绍与表有关的几个概念:(1)表结构。(2)记录。(3)字段。(4)空值。(5)关键字3.1.2 数据类型 列的数据类型决定了数据的取值、范围和存储格式。列的数据类型可以是SQL Server提供的系统数据类型,也可以是用户定义的
40、数据类型。SQL Server 2005提供了丰富的系统数据类型,将其列于表3.2中。数 据 类 型符 号 标 识数 据 类 型符 号 标 识整数型bigint,int,smallint,tinyint文本型text,ntext精确数值型decimal,numeric二进制型binary,varbinary、varbinary(MAX)浮点型float,real日期时间类型datetime,smalldatetime货币型money,smallmoney时间戳型timestamp位型bit图像型image字符型char,varchar、varchar(MAX)其他cursor,sql_vari
41、ant,table,uniqueidentifier,xmlUnicode字符型nchar,nvarchar、nvarchar(MAX)表3.2 系统数据类型表1整数型整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。bigint:大整数,数范围为-263(-9223372036854775808)263-1(9223372036854775807),其精度为19,小数位数为0,长度为8字节。int:整数,数范围为-231(-2147483648)231-1(2147483647),其精度为10,小数位数为0,长度为4字节。sm
42、allint:短整数,数范围为-215(-32768)215-1(32767),其精度为5,小数位数为0,长度为2字节。tinyint:微短整数,数范围为 0255,长度为1字节,其精度为3,小数位数为0,长度为1字节。2精确数值型decimal和numeric可存储从-1038+1到1038-1的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。精度为19时,存储字节长度为5。精度为1019时,存储字节长度为9。精度为2028时,存储字节长度为13。精度为2938时,存储字节长度为17。例如,若有声明numeric(8,3),则存储该类型数据需5字节;
43、而若有声明numeric(22,5),则存储该类型数据需13字节。3浮点型有两种近似数值数据类型:float(n)和real。两者通常都使用科学计数法表示数据,即形为:尾数E阶数,如5.6432E20、-2.98E10、1.287659E-9等。real:使用4字节存储数据,表数范围为-3.40E+383.40E+38,数据精度为7位有效数字。float:float型数据的数范围为-1.79E+3081.79E+308。定义中的n取值范围是153,用于指示其精度和存储大小。当n在124之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7位有效数字。当n在2553之间时,存储长度为8字节,精度为15位有效数字。当缺省n时,代表n在2553之间。4货币型SQL Server提供了两个专门用于处理货币的数据类型: money和smallmoney,它们用十进制数表示货币值。money:数据的数范围为-263(-922337203685477.5808)263-1(922337203685477.5807),其精度为19,小数位数为4,长度为8字节。money的数的范围与bigint相同,不同的只是money型有4位小数。实际上,money就是按照整数进行运算的,只是将小数点固定在末4位。