创建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), )