SQL Server创建 学号 性别 课程编号 check约束 主键约束 UNIQUE约束

SQL Server创建 学号 性别 课程编号 check约束 主键约束 UNIQUE约束,第1张

use SM

go

1

//创建SC表

if exists(select from sysobjects where name='sc') //判断数据中是否有该表,若有先删除再重建

drop table sc

create table sc

(

StudentNo varchar(20) not null,

CourseNo varchar(20) not null,

StudentResult int not null

)

go

//添加约束

2

alter table Student add constraint PK_stuno primary key(StudentNo)

3

alter table Student add constraint CK_sex check (sex='男' or sex='女')

4

alter table Course add constraint PK_courseno primary key(CourseNo)

5

alter table Course add constraint UQ_coursename unique (CourseName)

6

alter table sc add constraint FK_studentno foreign key(StudentNo) references Student(StudentNo)

7

alter table sc add constraint FK_courseno foreign key(CourseNo) references Course(CourseNo)

8

alter table sc add constraint PK_stu primary key(StudentNo,CourseNo)

表的两种相关约束是:主键和外键。

1、主键约束(PRIMARY KEY):在一个表中能唯一的标识一行。主键可以限定在多个列上;唯一键约束(UNIQUE key):在一个表中能唯一的标识一行,唯一键也可以限定在多个列上。

主键和唯一键的区别:一个表中最多只能有一个主键。可以多个唯一键;主键所限定的列不能为null,唯一键所限定的列可以为null

2、外键约束(FOREIGN key): 引用表,有外键约束的列所在的表。被引用表,外键所引用的列。被引用的列只能是主键或者唯一键。非空约束(NOT null):表示该列上的数据不能有null值。检查性约束(check):表示该列上的数据必须满足某一个条件表达式。

表约束(table constraint)是2018年全国科学技术名词审定委员会公布的计算机科学技术名词,出自《计算机科学技术名词 》第三版。约束作用:用来保持数据的完整性,防止无效数据进入到数据库中。对表的属性值及其不同属性之间的依赖关系的限制规定。

数据库主键的意思是指一个列或者是多列的组合,它的值能唯一地标识表中的每一行,它的作用是可强制表的实体完整性。主键用于其他表的外键关联,以及本记录的修改与删除。在创建以及更改表的时候可以通过定义 PRIMARY KEY 约束来进行主键的创建。

扩展资料:

数据库主键的作用如下:

1、可以保证实体的完整性。

2、加快数据库的 *** 作速度。

3、在表中添加新记录时,DBMS会自动检查新记录的主键值。

4、DBMS自动按主键值的顺序显示表中的记录。

参考资料:

百度百科-数据库主键

sqlserver

CREATE TABLE 自己名字表

(

学号 int NOT NULL PRIMARY KEY,

姓名 varchar(50) NOT NULL,

班级Id int FOREIGN KEY REFERENCES 班级表(Id)

)

主键约束

SELECT

tabname AS [表名],

idxname AS [主键名称],

colname AS [主键列名]

FROM

sysindexes idx

JOIN sysindex_columns idxCol

ON (idxobject_id = idxColobject_id

AND idxindex_id = idxColindex_id

AND idxis_primary_key = 1)

JOIN systables tab

ON (idxobject_id = tabobject_id)

JOIN syscolumns col

ON (idxobject_id = colobject_id

AND idxColcolumn_id = colcolumn_id);

唯一约束

SELECT

tabname AS [表名],

idxname AS [约束名称],

colname AS [约束列名]

FROM

sysindexes idx

JOIN sysindex_columns idxCol

ON (idxobject_id = idxColobject_id

AND idxindex_id = idxColindex_id

AND idxis_unique_constraint = 1)

JOIN systables tab

ON (idxobject_id = tabobject_id)

JOIN syscolumns col

ON (idxobject_id = colobject_id

AND idxColcolumn_id = colcolumn_id);

外键约束

select

oSubname AS [子表名称],

fkname AS [外键名称],

SubColname AS [子表列名],

oMainname AS [主表名称],

MainColname AS [主表列名]

from

sysforeign_keys fk

JOIN sysall_objects oSub

ON (fkparent_object_id = oSubobject_id)

JOIN sysall_objects oMain

ON (fkreferenced_object_id = oMainobject_id)

JOIN sysforeign_key_columns fkCols

ON (fkobject_id = fkColsconstraint_object_id)

JOIN syscolumns SubCol

ON (oSubobject_id = SubColobject_id

AND fkColsparent_column_id = SubColcolumn_id)

JOIN syscolumns MainCol

ON (oMainobject_id = MainColobject_id

AND fkColsreferenced_column_id = MainColcolumn_id)

Check约束

SELECT

tabname AS [表名],

chkname AS [Check约束名],

colname AS [列名],

chkdefinition

FROM

syscheck_constraints chk

JOIN systables tab

ON (chkparent_object_id = tabobject_id)

JOIN syscolumns col

ON (chkparent_object_id = colobject_id

AND chkparent_column_id = colcolumn_id)

以上就是关于SQL Server创建 学号 性别 课程编号 check约束 主键约束 UNIQUE约束全部的内容,包括:SQL Server创建 学号 性别 课程编号 check约束 主键约束 UNIQUE约束、表的两种相关约束、什么是数据库里面的主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9609918.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存