当前位置:文档之家› 数据库原理实验报告(Mysql)

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

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

实验项目列表

序号实验项目名称指导教师

1 实验一数据库的定义实验(验证性)

2 实验二数据库的建立和维护实验(验

证性)

3 实验三数据库的查询实验(验证性)

4 实验四数据库的视图操作实验(验证

性)

5 实验五触发器、存储过程操作实验

(综合性)

实验一:数据库的定义实验

一、实验目的:

1、理解MySQL Server 6.0 服务器的安装过程和方法;

2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。

二、实验环境:

硬件:PC机

软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0

三、实验内容和原理:

1、安装MySQL以及相应的GUI工具

2、用SQL命令,建立学生-课程数据库基本表:

学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);

课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);

选课SC(学号Sno,课程号Cno,成绩Grade);

要求:

1) 用SQL命令建库、建表和建立表间联系。

2) 选择合适的数据类型。

3) 定义必要的索引、列级约束和表级约束.

四、实验步骤:

1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面;

2、利用图形界面建立基础表:

student表的信息:

字段名类型长度约束条件

Sno varchar 9 非空、主键

Sname varchar 20

Ssex varchar 2

Sage smallint 6

Sdept varchar 20

course表的信息:

字段名类型长度约束条件

Cno varchar 4 非空、主键

Cname varchar 40

Cpno varchar 4 与course表中Cno关联

Ccredit smallint 6

sc表的信息:

字段名类型长度约束条件

Sno varchar 9 非空、主键、与student表中Sno

外键关联,级联删除

Cno varchar 4 非空、主键、与course表中Cno

外键关联

Grade smallint 6

(1)、连接数据库,在localhost中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。

图1 新建数据库图2

(2)、进入新建的数据库,在表的位置单击鼠标右击(如图3所示),点击“新建表”,分别在“栏位”中输入上表所示的字段名、类型及长度中的数据(如图4、5、6所示),在“外键”中输入对应表的约束条件(如图)。

图3 新建表图4 student表

图5 course表图6 sc表

图7 course的约束条件图8 sc的约束条件

3、利用命令方式建表:

(1)、单击“查询”,然后点击“新建查询”,在弹出的新建查询窗口中输入“CREATE DATABASE huangqiangwei”命令,建立一个名为zhz的数据库;

(2)、通过“use huangqiangwei”命令进入到huangqiangwei数据库中;

(3)、在查询编辑器窗口中分别输入命令:

建立student表:

CREATE TABLE student

(Sno varchar(10) PRIMARY KEY,

Sname varchar(20) UNIQUE,

Ssex varchar(2),

Sage SMALLINT,

Sdept varchar(20)

)

建立course表:

CREATE TABLE course

(Cno varchar(4) PRIMARY KEY,

Cname varchar(40),

Cpno varchar(4),

Ccredit SMALLINT,

FOREIGN KEY (Cpno) REFERENCES course(Cno)

)

建立sc表:

CREATE TABLE sc

(Sno varchar(10),

Cno varchar(4),

Grade SMALLINT,

PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Sno) REFERENCES student(Sno)

ON DELETE CASCADE ON UPDA TE CASCADE,

FOREIGN KEY (Cno) REFERENCES course(Cno)

ON DELETE NO ACTION ON UPDA TE CASCADE

)

(4)、向student表中添加“Sentrance”列:

ALTER TABLE student ADD Sentrance DATE

(5)、将student表中“Sentrance”的类型改为varchar

ALTER TABLE student MODIFY COLUMN Sentrance varchar(4);

(6)、删除student表中的“Sentrance”列:

ALTER TABLE student DROP Sentrance;

五、实验结果

1、student表:

2、course表:

3、sc表:

4、向student表中添加Sentrance列:

5、student表的基本信息:

6、将Sentrance的数据类型改为varchar:

六、总结:

通过这次实验,要求掌握了数据库的定义以及基本表的建立,熟悉MySQL 图形界面和SQL命令去创建、修改、删除基本表及设定表级完整性约束,巩固了SQL的一些常用的命令语句,为接下来的实验奠定基础。

实验二:数据库的建立和维护实验

一、实验目的和要求

熟练掌握使用SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。

二、实验内容和原理

1、基本操作实验

(1)通过MySQL的GUI工具Navicat,在学生-课程数据库的student、course 和sc 3个表中各输入若干条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。

(2)通过MySQL的GUI工具Navicat实现对学生-课程数据库的student、course和sc 3个表中数据的插入、删除和修改操作。

2、提高操作实验

通过查询编辑器用SQL命令实现对学生-课程库的数据增加、数据删除和数据修改操作。

三、实验环境

硬件:PC机

软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0

四、算法描述及实验步骤

1、基本操作实验

(1)运行“Navicat”,双击“student”表,将学生的信息输入对应位置(如图1所示);双击“course”表,将课程信息输入对应位置(如图2所示);双击“sc”表,将选课信息输入对应位置(如图3所示);

(2)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标点击其他行时,输入的记录会自动保存在表中。

(3)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有的值。

(4)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录

成为当前行,然后按键。为了防止误操作,MySQL会弹出一个警告框,要求用户确认删除操作,单击“确认”按钮即可删除记录。也可通过先选中一行或多行记录,然后再按 键的方法一次删除多条记录。

图1 student表的数据

图2 course表的数据

图3 sc表的数据

图4 警告图标

2、提高操作实验

在查询编辑器中输入以下代码,实现相应的功能。

(1)将(学号:3116003034;姓名:黄学辉;性别;男;所在系:IS;年龄:20)的学生信息插入到student表中,实现的代码如下:

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

V ALUES('3116003034','黄学辉','男','IS',20);

(2)将student表中学号为3116003042的学生的所在系改为MA,实现代码如下:

UPDA TE student

SET Sdept='MA'

WHERE Sno='3116003042'

(3)删除姓名为“陈会娟”的学生记录,实现代码如下:

DELETE

FROM student

WHERE Sname='陈会娟'

五、调试过程

提示操作失败,应将SET Sdept=MA和WHERE Sno=3116003042改为:SET Sdept='MA' 和WHERE Sno='3116003042',然后再运行,提示修改成功,如下图:

六、实验结果

1、向student表插入数据:

2、修改数据:

3、删除数据:

七、总结

通过这次实验,掌握了数据库的建立和维护的基本知识以及约束条件的作用,掌握使用MySQL图形界面和SQL命令对建立的基本表进行添加数据、修改数据、删除数据的操作,同时也巩固了SQL命令中的添加、修改、删除语句,

为以后做数据库的维护奠定基础。

实验三:数据库的查询实验

一、实验目的和要求

1、掌握select语句的基本语法;

2、掌握子查询、连接查询的表示;

3、掌握select语句的GROUP BY、ORDER BY、LIMIT的作用和使用方法。

二、实验内容和原理

1、select语句的基本使用:

(1)查询student表中每个学生的所有数据;

(2)查询course和sc表的所有记录;

(3)查询年龄在20~21岁之间的学生的姓名及年龄;

(4)统计学生总人数;

(5)查询信息系(IS)学生的姓名和性别;

(6)查询所有姓“黄”的学生的信息。

2、子查询的使用:

(1)查询与“罗靖”在同一个系的学生

(2)查询其他系中比CS系所有学生年龄都小的学生的姓名和年龄。

3、连接查询的使用:

(1)查询选修了3号课程且成绩在85分以上的学生的学号、姓名。

(2)查询所有学生的选课情况。

4、GROUP BY、ORDER BY和LIMIT子句的使用:

(1)查找student中男生和女生的人数;

(2)查找选修了2号课程的学生的学号及其成绩,查询结果按成绩降序排列;

(3)返回student表中的前3为同学的信息。

三、实验环境

硬件:PC机

软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0

四、算法描述及实验步骤

1、select语句的基本使用:

(1)查询student表中每个学生的所有数据:

SELECT * FROM student

(2)查询年龄在20~21岁之间的学生的姓名及年龄:

SELECT Sname,Sage

FROM student

WHERE Sage BETWEEN 20AND 21

(3)统计学生总人数:

SELECT COUNT(*) FROM student

(4)查询信息系(MA)学生的姓名和性别:

SELECT Sname,Ssex

FROM student

WHERE Sdept IN('MA')

(5)查询所有姓“黄”的学生的信息。

SELECT *

FROM student

WHERE Sname LIKE '黄%'

2、子查询的使用:

(1)查询与“罗靖”在同一个系的学生的姓名和所在系:

SELECT Sname,Sdept

FROM student

WHERE Sdept IN

(SELECT Sdept

FROM student

WHERE Sname='罗靖')

(2)查询其他系中比IS系所有学生年龄都小的学生的姓名和年龄。

SELECT Sname,Sage

FROM student

WHERE Sage

(SELECT Sage

FROM student

WHERE Sdept='IS')

3、连接查询的使用:

(1)查询选修了3号课程且成绩在85分以上的学生的学号、姓名:SELECT Sno,Sname

FROM student

WHERE Sno IN

(SELECT Sno

FROM sc

WHERE Cno='3')

(2)查询有选课的学生的基本情况。

SELECT student.Sno,student.Sname,https://www.doczj.com/doc/9c15980809.html,o,https://www.doczj.com/doc/9c15980809.html,ame

FROM student,sc,course

WHERE student.Sno=sc.Sno AND https://www.doczj.com/doc/9c15980809.html,o=https://www.doczj.com/doc/9c15980809.html,o

4、GROUP BY、ORDER BY和LIMIT子句的使用:

(1)查找student中男生和女生的人数:

SELECT Ssex,COUNT(Ssex)

FROM student

GROUP BY Ssex

(2)查找选修了2号课程的学生的学号及其成绩,查询结果按成绩降序排列:

SELECT Sno,Grade

FROM sc

WHERE Cno='2'

ORDER BY Grade DESC

(3)返回student表中的前3为同学的信息。

SELECT *

FROM student

LIMIT 3

五、实验结果

1、select语句的基本使用:

(1)

(2)

(3)(4)

(5)

2、子查询的使用:

(1)

(2)

3、连接查询的使用:

(1)

(2)

4、GROUP BY、ORDER BY和LIMIT子句的使用:

(1)(2)

(3)

六、总结

通过这次实验,掌握了select语句的基本使用方法,对数据库中的数据进行查询方法有了进一步的了解,巩固了子查询和连接查询的使用以及GROUP BY、ORDER BY和LIMIT子句的使用,为以后做数据库数据的查询奠定基础。

说明:可以一次插入多条记录

实验四:数据库的视图操作实验

一、实验目的和要求

1、熟悉视图的概念和作用;

2、掌握视图的创建方法;

3、掌握如何查询和修改视图。

二、实验内容和原理

1、创建视图:

(1)创建zhz数据库上的视图student_view,视图包含学号、姓名、系;

(2)创建zhz数据库上的视图sc_view,视图包含sc表的全部列。

2、查询视图:

(1)从视图sc_view中查看选修了3号课程的学生的学号;

(2)从视图student_view中查询姓名为“李立婷”的学生所在的系。

3、更新视图:

(1)向视图sc_view中插入一行数据:3116003045,5,87;

(2)将视图student_view中学号=3116003043的学生的系改为MA;

(3)删除视图student_view中学号=3116003042的学生的信息。

4、删除视图:

(1)删除视图sc_view;

5、在界面工具中操作视图

三、实验环境

硬件:PC机

软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0

四、算法描述及实验步骤

1、创建视图:

(1)创建zhz数据库上的视图student_view,视图包含学号、姓名、系:

数据库原理实验报告

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验一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 字段。

相关主题
文本预览
相关文档 最新文档