实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库

一、SSMS基本操作

1、附加School数据库

对数据库右键,选择“附加”,导入选择的MDF格式文件

2、添加Test数据库

数据库右键,选择“新建数据库”

3、增加表dbo.Person设置,#P为主键,增加属性Ptype

编写指令如下:

USE test;
CREATE TABLE Person(
P# CHAR(18) NOT NULL,
Pname CHAR(20),
Page SMALLINT
);
ALTER TABLE Person
ADD PRIMARY KEY (p#);
ALTER TABLE person ADD Ptype CHAR(10);

4、对表dbo.Person进行操作

(1)对表增加了两个人的信息,执行指令:

INSERT INTO person VALUES(
'11111111',
'一把手',
55,
'student');
INSERT INTO person VALUES(
'00000000',
'二把手',
44,
'student');

(2)修改第2条记录

UPDATE person
SET pname='新的二把手',
page = 18
WHERE p#='00000000'

(3)删除第2条记录

DELETE FROM person
WHERE p#='00000000'

5、备份Test数据库

右键数据库-任务-备份

6、删除Person表

DROP TABLE Person

7、恢复Test数据库

右键Test数据库-任务-还原

记得勾选“关闭现有连接”,否则会出现报错“数据库正在使用......”

8、删除Test数据库

右键Test数据库-删除

记得勾选“关闭现有连接”,否则会出现报错“数据库正在使用......”

二、数据定义

1、创建关系数据库表Person

我看了School数据库的四个表,和题目给定的属性没重叠,我就重新创建个数据库Test在创建Person表了

运行指令:

USE test;
CREATE TABLE Person(
p# CHAR(10) PRIMARY KEY,
pname CHAR(10),
page SMALLINT,
CONSTRAINT check_age CHECK(page>18)
);

CREATE TABLE Room(
r# CHAR(3) PRIMARY KEY,
rname CHAR(20),
rarea REAL
);

CREATE TABLE PR(
p# CHAR(10) REFERENCES Person(p#),
r# CHAR(3) REFERENCES Room(r#),
dates DATE 
);

2、更改表Person

增加属性Ptype,取消Page大于18的约束把表Room中的属性Rname数据长度改成40。

ALTER TABLE Person
ADD ptype CHAR(10)

ALTER TABLE Person
DROP CONSTRAINT check_age;

ALTER TABLE Room
ALTER COLUMN rname CHAR(40);

MODIFY如果不能用的话用ALTER就可以

3、删除表ROOM中的一个属性 Rarea。

ALTER TABLE Room
DROP COLUMN Rarea;

4、取消表PR的外键。

右键PR的“键”-选择外键-删除

这是我导出后改的可执行指令,constraint的名称后面有一串数字,这是因为前面没有使用FOREIGN KEY的指令创建外键,SSMS自己生成的。生成外键要自己生成约束方便删除点,不然很麻烦。

USE Test
ALTER TABLE PR
DROP CONSTRAINT [FK__PR__r#__412EB0B6];

5、为表ROOM创建按R#降序排列的索引。

CREATE INDEX Roomno ON Room(R# DESC);  

6、为表PERSON创建按P#升序排列的索引。

CREATE INDEX Personno ON Person(P#);

7、创建表PERSON的按Pname升序排列的唯一性索引。

CREATE UNIQUE INDEX Personno1 ON Person(Pname);

8、取消表PERSON的P#升序索引。

DROP INDEX Person.Personno;

三、心得

删除数据库Test后对其他数据库进行操作SSMS会显示:

无法连接到Test,重启一下SSMS就好了;

创建外键也可以用Foreign key的方法,不过这样要添加两个外键为主键;列名称可以和类型同名

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值