SQLsever数据库第三章创建和操作表.ppt
《SQLsever数据库第三章创建和操作表.ppt》由会员分享,可在线阅读,更多相关《SQLsever数据库第三章创建和操作表.ppt(52页珍藏版)》请在三一办公上搜索。
1、第三章 创建和操作表,数据库的建立和修改数据表的建立加强数据完整性数据表修改与删除SQL视图创建索引掌握内容,数据库的建立和修改,数据库界面直接创建数据库文件关联数据库建立语法:CREATE DATABASE Create Database AppDtaOn Primary(Name=AppDta_data,Filename=d:appdtal.mdf,Size=10MB,MaxSize=100MB,FileGrowth=10MB)Log On(Name=AppDta_Log,Filename=d:appdtalog1.ldf,Size=10MB,MaxSize=100MB,FileGrowt
2、h=10MB),数据库的建立和修改,数据库扩展名说明mdf 数据库主文件ndf 数据库从属文件ldf 事务日志文件数据库说明每个数据库至少有两个文件,一个主文件和一个事务日志文件。从属文件保存主文件容纳不下的数据,可将数据分布在多个磁盘上。事务日志文件保存用来恢复数据库的日志信息。,数据库的建立和修改,数据库对象的标识符标识符包含的字符数必须在1128之间;标识符的第一个字符必须是字母、下划线、符号或#;某些处于标识符开始位置的符号具有特殊意义。标识符的后续字符可以为字母、数字或符号,$符号、数字符号或下划线;如果标识符是保留字或包含空格,则需要使用分割标识符进行处理。SELECT*FROM
3、my table WHERE order=10,数据库的建立和修改,修改数据库语法:ALTER DATABASE Add File|Remove File|Modify File 示例:Alter Database AppDtaAdd File(Name=AppDta2,Fileanme=d:appdta2.ndf,Size=10MB,FileGrowth=10MB)Alter Database AppDtaRemove File AppDta2Alter Database AppDtaModify File(Name=AppDta_data,FileGrowth=50MB)删除数据库DROP
4、 DATABASE,设计数据库表,设计表各列和行的数据类型,达到三级范式要求。决定哪些列允许空值决定是否要在表中使用及何时使用约束、默认设置或规则所需索引的类型,哪里需要索引、哪些列是主键,哪些是外键,设计数据库表,建立数据表用于存放学生信息,包含以下列:学号(ID)、姓名(Name)、性别(Sex)、出生年月日(Bir_day)、出生地(Bir _place)、班级(Class)等。定义数据类型ID(char 10位)、Name(nchar 10位)、Sex(nchar 2位)、Bir_day(datatime 8位)、Bir _place(nvarchar 50位)、Class(nchar
5、 10位)空值?主健?范围?,数据表的建立,基本表的定义create table(列名 数据类型 可选项,列名 数据类型 可选项,constraint,constraint)可选项包括:not null,default 缺省值,identity(种子,增量),unique,primary key,check(表达式),references 表名(列名)Constraint 包括:constraint name unique(列名,)constraint name primary key(列名,)constraint name foreign key(列名,)references 引用表名(列名
6、,)constraint name check(表达式),数据表的建立,示例Create table teach.dbo.student(num int,name char(10),score float);说明指定1 到1024 个列主键约束(可选)1 到250 个Unique 约束(可选)1 到253 个外键约束(可选)1 个或者多个Check 约束限制插入表中的数据(可选)如果使用系统保留字作为表名、列名或其他SQL 对象名称,必须用双引号括起这些名称。Create table student(“create int,name char(10);,加强数据完整性(约束),NOT NULL
7、(非空)UNIQUE(唯一性)PRIMARY KEY(主键)FOREIGN KEY(外键)CHECK(检查)DEFAULT(默认值)IDENTITY(标识),加强数据完整性,使用 NOT NULL 约束NULL表示未定义或未知的值。空不等同于零、空白或默认值,空表示值缺少。可以把空看作是一个标识符,表示一种特定状态。在空情况下,如果没有为列提供值,那么其值是未知的,即空的。通过使用一个标明列不接收空值的 NOT NULL约束,可以重写默认空能力的特性。,加强数据完整性,NOT NULL 语法列名 数据类型 NOT NULL示例Create table student(num int not n
8、ull,name char(10)not null,score float);违反NOT NULL出现的问题数据记录不能添加到表中,加强数据完整性,添加UNIQUE约束UNIQUE可以使一列或一组列只包含唯一值。列添加UNIQUE约束后,此列就不能具有相同的两行或多行记录。语法:对一列添加UNIQUE约束列名 数据类型 UNIQUE对多列添加UNIQUE约束CONSTRAINT UNIQUE(列名,),加强数据完整性,UNIQUE 示例Create table student(num int unique,name char(10)not null,score float);Create ta
9、ble student(name char(10),lesson char(20),score float,constraint name_lesson unique(num,name)-,constraint name_lesson unique(name)-,constraint name_lesson unique(lesson);,加强数据完整性,UNIQUE 与 NULL(SQL:99)UNIQUE是防止相同的值输入定义有该约束的列通过NOT NULL 和 UNIQUE 一起使用可以使UNIQUE约束列不存在空值。Create table student(name char(10)n
10、ot null unique,);Create table student(name char(10)not null,contraint un_name unique(name);,加强数据完整性,添加PRIMARY KEY约束和UNIQUE约束一样,是一种SQL唯一约束。PRIMARY KEY约束定义的列不能包含空值,即使没有NOT NULL,该列也必须包含一个数据值。对于每一个表只能定义一个PRIMARY KEY约束,经常使用作列标识。一个表中,即使没有定义UNIQUE约束,也应该包含主键,来确保行的唯一性。,加强数据完整性,PRIMARY KEY语法列名 数据类型 PRIMARY KE
11、YCONSTRAINT PRIMARY KEY(列名,)示例Create table student(num int primary key,name char(10),);Create table student(num int,name char(10),constraint pk_num primary key(num,name);Create table student(num int,name char(10)unique,constraint pk_num primary key(num);,加强数据完整性,PRIMARY KEY约束说明一个表可以定义多个 UNIQUE 约束,而只
12、能定义一个 PRIMARY KEY 约束。允许空值的列上可以定义 UNIQUE 约束,而不能定义 PRIMARY KEY 约束。当为表指定 PRIMARY KEY 约束时,SQL Server通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。,加强数据完整性,添加FOREIGN KEY约束涉及一个表中数据如何与另一个表中数据相联系。有关系的表有目的的联系在一起可以保证数据的完整性。参照完整性防止一个表中的数据操作对另一个表中的数据产生不利影响。,加强数据完整性,在表2中没有列出的课程,就不能被插入到表1中。如果修改表2中的内容,如果在表1中存在相
13、同的值,应该可以预测到这样作的结果。FOREIGN KEY约束可以增强两个表之间的参照完整性。,表1,表2,加强数据完整性,使用 FOREIGN KEY 原则被引用的列必须是被引用表中的候选键。被引用表最常用的是主键。FOREIGN KEY约束可以包括一列或多列。使用FOREIGN KEY约束时,两个表的引用的列数、列的数据类型必须相同,但列名称可以不同。如果在定义FOREIGN KEY约束时没有指定被引用列,那么在被引用表中的主键中定义的列就被当作被引用列。在一表建立外键之前,被引用表必须存在,并且被引用表对应列必须定义UNIQUE或PRIMARY KEY约束。,加强数据完整性,FOREIG
14、N KEY约束语法列名 类型 REFERENCES(引用列)MATCH FULL|PARTIAL|SIMPLE ON DELETE CASCADE|NO ACTION ON UPDATE CASCADE|NO ACTION CONSTRAINT FROEIGN KEY(,)REFERENCES(,),加强数据完整性,FOREIGN KEY约束示例Create table 表1(学号 char(5)primary key,课程编号 int REFERENCES 表2);Create table 表1(学号 char(5)primary key,课程编号 int REFERENCES 表2(课程编
15、号);Create table 表1(学号 char(5)primary key,课程编号 int,CONSTRAINT fk_1 FOREIGN KEY(课程编号)REFERENCES 表2(课程编号);,加强数据完整性,FOREIGN KEY约束的MATCH字句(SQL:99)MATCH FULL|PARTIAL|SIMPLE 该字句用于决定如何处理外键列中的空值。如外键列不许可空值,MATCH字句就不能应用。MATCH FULL:所有的引用列要么为空值,要么都不是空值(为被引用列的值)。MATCH PARTIAL:一个或多个引用列可以有空值,剩下的引用列和对应的被引用列相同即可。MATC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLsever 数据库 第三 创建 操作

链接地址:https://www.31ppt.com/p-6520862.html