-关系数据库标准语言SQL课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《-关系数据库标准语言SQL课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 标准 语言 SQL 课件
- 资源描述:
-
1、第四章 关系数据库标准语言SQLSQL Server 2008 表的创建与操作SQL语言概述第四章 SQL Server2008表的创建与操作掌握表的创建、修改和删除操作了解表的基本知识熟练掌握记录的插入、删除和修改操作了解索引的基本知识目标4.1 SQL Server 2008表的基本知识 表的基本概念表的基本概念1 表的类型表的类型2 表的数据类型表的数据类型3 表的完整性体现表的完整性体现41 表的设计表的设计54.1.1表的基本概念 表是数据库对象,用于存储实体集和实体间联系的表是数据库对象,用于存储实体集和实体间联系的数据。数据。SQL Server 2008表主要由列和行构成。关表
2、主要由列和行构成。关系模型的组成要素系模型的组成要素 列:每一列用来保存对象的某一类属性。列:每一列用来保存对象的某一类属性。行:每一行用来保存一条记录,是数据对象的一个实例行:每一行用来保存一条记录,是数据对象的一个实例。SQL Server 20084.1.1表的基本概念 例如:教务管理数据库EDUC中的学生Student表。4.1.2 表的类型SQL Server 2008除了提供了用户定义的标准表外,除了提供了用户定义的标准表外,还提供了一些特殊用途的表:分区表、临时表和系还提供了一些特殊用途的表:分区表、临时表和系统表。统表。分区表分区表 当表很大时,可以水平地把数据分割成一些单元,
3、放在同一个数据库的多个文件组中。用户可以通过分区快速地访问和管理数据的某部分子集而不是整个数据表,从而便于管理大表和索引。4.1.2 表的类型 临时表 局部临时表:只是对一个数据库实例的一次连接中的创建者是可见的。在用户断开数据库的连接时,局部临时表就被删除。全局临时表:对所有的用户和连接都是可见的,并且只有所有的用户都断开临时表相关的表时,全局临时表才会被删除。4.1.2 表的类型 系统表 用来保存一些服务器配置信息数据,用户不能直接查看和修改系统表,只有通过专门的管理员连接才能查看和修改。不同版本的数据库系统的系统表一般不同,在升级数据库系统时,一些应用系统表的应用可能需要重新改写。SQL
4、 Server 20084.1.3表的数据类型 下表列出了下表列出了SQL Server 2008中常用的数据类型:中常用的数据类型:数据类型系统数据类型数据类型系统数据类型二进制二进制image字符字符char(n)Binary(n)varchar(n)varbinary(n)text精精确确数数字字精确整数精确整数bigintUnicodenchar(n)intnvarchar(n)smallintntexttinyint日期和时间日期和时间Datetime精确小数精确小数Decimal(p,s)smalldatetimenumeric(p,s)Money近似数字近似数字float(n)s
5、mallmoneyreal用户自定义用户自定义用户自行命名用户自行命名特殊特殊bitTimestampuniqueidentifier4.1.4 表的完整性体现l主键约束体现实体完整性,即主键各列不能为空且主键作为行的惟一标识系统表l外键约束体现参照完整性l默认值和规则等体现用户定义的完整性4.1.5 表的设计 设计表时需要确定如下内容:n 表中需要的列以及每一列的类型(必要时还要有长度)n 列是否可以为空n 是否需要在列上使用约束、默认值和规则n 需要使用什么样的索引n 哪些列作为主键4.2创建数据库 使用使用SSMSSSMS创建数据库创建数据库1 使用使用T-SQLT-SQL语句创建数据库
6、语句创建数据库24.2.1使用SSMS创建数据库 从【开始】菜单中选择【程序】|Microsoft SQL Server 2008|SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或SQL Server 身份验证建立连接。4.2.1使用SSMS创建数据库4.2.1使用SSMS创建数据库 (2)在【对象资源管理器】窗格中展开服务器,然后选择【数据库】节点。(3)在【数据库】节点上单击鼠标右键,从弹出的快捷菜单中选择【新建数据库】命令,如图所示。5.2.1使用SSMS创建数据库4.2.1使用SSMS
7、创建数据库(4)执行上述操作后,会弹出【新建数据库】对话框,如下图所示。这个对话框有3个页,分别是【常规】、【选项】和【文件组】。完成这3个选项中的内容之后,就完成了数据库的创建工作。5.2.1使用SSMS创建数据库4.2.1使用SSMS创建数据库 (5)在【数据库名称】文本框中输入要新建数据库的名称。如:student (6)在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。(7)【数据库文件】列表包括两行,一行是数据文件,另一行是日志文件。通过单击相应的按钮,可以添加或删除相应的数据文件。4.2.1使用SSMS创建数据库(8)
8、完成以上操作后,就可以单击【确定】按钮关闭【新建数据库】对话框。这时,一个数据库成功的创建了,可以通过【对象资源管理器】窗格查看新建的数据库。4.2.1使用SSMS创建数据库 可以看到数据库student2数据库创建成功。4.2创建数据库2 使用使用SSMSSSMS创建数据库创建数据库1 使用使用T-SQLT-SQL语句创建数据库语句创建数据库14.2.2 使用T-SQL语句创建数据库CREATE DATABASE database_name /*指定数据库名*/ON子句 /*指定数据库文件和文件组属性*/LOG ON子句 /*指定日志文件属性*/其核心是CREATE DATABASE语句。该
9、语句的基本语法格式是:4.2.2 使用T-SQL语句创建数据库【例例】创建一个名为db_stu的数据库,其初始大小为5MB,最大大小50MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。假设SQL Server服务已启动,并以Administrator身份登录计算机。4.2.2 使用T-SQL语句创建数据库 在“SQL Server Management Studio”窗口中单击“新建查询”按钮新建一个查询窗口,如图所示。T-SQL 语句输入及 执行结果返回窗口 单击新建一个 查询窗口 4.2.2 使用T-SQL语句创建数据库在T-S
10、QL语句输入窗口中输入如下语句:CREATE DATABASE db_stu ON(NAME=db_stuData,FILENAME=e:sqldataMSSQLDatadb_stu.mdf,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME=XSCJ1_Log,FILENAME=e:sqldataMSSQLDatadb_stu.ldf,SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)GO4.3创建表 使用使用SSMSSSMS创建表创建表1 使用使用T-SQLT-SQL语句创建表语句创建表2SQL Server 20084.
11、3.1 使用SSMS创建表创建主 键约束创建唯一性约束 创建外键约束创建检查约束 保存表的定义创建表4.3.1使用SSMS创建表 例如:创建学生表Student,课程表Course,选课表SC。其中教务管理中的选课数据模型为:Student(SID,Sname,Sex,Birthday,Specialty)PK:SID Course(CID,Cname,Credit)PK:CID SC(SID,CID,Grade)PK:SID,CID FK:SID和CID 4.3.1 使用SSMS创建表 创建表:在创建表:在【对象资源管理器对象资源管理器】窗口中,展开窗口中,展开“数据库数据库”下的下的stu
12、dent节点,右击节点,右击“表表”节点,选择节点,选择“新建表新建表”命令,进入表设命令,进入表设计器,在表设计器的第一列中输入列名,第二列选择数据类型,计器,在表设计器的第一列中输入列名,第二列选择数据类型,第三列选择是否为空;第三列选择是否为空;例如:表例如:表StudentSQL Server 20084.3.1使用SSMS创建表表Course:表SC:4.3.1 使用SSMS创建表 创建主键约束:单击选择一列名,创建主键约束:单击选择一列名,SHIFT+单击选择连续的列单击选择连续的列名,名,CTRL+单击选择不相邻的列名,右键快捷菜单或工具栏按单击选择不相邻的列名,右键快捷菜单或工
13、具栏按钮钮“设置主键设置主键”;例:Student中的SID,Course中的CID,SC中的SID,CID 做法:单击选择一列名,SHIFT+单击选择连续的列名,CTRL+单击选择不相邻的列名,右键快捷菜单或工具栏按钮“设置主键”;4.3.1 使用SSMS创建表Student,Course表主键约束采用同样的方法设置;Course表的主键建立示意图如下:表的主键建立示意图如下:4.3.1 使用SSMS创建表 创建唯一性约束创建唯一性约束:例如:Student表中的Sname 做法:右键快捷菜单或工具栏按钮“索引/键”,在弹出的【索引/键】对话框中,单击“添加”按钮添加新的主/惟一键或索引;在
14、常规的“类型”右边选择“惟一键”,在“列”的右边单击省略号按钮,选择列名Sname和排序规律;4.3.1 使用SSMS创建表如图所示:如图所示:4.3.1 使用SSMS创建表创建外键约束创建外键约束例如:SC表中的SID和CID设置为外码。做法:(1)右键快捷菜单或工具栏“关系”,在弹出的【关系】对话框中,单击“添加”按钮添加新的约束关系;4.3.1 使用SSMS创建表(2 2)单击“表和列规范”左边的“”号,再单击“表和列规范”内容框中右边的省略号按钮,从弹出的【表和列】对话框中进行外键约束的表和列的选择,单击“确定”;4.3.1 使用SSMS创建表(3)回到【外键关系】对话框,将“强制外键
15、约束”选项选择为“是”,设置“更新规则”和“删除规则”的值;采用同样的方法添加外键采用同样的方法添加外键CIDCID;4.3.1使用SSMS创建表创建检查约束创建检查约束 例如:Student表中的Sex等于男或女。做法:右键菜单或工具栏“CHECK约束”,在打开的【CHECK约束】对话框中单击“添加”按钮,在表达式文本框中输入检查表达式,在表设计器中进行选项的设置;4.3.1 使用SSMS创建表保存表的定义保存表的定义(1 1)单击关闭表设计器窗口,弹出下图保存对话框,单击“是”钮;(2)输入表名,单击输入表名,单击“确定确定”按钮。按钮。4.3.2使用T-SQL语句创建表格式:格式:CRE
16、ATE TABLE表名表名 (列名1 数据类型 列级完整性约束,列名 2 数据类型 列级完整性约束,列名n 类型 约束,表级完整性约束,);4.3.2 使用T-SQL语句创建表约束:实现表的完整性 NULL/NOT NULL:空值/非空值约束。DEFAULT 常量表达式:默认值约束。UNIQUE:单值约束。PRIMARY KEY:主键约束,等价非空、单值。REFERENCES 父表名(主键):外键约束。CHECK(逻辑表达式):检查约束。4.3.2 使用T-SQL语句创建表例如:在图书管理系统中的数据库(Library)中,创建读者表(Reader),读者类型表(ReaderType),图书表
17、(Book)和借阅表(Borrow)。图书管理系统的数据模型:ReaderType(TypeID,Typename,LimitNum,LimitDays)PK:TypeIDReader(RID,Rname,TypeID,Lendnum)PK:RID FK:TypeIDBook(BID,Bname,Author,PubComp,PubDate,Price)PK:BIDBorrow(RID,BID,LendDate,ReturnDate)PK:RID,BID,LendDate FK:RID和BID SQL Server 20084.3.2 使用T-SQL语句创建表例1:创建读者类型表ReaderT
18、ypeCREATE TABLE ReaderType(TypeID int NOT NULL primary key,-类型编号,主键Typename char(8)NULL,-类型名称LimitNum int NULL,-限借数量LimitDays int NULL-借阅期限)SQL Server 20084.3.2 使用T-SQL语句创建表操作步骤:SQL Server 20084.3.2 使用T-SQL语句创建表输入后点击工具栏上的“执行”按钮,如果输入正确,就会创建相应的表,提示“命令已成功完成。”如果创建的表没有出现,在“表”节点上点击右键,选择“刷新”菜单。SQL Server 2
19、0084.3.2 使用T-SQL语句创建表输入后点击工具栏上的“执行”按钮,如果输入正确,就会创建相应的表,提示“命令已成功完成。”如果创建的表没有出现,在“表”节点上点击右键,选择“刷新”菜单。SQL Server 20084.3.2 使用T-SQL语句创建表例2:创建读者表Reader USE LibraryGOCREATE TABLE Reader(RID char(10)NOT NULL PRIMARY KEY,-读者编号,主键Rname char(8)NULL,-读者姓名TypeID int NULL,-读者类型Lendnum int NULL,-已借数量FOREIGN KEY(Ty
20、peID)REFERENCES ReaderType(TypeID)ON DELETE NO ACTION,-外键,不级联删除)SQL Server 20084.3.2 使用T-SQL语句创建表例3:创建图书表BookUSE LibraryCREATE TABLE Book(BID char(9)PRIMARY KEY,-图书编号,主键Bname varchar(42)NULL,-图书书名Author varchar(20)NULL,-作者PubComp varchar(28)NULL,-出版社PubDate datetime NULL,-出版日期Price decimal(7,2)NULL
21、CHECK(Price0)-定价,检查约束)SQL Server 20084.2.2 使用T-SQL语句创建表例4:创建图书借阅表Borrow(RID,BID,LendDate,ReturnDate)USE LibraryGOCREATE TABLE Borrow(RID char(10)NOT NULL-读者编号外键FOREIGN KEY REFERENCES Reader(RID)ON DELETE CASCADE,/*删除主表记录时级联删除子表相应记录*/BID char(9)NOT NULL-图书编号外键FOREIGN KEY REFERENCES Book(BID)ON DELETE
22、 NO ACTION,/*删除主表记录时不级联删除子表相应记录*/LendDate datetime NOT NULL DEFAULT(getdate(),/*借期,默认值为当前日期*/ReturnDate datetime NULL,-还期primary key(RID,BID,LendDate)-表级约束,主键4.3 修改表 使用使用SSMSSSMS修改表修改表1 使用使用T-SQLT-SQL语句修改表语句修改表24.3.1 使用SSMS修改表 在在【对象资源管理器对象资源管理器】窗口中,展开窗口中,展开“数据库数据库”节点节点 展开所选择的具体数据库节点,展开展开所选择的具体数据库节点,
23、展开“表表”节点节点 右键要修改的表,选择右键要修改的表,选择“设计设计”命令命令 进入表设计器即可进行表的定义的修改进入表设计器即可进行表的定义的修改4.3.2 使用T-SQL语句修改表格式:ALTER table 表名表名 (ALTER COLUMN 列名列名 列定义列定义,ADD 列名列名1 类型类型 约束,约束,DROP 列名列名 )*列定义包括列的数据类型和完整性约束列定义包括列的数据类型和完整性约束 4.3.2使用T-SQL语句修改表修改属性添加或删除列添加或删除约束4.3.2 使用T-SQL语句修改表 修改属性修改属性 例如:把表Book 中PubComp 的类型varchar(
24、28)改为varchar(30)USE Library GO ALTER TABLE Book ALTER COLUMN PubComp varchar(30)NOT NULL GO 4.3.2使用T-SQL语句修改表添加或删除列例1:为表Reader添加邮件地址 USE Library GO ALTER TABLE Reader ADD E-mail varchar(50)NULL CHECK(E-mail like%)GO 例2:为表Reader删除邮件地址。USE Library GO ALTER TABLE Reader DROP COLUMN E-mail GO说明:必须先删除其上的
25、约束说明:必须先删除其上的约束。4.3.2 使用T-SQL语句修改表添加或删除约束 例1:为表Borrow添加主键约束(假设还没有创建)。USE Library GO ALTER TABLE Borrow ADD PRIMARY KEY(RID,BID,LendDate)GO 例2:为表Borrow删除主键约束。USE Library GO ALTER TABLE Borrow DROP PRIMARY KEY(RID,BID,LendDate)GO 4.4 删除表 使用SSMS删除表1 使用T-SQL语句删除表24.4.1使用SSMS删除表 在在【对象资源管理器对象资源管理器】窗口中,展开窗
展开阅读全文