《表格模板-情景4数据表管理 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-情景4数据表管理 精品.ppt(56页珍藏版)》请在第一文库网上搜索。
1、 情景情景4 4 数据表管理数据表管理SQL Server数据库技术及应用数据库技术及应用 目录o 任务任务1:掌握数据类型:掌握数据类型o 任务任务2:掌握数据表的创建方法:掌握数据表的创建方法o 任务任务3:创建:创建student数据库的数据表数据库的数据表4.1 数据类型的概念及其意义o现实世界的各类数据我们都要将其抽象后放入数据库中,然而各类信息以什么格式,多大的存储空间进行组织和存储呢?这就有赖于我们事先的规定。比如把2010-08-19规定为日期格式,就能正常地识别这组字符串的含义,否则就只是一堆无意义的数据。这就是进行数据类型定义的意义。 数据库存储的对象主要是数据。现实中存在
2、着各种不同类型的数据,数据类型就是以数据的表现方式和存储方式来划分的数据种类。有了数据类型就能对各类数据进行分门别类,并且对其不同类型的数据操作进行定义,进一步赋予该类数据的存储和操作规则。4.2 SQL Server的数据类型o SQL Server 2008的数据类型可以分为两类:基本数据类型和用户自定义数据类型。SQL Server 2008支持数字型、字符型、货币型、日期时间型、字符型等多种基本数据类型。4.2 SQL Server的数据类型 1数字数据类型 2货币数据类型 3日期和时间数据类型 4字符数据类型 5Unicode数据类型 6二进制数据类型 7特殊数据类型 8用户定义的数
3、据类型表表4-1 SQL Server 20084-1 SQL Server 2008数据类型数据类型数据类型数据类型范范 围围存储大小存储大小精确数字精确数字Bigbit-263263-1的整型数字8BInt-231231-1的整型数字4BSmallint-215215-1的整型数字2BTinyint0255的整型数字1BBit0或1的整型数字不定不定Decimal numeric-10381038-1的定精度与有效位数的数字517B货币货币Money-263(-922,337,203,685,477.5808) 263-1(922,337,203,685,477.5807)的货币数据8BS
4、mallmoney从-214,748.3648到214,748.3647的货币数据4B近似数字近似数字Float从-1.79E+308到1.79E+308可变精度的数字48BReal从-3.40E+38到3.40E+38可变精度的数字4B日期和时日期和时间间Datetime从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒8BSmalldatetime从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟4BDate仅存储日期,不存储时间。范围是从 1000 年 1 月 1 日到 9999 年 12 月 31 日3BTime
5、仅存储一天中的时间,不存储日期。范围从00:00:00.0000000 23:59:59.999999935B表表4-1 SQL Server 20084-1 SQL Server 2008数据类型数据类型( (续续) )字符串字符串Char定长的字符型数据,最大长度为8000N个字节个字节Varchar变长的字符型数据,最大长度为8000输入数据长度加输入数据长度加2BText变长的字符型数据,最大长度为231-1(2G)=2147483647BUnicode字符串字符串Nchar定长Unicode的字符型数据,最大长度为40002 2n n个字节个字节Nvarchar变长Unicode的字
6、符型数据,最大长度为4000输入字符个数输入字符个数2倍倍+2BNtext变长Unicode的字符型数据,最大长度为231-1 (2G)输入字符个数的两倍输入字符个数的两倍二进制字符串二进制字符串Binary定长二进制数据,最大长度为8000N个字节个字节Varbinary变长二进制数据,最大长度为8000输入数据长度加输入数据长度加2BImage变长二进制数据,最大长度为231-1(2G)不定不定其它数据类型其它数据类型Cursor游标的引用Table一种特殊的数据类型,存储供以后处理的结果集timestamp时间戳,一个数据库宽度的唯一数字Uniqueidentifier全球唯一标识符GU
7、IDxml存储xml数据的数据类型4.3 表的结构设计o 在关系数据库中,每一个关系都体现为一张二维表,使用表来存储和操作数据的逻辑结构,表是数据库中最重要的数据对象。如同Excel电子表格,数据在表中是按照行和列的格式进行组织的,其中每一行代表一个记录,每一列代表记录中的一个域。例如,在包含图书信息的Bookinfo表中每一行代表一种图书,每一列表示这种图书某一方面的属性,如图书名称、出版社、价格、作者等等。4.3 表的结构设计o 在一个数据库中需要包含各个方面的数据,所以在设计数据库时,首先要确定什么样的表,各表中都应该包含哪些数据以及各表之间的关系和存取权限等等,这个过程称之为设计表。在
8、设计表时需要确定的项目有:(1)表的名字,每个表都必须有一个名字。表名必须遵循SQL Server 2008的命名规则,且最好能够使表名准确表达表格的内容。(2)表中各列的名字和数据类型,包括基本数据类型及自定义数据类型。每列采用能反映其实际意义的字段名。4.3 表的结构设计(3)表中的列是否允许空值。(4)表中的列是否需要约束、默认设置或规则。(5)表是否需要约束。(6)表所需要的索引的类型和需要建立索引的列。(7)表间的关系,即确定哪些列是主键,哪些是外键。o 在为各个字段和关系进行命名时注意以下两点: (1)采用有意义的字段名,尽可能地把字段描述得清楚些。 (2)采用前缀命名,如果多个表
9、里有许多同一类型的字段,不妨用特定表的前缀,来帮助标识字段。4.4 4.4 创建和修改表创建和修改表4.4.1 使用SQL Server Management Studio工具创建数据表o 表作为数据库的基本组成部分,实际上是关系数据库中对关系的一种抽象化描述。表是数据存储的地方。是数据库中最重要的部分,管理好表也就管理好了数据库。我们假设要创建的数据表结构的设计如下:表4-2 Student_info(学生信息表)字段名数据类型宽度空值否默认值主键外键备注SidChar8否是学号SnameVarchar10否姓名SgenderBit否1性别SbirthDatetime是出生日期Sdepart
10、Char6否G02001Department的Did所在系SaddrNvarchar50是地址StelChar14是电话 4.4.1 使用SQL Server Management Studio 工具创建数据表1.创建表创建表o 【例例4-1】根据数据库的设计,要将学生相根据数据库的设计,要将学生相关信息存放在关信息存放在Student_info表中,需要表中,需要在学生管理信息系统中创建学生信息表在学生管理信息系统中创建学生信息表Student_info。4.4.1 使用SQL Server Management Studio工具创建数据表o (1)启动SQL Server Manageme
11、nt Studio,在对象资源管理器中依次展开“数据库”节点和Student节点,右键单击数据库的“表”节点,选择“新建表”命令。 4.4.1 使用SQL Server Management Studio工具创建数据表o (2)出现如图4-2所示的表设计器,在其右上半部分窗口输入列的基本属性,包括列的名称、长度、数据类型、为空性等表的基本信息如图4-3所示。 图4-2 图4-34.4.1 使用SQL Server Management Studio工具创建数据表o (3)在表设计器右下半部分的Column Properties指定列的详细属性,包括输入表是否自动增长等补充信息。如图4-4所示。
12、图4-44.4.1 使用SQL Server Management Studio工具创建数据表o (4)定义好表中的所有列后,单击保存按钮或“文件”菜单中的“保存表名”命令。o (5)在弹出的“选择名称”对话框中,为该表键入一个名称,单击“确定”按钮。如图4-5所示。图4-54.4.1 使用SQL Server Management Studio工具创建数据表o 新表创建后,在“对象资源管理器中,可以依次展开“数据库”节点和Student节点,查看刚才所建的表,如图4-6图4-64.4.1 使用SQL Server Management Studio工具创建数据表2修改表修改表o (1)修改表
13、的结构。)修改表的结构。o 在学生信息管理系统中将Student_info表中的列名Sid改为Sno。 启动SQL Server Management Studio,在对象资源管理器中依次展开“数据库”节点和Student节点。 在“Student”表上单击右键,在弹出的菜单中选择“设计”命令,如图4-7所示。 在右上部分窗口中,可以修改列名、类型、长度等信息。如图4-8所示。 内容修改完后,单击保存按钮,完成修改。图4-7图4-84.4.1 使用SQL Server Management Studio工具创建数据表o (2)重命名表)重命名表o 表在创建以后可以根据需要对其重新命名,在图4-
14、7中不选择“设计”,而选择“重命名”即可。如下图4-9。4.4.2 使用Transact-SQL创建和修改表1创建表o 【例例4-2】为了存储学生信息,需要在学生为了存储学生信息,需要在学生信息管理系统中建立一张信息管理系统中建立一张“Student”的表的表,表的结构如例,表的结构如例4-1,该操作使用,该操作使用T-SQL语句如下:语句如下:4.4.2 使用Transact-SQL创建和修改表CREATE TABLE Student_info(Sid Char(8),Sname Varchar(10) ,Sgender Bit,Sbirth Datetime,Sdepart Char(6)
15、,Saddr Nvarchar(50),Stel Char(14)4.4.2 使用Transact-SQL创建和修改表o 通过对例4-2的操作,我们总结T-SQL语句创建表的基本语句格式如下:CREATE TABLE ( )4.4.2 使用Transact-SQL创建和修改表o 扩展扩展:CREATE TABLE是创建表的命令,完整的命令参数可以如下表达:CREATE TABLE 表名(字段名数据类型列级完整性约束条件 ,字段名 数据类型 列级完整性约束条件. ,表级完整性约束条件)4.4.2 使用Transact-SQL创建和修改表o注意:注意: 表名:要建立的表名是符合命名规则的任意字符。
16、在同一数据库中表名应该是唯一的。字段名:是组成表的各个字段的名称。在一个表中,列名也应该是唯一的,而不同的表中允许相同的列名。数据类型:是对应列数据所采用的数据类型。列级约束:用来对同一字段中的数据进行限制。表级约束:如果完整性约束涉及多个字段,则可以将完整性约束定义在表级上。o列级约束与表级约束等关于完整性的问题我们将在情景5仔细论述,结合情景5的内容再去建表将对创建数据表有更深的认识。4.4.2 使用Transact-SQL创建和修改表2修改表修改表o (1)添加列。 【例例4-3】要了解学生所在的年级,需要在要了解学生所在的年级,需要在Student_info表中添加表中添加Sgrade字段,其类字段,其类型为型为char,长度为,长度为4。该操作使用。该操作使用T-SQL语句语句完成如下:完成如下: ALTER TABLE Student_info ADD Sgrade char(4)4.4.2 使用Transact-SQL创建和修改表o (2)修改列。o 【例例4-4】考虑到其学号的长度有些不适宜,考虑到其学号的长度有些不适宜,需要将长度更改为需要将长度更改为10,类型仍为,