大数据学习
bigdata learning
Toggle navigation
大数据学习
主页
openGauss数据库
Flume
MongoDB
Hadoop
数据库实验
Kafka
Zookeeper
Hbase
Manual
Spark
Neo4j
InfluxDB
RabbitMQ
Flink
About Me
归档
标签
实验09-用户自定义完整性
无
2022-10-13 23:44:38
60
0
0
bigdata
# 实验9. 用户自定义完整性 ## 9.1 实验目的 学习用户自定义约束,并实践用户自定义完整性,利用SQL语言用短语NOT NULL、UNIQUE、CHECK保证用户自定义完整性。 ## 9.2 实验内容 建立表Teacher,注意跟前面所建立的Teachers区分开来, 1. 创建Worker,Teacher表,并自定义2个约束U1以及U2,其中U1规定Wname,Tname字段唯一,U2规定Wage, Tage (级别)字段的上限是28。 2. 在Worker, Teacher表中插入一条合法记录。 3. 演示插入违反U2约束的例子,U2规定元组的Wage,Tage属性的值必须<=28。 4. 去除U2约束。 5. 重新插入(3)中想要插入的数据,由于去除了U2约束,所以插入成功。 ## 9.3 实验步骤 以系统管理员nbuuser登录到数据库db_uni,输入如下命令,运行并观察结果。 1. 创建Teacher表,并自定义2个约束U1以及U2,其中U1规定Tname字段唯一,U2规定Tage (级别)字段的上限是28。仿照Teacher表,创建表Worker表,并自定义2个约束U3以及U4,其中U3规定Wname字段唯一,U4规定Wag (级别)字段的上限是28。 * 创建Teacher表 ```sql CREATE TABLE Teacher ( Tno CHAR(5), Tname CHAR(8) CONSTRAINT U1 UNIQUE, Tsex CHAR(3), Tage INT CONSTRAINT U2 CHECK (Tage<=28), Tdept CHAR(20), CONSTRAINT PK_Teacher PRIMARY KEY(Tno) ); ``` * 仿照Teacher表,创建表Worker 2. 在Worker, Teacher表中插入一条合法记录。 * 在Teacher表中插入一条合法记录 ```sql INSERT INTO Teacher (Tno,Tname,Tsex,Tage,Tdept) VALUES('T01','李用','M',14,'后勤部'); SELECT * FROM Teacher; ``` * 仿照Teacher表,在Worker表中插入一条合法记录。 3. 演示插入违反U2、U4约束的例子,U2、U4分别规定元组的Wage,Tage属性的值必须<=28。 * 在Teacher表中插入一条违反U2约束的记录。 ```sql INSERT INTO Teacher (Tno,Tname,Tsex, Tage,Tdept) VALUES('T02','王勇','M',38,'后勤部'); SELECT * FROM Teacher; ``` *仿照Teacher表,在Worker表中插入一条违反U4约束的记录。 4. 去除U2和U4约束。输入如下SQL语句 * 在Teacher表中去除U2约束。 ```sql ALTER TABLE Teacher DROP CONSTRAINT IF EXISTS U2; ``` * 仿照Teacher表,在Worker表中去除U4约束。 5. 去除U2和U4约束,重新做(3) ## 9.4 实验要求 1. 实验之前请细细阅读实验总体要求与说明指导书 2. 在openGauss环境中,完成以上实验(1)-(5)步所有SQL数据定义操作,并完成实验报告。
上一篇:
实验08-参照完整性
下一篇:
实验10-触发器
文档导航