sql数据库SQLServer数据表管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Create table 成绩 ( 编号 char(10) NOT NULL,
课程编号 char(4)references 课程表, 学号 char(10)references 学生信息, 姓名 char(8) NOT NULL, 成成绩绩initnt CHECK(成绩 between 0 and 100) Constraint PK_学号 primary key(编号), Constraint CK_成绩 CHECK(成绩 between 0 and 100) )
? 【例8】:将course表中cname列设置成为唯一 列。
Alter table course Add constraint ix_course unique (cname)
?4.CHECK约束 CHECK约束用于限制输入到一列或多列的值的范围,从 逻辑表达式判断数据的有效性,也就是一个列的输入内 容必须满足CHECK约束的条件,否则,数据无法正常输 入,从而强制数据的域完整性。例如在学生成绩表(stu_ grade)中的“成绩”来讲,应该保证在0 ~100之间,又 如在课程信息表(course_info)中的“学时”来讲,应 该保证在0 ~ 80之间,而只用int数据类型是无法实现的, 可以通过CHECK约束来完成。
注:此法只能用于列名相同时 使用
?【例7】:在 stu_info 表中sclass 列上添加一 个外键,名称为 FK_bno,与class表中的bno列 关联。
Alter table stu_info Add constraint FK_bno Foreign key(sclass) references class(bno)
?参数说明如下: referenced_table_name是FOREIGN KEY约束引用的 表的名称。 column_name是FOREIGN KEY约束所引用的表中的 某列。
?【例6】:建立一个新的 stu_info表,指定“学号”
为主键,“班级编号”为外键,与 class表中的
“班级编号”列关联。
使用表设计器创建CHECK约束
使用T-SQL 语句创建CHECK约束
?创建检查约束的语法形式如下: [ CONSTRAINT constraint_name] CHECK ( check _expression ) 其中,check_expression 为约束范围表达式。
ቤተ መጻሕፍቲ ባይዱ
?【例8】:新建“成绩”表,要求成绩的值在 0~1 00之间
使用表设计器创建UNIQUE约束
?在表设计器需要加入 UNIQUE约束的列上单击鼠 标右键选择【索引 /键】选项。
使用T-SQL 语句创建UNIQUE约束
?创建唯一性约束的语法形式如下: [ CONSTRAINT constraint_name] UNIQUE [ CLU STERED | NONCLUSTERED ] 其中,CLUSTERED | NONCLUSTERED 表示所 创建的 UNIQUE 约束是聚集索引还是非聚集索引, 默认为NONCLUSTERED 非聚集索引。
6.3完整性与约束
?数据库中的数据现实世界的反映,数据库的设计 必须能够满足现实情况的实现,即满足现实商业 规则的要求,这也就是数据完整性的要求。
?在数据库管理系统中,约束是保证数据库中的数 据完整性的重要方法。
?2.FOREIGN KEY 约束 外键(FOREIGN KEY )用于建立和加强两个 表(主表与从表)的一列或多列数据之间的链 接,当数据添加、修改或删除时, 通过外键约 束保证两个表之间数据的一致性 。
?定义表之间的参照完整性是先定义主表的主键, 再对从表定义外键约束。 FOREIGN KEY 约束 要求列中的每个值在所引用的表中对应的被引 用列中都存在,同时 FOREIGN KEY 约束只能 引用在所引用的表中是 PRIMARY KEY 或UNI QUE约束的列,或所引用的表中在 UNIQUE I NDEX 内的被引用列。
使用表设计器创建FOREIGN KEY约束
? 打开需要建立外键的表设计器,在需要设置外 键的列上单击鼠标右键选择【关系】命令。
? 打开【外键关系】对话 框,单击表和列规范后面 的…按钮,设置外键关系。
使用数据库关系图建立外键
使用T-SQL语句创建FOREIGN KEY约束
?创建外键约束的语法形式如下: [ CONSTRAINT constraint_name] [ FOREIGN KEY ] REFERENCES referenced_table_name (column_name) [([, …n ]) ]
Create table stu_info (学号 char(10) NOT NULL,
姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL, 地址 char(20), 班级编号 char(4) Constraint PK_学号 primary key (学号), Constraint FK_班级编号 foreign key (班级编号) References class (班级编号))
?3.UNIQUE约束 UNIQUE约束用于确保表中某个列或某些列(非主 键列)没有相同的列值。与PRIMARY KEY 约束类 似,UNIQUE约束也强制唯一性,但UNIQUE约束用 于非主键的一列或多列组合,而且一个表中可以定 义多个UNIQUE约束,另外UNIQUE约束可以用于定 义允许空值的列。例如在课程表(course_info)中已 经定义“课程号”作为主键,而现在对于“课程名” 也不允许出现重复,就可以通过设置“课程名”为U NIQUE约束来确保其唯一性。
也可写成 Create table stu_info (学号 char(10) NOT NULL PRIMARY KEY,
姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL, 地址 char(20), 班级编号 char(4) references class)
课程编号 char(4)references 课程表, 学号 char(10)references 学生信息, 姓名 char(8) NOT NULL, 成成绩绩initnt CHECK(成绩 between 0 and 100) Constraint PK_学号 primary key(编号), Constraint CK_成绩 CHECK(成绩 between 0 and 100) )
? 【例8】:将course表中cname列设置成为唯一 列。
Alter table course Add constraint ix_course unique (cname)
?4.CHECK约束 CHECK约束用于限制输入到一列或多列的值的范围,从 逻辑表达式判断数据的有效性,也就是一个列的输入内 容必须满足CHECK约束的条件,否则,数据无法正常输 入,从而强制数据的域完整性。例如在学生成绩表(stu_ grade)中的“成绩”来讲,应该保证在0 ~100之间,又 如在课程信息表(course_info)中的“学时”来讲,应 该保证在0 ~ 80之间,而只用int数据类型是无法实现的, 可以通过CHECK约束来完成。
注:此法只能用于列名相同时 使用
?【例7】:在 stu_info 表中sclass 列上添加一 个外键,名称为 FK_bno,与class表中的bno列 关联。
Alter table stu_info Add constraint FK_bno Foreign key(sclass) references class(bno)
?参数说明如下: referenced_table_name是FOREIGN KEY约束引用的 表的名称。 column_name是FOREIGN KEY约束所引用的表中的 某列。
?【例6】:建立一个新的 stu_info表,指定“学号”
为主键,“班级编号”为外键,与 class表中的
“班级编号”列关联。
使用表设计器创建CHECK约束
使用T-SQL 语句创建CHECK约束
?创建检查约束的语法形式如下: [ CONSTRAINT constraint_name] CHECK ( check _expression ) 其中,check_expression 为约束范围表达式。
ቤተ መጻሕፍቲ ባይዱ
?【例8】:新建“成绩”表,要求成绩的值在 0~1 00之间
使用表设计器创建UNIQUE约束
?在表设计器需要加入 UNIQUE约束的列上单击鼠 标右键选择【索引 /键】选项。
使用T-SQL 语句创建UNIQUE约束
?创建唯一性约束的语法形式如下: [ CONSTRAINT constraint_name] UNIQUE [ CLU STERED | NONCLUSTERED ] 其中,CLUSTERED | NONCLUSTERED 表示所 创建的 UNIQUE 约束是聚集索引还是非聚集索引, 默认为NONCLUSTERED 非聚集索引。
6.3完整性与约束
?数据库中的数据现实世界的反映,数据库的设计 必须能够满足现实情况的实现,即满足现实商业 规则的要求,这也就是数据完整性的要求。
?在数据库管理系统中,约束是保证数据库中的数 据完整性的重要方法。
?2.FOREIGN KEY 约束 外键(FOREIGN KEY )用于建立和加强两个 表(主表与从表)的一列或多列数据之间的链 接,当数据添加、修改或删除时, 通过外键约 束保证两个表之间数据的一致性 。
?定义表之间的参照完整性是先定义主表的主键, 再对从表定义外键约束。 FOREIGN KEY 约束 要求列中的每个值在所引用的表中对应的被引 用列中都存在,同时 FOREIGN KEY 约束只能 引用在所引用的表中是 PRIMARY KEY 或UNI QUE约束的列,或所引用的表中在 UNIQUE I NDEX 内的被引用列。
使用表设计器创建FOREIGN KEY约束
? 打开需要建立外键的表设计器,在需要设置外 键的列上单击鼠标右键选择【关系】命令。
? 打开【外键关系】对话 框,单击表和列规范后面 的…按钮,设置外键关系。
使用数据库关系图建立外键
使用T-SQL语句创建FOREIGN KEY约束
?创建外键约束的语法形式如下: [ CONSTRAINT constraint_name] [ FOREIGN KEY ] REFERENCES referenced_table_name (column_name) [([, …n ]) ]
Create table stu_info (学号 char(10) NOT NULL,
姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL, 地址 char(20), 班级编号 char(4) Constraint PK_学号 primary key (学号), Constraint FK_班级编号 foreign key (班级编号) References class (班级编号))
?3.UNIQUE约束 UNIQUE约束用于确保表中某个列或某些列(非主 键列)没有相同的列值。与PRIMARY KEY 约束类 似,UNIQUE约束也强制唯一性,但UNIQUE约束用 于非主键的一列或多列组合,而且一个表中可以定 义多个UNIQUE约束,另外UNIQUE约束可以用于定 义允许空值的列。例如在课程表(course_info)中已 经定义“课程号”作为主键,而现在对于“课程名” 也不允许出现重复,就可以通过设置“课程名”为U NIQUE约束来确保其唯一性。
也可写成 Create table stu_info (学号 char(10) NOT NULL PRIMARY KEY,
姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL, 地址 char(20), 班级编号 char(4) references class)