广东海洋大学计算机科学与技术介绍,广东海洋大学_计算机科学与技术_数据库实验1.doc...

广东海洋大学学生实验报告书(学生用表)

实验名称实验1数据库及其对象创建与管理课程名称数据库原理及应用课程号学院(系)信息学院专业计算机科学与技术班级 1113学生姓名 学号 实验地点科技楼实验日期2013-3-31

实验实验目的或Transact-SQL语句修改数据库;

或Transact-SQL语句Student

IF EXISTS (

SELECT *

FROM sys.databases

WHERE NAME='Student'

)

DROP DATABASE Student

GO

CREATE DATABASE Student

ON PRIMARY

(

NAME=Student_dat,

FILENAME='D:\Student_dat.mdf',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=10%

)

LOG ON

(

NAME=Student_log,

FILENAME='D:\Student_log.ldf',

SIZE=5MB,

FILEGROWTH=10%

)

GO

(2)再修改学生课程数据库Student的主数据文件的大小,使其扩大两倍

ALTER DATABASE Student

modify file(

name = Student_dat,

size=30MB)

GO

2.

(1)创建如下四个表:

1) 创建S表:

CREATE TABLE S(

Sno INT PRIMARY KEY ,

Sname CHAR(10) NOT NULL UNIQUE,

Ssex CHAR(2) CHECK(Ssex='男' OR Ssex='女'),

Sage SMALLINT ,

Sdept CHAR(20) NULL DEFAULT '计算机系'

); 创建Course表:

CREATE TABLE Course(

Cno CHAR(4) PRIMARY KEY ,

Cname CHAR(10) NOT NULL,

Tno INT NOT NULL

);

3) 创建SC表:

CREATE TABLE SC(

Sno INT FOREIGN KEY REFERENCES S(Sno),

Cno CHAR(4) FOREIGN KEY REFERENCES Course(Cno),

Grade INT CHECK( Grade>=0 AND Grade<=100 )

);

4) 创建Teacher表:

CREATE TABLE Teacher(

Tno INT PRIMARY KEY ,

Tname CHAR(10) ,

Sdept CHAR(20) NULL DEFAULT '计算机系'

);

(2) 用SSMS修改将刚才所创建表:

①在Course表中插入如下两列:

ALTER TABLE SC ADD Cpno CHAR(4);

ALTER TABLE SC ADD Ccredit INT NOT NULL;

②将SC表中列Grade的类型改为smallint

ALTER TABLE SC DROP CONSTRAINT CK__SC__Grade__164452B1;

--必须先删除约束,再修改列属性

ALTER TABLE SC ALTER COLUMN Grade SMALLINT ;

③在S表中创建CHECK约束,约束名为Sagechk,要求实现年龄在15~45取值

ALTER TABLE S ADD CONSTRAINT Sagechk CHECK(Sage BETWEEN 15 AND 45);

④在Course表中创建外键约束,约束名为Fk_Tno,要求实现Course表中的Tno必须参照Teacher表的Tno取值。

ALTER TABLE Course ADD CONSTRAINT Fk_Tno FOREIGN KEY (Tno) REFERENCES Teacher(Tno) ;

⑤删除Course表中Tno列

--因受到外键Fk_Tno的约束,必须先删除约束Fk_Tno才能删除列Tno;ALTER TABLE Course DROP CONSTRAINT Fk_Tno;

ALTER TABLE Course DROP COLUMN Tno;

(3)删除将刚才所创建Teacher表

DROP TABLE Teacher;

(4)向表插入以下数据

INSERT INTO S( Sno,Sname,Ssex,Sage,Sdept )

VALUES

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值