SQL管理数据表.ppt
《SQL管理数据表.ppt》由会员分享,可在线阅读,更多相关《SQL管理数据表.ppt(79页珍藏版)》请在三一文库上搜索。
1、1,第3章 管理数据表及数据完整性,3.1 SQL Server表的概念和数据类型 3.2 创建和管理数据表 3.3 完整性的概念和约束类型 3.4 约束的创建和查看 3.5 删除约束、使用规则和使用默认值,2,3.1 SQL Server表的概念,1.表的概念 在SQL Server数据库中,表定义为列的集合,与Excel电子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的一个域。,关系名(表名),属性(列或字段),关系模式,学生表,3,3.1 SQL Server表的概念,2.表的设计 在SQL Server创建表有如下限制: 每个数据库里最多有2
2、0亿个表。 每个表上最多可以创建一个聚集索引和249个非聚集索引。 每个表最多可以配置1024个字段。 每条记录最多可以占8060B,但不包括text字段和image字段。,4,第3章 管理数据表,3.1 SQL Server表的概念 3.2 SQL Server中的数据类型 3.3 创建数据表 3.4 管理数据表,5,3.2 SQL Server 2005数据类型,1.二进制数据 2.字符型数据类型 3.Unicode字符数据 4.日期时间型数据 5.整数型数据,6.精确数值型数据 7.近似数值类型 8.货币数据 9.位类型数据,6,3.2 SQL Server 2005数据类型,1.二进制
3、数据 功能:常用于存储图像等数据,包括长二进制数据binary、变长二进制数据varbinary和image三种。,7,3.2 SQL Server 2005数据类型,2.字符型数据类型 功能:用于存储汉字、英文字母、数字、标点和各种符号,必须由英文单引号括起来。,8,3.2 SQL Server 2005数据类型,3.Unicode字符数据 功能:存放Unicode字符数据.支持的字符范围更大,存储所需 要的空间也更大。,9,3.2 SQL Server 2005数据类型,4.日期时间型数据 功能:用于存储日期和时间数据。,注意: 当使用日期格式数据时,在字符串中可以使用 斜杠/ ,连字符-
4、或句号.作为分隔符。 在SQLSERVER2008中增加了date、time、datetime2、datetimeoffset类型,10,3.2 SQL Server 2005数据类型,5.整数型数据 功能:用于存储整型数据。,11,3.2 SQL Server 2005数据类型,6.精确数值型数据 功能:用于存储带有小数点且小数点后位数确定的实数。,12,3.2 SQL Server 2005数据类型,7.近似数值类型 功能:用于存储浮点数。,13,3.2 SQL Server 2005数据类型,8.货币数据,14,3.2 SQL Server 2005数据类型,9.位类型数据 功能:位类型
5、数据用于存储整数,只能取 1、0 或NULL, 常用于逻辑数据的存取。 说明: 在位类型的字段中输入0和1之外的任何值,系统都会 作为1来处理。 如果一个表中有8个以下的位类型数据字段,则系统会用一 个字节存储这些字段;如果表中有9个以上16个以下位类型数据 字段,则系统会用两个字节来存储这些字段。,15,第3章 管理数据表,3.1 SQL Server表的概念 3.2 SQL Server中的数据类型 3.3 创建数据表 3.4 管理数据表,16,3.3 创建数据表,1.使用SSMS创建表 创建表的步骤: 1)定义表结构:给表的每一列取字段名,并确定每一列的数据类型、数据长度、列数据是否可以
6、为空等。 2)设置约束:设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和一致性。 3)添加数据:表结构建立完成之后,就可以向表中输入数据。,17,3.3 创建数据表,1.使用SSMS创建表 例1:请在student数据库中建立“学生基本信息”表的结构。,注: 主键的字段值不能为空,且字段值在表中必须唯一,18,3.3 创建数据表,2.使用T-SQL语句创建表 1)语法: CREATE TABLE database_name.owner.|owner.table_name ( column_definition | PRIMARY KEY | UNIQUE ,N ) := col
7、umn_name data_type DEFAULT constraint_expression | IDENTITY (seed,increment) ,n,19,3.3 创建数据表,语法注释: database_name:指定创建的表所在的数据库,在当前数据库创建表时该项可以省略。 owner:指定表的拥有者,如果表的拥有者为当前用户,该项可以省略。 table_name:指定新建表的名称。 column_definttion:为表中字段的定义表达式。 column_name:为表中的字段名。 data_type:为字段的数据类型。 PRIMARY KEY:为主键约束关键字。 UNIQUE
8、:为唯一约束关键字。 DEFAULT:为默认约束关键字。 IDENTITY:为自动编号标识。 Seed:为自动标识的开始值,默认为1。 Increment:为自动编号的步长或增量,默认为1。,20,3.3 创建数据表,例2:创建带有参照约束的学生表stud_info,学生表的表结构定义如 下表所示。“学号”字段为学生表的主键。,21,3.3 创建数据表,创建“学生”表的代码如下: USE Student GO CREATE TABLE stud_info ( 学号 char(8) PRIMARY KEY, 姓名 char(10) NOT NULL, 性别 char(2) DEFAULT 男,
9、出生年月 datetime, 籍贯 varchar(20), 家庭住址 varchar(60), 电话 char(15), 所属班级 char(8) ) GO,22,3.3 创建数据表,例3:在学生管理数据库中用T-SQL语句创建一个学生成绩表 stud_score ,表结构如下,其中包含标识列和计算列。,23,3.3 创建数据表,实现的T-SQL语句: CREATE TABLE stud_score ( Scoreid int IDENTITY(1,1) PRIMARY KEY, Stud_no char(8) NOT NULL, Math int DEFAULT 0, Chinese in
10、t DEFAULT 0, Computer int DEFAULT 0, total_score AS Math+ Chinese+ computer ) GO,24,3.3 创建数据表,设置列的标识属性时,应注意: 该列的数据类型必须是decimal, int, numeric, smallint, bigint, tinyint中的一种,才可以设置标识属性。 标识列不允许为空值,也不能包含默认属性。 每个表中只允许有一个标识列,并且不可以修改。 设置计算列时,应注意: 在计算列中不能添加如primary key、 unique、 foreign key、 default等约束条件。 不能对
11、计算列进行赋值。,25,第3章 管理数据表,3.1 SQL Server表的概念 3.2 SQL Server中的数据类型 3.3 创建数据表 3.4 管理数据表,26,3.4 管理数据表,3.4.1 修改表结构 3.4.2 删除数据表 3.4.3 查看数据表,27,3.4.1 修改表结构,1 使用SSMS修改表结构 例4:修改“student” 库中“学生基本信息表”表结构。,28,3.4.1 修改表结构,2 使用T-SQL语言修改表 1)语法: ALTER TABLE table_name ALTER COLUMN column_name new_data_type ( precision
12、 , scale ) NULL | NOT NULL | ADD ,.n | DROP CONSTRAINT constraint_name | COLUMN column ,.n DEFAULT constant_expression WITH VALUES | IDENTITY ( seed , increment ) ,29,3.4.1修改表结构,2)语法注释: ALTER COLUMN:修改表列属性的子句 ADD:增加列或约束的子句 DROP COLUMN:删除表列的子句 table_name:需要修改表的表格名称 column_name:希望增加的字段名 data_type:需要增加
13、的字段的数据类型名 collation_name:排序规则名,30,3.4.1修改表结构,例5:使用T-SQL代码修改学生基本信息表stud_info结构,增加字段“QQ号码”,数据类型为varchar,长度为15,可为空;增加入学时间字段,时间/日期类型,默认时间为2006-9-1。 USE student GO ALTER TABLE stud_info ADD QQ号码 varchar(15) GO ALTER TABLE stud_info ADD 入学时间 datetime DEFAULT 2006-9-1 GO,31,3.4.1修改表结构,例6:使用T-SQL代码修改学生基本信息表
14、stud_info结构,修改字段“家庭住址”的长度为100。 实现的T-SQL语句 USE student GO ALTER TABLE stud_info ALTER COLUMN 家庭住址 varchar(100) GO,32,3.4.1修改表结构,例7:使用T-SQL语句删除学生基本信息表stud_info的QQ号码字段。 实现的T-SQL语句 USE student GO ALTER TABLE stud_info DROP COLUMN QQ号码 GO,33,3.4 管理数据表,3.4.1 修改表结构 3.4.2 删除数据表 3.4.3 查看数据表,34,3.4.2 删除数据表,1
15、使用SSMS删除数据表 2 使用T-SQL语句删除数据表 语法格式为: DROP TABLE table_name 例8:使用T-SQL语句删除学生基本信息表。 实现的T-SQL语句 USE student GO DROP TABLE 学生基本信息表 GO,35,3.4 管理数据表,3.4.1 修改表结构 3.4.2 删除数据表 3.4.3 查看数据表,36,3.4.3 查看数据表,1 使用SSMS对象资源管理器查看表属性信息 。 在对象资源管理器中,右键单击“student”数据库的学生基本信息表stud_info,从弹出的快捷菜单中选择“属性”命令。,37,3.4.3 查看数据表,2 使用
16、T-SQL语句查看数据表 Exec sp_help table_name 例9 :查看学生基本信息表stud_info 属性信息。 Exec Sp_help stud_info,38,3.5 完整性的概念,完整性的概念 数据完整性指存储在数据库中的数据正确无误并且相关数据具有一致性。 数据完整性可分为以下四种: 1、实体完整性:要求在表中不能存在两条完全相同的记录。 实现实体完整性的方法有:主键约束、唯一约束、指定IDENTITY属性。,39,3.5 完整性的概念,2、域完整性:要求向表中指定列输入的数据必须具有正确的数据类型、格式及有效的数据范围。 实现域完整性的方法有:检查约束、外键约束、
17、非空约束、规则及在建表时设置的数据类型。 3、参照完整性:指作用于有关联的表通过主键和外键或主键和惟一键间的关系,使表中的键值在相关表中保持一致。 实现参照完整性的方法有:外键约束. 4、用户定义的完整性:指应用领域需要遵守的约束条件。实现用户定义完整性的方法包括规则、触发器和存储过程等,40,3.6 约束的类型,1. NOT NULL(非空)约束 2. PRIMARY KEY(主键)约束 3. UNIQUE(惟一)约束 4. CHECK(检查)约束 5. FOREIGN KEY(外健)约束 6. DEFAULT(默认)约束,41,3.6 约束的创建,使用 CREATE TABLE 或者 AL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 管理 数据表
链接地址:https://www.31doc.com/p-3101814.html