数据库实验创建和修改数据库.docx

上传人:b****5 文档编号:8274495 上传时间:2023-01-30 格式:DOCX 页数:12 大小:270.54KB
下载 相关 举报
数据库实验创建和修改数据库.docx_第1页
第1页 / 共12页
数据库实验创建和修改数据库.docx_第2页
第2页 / 共12页
数据库实验创建和修改数据库.docx_第3页
第3页 / 共12页
数据库实验创建和修改数据库.docx_第4页
第4页 / 共12页
数据库实验创建和修改数据库.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库实验创建和修改数据库.docx

《数据库实验创建和修改数据库.docx》由会员分享,可在线阅读,更多相关《数据库实验创建和修改数据库.docx(12页珍藏版)》请在冰豆网上搜索。

数据库实验创建和修改数据库.docx

数据库实验创建和修改数据库

实验二

实验名称:

创建和修改数据库

一、实验目的

1.熟悉SQLSERVER的企业管理器和查询分析器的用户界面,掌握用企业管理器和查询分析器创建数据库,修改数据库和删除数据库的方法。

了解数据库的三种文件类型:

主数据文件(.mdf)、次要数据文件(.ndf)和事务日志文件(.ldf)。

2.熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。

要求学生熟练掌握使用企业管理器和T—SQL语句CREATETABLE、ALTERTABLE及DROPTABLE语句对数据表进行管理。

二、实验原理

在企业管理器中实现对数据库的管理及使用T—SQL语句CREATEDATABASE、ALTERDATABASE及DROPDATABASE来实现数据库的创建、修改及删除。

三、实验设备

安装有SQLSERVER2000的计算机。

(1)、实验示例

1.创建名称为testdb的数据库,数据库中包含一个数据文件,逻辑文件名为testdb_data,磁盘文件名为testdb.mdf,文件初始容量为2MB,最大容量为8MB,文件容量递增值为1MB;事务日志文件的逻辑文件名为testdb_log,磁盘文件名为testdb_log.ldf,文件初始容量为1MB,最大容量为5MB,文件容量递增值为1MB。

CREATEDATABASEtestdb

ON

(NAME=testdb_data,

FILENAME='d:

\DATA\testdb.mdf',

SIZE=2MB,

MAXSIZE=8MB,

FILEGROWTH=1MB)

LOGON

(NAME=’testdb_log’,

FILENAME='d:

\DATA\testdb_log.ldf',

SIZE=1MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

2.对testdb数据库进行修改:

添加一个数据文件,逻辑文件名为testdb2_data,磁盘文件名为testdb2_data.ndf,文件初始容量为1MB,最大容量为5MB,文件容量递增值为1MB。

ALTERDATABASEtestdb

ADDFILE

(NAME=testdb2_data,

FILENAME='d:

\DATA\testdb2.ndf',

SIZE=1MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

(1)、实验内容

分别使用SQLSERVER2000企业管理器和T—SQL语句,按下列要求创建、修改和删除用户数据库。

1.删除数据库S_T,在查询分析器中用命令采用默认设置创建数据库S_T(只需给出数据库名)。

CREATEDATABASES_T

 

DROPDATABASES_T

 

2.创建名称为company的数据库,数据库中包含一个数据文件,逻辑文件名为company_data,磁盘文件名为company_data.mdf,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB;事务日志文件的逻辑文件名为company_log,磁盘文件名为company_log.ldf,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB。

CREATEDATABASEcompany

ON

(NAME=company_data,

FILENAME='d:

\DATA\company_data.mdf',

SIZE=5MB,

MAXSIZE=15MB,

FILEGROWTH=1MB)

LOGON

(NAME=’company_log’,

FILENAME='d:

\DATA\company_log.ldf',

SIZE=5MB,

MAXSIZE=10MB,

FILEGROWTH=1MB)

 

3.对该数据库进行修改:

添加一个数据文件,逻辑文件名为company2_data,磁盘文件名为company2_data.ndf,文件初始容量为1MB,最大容量为5MB,文件容量递增值为1MB;将日志文件company_log的最大容量增加为15MB,文件容量递增值为2MB。

ALTERDATABASEcompany

ADDFILE

(NAME=company2_data,

FILENAME='d:

\DATA\company2.ndf',

SIZE=1MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

LOGON

(NAME=’company_log’,

FILENAME='d:

\DATA\company_log.ldf',

SIZE=5MB,

MAXSIZE=15MB,

FILEGROWTH=2MB)

4.在company数据库中添加一个文件组TempGroup,并向该文件组中添加一个容量为3MB,最大容量为10MB,递增量为1MB的数据文件,该数据文件的逻辑文件名为company3_data,磁盘文件名为company3_data.ndf。

ALTERDATABASEcompany

ADDTempGroup

(NAME=company3_data,

FILENAME='d:

\DATA\company3_data.ndf',

SIZE=3MB,

MAXSIZE=10MB,

FILEGROWTH=1MB)

5.在company数据库中删除数据文件company2_data。

ALTERDATABASEcompany

DROPFILE

(NAME=company2_data,

FILENAME='d:

\DATA\company2.ndf',

SIZE=1MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

 

6.删除数据库company。

DROPDATABASEcompany

ON

(NAME=company_data,

FILENAME='d:

\DATA\company_data.mdf',

SIZE=5MB,

MAXSIZE=15MB,

FILEGROWTH=1MB)

LOGON

(NAME=’company_log’,

FILENAME='d:

\DATA\company_log.ldf',

SIZE=5MB,

MAXSIZE=15MB,

FILEGROWTH=2MB)

 

7.采用默认设置创建数据库company。

(2)、实验示例

两个示例:

●一个是书上的学生选课数据库S_T,S_T数据库中有学生表student,课程表course和学生选课表sc。

各表的结构如下:

学生表student

Sno

char(5)

Notnull

primarykey

学号

Sname

char(20)

Notnull

姓名

Ssex

char

(2)

Notnull

性别

Sage

smallint

Notnull

年龄

Sdept

char(20)

Notnull

系别

课程表course

Cno

char(4)

Notnull

primarykey

课程号

Cname

char(40)

Notnull

课程名

Cpno

char(4)

先行课

Ccredit

smallint

Notnull

学分

学生选课表sc

Sno

char(5)

Notnull

primarykey

学号

Cno

char(4)

Notnull

primarykey

课程号

Grade

smallint

成绩

●另一个示例是某公司的产品销售数据库company,company数据库中存在人事表employee、客户表customer、销售表sales、销售明细表sale_item、产品表product。

各表的结构如下:

员工人事表employee

emp_no

char(5)

Notnull

primarykey

员工编号

emp_name

varchar(10)

Notnull

员工姓名

sex

char

(2)

Notnull

性别

dept

varchar(10)

Notnull

所属部门

title

varchar(10)

Notnull

职称

date_hired

datetime

Notnull

雇佣日

birthday

datetime

Null

生日

salary

int

Notnull

薪水

telephone

varchar(20)

Null

电话

addr

varchar(50)

null

住址

客户表customer

cust_id

char(5)

Notnull

primarykey

客户号

cust_name

varchar(20)

Notnull

客户名称

addr

varchar(40)

Notnull

客户住址

tel_no

varchar(20)

Notnull

客户电话

zip

char(6)

null

邮政编码

销售主表sales

order_no

int

Notnull

primarykey

订单编号

cust_id

char(5)

Notnull

客户号

sale_id

char(5)

Notnull

业务员编号

tot_amt

numeric(9,2)

Notnull

订单金额

order_date

datetime

Notnull

订货日期

销货明细表sale_item

order_no

int

Notnull

primarykey

订单编号

prod_id

char(5)

Notnull

primarykey

产品编号

qty

int

Notnull

销售数量

unit_price

numeric(7,2)

Notnull

单价

order_date

datetime

null

订单日期

产品名称表product

prod_id

char(5)

Notnull

primarykey

产品编号

prod_name

varchar(20)

Notnull

产品名称

1.创建表及相应的约束

createtableemployee1(

emp_nochar(5)notnullcheck(emp_nolike'[E-F][0-9][0-9][0-9][0-9]'),

emp_namechar(10)notnull,

emp_sexchar

(1)notnullcheck(emp_sexin('m','f')),

emp_phonechar(13)notnull,

emp_addvarchar(60)notnull,

emp_salarychar(5)notnullcheck(emp_salarybetween60000and80000)

go

2.修改表

altertableemployee

addconstraintck_phonecheck(phonelike’[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]

[0-9][0-9][0-9][0-9][0-9]’)

(2)、实验内容

分别在SQLSERVER2000企业管理器和在查询分析分析器中使用T—SQL语句完成以下操作:

●针对S_T数据库:

1.创建student表,设置Sno为主键;在Sno列上创建核查约束,要求学号各个位上只能取数字字符;在Ssex列上创建核查约束,要求性别只能取“男”或“女”;在Sage列上创建核查约束,要求学生的年龄只能在14至38之间。

createtablestudent(

snochar(5)notnullprimarykey,check(snolike'[0-9][0-9][0-9][0-9][0-9]'),

snamechar(10)notnull,

ssexchar

(2)notnullcheck(ssexin('男','女')),

sagechar(5)notnullcheck(sagebetween14and38)

go

 

 

2.创建course表,设置列Cno为主键;在Cno列上创建核查约束,要求课程号只能取数字字符。

createtablecource(

Cnochar(4)notnullprimarykey,check(cnolike'[0-9][0-9][0-9][0-9]'),

Cnamechar(40)notnull,

Cpnochar(4),

Ccreditsmallintnotnull,

go

3.创建sc表,设置主键为Sno与Cno的组合;在Grade列上创建核查约束,限定成绩只能在0-100。

createtablesc(

snochar(5)notnullprimarykey,

cnochar(4)notnullprimarykey,

gradesmallintcheck(gradebetween0and100)

go

4.修改course表,在表中为Cpno列添加一外键约束Fk_Cpno,它参照了course表的主键Cno。

altertablecourse

addconstraintFk_Cpnocheck(cnolike'[0-9][0-9][0-9][0-9]')

5.修改sc表,在表中为Sno添加一外键约束Fk_Sno,它参照了student表中的主键Sno;为Cno添加外键约束Fk_Cno,它参照了course表中的主键Cno。

altertablesc

addconstraintFk_snocheck(snolike'[0-9][0-9][0-9][0-9][0-9]')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1