数据库实验
作者:互联网
实验一
-
创建studentdb数据库,创建spjdb数据库
-
在studentdb中创建三个表student,course ,sc
-
在spjdb中创建四个表S,P,J,SPJ
-
在studentdb中创建架构Production和Person并比较区别
-
修改表结构
(1) 将表course的cname列的数据类型改为varchar(40).
(2) 为表student增加一个新列: birthday(出生日期), 类型为datetime, 默认为空值.
(3) 将表sc中的grade列的取值范围改为小于等于150的正数.
(4) 为Student表的“Ssex”字段创建一个缺省约束,缺省值为’男’
(5)为“Sdept”字段创建一个检查约束,使得所在系必须是’CS’、’MA’或’IS’之一。
(6)为Student表的“Sname”字段增加一个唯一性约束
(7)为SC表建立外键,依赖于Student表的fk_S_c约束。
(8)禁止启用Student表的“Sdept”的CHECK约束ck_student。 -
建立索引
(1) 在student表的sname列上建立普通降序索引.
(2) 在course表的cname列上建立唯一索引.
(3) 在sc表的sno列上建立聚集索引.
(4) 在spj表的sno(升序), pno(升序)和jno(降序)三列上建立一个普通索引.
#创建数据库
CREATE DATABASE studentdb
CREATE DATABASE spjdb
/*在studentdb中创建三个表*/
CREATE TABLE student2020205224
(
sno CHAR(9) PRIMARY KEY,
sname CHAR(10) NOT NULL,
ssex CHAR(2) ,
sage SMALLINT,
sdept char(15),
CHECK (sage>=12),
)
CREATE TABLE course2020205224
(
cno CHAR(4) PRIMARY KEY,
cname CHAR(20) NOT NULL,
cpon CHAR(4) NOT NULL,
ccredit SMALLINT,
)
CREATE TABLE sc2020205224
(
sno CHAR(9),
cnp CHAR(20) PRIMARY KEY,
grade DECIMAL(5) NOT NULL,
CHECK(grade>=0 and grade<=100)
)
/*在spjdb中创建三个表*/
CREATE TABLE S2020205224
(
sno CHAR(2) PRIMARY KEY,
sname CHAR(10),
statu SMALLINT,
city CHAR(10) NOT NULL,
CHECK(statu>0),
)
CREATE TABLE P2020205224
(
pno CHAR(2) PRIMARY KEY,
pname CHAR(10) NOT NULL ,
color CHAR(2),
pweight SMALLINT,
CHECK (pweight>0),
)
CREATE TABLE J2020205224
(
jno CHAR(2) PRIMARY KEY,
jname CHAR(10) NOT NULL,
jcity CHAR(10),
)
CREATE TABLE SPJ2020205224
(
son CHAR(2),
pon CHAR(10),
jno CHAR(10) PRIMARY KEY,
qty SMALLINT,
CHECK (qty>0),
)
标签:10,数据库,PRIMARY,CHAR,实验,KEY,TABLE,CREATE 来源: https://www.cnblogs.com/W-xzg/p/16178327.html