SQL第一次实验

  • 开启小问题
  • 新建数据库用户名
  • 模式的定义和删除
  • 基本表的定义。
  • 基本表的修改
  • 基本表的删除


开启小问题

:刚开始的时候不知道为什么连接不上了,就是下面这个样子。

SQL server建立本体模型 sql创建模式和创建数据库_用户名


解决方法是打开SQL-server的配置管理器,将后缀是MS的那个启动模式修改为启动,就可以连接了。

SQL server建立本体模型 sql创建模式和创建数据库_建表_02

新建数据库用户名

下面是这次实验的主要内容了

一、新建数据库,用户名

1.先新建一个数据库

可以直接右键在数据库处新建,也可以点击新建查询后输入创建数据库的代码,再执行,刷新后就能看到新建的数据库。

SQL server建立本体模型 sql创建模式和创建数据库_用户名_03


2.新建用户名,依次在刚新建的数据库下找到安全性,用户,新建用户WANG.

SQL server建立本体模型 sql创建模式和创建数据库_建表_04


登录名选择浏览中的第一个

SQL server建立本体模型 sql创建模式和创建数据库_SQL server建立本体模型_05

模式的定义和删除

二、模式的定义和删除
1.为用户WANG定义一个学生-课程模式S-T;
输入代码后执行,刷新后在架构处看到新建的S-T即成功。

CREATE SCHEMA "S-T" AUTHORIZATION WANG;

SQL server建立本体模型 sql创建模式和创建数据库_数据库_06

2.CREATE SCHEMA AUTHORIZATION WANG; 模式名没有指定的时候,隐含为用户名WANG。
在实验中显示的默认模式是dbo。
3.为用户WANG创建一个模式TEST,并且在其中定义一个表TAB1。

CREATE SCHEMA TEST AUTHORIZATION WANG//紧接着模式建表
CREATE TABLE TAB1(COL1 SMALLINT,//2个字节的整数
COL2 INT,//4个字节的整数
COL3 CHAR(20),
COL4 NUMERIC(10,3),//总位数为10,小数点后为3位
COL5 DECIMAL(5,2)//同上
);

刷新后在表中看到新建的表即成功。

SQL server建立本体模型 sql创建模式和创建数据库_SQL server建立本体模型_07


继续建立表2

如果不写模式名建表的话,默认是dbo模式

SQL server建立本体模型 sql创建模式和创建数据库_建表_08

建立在TEST模式下

CREATE TABLE TEST.TAB2(COL1 SMALLINT
);

4.删除模式
DROP SCHEMA ZHANG CASCADE;
CASCADE是把模式中所有的数据库对象全部删除。但是执行时显示有语法错误
而在我们使用的SQL server 中对CASCADE和RESTRICT是不支持的,所以要全部删除的话应该先把模式里与它有连接的表,视图等删干净,再删除。
代码直接把CASCADE去掉即可。

DROP TABLE TEST.TAB1;
DROP TABLE TEST.TAB2;
DROP SCHEMA TEST ;

基本表的定义。

三、基本表的定义。
1.建立一个”学生“表Student;

CREATE TABLE Student
(Sno CHAR(9)PRIMARY KEY,//列级完整性条件,主码
Sname CHAR(20)UNIQUE,//唯一
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)

刷新后显示表即建表成功

SQL server建立本体模型 sql创建模式和创建数据库_建表_09


2.建立一个课程表Course

CREATE TABLE Course
(Cno CHAR(4)PRIMARY KEY,
Cname CHAR(40)NOT NULL,//不能取空值
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)/*表级完整性的约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);

SQL server建立本体模型 sql创建模式和创建数据库_数据库_10


3.建立学生选课表SC

CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
GRADE SMALLINT,
PRIMARY KEY(Sno,Cno),//主码由两个属性构成,必须作为表级完整性进行定义
FOREIGN KEY(Sno)REFERENCES Student(Sno),
FOREIGN KEY(Cno)REFERENCES Course(Cno)
);

SQL server建立本体模型 sql创建模式和创建数据库_建表_11

基本表的修改

四、修改基本表
1.向Student表增加”入学时间“列,其数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATE;

SQL server建立本体模型 sql创建模式和创建数据库_数据库_12


2.将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。

ALTER TABLE Student ALTER COLUMN Sage INT;//改类型必须加COLUMN

SQL server建立本体模型 sql创建模式和创建数据库_SQL server建立本体模型_13


3.增加课程名称必须取唯一值的约束条件

ALTER TABLE Course ADD UNIQUE(Cname);
基本表的删除

五、删除基本表
1.删除Student表
用DROP删除时显示被一个外键约束

SQL server建立本体模型 sql创建模式和创建数据库_用户名_14


因为刚才在表CS中对Sno设置了外键,所以去SC的键下找到Sno删除,再执行即可。

———————————————————————————————————————

这次的实验刚开始做时出现了很多小错误,而且和书上的一些使用有的不一样需要自己去查,希望第二次可以顺利一些。

`