sql数据库SQLServer数据表管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)
相关文档
最新文档