《SQL创建和管理表ppt课件.ppt》由会员分享,可在线阅读,更多相关《SQL创建和管理表ppt课件.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 SQL Server 2008数据库项目教程创建和管理表l掌握使用SQL Server管理工具创建、修改和删除表。l掌握使用SQL Server管理工具创建约束。l了解创建、修改和删除表的SQL语句。l了解加约束的SQL语句。 SQL Server 2008数据库项目教程创建和管理表教学目标教学目标对数据表的创建、修改和删除操作。对数据表的约束操作。表的概念主要介绍表的结构,包括: 行、列、记录。表的约束。 SQL Server 2008数据库项目教程3.1 知识准备3.1.1 表的概念表的概念 表是包含数据库中所有数据的数据库对象,表是其他对象的基础。如果没有数据表,则关键字、主键、索引等
2、也就无从谈起。表定义是一个列的集合,数据在表中是按行和列的格式组织的,是用来存储数据和操作数据的逻辑结构。其中每一行也称为记录,是组织数据的单位;而列也称为字段,每一列代表记录中的一个字段,在同一个表中列的名称不能相同。 SQL Server 2008数据库项目教程3.1.2 数据完整性数据完整性数据完整性 准确性准确性可靠性可靠性 SQL Server 2008数据库项目教程3.1.2 数据完整性域完整性约束域完整性约束实体完整性约束实体完整性约束引用完整性约束引用完整性约束自定义完整性约束自定义完整性约束 SQL Server 2008数据库项目教程3.1.2 数据完整性河南新乡河南新乡赵
3、可以赵可以0010016河南新乡河南新乡张丽鹃张丽鹃0010015江西南昌江西南昌雷铜雷铜0010014湖南新田湖南新田吴兰吴兰0010013山东定陶山东定陶李山李山0010012.地址地址姓名姓名学号学号江西南昌江西南昌雷铜雷铜0010014约束方法:通过惟一性约束、索引、主键约束和标识列属性来实现。实体完整性约束 SQL Server 2008数据库项目教程3.1.2 数据完整性河南新乡河南新乡赵可以赵可以00100160010016河南新乡河南新乡张丽鹃张丽鹃0010015江西南昌江西南昌雷铜雷铜0010014湖南新田湖南新田吴兰吴兰0010013山东定陶山东定陶李山李山0010012.
4、 .地址地址姓名姓名学号学号湖北江门湖北江门李亮李亮8700000000约束方法:通过限制数据类型、检查约束、输入格式、外键约束、默认值、 非空约束等多种方法来实现。域完整性约束是指给定列的输入有效性。域完整性约束 SQL Server 2008数据库项目教程科目科目学号学号分数分数数学数学001001288数学数学001001374语文语文001001267语文语文001001381数学数学001001698河南新乡河南新乡赵可以赵可以0010016河南新乡河南新乡张丽鹃张丽鹃0010015江西南昌江西南昌雷铜雷铜0010014湖南新田湖南新田吴兰吴兰0010013山东定陶山东定陶李山李山0
5、010012地址地址姓名姓名学号学号980010021数学数学约束方法:外键约束在删除和输入数据行时,引用完整性约束用来保持表之间已经定义的关系。引用完整性约束3.1.2 数据完整性 SQL Server 2008数据库项目教程3.1.2 数据完整性帐号帐号姓名姓名信用信用.00192孙悟空孙悟空700288猪悟能猪悟能612333段誉段誉890111虚竹虚竹4093000岳不群岳不群-10AV121322乔峰乔峰CV0016AV372133玄痛玄痛CV0015AV378291沙悟净沙悟净AV0014AV378290猪悟能猪悟能AV0013AV378289孙悟空孙悟空AV0012.会员证会员证
6、用户姓名用户姓名用户编号用户编号约束方法:规则、存储过程、触发器约束方法:规则、存储过程、触发器触发器:检查信用值触发器:检查信用值用户自定义完整性用来定义特定的规则。 SQL Server 2008数据库项目教程3.1.3 主键和外键表中一列或者几列组合的值能用来唯一标识表中的每一行,这样的列或者列组合称为表的主键。一个表只能有一个主键,主键约束确保了表中的行是唯一的。尽管表中可以没有主键,但通常情况下应当为表设置主键。 SQL Server 2008数据库项目教程3.1.3 主键和外键选择主键的原则最少性最少性尽量选择单个键作为主键尽量选择单个键作为主键稳定性稳定性尽量选择数值更新少的列作
7、为主键尽量选择数值更新少的列作为主键 SQL Server 2008数据库项目教程3.1.3 主键和外键 SQL Server 2008数据库项目教程子任务子任务1:在:在SQL Server Management Studio工具中建立数据表工具中建立数据表3.2 项目实施创建用户表的步骤确定每列的数据类型给表添加各种约束创建各表之前的关系3确定表中有哪些列124 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表确定列的名称1确定列的数据类型2 SQL Server 2008数据库项目教程SQL Server的数
8、据类型分类分类备注和说明备注和说明数据类型数据类型说明说明二进制数据类二进制数据类型型存储非字符和文本的数据存储非字符和文本的数据image可用来存储图像可用来存储图像文本数据类型文本数据类型字符数据包括任意字母、符字符数据包括任意字母、符号或数字字符的组合号或数字字符的组合char固定长度的非固定长度的非 Unicode 字符数据字符数据varchar可变长度非可变长度非 Unicode 数据数据nchar固定长度的固定长度的 Unicode 数据数据nvarchar可变长度可变长度 Unicode 数据数据text存储长文本信息存储长文本信息ntext存储可变长度的长文本存储可变长度的长文
9、本日期和时间日期和时间日期和时间在单引号内输入日期和时间在单引号内输入datetime 日期和时间日期和时间数字数据数字数据该数据仅包含数字,包括整该数据仅包含数字,包括整数和浮点数数和浮点数intsmallint整数整数floatreal浮点数浮点数货币数据类型货币数据类型用于十进制货币值用于十进制货币值moneybit数据类型数据类型表示是表示是/否的数据否的数据bit存储布尔数据类型存储布尔数据类型子任务1:在SQL Server Management Studio工具中建立数据表 SQL Server 2008数据库项目教程电话号码一般使用什么数据类型存储电话号码一般使用什么数据类型存
10、储?性别一般使用什么数据类型存储性别一般使用什么数据类型存储?年龄信息一般使用什么数据类型存储年龄信息一般使用什么数据类型存储?照片信息一般使用什么数据类型存储照片信息一般使用什么数据类型存储?薪水一般使用什么数据类型存储薪水一般使用什么数据类型存储?身份证号一般使用什么数据类型?身份证号一般使用什么数据类型?子任务1:在SQL Server Management Studio工具中建立数据表 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表是否允许为空值3 SQL Server 2008数据库项目教程子任务1:在
11、SQL Server Management Studio工具中建立数据表学员姓名允许为空吗学员姓名允许为空吗?家庭地址允许为空吗家庭地址允许为空吗?电子邮件信息允许为空吗电子邮件信息允许为空吗?考试成绩允许为空吗考试成绩允许为空吗? SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表建立主键4 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表在主键列输入的数值,允许为空吗在主键列输入的数值,允许为空吗?一个表可以有多个主键吗一个表可以有多
12、个主键吗?在一个学校数据库中,如果一个学校内允许重名在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?组合班级和姓名两个字段一起来作为主键吗? SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表默认值5 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表标识列6设置列标识 SQL Server 2008数据库项目教程子任务1:
13、在SQL Server Management Studio工具中建立数据表 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表标识列允许为字符数据类型吗?标识列允许为字符数据类型吗?如果标识列如果标识列A的初始值为的初始值为1,增长量为,增长量为2,则输入三行,则输入三行数据以后,再删除两行,下次再输入数据行的时候,数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?标识值从多少开始? SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建
14、立数据表建立表间关系7 建立表间关系实际上就是实施引用完整性约束,建立主表和子表之间的关系。对于学生信息表和学生成绩表,学生成绩表中字段sID引用了学生信息表中的字段sID,因此,学生信息表为主表,成绩表为子表。 在SQL Server Management Studio中可以建立两张表之间的关系。 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表建立检查约束8 SQL Server 2
15、008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表 SQL Server 2008数据库项目教程子任务1:在SQL Server Management Studio工具中建立数据表 字段Age建立检查约束,约束输入的当前的年龄在18-40岁之间,约束表达式如何写? SQL Server 2008数据库项目教程 使用T-SQL语句创建表创建建表的语法为:CREATE TABLE 表名( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, )其中,类的特征包括该列是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等
16、。子任务2:使用T-SQL语句创建数据表和约束 SQL Server 2008数据库项目教程 实例 创建学生信息表studentsUSE stuDB -将当前数据库设置为stuDB GOCREATE TABLE students/*-创建学生信息表-*/(sID INT NOT NULL IDENTITY(1,1) , -学生编号,非空(必填) sName VARCHAR(10) NOT NULL , -姓名,非空(必填) sSex BIT , -性别 stBirthday DATETIME, -出生日期 sEmail VARCHAR(20), -电子邮箱 sAddress VARCHAR(5
17、0)-住址,允许为空,即可选输入) 子任务2:使用T-SQL语句创建数据表和约束 SQL Server 2008数据库项目教程 使用T-SQL语句修改表ALTER TABLE tableName ADD|ALTER COLUMN|DROP COLUMN 字段实例实例 修改表的结构,添加身份证字段。修改表的结构,添加身份证字段。ALTER TABLE students ADD sIDentity CHAR(18)修改表的结构,把身份证字段长度改为18。ALTER TABLE students ALTER COLUMN sIDentity CHAR(18)修改表的结构,删除身份证字段。ALTER
18、TABLE students DROP COLUMN sIDentity子任务2:使用T-SQL语句创建数据表和约束 SQL Server 2008数据库项目教程任务任务2 2:表的维护:表的维护子任务子任务1:增加列:增加列 SQL Server 2008数据库项目教程子任务子任务1 1:增加列:增加列ALTER TABLE Employees ADD Phone nchar(11)使用使用T-SQL语句增加列语句增加列 SQL Server 2008数据库项目教程子任务子任务2 2:修改列:修改列打开Employees表设计器窗格。选中列Phone,将数据类型改为nchar(13)。单击“
19、保存”按钮保存修改。打开Employees表,查看修改的结果。1234使用表设计器修改表中的列 SQL Server 2008数据库项目教程子任务子任务2 2:修改列:修改列ALTER TABLE Employees ALTER COLUMN Phone nchar(13)使用使用T-SQL语句修改列语句修改列 SQL Server 2008数据库项目教程子任务子任务3 3:删除列:删除列使用表设计器删除表中的列 在对象资源管理器中,展开“数据库”Northwind“表”目录,右击dbo.Employees节点,在弹出的快捷菜单中选择“设计”命令。1选择Phone列,右击,在弹出的快捷菜单中选
20、择“删除列”命令。2 在弹出的提示框中确认删除所选列及其关系。单击“是”按钮,完成删除列操作。 3 SQL Server 2008数据库项目教程子任务子任务3 3:删除列:删除列ALTER TABLE Employees DROP COLUMN Phone运行以上语句,Phone字段将被删除。使用使用T-SQL语句删除列语句删除列 SQL Server 2008数据库项目教程子任务子任务4 4:从数据库中删除表:从数据库中删除表使用SQL Server Management Studio删除表 在对象资源管理器中,右击要删除的表,在弹出的快捷菜单中选择“删除”命令。1 在弹出的“删除对象”对话
21、框中,单击“确定”按钮,确认删除操作。2 SQL Server 2008数据库项目教程子任务子任务4 4:从数据库中删除表:从数据库中删除表DROP TABLE 表名删除表后,该表的结构定义、数据都将从数据库中永久删除。使用使用T-SQL语句删除表语句删除表 SQL Server 2008数据库项目教程3.3 知识扩展3.3.1 特殊表特殊表已分区表宽表临时表系统表 SQL Server 2008数据库项目教程3.3.2 使用模板创建数据库表 启动SQL Server Management Studio,选择【视图】/【模板资源管理器】,弹出“模板资源管理器”窗格。1 SQL Server 2
22、008数据库项目教程3.3.2 使用模板创建数据库表展开“Table”,双击CreatTable命令,打开Creat Table模板2 SQL Server 2008数据库项目教程3.3.2 使用模板创建数据库表 选择【查询】/【指定模板参数的值】选项,打开“指定模板参数的值”对话框。3 SQL Server 2008数据库项目教程3.3.2 使用模板创建数据库表 在参数列找到table_name,单击对应的“值”列,输入表名testTable,单击“确定”按钮,回到CreatTable模板。4 SQL Server 2008数据库项目教程3.3.2 3.3.2 使用模板创建数据库表使用模板创
23、建数据库表 单击工具栏按钮 ,执行创建数据库表模板代码,完成数据库表的创建。5 在对象资源管理器中刷新数据库,可以看到创建的testTable数据库已存在所示。6 SQL Server 2008数据库项目教程3.4 项目总结项目总结 数据完整性是要求数据库中数据具有准确性,准确性是通过数据表的设计和约束来实现的。 数据完整性包括:实体完整性、域完整性、引用完整性和自定义完整性。 创建数据表时设计每个字段包括:字段名、数据类型、长度和是否为空。 添加各种约束可以在创建表的时候添加,也可以在表创建完成以后添加。 SQL Server中约束包括:空值(NULL)约束、主键(PRIMARY KEY)约
24、束、外键(FOREIGN KEY)约束、默认值(DEFAULT)约束、唯一性(UNIQUE)约束和检查(CHECK)约束。 可以对已创建的表进行修改,包括添加、修改列和删除列。 SQL Server 2008数据库项目教程3 3.5 .5 实 训通过SQL Server Management Studio创建“楼层信息”表FloorInfor,并添加约束。通过SQL Server Management Studio创建“客房类型”表GuestRoomType,并添加约束通过SQL Server Management Studio创建“客房信息”表CustRoomInfo,并添加约束任务4:利用T-SQL语句创建“入住单”表CheckInBill,并添加约束。 SQL Server 2008数据库项目教程3 3.5 .5 实 训利用T-SQL语句创建“账单明细”表BillDetail,并添加约束。利用T-SQL语句创建“预定单”表BookingList,并添加约束。利用T-SQL语句创建“会员表”表VIP,并添加约束。