数据库作业4:SQL练习1 - CREATE / DROP / ALTER

【例3.1】 为用户定义一个学生-课程模式S-T。
先创建该用户:
CREATE DATABASE STU

数据库作业4:SQL练习1 - CREATE / DROP / ALTER
【在库下新建用户】

打开安全性→右击用户→新建→用户名→登录名(选择第一个)→确定

数据库作业4:SQL练习1 - CREATE / DROP / ALTER
数据库作业4:SQL练习1 - CREATE / DROP / ALTER
数据库作业4:SQL练习1 - CREATE / DROP / ALTER

【例3.2】CREATE SCHEMA AUTHORIZATION WANG;
该语句建立模式的时候省去了模式名,隐含为用户名
在SQL Server中,默认用户是dbo,所以表名是dbo.*/
【例3.3】为用户WANG创建一个模式TEST,并且在其中定义一个表TAB

CREATE SCHEMA TEST AUTHORIZATION wang
CREATE TABLE TAB1(COL1 SMALLINT,
COL2 INT,
COL3 CHAR(20),
COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2)
);
TEST模式建立成功,继续在TEST模式下建立表TAB2
CREATE TABLE TEST.TAB2
( COL1 SMALLINT
);
COL2 INT,
COL3 CHAR(20),
COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2)
);
随后在菜单中可以找到新建的表(可以用DROP SCHEMA<模式名>;语句删除模式)
数据库作业4:SQL练习1 - CREATE / DROP / ALTER
【例3.4】 DROP SCHEMA WANG (CASCADE);
该语句删除了模式,同时模式中已经定义的表会也被删除了。
【例3.5】CREATE TABLE Student
(Sno CHAR(9)PRIMARY KEY, /列级完整性约束田间,Sno是主码/
Sname CHAR(20)UNIQUE, /Sname取唯一值/
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);

【例3.6】CREATE TABLE Course
(Cno CHAR(4)PRIMARY KEY,
Cname CHAR(40) NOT NULL, /Cname不可为空/
Cpno CHAR(4),
Credit SMALLINT,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)
);

【例3.7】 建立学生选课表SC。
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4) , /Cname不可为空/
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY(Sno)REFERENCES Student(Sno), /表级完整性约束条件,Sno是外码,被参照表是Student/
FOREIGN KEY(Cno)REFERENCES Course(Cno), /表级完整性约束条件,Cno是外码,被参照表是Course/
);

【例3.8】
ALTER TABLE Student ADD S_entrance DATE;
注意新增加的列必须是空值,且不可以重名,否则无法执行
【例3.9】
ALTER TABLE Student ALTER COLUMN Sage INT ;

【例3.10】
ALTER TABLE Course ADD UNIQUE(Cname);

【例3.11】删除Student表
DROP TABLE Student;
报错 去掉CASCADE即可

【例3.12】若表上建有视图,选择RESTRICT时表不能删除;选择CASCADE时可删除表,视图也被自动删除 。
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept=‘IS’;
DROP TABLE Student;
数据库作业4:SQL练习1 - CREATE / DROP / ALTER