《数据库技术与应用》实验报告参考

2019-08-01 23:57

2013级硕士研究生 《数据库技术与应用》

实验报告

姓 名: 王xxxx 学 号: s2012000 专 业: xxxx工程 任课老师: 孙静宇 完成时间: 2014.05.xx

太原理工大学 研究生院

实验一: 创建和删除数据库

一、

实验目的

学习建立数据库、删除数据库的SQL语句的使用;学会排错技术。 了解有关概念(如数据文件、日志文件等相关概念)

二、 实验内容

建立数据库、删除数据库的SQL语句的使用

三、 实验要求

成功建立数据库,供后面实验使用,并学会删除数据库。 所用的执行语句如下: 1、创建数据库: USE master

CREATE DATABASE DB99070135 ON

( NAME = DB99070135_DATA, /*数据文件*/ FILENAME = 'E:\\9901student\\DB99070135.mdf', SIZE = 1,

MAXSIZE = 3,

FILEGROWTH = 1 ) LOG ON

( NAME = DB99070135_LOG, /*日志文件*/ FILENAME = 'E:\\9901student\\DB99070135.ldf', SIZE = 1, MAXSIZE = 3,

FILEGROWTH = 1 ) 2、删除数据库: USE master

DROP DATABASE DB99070135

四、 实验装置

在客户机上登陆至服务器server-1,用户名使用9901。

五、 实验步骤

创建一个 数据库,其数据文件和日志文件的初始大小都为1M,最大都允许增加到3M,每次增量都为1M。数据文件和日志文件存放在指定目录之下。

六、 实验数据及处理

实验过程中出现的问题和系统信息:

实验过程中准确登陆,但是开始时使用FILENAME = ‘D:\\9901student\\DB99070135.ldf’,由于服务器的D盘没有足够的空间,运行时有磁盘空间不足的提示,后来改变路经解决此问题,运行结果为:

1、 创建数据库

CREATE DATABASE 进程正在磁盘 'DB99070135_DATA' 上分配 1.00 MB 的空间。 CREATE DATABASE 进程正在磁盘 'DB99070135_LOG' 上分配 1.00 MB 的空间。 2、 删除数据库

正在删除数据库文件 'E:\\9901student\\DB99070135.ldf'。

正在删除数据库文件 'E:\\9901student\\DB99070135.mdf'。 七、思考题:日志文件的作用是什么?

在建库时要同时建立日志文件,日志文件的主要作用是记录下每一步操作,便于查看各个动作,在有错误操作时可以方便地更改。

实验二: 创建和删除基本表

一、 实验目的

学习建立基本表、修改表结构、删除基本表的SQL语句的使用 了解有关概念(如主码、外码、完整性约束)

二、 实验内容

建立基本表、修改表结构、删除表的SQL语句的使用

三、 实验要求

成功建立一组基本表(含主码、外码、完整性约束的定义),供后面实验使用,并学会修改表结构、删除表。

所用的执行语句如下:

USE DB99070135

CREATE TABLE MovieStar(

name CHAR(30) PRIMARY KEY, address VARCHAR(100), gender CHAR(1),

birthday DATETIME DEFAULT 0000 )

CREATE TABLE MovieExec( name CHAR(30),

cert# INT PRIMARY KEY, address VARCHAR(100), netWorth INT )

CREATE TABLE Studio(

name CHAR(30)PRIMARY KEY, address VARCHAR(100),

presc# INT REFERENCES MovieExec(cert#) )

CREATE TABLE Movie(

title VARCHAR(100),

year INT CHECK(year>=1895),

length INT CHECK (length >=60 AND length<=250), Incolor INT,

studioName CHAR(30) REFERENCES Studio(name),

producerC# INT REFERENCES MovieExec(cert#)NOT NULL, PRIMARY KEY(title,year) )

CREATE TABLE StarsIN(

Movietitle VARCHAR(100) NOT NULL,

Movieyear INT /*CHECK(year>=1895)*/NOT NULL, StarName CHAR(30) REFERENCES MovieStar(name), PRIMARY KEY(Movietitle,Movieyear,StarName), FOREIGN KEY (Movietitle,Movieyear) REFERENCES Movie(title,year) )

ALTER TABLE Studio

ALTER COLUMN address CHAR (50) ALTER TABLE Studio

ADD execname CHAR(30)

DROP TABLE StarsIN DROP TABLE Movie DROP TABLE studio

DROP TABLE MovieExec DROP TABLE MovieStar

四、 实验步骤

选择课题,画出E-R图,并设计出数据库模式,然后使用CREATE TABLE语句创建基本表,并练习ALTER TABLE语句的使用。各表中要求设计适当的约束(主码、外码、 check约束等)。

五、 实验数据及处理

实验中出现的问题和系统信息

1、服务器: 消息 8141,级别 16,状态 1,行 28

列 CHECK 约束(属于列 'Movieyear')引用了另一列,表 'StarsIN'。 服务器: 消息 1759,级别 16,状态 1,行 28 在约束或计算列的定义中指定了无效的列 'year'。 服务器: 消息 1750,级别 16,状态 1,行 28 未能创建约束。请参阅前面的错误信息。

2、服务器: 消息 1770,级别 16,状态 1,行 14

外键 'FK__Studio__presc#__3C69FB99' 引用了位于被引用表 'MovieExec' 中的无效列 'cret#'。

服务器: 消息 1750,级别 16,状态 1,行 14 未能创建约束。请参阅前面的错误信息。 原因是列名写错了,应为cert#。 3、 第一次执行命令

ALTER TABLE Studio

ALTER COLUMN address CHAR (50)

显示影响行数为零的提示,之后运行会显示命令已完成。

4、 执行命令

ALTER TABLE Studio

ADD execname CHAR(30) 显示命令已成功完成。 5、 执行命令

DROP TABLE MovieStar DROP TABLE MovieExec DROP TABLE studio DROP TABLE Movie DROP TABLE StarsIN

有如下信息:

服务器: 消息 3726,级别 16,状态 1,行 1

未能除去对象 'MovieStar',因为该对象正由一个 FOREIGN KEY 约束引用。 服务器: 消息 3726,级别 16,状态 1,行 2

未能除去对象 'MovieExec',因为该对象正由一个 FOREIGN KEY 约束引用。 服务器: 消息 3726,级别 16,状态 1,行 3

未能除去对象 'studio',因为该对象正由一个 FOREIGN KEY 约束引用。 服务器: 消息 3726,级别 16,状态 1,行 4

未能除去对象 'Movie',因为该对象正由一个 FOREIGN KEY 约束引用。 6、 更改执行顺序为

DROP TABLE StarsIN DROP TABLE Movie DROP TABLE studio

DROP TABLE MovieExec DROP TABLE MovieStar

可解决此问题,结果为The command(s) completed successfully.

六、 思考题:什么是外码?它的作用是什么?

外码即外键码,若关系R的一个属性(或属性组) X,不是R的主键码,而是(/对应)另一个关系S的主键码,则称X为关系R的外键码。他参照第二个关系(可以是同一个关系)的某个(些)属性。他有两方面的含义:1,必须说明第二个关系的被参照属性为该关系的主键码;2,出现在第一个关系的外键码属性中的任何值也必须在第二个关系的相应属性中,也就是存在连接这两个属性或属性集的参照完整性。

从其定义可以看出外码的最重要的作用是保证这两个属性或属性集的参照完整性。


《数据库技术与应用》实验报告参考.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:甲烷性质的教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: