实体完整性约束

实验目的

1.掌握交互式和T-SQL创建PRIMARY KEY约束的方法。
2.掌握交互式和T-SQL创建UNIQUE约束的方法。
3.掌握T-SQL创建IDENTITY属性列。

实验内容

表名:TEST_SC

  • 学号:SNO CHAR(2)
  • 课号:CNO CHAR(2)
  • 成绩:SCORE TINYINT
  • 主键:(SNO,CNO)

表名:TEST_C

  • 课号:CNO CHAR(2)
  • 课名:CN CHAR(2)
  • 课时:CT TINYINT
  • 主键:CNO
  • 主键约束名:PK_TEST_C

表名:TEST_TC

  • 教师号:TNO CHAR(2)
  • 课号:CNO CHAR(2)
  • 主键:(TNO,CNO)
  • 主键约束名:PK_TEST_TC

实验步骤

1.交互式为数据库表S创建PRIMARY KEY约束
(1)建立表S,列属性如下图


表S.png

(2)展开数据库表节点,右键设计表,选择SNO列单击工具栏,设置成主键保存


image.png

2.交互式创建数据库表TEST_SC,并创建PRIMARY KEY约束
(1)建立表TEST_SC,列属性如图
表TEST_SC

(2)同时选中SNO和CNO列,单击工具栏设置成主键并保存


image.png

3.交互式创建数据库表,用T-SQL为T在TNO列上创建PRIMARY KEY约束
(1)建立表TEST_SC,列属性如图
image.png

(2单击工具栏中的“新建查询”按钮,打开查询编辑器窗口,输入如下语句
USE xhjk
GO
ALTER TABLE T
    ADD CONSTRAINT PK_TNO PRIMARY KEY(TNO)
GO

(3)查看变化


image.png

4.用T-SQL 创建数据库表TEST_C,并以列约束形式创建PRIMARY KEY约束
执行如下语句

USE xhjk
GO
CREATE TABLE TEST_C(
    CNO CHAR(2)CONSTRAINT PK_TEST_C PRIMARY KEY,
    CN CHAR(10),
    CT TINYINT)
GO

5.用T-SQL 创建数据库表TEST_TC,并以表约束形式创建PRIMARY KEY约束
执行如下语句

USE xhjk
GO
CREATE TABLE TEST_TC(
    TNO CHAR(2),
    CNO CHAR(2),
    CONSTRAINT PK_TEST_TC PRIMARY KEY(TNO,CNO))
GO

6.交互式为现有表TEST_TC中的CNO和TNO列创建UNIQUE约束
(1)选择TC表,打开“索引/键”,右键选择“修改”
(2)单击工具栏中“管理索引和键”按钮


image.png

(3)创建索引IX_TEST_TC1


image.png

(4)设置列TNO和CNO为UNIQUE约束,“类型”是否唯一选择“唯一”
image.png

(5)关闭
7.用T-SQL 为现有数据库表C中的CN创建UNIQUE约束

执行如下语句

USE xhjk
GO
ALTER TABLE C
ADD CONSTRAINT UNIQUE_C UNIQUE(CN)
GO

8.交互式为现有表TEST_SC增加新列ID_SC,并创建此列属性为IDENTITY
(1)打开SC设计表,插入新列ID_SC,类型int,不允许为空
(2)设置ID_SC列为标识列IDENTITY。选中此列,窗口下端单击“标识规范”,单击“是标识”,下拉列表选“是”,如下图所示。


image.png

9.用T_SQL为现有表TEST_TC增加新列ID_TC,并创建此列属性为IDENTITY
执行如下语句

USE xhjk
GO
ALTER TABLE TEST_TC ADD ID_TC INT IDENTITY
GO

10.交互式取消ID_TC列的标识属性和删除现有表TEST_SC的主键PK_TEST_SC
其实就是 上面实验的逆过程
11.用T_SQL删除表C中CN列的UNIQUE约束UNIQUE_C
执行如下语句

USE xhjk
GO
ALTER TABLE C DROP UNIQUE_C
GO

问题

(1)设计表时提示“不允许保存更改 你所做的更改要求删除并……”的问题


image.png

解决:


image.png

image.png

(2)无法创建约束的错误信息
image.png

解决:右键设计表,将允许非空选项设置为空。

你可能感兴趣的:(实体完整性约束)