数据库基本表创建 完整性约束 foreign Key

WBOY
发布: 2016-06-07 15:36:20
原创
2317 人浏览过

理解以下几张表的内容,根据实际情况设计属性名、数据类型、及各种完整性约束(primary key、foreign key、not null、unique、check),用数据定义语言实现,然后设计实验数据验证约束的效果,当操作违反了完整性约束条件时,数据库管理系统是如何处理的。 1

理解以下几张表的内容,根据实际情况设计属性名、数据类型、及各种完整性约束(primary key、foreign key、not null、unique、check),用数据定义语言实现,然后设计实验数据验证约束的效果,当操作违反了完整性约束条件时,数据库管理系统是如何处理的。

1、创建数据库S_T。

create database S_T
Use S_T
登录后复制

2、新建一张专业信息表,该表至少包含专业号,专业名称,专业负责人,专业简介等属性,根据以下专业信息为每个属性选择合适的数据类型。

专业号

专业名称

专业负责人

专业简介

JK

计算机科学与技术

Null

要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),唯一约束(unique)。

CREATE TABLE Major(
	Dno varchar(10) primary key,
	Dname varchar(20) NOT NULL unique,
	Dman varchar(20),
	DDisc text
);
登录后复制

3、新建一张学生信息表,该表至少包含学号,姓名,性别,出生日期,专业,身份证号,联系方式等属性,根据以下学生信息为每个属性选择合适的数据类型。

学号

姓名

性别

出生日期

专业

身份证号

联系方式

09011101

李彤

1989-6-5

JK

33020319890605234X

654234

要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),唯一约束(unique),为性别设置检查约束(check)使该属性只能取“男”或 “女”。

CREATE TABLE Student(
	Sno CHAR(8) primary key,
	Sname CHAR(20) NOT NULL,
	Ssex CHAR(20),
	Sbirth datetime,
	Smajor VARCHAR(10),
	Sidentity char(18) unique,
	Stel varchar(11),
	check (Ssex IN('男','女')),
	FOREIGN KEY(Smajor) REFERENCES Major(Dno)
);
登录后复制

4、新建一张课程信息表,该表至少包含课程号,课程名称,学分,开课学期等属性,根据以下课程信息为每个属性选择合适的数据类型。

课程号

课程名称

学分

开课学期

10001

数据库原理

3

5

要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),为学分设置约束使该属性取值范围为1到10之间的整数。

CREATE TABLE Course(
	Cno CHAR(5) PRIMARY KEY,
	Cname VARCHAR(40) NOT NULL, /*不可设置为Unique*/
	Ccredit SMALLINT,
	Cbegin SMALLINT,
	CONSTRAINT C1 CHECK (Ccredit between 1 and 10)	
);
登录后复制

5、新建一张选课信息表,该表至少包含学号,课程号,成绩,基点等属性,根据以下选课信息为每个属性选择合适的数据类型。

学号

课程号

成绩

基点

09011101

10001

89

3.0

要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),为成绩设置约束使该属性取值范围为0到100之间的整数。为基点设置约束使该属性取值为0或者大于等于1的值。

CREATE TABLE SC(
	Sno CHAR(8) primary key,
	Cno CHAR(5),
	Grade SMALLINT,
	GPA float,
	FOREIGN KEY (Sno) REFERENCES Student(Sno),
	FOREIGN KEY (Cno) REFERENCES Course(Cno),
	CONSTRAINT C2 CHECK (Grade between 0 and 100),
	CONSTRAINT C3 CHECK (GPA =0 OR GPA >=1)
);
登录后复制

6、修改学生信息表,选择该表中合适的属性设置外码约束(foreign key),实现表间数据的参考完整性。

ALTER TABLE STUDENT 
	ADD CONSTRAINT C4 FOREIGN KEY (Smajor) REFERENCES Major(Dno) ;
登录后复制

7、修改选课信息表,选择该表中合适的属性设置外码约束(foreign key),要求允许级联更新,但不允许级联删除。

ALTER TABLE SC 
	ADD CONSTRAINT C5 FOREIGN KEY (Sno) REFERENCES Student(Sno) 
	ON DELETE NO ACTION
	ON UPDATE CASCADE;

ALTER TABLE SC 
	ADD CONSTRAINT C6 FOREIGN KEY (Cno) REFERENCES Course(Cno) 
	ON DELETE NO ACTION
	ON UPDATE CASCADE;
登录后复制





相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板