天津理工大学数据库(李玉坤)实验四

合集下载

计算机网络技术实验报告四

计算机网络技术实验报告四

天津理工大学实验报告学院(系)名称:

F -F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z A B C D E

G- G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H -H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I- I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J -J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K -K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L -L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M -M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N -N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O -O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P -P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q -Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R -R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

数据库实验报告(实验四)

数据库实验报告(实验四)

沈阳工程学院

学生实验报告

(课程名称:数据库系统原理)实验题目:数据查询(二)

班级学号姓名

日期年月日地点指导教师

一、实验目的

掌握SQL查询命令:包括连接查询、嵌套查询和集合查询。

二、实验环境

Oracle10g数据库系统。

三、实验内容与要求

使用Select命令完成下列数据查询。

一、连接查询

⑴查询每个顾客及其购买商品的顾客名称和商品名称。

⑵查询“沈阳市”顾客,购买“01”商品的顾客信息。

⑶查询“沈阳市”且购买了商品的顾客信息。

⑷查询购买“01”商品,且购买数量在2以上的顾客姓名。

⑸查询每个顾客购买商品的名称及购买数量和日期。

⑹查询购买商品单价超过100的顾客姓名。

二、嵌套查询

⑴查询与“rose”在同一城市的顾客信息。

⑵查询购买商品名称为“面包”的顾客编号和姓名。

三、EXISTS查询

⑴查询没有购买“0001”商品的顾客姓名。

⑵查询购买了全部商品类别的顾客的姓名。

四、实验过程及结果分析

一、连接查询

⑴查询每个顾客及其购买商品的顾客名称和商品名称,如图1-1所示。

select guest.*,guestname,goodsname

from guest,goods,purchase

where guest.guestid=purchase.guestid

and goods.goodsid=purchase.goodsid;

图1-1

⑵查询“沈阳市”顾客,购买“01”商品的顾客信息,如图1-2所示。

select guest.*

from guest,purchase

where guest.guestid=purchase.guestid

石大 数据库实验四

石大  数据库实验四

实验4 存储过程和触发器

一、实验目的

1.加深和巩固对存储过程和触发器概念的理解。

2. 掌握触发器的简单应用。

3. 掌握存储过程的简单应用。

二、实验环境

硬件环境:PC机

软件环境:操作系统为Microsoft Windows 2007版本。

数据库管理系统为Microsoft SQL Server 2008企业版。

三、实验内容

1. 熟悉运用SQL Server企业管理器和查询分析器进行存储过程的创建和删除。

2. 熟悉运用SQL Server企业管理器和查询分析器进行触发器的创建和删除。

四、实验步骤(基于Microsoft SQL Server 2008企业版)

1.建立存储过程class_info ,当执行该过程时,只要给出学生的姓名,就能查到他们的班级名称。使用存储过程class_info查找学生“张强”的信息。create procedure class_info@s_name varchar(20)

as select sno as学号,sname as姓名,zhuangye as所在班级名称

from s

where sname=@s_name

运行结果:

exec class_info@s_name='张强'

运行结果:

2.删除存储过程 class_info

drop procedure class_info

运行结果:

3.使用触发器实现S,SC表的级联删除

create trigger trig_s_deiete

on s

after delete

as

delete

from sc

where sno in

《数据库原理》实验4

《数据库原理》实验4

实验四:数据库综合查询

一、实验目的

1.掌握SELECT语句的基本语法和查询条件表示方法;

2.掌握查询条件种类和表示方法;

3.掌握连接查询的表示及使用;

4.掌握嵌套查询的表示及使用;

5.了解集合查询的表示及使用。

二、实验环境

已安装SQL Server 2008 企业版的计算机;

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

1.了解SELECT语句的基本语法格式和执行方法;

2.了解连接查询的表示及使用;

3.了解嵌套查询的表示及使用;

4.了解集合查询的表示及使用;

5.完成实验报告;

五、实验内容及步骤

以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作:

1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况;

2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;

3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选

修课程号及成绩;

4.查询缺少成绩的所有学生的详细情况;

5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;

6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成

绩;

7.按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情

况。其中已修学分为考试已经及格的课程学分之和;

8.列出只选修一门课程的学生的学号、姓名、院系及成绩;

9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;

10.只选修“数据库”和“数据结构”两门课程的学生的基本信息;

11.至少选修“数据库”或“数据结构”课程的学生的基本信息;

数据库实验4实验报告

数据库实验4实验报告

淮海工学院计算机工程学院实验报告书

课程名:《数据库原理及应用》

题目:T-SQL高级应用

班级:软件132

学号:**********

*名:***

一.目的与要求

1.掌握复杂查询的使用方法;

2.掌握多表连接的方法;

3.掌握SELECT语句在多表查询中的应用。

4.掌握数据汇总、外连接查询的使用方法;

5.掌握事务定义的一般方法

二.实验内容

1.给出教材14-16的程序运行结果。

2.编写程序,查询“1033”班的最高分的学生的学号、姓名、班号、课程号和分数。

3.编写程序,创建一个新表,包含所有学生的姓名、课程名和分数,并以姓名排序。

4.编写程序,输出每个班最高分的课程名和分数。

5.在上次实验建立的factory数据库的基础上,完成如下各题:

●删除factory数据库上各个表之间建立的关系;

●显示各职工的工资记录和相应的工资小计。

●按性别和部门名的所有组合方式列出相应的平均工资。

●在worker表中使用以下语句插入一个职工记录:insert into worker values(20,’

陈立’,‘女’,’55/03/08’,1,’75/10/10’,4),在depart表中使用以下语

句插入一个部门记录:insert into depart values(5,’设备处’)。再对worker

和depart表进行全外连接显示职工的职工号,姓名和部门名。然后删除这两个插

入的记录。

●显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。

●显示最高工资的职工所在的部门名。

●显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。

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

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

南京晓庄学院

《数据库原理与应用》课程实验报告

实验四查询设计实验

所在院(系):数学与信息技术学院

班级:

学号:

姓名:

1.实验目的

(1)了解查询的目的,掌握SELECT语句的基本语法和查询条件的表示方法。

(2)掌握数据排序和数据联接查询的方法。

(3)掌握SQL Server查询分析器的使用方法。

2.实验要求

(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下单表查询

操作,并将将调试成功的T-SQL命令,填入实验报告中。

a)查询所有课程的详细情况。

select*from Course

b)查询来自江苏或山东的学生学号和姓名,并以中文名称显示输出的列名。 select S_ID学号,s_name姓名

from dbo.Student;

c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。

select distinct s_id

from SC;

d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降

序排列,如果成绩相同则按学号升序排列。

select*from SC

where C_ID='07253001'

order by EXAM_Grade desc,S_ID asc;

e)查询所有学生的学号、姓名和年龄。

select s_id,s_name,year(GETDATE())-year(date_of_birth)

from dbo.student;

f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并

将成绩乘以0.7输出。

数据库实验报告

数据库实验报告

《数据库原理与技术》实验报告

实验一、数据定义及更新语句练习

一、实验内容

建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(《数据库系统概论》第二章习题5中的四个表),要求实现关系的三类完整性。

S(SNO,SNAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY);

二、完成情况

附上按照实验内容编写的程序代码。(小四号字,宋体)

三、实验结果

1、插入一条记录

2、①将p表中的所有红色零件的重量增加5。

②将spj表中所有天津供应商的QTY属性值减少10。用子查询。

3.利用Delete语句删除p表中的所有红色零件的记录。

附上各个步骤所用的实验用例与结果显示(小四号字,宋体)

四、问题与解决

(小四号字,宋体)

1 .实验中遇到的问题及解决过程

2 .实验中产生的错误及原因分析

首先写出执行语句不成功的时候系统报告的错误信息。然后分析错误原因,并给出解决办法。

实验二简单查询和连接查询

一、实验内容

(一)完成下面的简单查询:

①查询所有“天津”的供应商明细;

②查询所有“红色”的14公斤以上的零件。

③查询工程名称中含有“厂”字的工程明细。

(二)完成下面的连接查询:

①等值连接:求s表和j表的相同城市的等值连接。

②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。

③笛卡尔积:求s和p表的笛卡尔积。

④左连接:求j表和spj表的左连接。

⑤右连接:求spj表和j表的右连接。

数据库实验四报告

数据库实验四报告

《数据库原理与应用》实验报告

实验名称:班级:

学号:姓名:

一、实验目的

(1)了解Oracle数据库中的用户管理,模式,权限管理和角色管理。

(2)掌握为用户分配权限的方法。

(3)了解为不同用户分配不同权限的目的及原因。

二、实验过程

1.用系统帐户sys登录数据库,分别创建数据库内部用户user_one和user_two,创建时自己为用户分配帐户口令。

语句:

create user user_one

identified by 123456

default tablespace users

temporary tablespace temp

quota unlimited on users;

create user user_two

identified by 123456

default tablespace users

temporary tablespace temp

quota unlimited on users;

执行结果:

2.为了使两位用户登录数据库请为其授予相应的权限。

语句:

grant create session to user_one;

grant create session to user_two;

执行结果:

3.授予用户user_one在自己模式下创建表的权限,在任何模式下删除表的权限,授予用户user_two可以在任何模式下创建表的权限,查询任何模式下表中数据的权限和在任何模式下创建视图的权限。

语句:

grant create table,drop any table to user_one;

数据库原理实验4指导书新

数据库原理实验4指导书新

数据库原理实验4指导书新

实验4 T-SQL程序设计

实验LI的:

1.掌握T-SQL的基本语法;

2.会编写存储过程实现复杂功能;

3.会编写触发器实现复杂的约束条件;

4. 掌握事务的定义方式。实验内容:

1.定义变量并且通过select语句给变量赋值.

查询学号为“200213121”的学生的姓名和年龄,将其分别赋予变量name和age。

declare ©name varchar(10) declare ©age int

select @name=sname, @age=sage from student where sno二'200215121' select ©name as 姓名,@age as 年龄

运行结果如下:姓名年龄

李勇31

练习:查询学号为“200215121”的学生选修“1”号课程的成绩,并赋值给变量 gradeo

2.if-lese选择结构的使用

查询学生信息,如果学生人数多于10人,则只显示前5名,否则显示所有学生信息。

DECLARE ©num int

SELECT @num二count (*) from student print '学生人

数:1+convert(varchar(5), ©num) IF (@num>10) BEGIN

print '前五名学生信息'

SELECT TOP 5 * FROM student ORDER BY sno DESC END ELSE BEGIN

print '所有学生信息'

SELECT ♦ FROM student END

练习:查询“1”号课程的平均成绩,如果平均成绩大于等于70,则显示前5

数据库原理实验报告

数据库原理实验报告

计算机与信息学院

数据库原理实验报告

专业:计算机科学与技术班级:2012级本科班学号:*****

姓名:

指导教师:

2014年06月18 日

实验项目列表

计算机与信息学院实验报告纸

实验一数据库创建与管理

一、实验目的与要求

1、熟练掌握SSMS中界面方式创建和管理数据库。

2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。

3、熟练掌握备份和还原数据库。

二、实验内容

1、界面方式创建和管理数据库

(1)创建数据库

(2)修改数据库

(3)删除数据库

2、利用企业管理器备份和还原数据库

(1)备份数据库

(2)还原数据库

3、T-SQL语句方式创建和管理数据库

(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJ

ON

(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,

SIZE = 3,

MAXSIZE = 10,

FILEGROWTH = 10%)

LOG ON

(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,

SIZE = 1,

FILEGROWTH = 10%)

(2)修改SPJ数据库:在查询分析器中输入以下语句并运行

ALTER DATABASE SPJ

MODIFY FILE

(NAME='SPJ_Data',

天津理工大学数据库实验四:查询优化

天津理工大学数据库实验四:查询优化

实验报告

学院(系)名称:计算机与通信工程学院

姓名卢洪利学号20146049专业计算机科学与技术

班级计算机4班实验项目实验四:查询优化

课程名称数据库系统课程代码0668026

实验时间2016年11月1日实验地点计算机软件实验室7-215 批改意见成绩

教师签字:

1.实验目的

1)了解数据库查询优化方法和查询计划的概念

2)学会分析查询的代价,并通过建立索引或者修改SQL语句来降低查询代价

2.实验工具

Fedora 25 64 bit

MariaDB 10.1.19

Python 3.4.5

3.实验内容

基于教材中的student、course、SC表,通过存储过程(要求在报告中写出存储过程),插入多条元组(1万条以上),考虑不同的SQL操作,分析比较执行代价。

0.数据准备

Student表中建立了10万数据,用时891.72秒。学号从201200000开始递增到201299999,名字为STU_加长度为6的随机字符串,年龄随机生成,16~25岁,专业随机生成36种

Course表中建立899条数据,用时65.88秒,先行课都为前120号的课程

SC表中建立199775条数据,用时1845.29秒

生成数据所用代码(Python 3):

import pymysql

import random

import time

def random_string(length = 2):

chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

str = ''

if length == 2:

chars = "BCEGHI"

数据库实验报告(完整版)

数据库实验报告(完整版)

数据库实验报告

班级:07111103

学号:**********

姓名:***

实验一:

[实验内容1 创建和修改数据库]

分别使用SQL Server Management Studio和Transact-SQL语句,按下列要求创建和修改用户数据库。

1.创建一个数据库,要求如下:

(1)数据库名"testDB"。

(2)数据库中包含一个数据文件,逻辑文件名为testDB_data,磁盘文件名为

testDB_data.mdf,文件初始容量为5MB,最大容量为15MB,文件容量递增值

为1MB。

(3)事务日志文件,逻辑文件名为TestDB_log, 磁盘文件名为TestDB_log.ldf,文件

初始容量为5MB, 最大容量为10MB,文件容量递增值为1MB。

2.对该数据库做如下修改:

(1)添加一个数据文件,逻辑文件名为TestDB2_data,实际文件为TestDB2_data.ndf,

文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB。

(2)将日志文件的最大容量增加为15MB,递增值改为2MB。

方法一:使用SQL Server Management Studio创建和修改数据库TestDB

方法二:使用Transact-SQL语句创建和修改数据库TestDB

方法一过于简单,暂不做讨论。

下面学习方法二。

首先,在sql sever 2008中单击新建查询。

然后键入下面的代码。

建立新的数据库。

1. 创建一个数据库,要求如下:

2.对该数据库做如下修改:

对刚刚的操作进行验证

数据均已更新完毕。

[实验内容2 数据表的创建、修改和查询]

数据库原理及应用 实验四

数据库原理及应用 实验四

实验四数据更新实验

一、实验目的

1、熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用

2、加深理解表的定义对数据更新的作用

二、实验步骤及内容

(一)利用查询分析器在表中插入数据

打开在实验一中建立的“学生课程”数据库;

在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:

SNO SNAME SSEX SAGE SDEPT

95001李勇男20 CS

95002刘晨女19 IS

95003王敏女18 MA

course表的内容

CNO CNAME CPNO CREDIT 1数据库5 4

2数学NULL 2

3信息系统1 4

4操作系统NULL 3

5数据处理NULL 2

sc表的内容

SNO CNO GRADE

95001 1 92

95001 265

95001 3 88

95002 2 90

95002 3 80

(二)修改表中的数据

在插入数据后的三张表S、C、SC中进行相关的更新操作:

1、将student表中‘李勇’的名字改为‘李明’;

2、将student表中‘王敏’的年龄改为20岁;

3、将所有学生的年龄增加1岁;

4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性;

5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;

6、将“CS”系全体学生的成绩置零;

(三)删除表中的数据

1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;

2、删除学号为“95003”的相关信息;

3、删除"IS"系选修了"2"号课程的选课记录;

4、删除“CS”系的全体学生的选课记录;

数据库原理实验报告(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 界面;

《数据库原理及应用》实验报告(1-21)

《数据库原理及应用》实验报告(1-21)

数据库原理及应用

实验报告

实验课程:数据库原理及应用

学号:

学生姓名:

班级:

2014年月日

实验一创建和维护数据库

一、实验目的

(1)掌握在Windows 平台下安装与配置MySQL 5.5 的方法。

(2)掌握启动服务并登录MySQL 5.5 数据库的方法和步骤。

(3)了解手工配置MySQL 5.5 的方法。

(4)掌握MySQL 数据库的相关概念。

(5)掌握使用Navicat 工具和SQL 语句创建数据库的方法。

(6)掌握使用Navicat 工具和SQL 语句删除数据库的方法。

二、实验要求

(1)学生提前准备好实验报告,预习并熟悉实验步骤;

(2)遵守实验室纪律,在规定的时间内完成要求的内容;

(3)1~2人为1小组,实验过程中独立操作、相互学习。

三、实验内容及步骤

(1)在Windows 平台下安装与配置MySQL 5.5.36 版。

(2)在服务对话框中,手动启动或者关闭MySQL 服务。

(3)使用Net 命令启动或关闭MySQL 服务。

(4)分别用Navicat 工具和命令行方式登录MySQL。

(5)在my.ini 文件中将数据库的存储位置改为D:\MYSQL\DATA。

(6)创建数据库。

①使用Navicat 创建学生信息管理数据库gradem。

②使用SQL 语句创建数据库MyDB。

(7)查看数据库属性。

①在Navicat 中查看创建后的gradem 数据库和MyDB 数据库的状态,查看数据库所在的文件夹。

②利用SHOW DATABASES 命令显示当前的所有数据库。

(8)删除数据库。

①使用Navicat 图形工具删除gradem 数据库。

数据库原理实验报告实验

数据库原理实验报告实验

数据库原理实验报告实验

摘要

数据库作为一种重要的数据存储和管理工具,在计算机科学领域中起着至关重要的作用。本实验旨在通过实践操作和理论知识学习,加深对数据库原理的理解与掌握。在本实验中,我们将简要介绍实验的目的、实验环境、实验过程和实验结果,并对实验的意义进行总结。

一、实验目的

1.加深对数据库管理系统的理解,熟悉数据库的基本操作和管理方法;

2.学习如何进行数据库设计和规范化;

3.学习使用SQL语言进行数据库查询和管理;

4.掌握常用数据库操作和管理工具的使用。

二、实验环境

1.硬件环境:一台配置较高的个人计算机;

2.软件环境:数据库管理系统(如MySQL、Oracle等);

3.实验工具:SQL语言编辑器。

三、实验过程

1.数据库设计和规范化

首先,我们需要根据实验需求,进行数据库的设计和规范化。这包括确定数据库的实体、属性和关系,并建立表的结构和关系。在设计和规范化过程中,需要考虑实体之间的关系、主键和外键的定义、规范化的程度等。

2.创建数据库和数据表

根据设计好的数据库结构,我们需要创建数据库和数据表。使用数据库管理系统提供的命令或图形界面工具,创建数据库,然后在数据库中创建对应的数据表。在创建数据表时,需要指定每个字段的数据类型、约束和默认值等。

3.插入数据

创建完数据库和数据表后,我们需要向数据表中插入数据。可

以通过手动添加数据或者导入外部数据文件的方式,将数据插入到

对应的数据表中。

4.查询和管理数据

使用SQL语言进行数据库的查询和管理是数据库操作的重要部分。根据实验需求,编写相应的SQL语句,执行数据查询、删除、修改和更新等操作,对数据进行管理和操作。可以通过SQL语言编辑器执行SQL语句,获得查询结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

学院(系)名称:计算机与通信工程学院

姓名吴学号201 专业计算机科学与技术

班级二班实验项目数据库设计与查询优化

课程名称数据库系统概论课程代码0660096

实验时间2016/12/8 实验地点7-216

批改意见成绩

教师签字:

一、实验目的

⏹了解教材中介绍的ER图等数据库设计方法

⏹了解基本的数据库优化方法

二、实验的软硬件环境

软件环境:Windows 2000 MS SQL Server

硬件环境:P4 2.4GHz 256内存

三、实验内容

考虑单表查询、连接查询、嵌套查询3种SQL操作,从以下方面进行优化,并分析优化结果。

(1)单表查询。比较建立索引以后的查询效率

⏹查询student表中所有学生信息所需要的时间

⏹对于student1表,不按照姓名创建索引,查询某个姓名,所需要的时间。

⏹对于student1表,按照姓名创建索引,查询某个姓名,所需要的时间。

⏹对于student1表,不按照系别创建索引,查询某个系所有学生,所需要的

时间。

⏹对于student1表,按照系别创建索引,查询某个系所有学生,所需要的时

间。

查询student表中所有学生信息所需要的时间

对于student1表,不按照姓名创建索引,查询某个姓名,所需要的时间

对于student1表,按照姓名创建索引,查询某个姓名,所需要的时间

对于student1表,按照系别创建索引,查询某个系所有学生,所需要的时间

对于student1表,不按照系别创建索引,查询某个系所有学生,所需要的时间

(2)连接查询

查询选修某门课程的学生姓名。比较在student、course、SC三个表建立索引和不建立索引的情况

不建立索引的情况

建立索引的情况

(3)针对不同属性查询

⏹比较两个查询“查询某门课程选修的学生”和“某个学生选修的课程”

的查询时间效率,并分析原因(两个查询均用连接查询、嵌套查询分别实

现).

⏹查询某门课程选修的学生(连接查询)

查询某门课程选修的学生(嵌套查询)

(4)数据库概念模式设计(选作)

⏹自己选定一种场景或一个应用问题,为之设计数据库的概念模式(ER图),

要求不少于6个实体,实体之间有一对多、多对多关系。并将其转化为关

系模式,并标示出每个关系模式的主键。(提示:学生管理系统、图书馆

管理系统、仓库管理系统、网上商城等)

四、实验过程及结果

1.实验所基于的表

Course1

SC1

Student1

五、问题及体会

本次试验清楚的展示给了我们做每种查询所用的时间,可以直观的比较每种查询的优缺点。还有,对于大数据,尽可能的建立索引,这样会大大节约时间和空间,有了索引后,查询效率会成倍的提升,在今后的使用过程中,一定要养成良好的习惯。

相关文档
最新文档