文档库 最新最全的文档下载
当前位置:文档库 › 数据库原理实验报告

数据库原理实验报告

数据库原理实验报告
数据库原理实验报告

学生实验报告

(理工类)

课程名称:数据库系统原理专业班级: 15计科(W专转本)1 学生学号: 1513504069 学生姓名:蔡文豪

所属院部:计算机工程学院指导教师:王预

20 15 ——20 16 学年第 1 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:熟悉SQL Server2005环境及数据库文件管理实验学时: 2

实验地点: 1316

实验日期: 2016.3.24实验成绩:

批改教师:王预批改时间: 2016.3.27

一、实验目的和要求

1、熟悉SQL Server 2005工作环境、了解SQL Server 2005主要管理工具的用途、掌握登录SQL Server 2005的方法;

2、熟悉数据库的组成;

3、了解数据库快照的使用方法;

4、掌握创建、修改、删除数据库的方法;

5、熟悉如何查看数据库状态;

6、掌握分离数据库和附加数据库的方法。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;

环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server2005中文版。

三、实验步骤

1、根据题目要求熟悉SQL Server2005的各种管理工具;

2、分析题意,重点分析题目要求并给出解决方法;

3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;

4、提交完成的实验结果。

四、实验内容

一、熟悉SQL Server 2005管理工具

SQL Server2005系统提供了大量的管理工具,通过这些管理工具可以对系统实现快速、高效管理。主要管理工具如下:

1、SQL Server Management Studio

(1)对象资源管理器

允许查看和连接到SQL Server、分析器、集成服务器、报表服务器和SQL Mobile。一旦连接到特定的服务,可以在对象节点中查看它的组件,并且可以访问子节点对象。

(2)已注册的服务器

显示当前已注册的服务器。窗格顶部的列表,包括SQL Server、分析服务器、集成服务器、报表服务器和SQL Mobile。允许用户在特定的服务器之间快速转换。

提供对查询编辑器的模板和任何用户所创建的自定义模板的快速访问。模板可以通过SQL Server Management Studio 所支持的任何脚本语言来创建。

(4)解决方案管理器

提供对现存的SQL Server、分析服务器和SQL Mobile的项目的快速访问。当项目被执行时,项目会给出连接、查询和执行的其他函数的详细信息。

2、SQL Server Business Intelligence Development Studio(商业智能)

SQL Server Business Intelligence Development Studio为开发人员提供的一种新的项目开发和管理工具。开发人员可以使用SQL Server Business Intelligence Development Studio设计端到端的商业智能解决方案。

3、SQL Server Configuration

SQL Server Configuration(配置管理器)包含了SQL Server2005服务、SQL Server2005网络配置和SQL Native Client配置3个工具,提供数据库管理人员做服务启动与停止与监控、服务器端支持的网络协议,用户用来访问SQL Server的网络相关设置等工作。

4、SQL Server外围应用配置

SQL Server外围应用配置器是SQL Server2005的新增功能,该工具是用来减少SQL Server的服务数和组件数的一种方法,以帮助保护SQL Server避免出现安全缺口。

5、Database Engine Tuning Advisor(数据库引擎的优化顾问)工具可以完成帮助用户分析工作负荷、

提出创建高效索引的建议等功能。

6、SQL Server联机丛书:主要为用户提供帮助。

7、sqlcmd:提供了在命令提示符中输入Transact-SQL语句、系统过程和脚本文件的功能。

二、熟悉数据库的组成

1、系统数据库

(1)master数据库

master数据库存储SQL Server2005系统的所有系统级信息。包括实例范围的元数据、端点、链接服务器和系统配置设置。

(2)model数据库

Model数据库用作SQL Server2005实例上创建的所有数据库的模板。在SQL Server2005中在三个方面做了重大改变,包括:扩大了最小值取之范围、兼容级别设置为90和PAGE_VERIFY数据库选项设置为CHECKSUM。

(3)msdb数据库

Msdb数据库主要被SQL Server2005代理用于进行复制、作业调度以及管理警报等活动,该数据库通常用于调度任务或排除故障。

(4)tempdb数据库

tempdb数据库是连接到SQL Server2005所有用户都可能用的全局资源,它保存所有临时表和临时存储过程。另外,它还用来满足所有的其他存储要求,例如,存储SQL Server 2005工作表。每次启动SQL Server2005时都会重新创建tempdb数据库,以便系统启动时,给数据库总是空的。断开连接时会自动

(5)resource数据库

resource数据库是一个只读数据库,它包含了SQL Server2005中的所有系统对象。SQL Server系统对象在物理上持续存在于Resource数据库中,但逻辑上,他们出现在数据库的sys架构上。resource 数据库的物理文件名为Mssqlsystemresource.mdf。任意移动或重命名resource数据库文件,SQL Server2005将不能正常启动。

三、数据库存储文件

SQL Server2005数据库中有三种类型的文件来存储信息。

1、主数据文件

主数据文件包话数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在该文件中,也可以存储在辅助数据文件中。每个数据库只能有一个主数据文件。其扩展名为.mdf。

2、辅助数据文件

辅助数据文件是可选的。由用户定义并存储用户数据。每个数据库可以有多个辅助数据文件,其扩展名为.ndf。

3、事务日志文件

事务日志文件是用于保存恢复数据库的日志信息的。每个数据库必须至少有一个日志文件,其扩展名为.ldf。

4、文件组

文件组是将多个数据文件集合起来形成一个整体。每个文件组有一个组名。文件组分为主文件组和次文件组。一个文件只能存放在一个文件组中,一个文件组也只能为一个数据库使用。主文件组包含了所有的系统表。当建立数据库时,主文件组包含数据库文件和未指定组的其他文件。事务日志文件不包含在任何文件组中。

四、创建数据库

1、使用向导创建数据库

2、语句方式创建数据库

(1)最简单的语句创建数据库

Create database databaseName

(2)一般创建数据库的格式

CREATE DATABASE database_name

[ ON

[ < filespec > [ ,...n ] ]

[ , < filegroup > [ ,...n ] ] ]

]

[ LOG ON { < filespec > [ ,...n ] } ]

[ COLLATE collation_name ]

[ FOR LOAD | FOR ATTACH ]

< filespec > ::=

( [ NAME = logical_file_name , ]

FILENAME = 'os_file_name'

[ , SIZE = size ]

[ , MAXSIZE = { max_size | UNLIMITED } ]

[ , FILEGROWTH = growth_increment ] ) [ ,...n ]

< filegroup > ::=

FILEGROUP filegroup_name < filespec > [ ,...n ]

(3)示例

CREATE DATABASE Sales

ON

( NAME = Sales_dat,

FILENAME = 'c:\program files\microsoft sql server\mssql\data\saledat.mdf',

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = 'Sales_log',

FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf',

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

3、请按照要求用工具和SQL语句两种方法创建名为MyDB数据库。

五、维护数据库

1、修改数据库名称

(1)使用ALTER DATABASE语句

ALTER DATABASE databaseName MODIFY NAME=newdatabaseName

(2)使用存储过程

EXEC sp_dboption ‘databaseName’,‘SINGLE’,True /*首先将数据库设置为单用户模式*/ EXEC sp_renamedb ‘databaseName’, ‘newdatabaseName’ /*修改数据库名*/

EXEC sp_dboption ‘newdatabaseName’, ‘SINGLE’,False /*取消单用户模式*/

(3)从资源管理器窗口修改数据库名

2、修改数据库大小

(1)设置数据库文件为自动增长方式

(2)直接修改数据库文件的大小

(3)增加辅助数据库文件

(4)示例

(NAME = Test1dat1,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat1.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB )

GO

ALTER DATABASE Test1

ADD FILE

(NAME = Test1dat2,

FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB )

(5)请参照示例用SQL语句为MyDB数据库增加辅助数据库文件MyDB2,其大小为3MB,最大为10MB,按照10%增长。

3、收缩数据库

(1)设置数据库为自动收缩

(2)手动收缩数据库

(3)使用DBCC SHRINKDATABASE命令收缩数据库

该命令是一种比自动收缩数据库更加灵活的收缩数据库方式。可以对整个数据库进行收缩。

示例:DBCC SHRINKDATABASE (UserDB, 10)

/*该命令将UserDB用户数据库中的文件减小,以使UserDB中的文件有10%的可用空间。*/ (4)请使用该命令将MyDB数据库收缩到有10%的可用空间。

4、删除数据库

(1)使用管理工具

(2)使用T-SQL语句

DROP DATABASE database_name [ ,...n ]

5、分离数据库

分离数据库是指数据库从SQL Server实例上删除,但是数据文件、但事务日志文件仍然保持不变。注意:分离数据库如果出现下列情况之一,则不允许分离:

*已复制并发数据库、 *数据库中存在数据库快照、 *数据库处于未知状态。

(1)使用语句分离数据库

示例:exec sp_detach_db MyDB

(2)可以使用工具

6、附加数据库

附加数据库时,所有的数据文件(.mdf文件和.ndf文件)都必须是可用的。如果任何数据文件的

如果没有日志文件,系统将创建一个新的日志文件。

(1)使用工具附加数据库

(2)使用SQL语句附加数据库

示例:CREATE DATABASE Sales

ON ( NAME =‘Sales_dat’,

FILENAME =‘c:\program files\microsoft sql server\mssql\data\saledat.mdf' )

LOG ON

( NAME =‘Sales_log',

FILENAME =‘c:\program files\microsoft sql server\mssql\data\salelog.ldf')

FOR ATTACH

(3)请用上述两种方法将MyDB数据库附加到实例中。

五、问题解答及实验结果

1.创建数据库MyDB

create database MyDB

on(name=MyDB_data,Filename='D:\data\My_data.mdf',size=3MB,fileGrowth=1mb)

log on

(name=MyDB_log,Filename='D:\data\MyDB_log.ldf',size=1MB,filegrowth=10%)

2.重命名数据库,改为MyDB1

alter database MyDB Modify name=MyDB1

3.使用存储过程修改数据库名称

exec sp_dboption 'MyDB','SINGLE',True

exec sp_renamedb 'MyDB','MyDB1'

exec sp_dboption 'MyDB1','SINGLE',False

4.增加辅助数据库MyDB2

alter database MyDB1

add file(name=MyDB2,filename='D:\data\MyDB2dat.ndf',size=3MB,Maxsize=10MB,Fil eGrowth=10%)

5.收缩数据库

dbcc SHRINKDATABASE (MyDB,10)

6.删除数据库

drop database MyDB

7.附加数据库

create database MyDB on (name='MyDB_dat',filename='D:\data\My_data.mdf')

log on (name='MyDB_log',filename='D:\data\MyDB_log.ldf')for ATTACH;

六、实验体会和收获

通过这次实验,我学习到了Sql Server数据库的基本构成,掌握了基本的创建、添加、重命名数据库等操作,学会了使用图形界面工具操作数据库的使用,在sql命令方法还有点不熟悉,会在以后的实验中逐渐加强。

实验项目名称:表和表数据的操作实验学时: 2

实验地点: 1316

实验日期: 2016 . 03 . 31 实验成绩:

批改教师:王预批改时间: 2016.4.3

一、实验目的和要求

1、了解表的类型及创建方法;

2、熟悉各种数据类型;

3、掌握列的各种属性;

4、掌握自定义数据类型的创建方法;

5、掌握用T-SQL语言和工具创建表的方法;

6、掌握工具和T-SQL语言插入数据的方法。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;

环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server2005中文版。

三、实验步骤

1、根据题目要求熟悉SQL Server2005的各种管理工具;

2、分析题意,重点分析题目要求并给出解决方法;

3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;

4、提交完成的实验结果。

四、实验内容

一、表的概述

1、表的概念

在关系数据库中每一个关系都体现为一张表。表是用来存储数据和操作数据的逻辑结构,关系数据库中所有的数据都表现为表的形式。

2、表的类型

在SQL Server2005中,可以把表分为4种类型,即普通表、分区表、临时表和系统表。每一种表都有其自身的作用和特点。

(1)普通表:又称为标准表,就是通常所说的数据库中存储数据的标,是最常使用的表对象,是最重要和最基本的表。

(2)分区表:分区表示将数据水平划分成多个单元的表,这些单元的表可以分散到数据库中的多个文件组里,以实现对单元中数据的并行访问。其优点在于可以方便地管理大型表,提高对这些表中数据的使用效率。

(3)临时表:临时表是临时创建的、不能永久生存的表。又可以分为本地临时表和全局临时表。本地临时表以#打头,它们仅对当前的用户连接时可见的,当用户从SQL Serve2005实理断开连接时被删除;

全局临时表以##打头,创建后任何用户都是可见,当所有引用该表的用户从SQL Server 2005中断开连接时被删除。

(4)系统表:系统表与普通表的区别在于,系统表存储了有关SQL Server 2005服务器的配置、数据库设置、用户和表对象的描述等信息。

二、列

1、列数据类型

在设计表的时候,需要知道每列字段的数据类型。SQL Server 2005系统提供了28种数据类型,主要分为七大类。

(1)精确数字类型

这些数据类型的数据可以参加各种数学运算,所有的数值都是有精度的,精度是指有效数字位数。如整数数据类型:binint、int、smalling、tinyint;位数据类型bit;货币数据类型:Money、Smallmoney等。(2)近似数字类型

在现实计算中,还有一些数据没有精确数值,如1/3,它无法用精确数字类型表示,需要由系统来定义精确到哪一位,这种类型就是近似数据类型。如:Decimal和Numeric;Float和Real等。

(3)字符数据类型

它是用来存储各种字母、数字符号和特殊符号。在使用该数据类型时,需要用用单引号或双引号括起来。SQL Server 2005主要提供了Char、Varchar、Text3中数据类型。

(4)Unicode字符数据类型

Unicode是一种在计算机上使用的字符编码。它为每一种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。SQL Server 2005主要有:Nchar、Nvarchar、Ntext三种。

(5)二进制数据类型

二进制数据类型可以用来存储二进制的数据。主要有:Binary、Varbinary、Image三种类型。

(6)日期和时间数据类型

在SQL Server2005中,日期和时间类型主要包括:datetime 和smalldatetime两种。两者区别在于其表示的日期和时间的范围不同,时间的精确度也不同。

(7)其他数据类型

SQL Server2005系统还提供了Cursor、Sql_varant、Table、Timestamp、Uniqueidentifie、XML6种特殊用途的数据类型。

2、列的其他属性

(1)NULL和NOT NULL

定义属性列时可以规定该列是否可以为空。

(2)默认值

当某个属性的值大部分的取值都是相同时,可以使用默认值来减少插入数据时的时间。

(3)IDENTITY

使用IDENTITY关键字定义的字段为标识字段,标识字段是唯一标识每条记录的特殊字段,当一条

三、创建表

1、使用SQL Server Management Studio工具在MyDB数据库中创建Student和Class表。Student表的结构为:

2

四、自定义数据类型

(1)使用SQL Server Management Studio工具创建用户自定义数据类型:studentNo,char(8) (2)系统存储过程sp_addtype 创建用户自定义数据类型: courseNo,char(4)

(3)修改MyDB数据库中的各表,学号和课程号应用自定义的数据类型。

五、修改表结构

(1)使用Alter修改Student表结构,使其增加一列Department(系别)Char(12)。

(2)使用SQL Server Management Studio工具删除刚刚增加的Department。

六、插入数据

(1)向表(Student)中插入数据

插入数据之后使用命令:Select * from Student;检查插入数据的正确性

插入数据之后使用命令:Select * from Class; 检查插入数据的正确性

(3)向表(Course )中插入数据

插入数据之后使用命令:Select * from Course; 检查插入数据的正确性(4)向表(Grade )中插入数据

七、删除表中的数据

(1)使用SQL Server Management Studio工具删除课程号为0001的选课记录。(2)使用T-SQL语言删除Grade表中学号为19920101的数据

八、删除表格

(1)使用SQLSQL Server Management Studio工具删除Class表。

(2)使用Drop Table命令删除Grade表。

*注意在删除之前,请将数据文件拷贝一个副本,已备以后实验使用。

五、问题解答及实验结果

1.创建表

[SNO] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL,

[SName] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,

[Sex] [char](2) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_student_Sex] DEFAULT ('男''or''女'),

[ClsNO] [char](6) COLLATE Chinese_PRC_CI_AS NOT NULL,

[StuAddr] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, [Birthday] [smalldatetime] NOT NULL,

[Height] [numeric](4, 2) NOT NULL,

[TotalCredit] [tinyint] NOT NULL,

CONSTRAINT [PK__student__07020F21] PRIMARY KEY CLUSTERED

CREATE TABLE [dbo].[Grade](

[SNO] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL,

[CNO] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL,

[Scorce] [numeric](4, 1) NOT NULL,

[Credit] [tinyint] NOT NULL,

CONSTRAINT [PK_Grade] PRIMARY KEY CLUSTERED

CREATE TABLE [dbo].[Course](

[CNO] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL,

[CName] [varchar](16) COLLATE Chinese_PRC_CI_AS NOT NULL,

[PCNO] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL,

[Credit] [tinyint] NOT NULL,

CONSTRAINT [PK_Course] PRIMARY KEY CLUSTERED

2.插入数据

insert into Class values('CS01','计算机一班','王宁','计算机应用') insert into Class values('MT04','数学四班','陈晨','数学')

insert into Class values('PH08','物理八班','葛格','物理')

insert into Student values('19920101','王军','男','CS01','下关

#','1976.12.21',1.76,10)

insert into Student values('19920102','李杰','男','CS01','江边路

#','1974.5.24',1.72,9)

insert into Student values('19920306','王彤','女','MT04','中央路

#','1977.3.18',1.65,9)

insert into Student values('19940106','吴杪','女','PH08','莲化小区#','1979.4.8',1.60,4)

insert into Course values('0001','数学','',6)

insert into Course values('0003','计算机基础','',3)

insert into Course values('0007','物理','',4)

insert into Grade values('19920101','0001',90,6)

insert into Grade values('19920101','0007',86,4)

insert into Grade values('19920102','0001',87,6)

insert into Grade values('19920102','0003',76,3)

insert into Grade values('19920306','0001',87,6)

insert into Grade values('19920306','0003',93,3)

insert into Grade values('19940106','0007',85,4)

3.查询表

Select * from Student;

Select * from Class;

select * from Course;

select * from Grade;

4.自定义数据类型

sp_addtype courseNo,'char(4)','NOT NULL';

5.修改表结构

alter table Student add Department Char(12);

6.删除表中数据

delete from Grade where SNO='19920101';

7.删除表格

drop table Grade;

六、实验体会和收获

通过这次实验,我学习到了Sql Server数据库的基本操作,学会了使用SQL命令添加数据内容,自定义数据结构,修改和删除表格等。在新建查询的过程中要注意先选择对应数据库,才能将数据添加到对应的表格里。

实验项目名称:关系、索引和视图实验学时: 2

同组学生姓名:实验地点: 1316

实验日期: 2016.04.07 实验成绩:

批改教师:王预批改时间: 2016.04.10

一、实验目的和要求

1、理解关系图的含义及用途,掌握关系图的创建方法;

2、理解视图的基本概念、种类及利用视图修改数据时的限制,掌握视图的创建方法;

3、理解索引的基本概念及其优缺点,掌握创建索引的方法。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;

环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版。

三、实验步骤

1、根据题目要求熟悉SQL Server2005的各种管理工具;

2、分析题意,重点分析题目要求并给出解决方法;

3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;

4、提交完成的实验结果。

四、实验内容

1、创建关系图

根据实际情况,为MyDB数据库创建关系图。其中包括:Student、Course、Grade、Class四张表格,选择表中相应的属性建立表间的关联。

2、视图的创建、查询、修改和删除。

(1)创建一个名为V_Student的视图,以显示学生的学号、姓名、性别和出生年月等基本信息。

(2)创建一个名为V_grade的视图,以显示选修“0001”号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。

(3)分别利用视图V_Student和V_grade作查询和更新操作。

(4)修改V_Student视图的定义,为其增加一个条件,使得该视图只显示“CS01”班学生的基本信息。(5)删除名为V_Student的视图。

3、索引的创建、查看和删除。

(1)为Student表创建一个基于总学分和学号的索引idex_total_xh,其中总学分按降序排列,当总学分相同时,按学号升序排列,填充因子为80%。

(2)学生表创建一个基于班级和姓名的索引idex_clas_name,其中按班号按升序、学生姓名按降序排列,填充因子为70%。

(3)利用索引管理器查看索引。

注:以上3题除了第一题,其余各题均需要使用工具和SQL语言两种方法来完成。并将SQL语句按题号保存在自己的文件夹下的实验四目录中。

五、问题解答及实验结果

1. 创建关系图

2.视图的创建

(1)create view V_Student as

select SNO as '学号',SName as '姓名',Sex as '性别',Birthday as '出生年月'

from Student;

(2)create view V_Grade as select Grade.SNO as '学号',SName as '姓名',CName as '课程名称',Scorce as '成绩',Grade.Credit as '学分'

from Student,Course,Grade where https://www.wendangku.net/doc/b75364732.html,O='0001' and Grade.SNO=Student.SNO and https://www.wendangku.net/doc/b75364732.html,O=https://www.wendangku.net/doc/b75364732.html,O;

(3)视图的查询

select * from V_Student go Select * from V_Grade;

(4)视图的修改

alter view V_Student as select SNO as '学号',SName as '姓名',Sex as '性别',Birthday as '出生年月' from Student where Student.ClsNO='CS01';

(5)视图的删除

drop view V_Student

3.索引命令

(1)create index idex_total_xh on Student(TotalCredit

DESC,SNO)with(fillfactor=80);

(2)create index idex_clas_name on Student(ClsNO,SName DESC)with(fillfactor=70); (3)exec sp_helpindex Student

(4)drop index idex_total_xh on Student

drop index idex_clas_name on Student

六、实验体会和收获

通过这次的实验,我掌握了视图的建立、删除、修改等基本操作,视图可以让我们更方便的管理查询数据库里的信息,还有,建立视图的过程中要注意表之间的连接关系。

实验项目名称:约束、默认和规则实验学时: 2

同组学生姓名:实验地点: 1316

实验日期: 2016.04.14 实验成绩:

批改教师:王预批改时间:2016.04.17

一、实验目的和要求

1、理解数据库中的实体完整性约束,掌握PRIMARY KEY、UNIQUE、NOT NULL 等约束的创建方法;

2、理解参照完整性约束的概念,掌握FORENGN KEY 创建方法;

3、理解域完整性的概念,掌握CHECK及规则的创建方法;

4、理解默认值的概念,掌握默认值和默认对象的创建方法。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;

环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server 2005中文版。

三、实验步骤

1、根据题目要求熟悉SQL Server 2005的各种管理工具;

2、分析题意,重点分析题目要求并给出解决方法;

3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;

4、提交完成的实验结果。

四、实验内容

1、约束在数据库中的应用

(1)用系统存储过程sp_helpconstraint查看student表的约束。

(2)在新建查询中输入插入一个学生信息的命令:

insert into student(SNO,Sname,Sex,ClsNo,StuAddr,Birthday,Height,TotalCredit)

values('19920101','王军','男','CS01','下关#','1976.12.21',1.76,10),观察其结果。

修改SNO的值,将其值修改为‘19000001’,其他的值保持不变,再插入一次,观察其结果。(3)修改student表,增加Check约束,约束名为check_sex,使性别列只能接受“男”或“女”,以强制执行域数据完整性。重做(1),观察其结果。

(4)禁止student表中的sex列上的约束:alter table student nocheck constraint check_sex。(5)删除约束:alter table student drop constraint check_sex。重做(1)。

(6)利用关系图,建立student表与Course表与grade表的主外键约束。

2、默认的应用

(1)创建默认对象:default_birthday,默认值为‘1982-1-1’。

(2)利用系统存储过程sp_bindefault将default_birthday绑定到student表的Birthday列上。(3)利用系统存储过程sp_unbindefault解除student表的Birthday列上的默认值绑定。

(4)删除默认值。

(5)定义一个默认值为4的Default_Value,并将它绑定到Course表的Credit列上,绑定后给Course 表插入数据行,观察默认值的设置情况,使用完毕后,解除并删除绑定。实现过程要求使用SQL语句完成。

3、规则的应用

(2)绑定规则:将rule_credit_range 绑定到Course表的Credit列上;

(3)解除(2)中设置的规则绑定,删除规则rule_ credit _range;

(4)定义一个规则rule_Specialty,这个规则限制Class表中的Specialty列只能取以下的值:计算机应用、信息管理、数学、物理。将该规则绑定到Class表后,向Class表插入数据行,观察规则的设置情况,使用完毕后,解除并删除该规则。

五、问题解答及实验结果

1.(1)exec sp_helpconstraint Student

(2)insert into

student(SNO,Sname,Sex,ClsNo,StuAddr,Birthday,Height,TotalCredit)

values('19920101','王军','男','CS01','下关#','1976.12.21',1.76,10)

(3)alter table Student with nocheck add constraint check_sex check (sex between '男' and '女')

(4)alter table Student nocheck constraint check_sex

(5)alter table student drop constraint check_sex

(6)/*创建主键*/

alter table Student add constraint pk_sno primary key(SNO);

alter table Course add constraint pk_cno primary key(CNO);

/*创建组合主键*/

alter table Grade add constraint pk_group primary key(SNO,CNO);

/*创建外键*/

alter table Student add constraint fk_clsno foreign key(ClsNO) references Class (ClsNO);

2.(1)create default default_birthday as '1982-01-01'

(2)exec sp_bindefault 'default_birthday','Student.birthday'

(3)exec sp_unbindefault 'Student.birthday'

(4)drop default default_birthday

(5)create default Default_Value as 4;

exec sp_bindefault 'Default_Value','Course.Credit';

insert into Course(CNO,CName,PCNO) values ('0002','文学','');

exec sp_unbindefault 'Course.Credit';

drop default Default_Value;

3.(1)create rule rule_credit_range as @range between 1 and 8

(2)exec sp_bindrule 'rule_credit_range','Course.Credit'

(3)exec sp_unbindrule 'Course.Credit'

(4)

create rule rule_Specialty as @Specialty in ('计算机应用','信息管理','数学','物理');

exec sp_bindrule 'rule_Specialty','Class.Specialty';

insert into Class values ('PH09','物理八班','葛格','化学');

exec sp_unbindrule 'Class.Specialty';

六、实验体会和收获

通过本次实验,我掌握到了使用约束来控制数据的输入限制,使用命令创建主外键约束等,约束可以防止数据库中存在不符合的语句,实现了数据库的完整性。

数据库原理实验报告

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验一SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级:14软工5班 学号:14551204 14551206 姓名:花元凯罗文波 1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获得 所感兴趣的相关产品主题/技术文档。

(4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL查 询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。目前最新版本是SQL SERVER 2014。 1,SQL Server 2005学习版当保护和管理应用系统内外部的信息变得至关重要时,通过提供一套免费、易于使用和健壮的数据库,学习版帮助开发人员建立强健的和可靠的应用系统。

数据库原理实验报告-实验三-数据完整性与安全性控制

一、实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命 令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’ -->保 存 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’ -->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。

数据库原理实验报告(1)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。

数据库实验5实验报告

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的完整性 班级:软件132 学号:2013122907 姓名:莹莹

一.目的与要求 1.掌握索引创建和删除的方法; 2.掌握创建视图和使用视图的方法; 3.掌握完整性约束的定义方法,包括primary key、foreign key等。 二.实验容 1.基于前面建立的factory数据库,使用T-SQL语句在worker表的“部门号”列上创建一个非聚集索引,若该索引已经存在,则删除后重建。 2.在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性。 3.建立视图view1,查询所有职工的职工号、、部门名和2004年2月工资,并按部门名顺序排列。 4.建立视图view2,查询所有职工的职工号、和平均工资; 5.建立视图view3,查询各部门名和该部门的所有职工平均工资; 6.显示视图view3的定义; 7.实施worker表的“性别”列默认值为“男”的约束; 8.实施salary表的“工资”列值限定在0~9999的约束; 9.实施depart表的“部门号”列值唯一的非聚集索引的约束; 10.为worker表建立外键“部门号”,参考表depart的“部门号”列。 11.建立一个规则sex:性别=’男’ OR 性别=’女’,将其绑定到“性别”上; 12.删除上面第7、8、9和10建立的约束; 13.解除第11题所建立的绑定并删除规则sex。 三.实验步骤 1 USE factory GO --判断是否存在depno索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='depno') DROP INDEX worker.depno GO --创建depno索引 CREATE INDEX depno ON worker(部门号) GO EXEC sp_helpindex worker GO 2 USE factory GO --判断是否存在no_date索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='no_date') DROP INDEX salary.no_date GO --创建no_date索引

数据库原理实验报告(数据查询)

数据库原理实验报告 实验三数据查询 班级:××× 姓名:××× 学号:××× 数据查询 一、[实验目的] 1.掌握SQL的单表查询操作

2.掌握SQL的连接查询操作 3.掌握SQL的嵌套查询操作 4.掌握SQL的集合查询操作 二、[实验内容] 本实验的主要内容是: 1.简单查询操作。包括投影、选择条件表达,数据排序,使用临时表等。 2.连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。 3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 4.组合查询与统计查询。 (1)分组查询实验。该实验包括分组条件表达、选择组条件的表达方法。 (2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 (3)组合查询实验。 (4)计算和分组计算查询的实验。 三、[实验方法] 1.将查询需求用Transact-SQL语言表示。 2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。 3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。 4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。 5 查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。 图5- 错误!未定义书签。SQL Server 2000查询分析器 查询分析器的界面如图5- 错误!未定义书签。所示。在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查

数据库原理实验报告二.pdf

LIAOCHENG UNIVERSITY 计算机学院实验报告 【2015 ~2016 学年第 2 学期】 【一、基本信息】 【实验课程】数据库原理与应用 【设课形式】独立□非独立【课程学分】 【实验项目】实验二、SQL数据操作及查询 【项目类型】基础综合□设计□研究创新□其它[ ]【项目学时】4【学生姓名】傅雪晨【学号】59 【系别专业】电子商务 【实验班组】 【同组学生】 【实验室名】综合实验楼 【实验日期】【报告日期】 【二、实验教师对报告的最终评价及处理意见】 实验成绩:(涂改无效) 指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案

【三、实验预习】 实验条件(实验设备、软件、材料等): 实验2 SQL数据操作及查询 实验目的: 1. 向实验1建立的表中添加数据(元组), 掌握INSERT语句的用法; 2. 修改基本表中的数据, 掌握UPDATE语句的用法; 3. 删除基本表中的数据,掌握DELETE语句的用法; 4. 体会数据完整性约束的作用, 加深对数据完整性及其约束的理解。 5. 熟练掌握SELECT语句,能够运用该语句完成各种查询。 实验内容: 1.使用INSERT语句将教材P82表中的数据添加到数据库STUDENTDB中. 2. Insert into student59 select'1','李勇','男','20','CS','',''union select'2','刘晨','女','19','CS','',''union select'3','王敏','女','18','MA','',''union select'5','张立','男','19','IS','','' select*from student59 select*from course59 select*from sc59 alter table course59NOCHECK Constraint fk_cpno Insert into course59 select'1','数据库','5','4'union select'2','数学','','2'union select'3','信息系统','1','4'union select'4','操作系统','6','3'union select'5','数据结构','7','4'union select'6','数据处理','','2'union select'7','PASCAL语言','6','4' alter table course59CHECK Constraint FK_course59_course59 Insert into sc59 select'1','1',92 union select'1','2',85 union select'1','3',88 union select'2','2',90 union select'2','3',80 alter table sc59CHECK Constraint fk_S_c alter table sc59NOCHECKConstraint fk_S_c

数据库实验报告五

数据库原理及应用实验报告(五) 实验题目:过程 专业:数字媒体技术 班级:1306班 姓名:***************

运城学院实验报告 专业:数字媒体技术系(班):计算机科学与技术系1306班姓名:************* 课程名称:数据库原理及应用 实验项目:过程实验类型:验证型指导老师:***** 实验地点:软件实验室一时间:2015年12月10日 一、实验目的: 掌握用户存储过程的创建,了解一些常用的系统存储过程,以及调用和删除过程,并熟悉使用存储过程来进行数据库应用程序的设计。 二、实验内容: (1)基于学生—课程数据库创建一存储过程,用于检索数据库中某个专业学生的人数,带有一个输入参数,用于指定专业。执行结果如图二所示: create procedure pro_s @stu_sdept varchar(5) //这是带参数的过程,参数不用()括 As select count(*) as 人数from student where sdept = @ stu_sdept 1、存储过程的执行 execute pro_s 实参//实参可以是变量,也可以是常量 (2)基于学生-课程数据库创建一存储过程,该过程带有一个输入参数,一个输出参数。其中输入参数用于指定学生的学号,输出参数用于返回学生的平均成绩。执行结果如图四所示: create procedure pro_stu @stu_sno char(6),@stu_avg float output //这个带output的是输出参数as select @stu_avg = avg(grade) //将平均值给了变量 from student,sc where student. sno = sc. sno and student.sno=@stu_sno 1.存储过程的执行 declare @stuavg float //用于存放输出变量内容的 execute pro_stu ‘1000’,@stuavg output// 输出参数必须是变量 select @stuavg //看结果 (3)在pubs数据库中建立一个存储过程,用于检索数据库中某一价位的图书信息。参数有两个,用

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与 管理实验 南京晓庄学院 《数据库原理与应用》 课程实验报告 实验三数据表的创建与管理实验 所在院(系): 数学与信息技术学院班级: 学号: 姓名: 1.实验目的 (1) 理解SQL Server 20xx常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (2) 熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构,插入及更新数据的方法。 (3) 熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方 法。 2.实验要求 基本实验:

(1) 在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构: 学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称) 要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。 (2) 依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据 库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。 (3) 依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验 使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。 (4) 找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5) 按要求完成实验报告。 扩展实验: (1) 在“TM”数据库中补充设计以下各表结构:

数据库实验报告1

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

北邮大三下数据库实验报告5

北京邮电大学 实验报告 课程名称数据库系统原理 实验内容实验5 数据库完整性与安全性实验 班级2013211***姓名 *** 指导老师成绩_________ 2016年05月20日

实验5 数据库完整性与安全性实验 实验目的: 1.通过对完整性规则的定义实现,熟悉了解SQL SERVER中完整性保证的规则和实现方 法,加深对数据完整性的理解。 2.通过对安全性相关内容的定义,熟悉了解SQL SERVER中安全性的内容和实现方法, 加深对数据库安全性的理解 实验内容 完整性实验与要求: 1.分别定义数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束; 定义主键: 方法一:使用Enterprise Manager设置主键(以book表为例) ①光标移到book表的位置,右键->设计 ②在你要选的属性列右键->设置主键,完成。

方法二:使用SQL语句。 ①右键数据库,新建查询 设置外键: 方法一:使用Enterprise Manager设置外键(以student表为例) ①单击student表,鼠标移到“键”文件夹,单击右键,选择“新建外键”。 ②选择“表和列规范”进行设置

③我们想在student表设置class_id属性为外键,按照下图选择,点击确定,保存即可。 方法二:SQL语句 新建查询,输入如图语句。

2.向学生表插入具有相同学号的数据,验证其实体完整性约束; Student表的主键是学号,所以不能插入有相同学号的学生。 3.向学生表中插入一条数据,班级号是学生表的外键,验证参照完整性约束; Class表中没有“2013211302”这个班级,所以无法插入。改变班级号为class表中存在的,则能够进行插入,结果如下: 4.删除教师表中的所有数据,验证参照完整性约束;

数据库原理实验报告_实验三_数据完整性与安全性控制

实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存

(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。 唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存

D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二

数据库原理B实验报告完整版1-3

实验一 认识DBMS系统 日期 2011-3-23一、实验目的 1.通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2.熟悉对DBMS的操作 3.搭建今后实验的平台 二、实验原理 企业管理器是SQL Server中最主要的工具,使用它基本上可完成SQL Server的所有管理操作,如数据库的创建和管理、数据表的创建和管理、数据库安全管理等,在本书第五课中将对其作详细介绍。 查询分析器主要用于创建和执行SQL命令,以完成数据库的查询和管理工作。查询分析器和企业管理器是SQL Server的两大主要工具。 服务管理器主要用于启动、暂停、停止和检查本地服务的状态。SQL Server提供如下服务: SQL Server服务:该服务提供管理服务器中的所有数据库、执行T-SQL程序、执行存储过程、处理分布式查询等服务。必须启动该服务,用户才能通过客户端访问SQL Server服务器中的数据。 SQL Server Agent服务:该服务用于执行作业、监视SQL Server以及激发警报。SQL Server Agent允许自动执行某些管理任务的服务,所以必须启动SQL Server Agent 服务,才能使本地或多服务器的管理任务自动运行。 Microsoft Search服务:提供SQL Server全文检索功能。 Distributed Transaction Coordinator服务:提供Microsoft分布式事务处理功能。 MSSQL Server OLAP Service服务:支持Analysis Services的各项功能,该服务在安装了支持Analysis Services才有。 三、实验仪器和设备 1. 计算机 2. SQL Server 2000 四、预习要求 复习已经讲过的SQL Server 2000的基本工具使用方法。

数据库原理实验报告(1)

实验一SQL Server2005常用服务与实用工具实验 所在院(系):信息工程学院 班级:13软件工程转本1班 学号:13131151 姓名:薛伟

1.实验目的 (1)了解Microsoft关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio图形环境的基本操作方法。了解使用“SQL Server2005联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1)简要总结SQL Server系统发展历史及SQL Server2005主要版本类别与主要功能特性。SQL Server系统发展历史 1988SQL Server由微软与Sybase共同开发,运行于OS/2平台。 1993SQL Server4.2桌面数据库系统,功能较少。与Windows集成并提供了易于使用界面。1994Microsoft与Sybase在数据库开发方面的合作中止。 1995SQL Server6.05重写了核心数据库系统。提供低价小型商业应用数据库方案。 1996SQL Server6.5 1998SQL Server7.0重写了核心数据库系统,提供中小型商业应用数据库方案,包含了初始的Web支持。SQL Server从这一版本起得到了广泛应用。 2000SQL Server2000企业级数据库系统,其包含了三个组件(DB,OLAP,English,Query)。丰富前端工具,完善开发工具,以及对XML的支持等,促进了该版本的推广和应用。2005SQL Server2005最新版本,历时5年的重大变革。 2007SQL Server2008(Katmi)即将发布。 2008SQL Server2008发布。 -SQL Server2005主要版本类别及功能特性 SQL Server2005Enterprise Edition(32位和64位) Enterprise Edition是最全面的SQL Server版本,是超大型企业的理想选择,能够满足最复杂的要求。 注:没有任何限制,包含所有功能和特性。 SQL Server2005Standard Edition(32位和64位) SQL Server2005Standard Edition是适合中小型企业的数据管理和分析平台。 它包括电子商务、数据仓库和业务流解决方案所需的基本功能。

数据库道理实验报告3

实验三数据表的创建与管理实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)理解SQL Server 2005常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (2)熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构, 插入及更新数据的方法。 (3)熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方 法。 2.实验要求 基本实验: (1)在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构: 学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称) 要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。 (2)依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据 库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。 (3)依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验 使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。 (4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5)按要求完成实验报告。 扩展实验: (1)在“TM”数据库中补充设计以下各表结构: 教师信息(教师号,姓名,性别,出生日期,学历,学位,入职时间,职称,院系号) 授课信息(教师号,课程号,学期) 班级信息(班级号,班级名称,专业号) 专业信息(专业号,专业名称,学制,学位) 图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类) 借书偏息(学号,图书号,借出时间,归还时间) 奖励信息(学号,奖励类型,奖励金额) (2)设计并实现各表之间相关属性的参照关系。 (3)使用SQL Management Studio图形界面或Transact-SQL在“TM”数据库中创建前述各 表,并插入部分数据,要求所插入数据合理有效。 3.实验步骤、结果和总结实验步骤/结果

数据库原理实验报告册

实验名称课时实验报告成绩实验(一)——数据库基本操作 2 实验(二)——SQL语句 6 实验(三)——数据库完整性与 4 安全性实验 实验(四)——数据库编程 4 备注:

实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行 基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、 关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材) A.新建STU数据库

单击STU数据库,选择表,然后新建,依次用相同的步骤建立STU、COURSES 和SC表,见图B B.新建表 数据录入:

数据库上机实验报告(5)

《Access数据库技术及应用》 上机实验报告(4) 一、实验地点: E203 日期:2011-05-30 二、实验环境: 硬件系统: 电脑型号 联想 操作系统 Windows 7 旗舰版 32位 处理器 英特尔 core i5 650 内存 2 GB 软件系统: 操作系统:Windows 7 使用软件:Microsoft Office Access 2007三、实验内容: 查询练习(我们以“产品销售”数据库为例) 1、查找最贵的两种产品。 在查询对象里打开在设计视图中创建查询。把显示表里的产品标添加 到来源区。然后按 要求在字段内一步步按所要运用的函数公式输入进去,注意,因为是 最贵的两种产品,一定把产品表单价按照降序进行排列。所有的步骤 输入完成过后,点击运行按钮 就行了。运行结果:

2、显示2000年的总销售额 Select sum([单价]*[销售量]) as 总销售额 from 产品表 inner join 销售表on 产品表.产品编号=销售表.产品编号 where year([销售日期])=2000 步骤:在查询对象里打开在设计视图中创建查询。把显示表里的销售表和产品表添加到来源区。然后按要求在字段内一步步按所要运用的函数公式输入进去,注意,在这个题中,有一个牵涉条件的步骤就是年份的限定。所以,我们有必要在条件区加上年份函数Year()函数,同时,这是一个条件,需要在条件区中调出总计一栏才可以进行条件设置。如下图: 运行结果见下图: 同样,我们可以用SQL语句(此题的SQL语句见下:) SELECT Sum([单价]*[销售量]) AS 总销售额

数据库原理实验报告

《数据库原理》实验报告 姓名学号日期2014-9-27 实验室152 指导教师设备编号 实验题目实验单元2 表创建和管理、数据更新操作 一、实验目的 1)掌握T-SQL语句创建表的写法,掌握数据类型和约束的知识; 2)掌握SQL 语句管理表的方法。 3)掌握T-SQL语句向表中插入、修改、删除数据的写法; 二、实验内容 以下所有操作使用T-SQL语句来实现: (一) 数据定义 1)创建数据库MyStudent数据库,该数据库主要文件为MyStudent.mdf,日志文件为 MyStudent.ldf,它们都位于d:\myDB目录下。

2)基本表的定义: 要求使用命令定义如下3个表:Student, Course,SC,要求为每张表合理建立主码外码约束。字段名称类型及长度说明备注 Sno CHAR(12) 学号 Sname CHAR(20) 姓名非空 Ssex CHAR(2) 性别可为空 Sbirthday DATETIME 出生日期可为空 Sdept CHAR(40) 所在院系可为空 Saddress CHAR(50) 籍贯可为空 字段名称类型及长度说明备注 Cno CHAR(6) 课程编号 Cname CHAR(30) 课程名称非空 Cpno CHAR(6) 先修课号可为空 Ccredit INT 学分可为空 字段名称类型及长度说明备注 Sno CHAR(12) 学号 Cno CHAR(6) 课程编号 Grade INT 成绩可为空

3)给student表增加一个memo(备注)字段,类型为varchar(200)。

4)将memo字段的类型修改为varchar(300)。 5)删除memo 字段。

相关文档
相关文档 最新文档