广工数据库实验报告封面及格式(实验3,4)

广东工业大学校徽

xiaomin

 

 

数据库原理实验报告

学    院______________________

专    业______________________

班    级______________________

学    号______________________

姓    名______________________

指导教师       胡欣如         

(20##年 12月)

gdut

           学院            专业        班  学号:         

姓名:            协作者:________  教师评定:          

实验____题目__                 __  ____    

实验____题目__      _                   _  

实验____题目__      ______ _                

实验____题目__      ___           ____     

实验平台:

实验三、创建和使用视图、索引、存储过程

一、实验目的

1、掌握视图、索引、存储过程的定义、索引、存储过程的工作原理;

2、掌握创建视图、索引、存储过程的SQL语句的用法;并能够熟练利用视图向表中插入、删除和修改数据。

3、掌握使用视图来查询数据。

二、实验主要仪器设备和材料

1.计算机及操作系统:PC机,Windows;

2.数据库管理系统:SQL sever 2000/2005;

三、实验方法、步骤及结果测试

(一)、视图

实验题目:(自己调整格式并书写实验题目,题目见后)

题目1:(自己书写题目)

题目2:(自己书写题目)

(二)、索引

题目(1)(自己书写题目)

(三)、存储过程

题目(1)(自己书写题目)

题目(2)(自己书写题目)

题目(3) (自己书写题目)

题目(4)(自己书写题目)

题目(5)(自己书写题目)

题目(6)(自己书写题目)

题目(7)(自己书写题目)

四、实验中出现的问题及解决方案

五、思考题            

1. 视图可以加快数据的查询速度,这句话对吗?为什么? 

2. 视图可以简化查询,这句话对吗?为什么? 

3. 视图是一个虚表,数据库中只存放视图的定义,而不存放视图包含的数据,这些数据仍存放在原来基本表中。这句话对吗? 

4. 基本表中的数据如果发生变化,视图中查询出数据也随之变化。这句话对吗?

5. 视图的作用。 

6. 可更新视图的限制。

实验内容

实验三

(一)、视图

1、建立“计算机学院”的学生基本情况视图ies_student_view,该视图包括计算机学院所有学生的学号、姓名、性别、出生年月、专业名称。

2、执行ies_student_view视图并观察结果。

3、建立课程1(上课编号)的学生名册的视图,该名册包括学生的学号、姓名、专业名称和这门课的成绩;并查询结果。

4、建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程代码;

5、建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程名称;

6、执行4、5视图并观察结果。

7、修改视图ies_student_view,使该视图包括所有学生的学号、姓名、性别、出生年月、专业名称、院系名称。

8、执行ies_student_view视图并观察结果。

9、 删除视图ies_student_view。并查询结果。

(二)、索引

1.在student_course表(学生选课表)的学生学号(sno)列上创建索引sc_sno_index

2. 在学生表的出生年月列上创建索引stu_birthday_index

3. 通过SQL语句查看运行结果

(三)、存储过程

1:创建一个名称为“StuInfo”的存储过程,要求完成以下功能:在student表中查询xxx班学生的学号、姓名、性别、出生日期四个字段的内容。 

2:创建一个存储过程StuScoreInfo,完成的功能是在表student、表ourse和表student_course

中查询以下字段:班级、学号、姓名、性别、课程名称、学生成绩。

3、创建存储过程list_famous_teachers,该存储过程列出SC库中所有年龄在35岁以下的教师的教师号、姓名、所在学院和年龄。

4、创建存储过程list_student_department,,该存储过程接收学院代码作为输入参数,列出数据库sc中某个院系学生的全部信息。

实验四  小型数据库规划设计

一、实验目的

学习数据库原理及应用目的就是能创建和管理一个真实的数据库,通过规划设计一个小型数据库系统。让学生掌握数据库规划设计的基本技术,熟悉数据库的设计的基本方法和步骤,明白数据库设计各阶段的任务,加深对数据库系统概念和特点的理解。

二、实验内容和要求

,根据你所熟悉的实际情况规划一个小型的数据库应用项目,学生学籍管理系统,进行系统分析和数据库设计。

要求:

1、规划设计一个小型系统的数据库,按照给定要求,对各设计阶段进行描述,要求给出数据库设计的E-R图,并将E-R图转换成相应的模型,编制SQL命令脚本。

三、实验主要仪器设备和材料

1.计算机及操作系统:PC机,Windows 2000/xp;

2.数据库管理系统:SQL server 2000/2003/2005;

四、实验方法、步骤及结构测试

(一)、数据库设计

1、确定学生学籍管理系统数据库包括的数据。

学生学籍管理系统涉及数据信息有:院系信息、班级信息、任课教师信息、学生信息、学籍变更信息、学生奖惩信息、课程信息、选课信息和成绩等。

学籍管理的用户包括:系统管理员、教师和学生。

系统管理员:各种基本信息的录入、修改和删除等操作。

教师使用本系统完成教学班级的信息查询和成绩管理。

学生使用本系统主要完成选课和成绩查询等工作。

2、确定学生学籍管理系统中的实体及其属性

3、建立学生学籍管理系统的E-R图

4、设计学生学籍管理系统数据库 Student

5、设计数据库表的结构

参考表如下:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)、department(院系表)、speciality(专业信息表)、class(班级表)、change(学籍变更表个人),reward(奖励记录信息表)、punnishment(处罚记录信息表)、chengs _code(学籍变更表院系)、reward_levels(奖励记录信息表院系)、punnishment_levels (处罚记录信息表院系)、cousetype(课程类型表)、profession(教师职称表)。

6、确定以上各表的关键字及字段数据类型。

(二)、创建数据库和表

1、创建student数据库

2、创建表

3、分别向以上各表输入数据

(三)、设计数据完整性

1、定义相关表的主键(自定义)

2、定义各表的外键约束(自定义)

3、定义唯一性约束(自定义)

4、设置检查约束(自定义)

5、设置默认值约束(自定义)

(四)、创建和使用视图、索引、存储过程

1、建立索引(自定义)

1、创建2个或多个视图(自定义)

2、创建一个存储过程(自定义)

五、实验报告要求

1、 写出简要的需求分析报告;

2、 进行简要的系统功能设计;

3、建立系统的E-R图

4、列出设计的数据库表

5、生成数据库关系图

6、创建索引并查看索引

6、创建视图并查询视图

8、创建存储过程,执行存储过程并观察结果。(以上过程结果截图显示)

9、代码附录(列出所有的SQL语句,并标注每段代码的功能,宋体五号字,分栏打印)

实验报告提交要求

1、实验报告双面打印、宋体五号字;

2、提交实验报告打印版;四个实验内容

4、提交实验报告电子版,全班刻录1张光碟,每个同学一个文件夹(姓名+学号命名)

   文件内容:实验报告电子版+附录(里面包含四个实验的全部代码)。

注意:实验截图压缩,不要过大,以看清为准

 

第二篇:广工数据库实验4

CREATE DATABASE Labery_3110001373 ON PRIMARY(NAME=Labery_3110001373, FILENAME='C:\3110001373.MDF', SIZE=1MB, MAXSIZE=6MB, FILEGROWTH=1MB)USE labery_3108001518; CREATE TABLE book (bno char(8) not null primary key, category varchar(10) not null, title varchar(40) not null, press varchar(30), book_year int not null, author char(20), price decimal(7,2) not null, book_total int not null)CREATE TABLE card (cno char(7) not null primary key, name char(8) not null, department varchar(40), type char(1) not null check(type in('T','G','U','O')))CREATE TABLE borrow (cno char(7) not null foreign key(cno)references card(cno), bno char(8) not null foreign key(bno)references book(bno), borrow_date smalldatetime not null default getdate(), return_date smalldatetime)CREATE INDEX b_book_year ON book(book_year desc) CREATE INDEX b_borrow_date ON borrow(borrow_date desc)INSERT INTO book VALUES('0001','计算机','数据库系统','机械工业出版社',2004,'张三',28,4) INSERT INTO book VALUES('0002','计算机','操作系统','清华大学出版社',2000,'李四',35,3) INSERT INTO book VALUES('0003','数学类','高等数学','科学出版社',1998,'王五',15,10) INSERT INTO book VALUES('0004','数学类','离散数学','机械工业出版社',2006,'赵六',22,2) INSERT INTO book VALUES('0005','计算机','C语言','清华大学出版社',2005,'钱七',40,1) INSERT INTO book VALUES('0006','文学类','心灵鸡汤','电子工业出版社',2002,null,19,5) INSERT INTO book VALUES('0007','文学类','白鹿原',null,1999,null,25,6) INSERT INTO book VALUES('0008','历史类','中国近代史','文艺出版社',2001,'李立',32,4) INSERT INTO book VALUES('0009','历史类','中国近代史','文艺出版社',2001,'李立',32,4) INSERT INTO book VALUES('0010','JAVA语言','数据库系统','机械工业出版社',2004,'王明',38,2)INSERT INTO card VALUES('T001','李媛媛','自动化学院','T') INSERT INTO card VALUES('T002','王丽丽','自动化学院','T') INSERT INTO card VALUES('T003','张强','计算机学院','T') INSERT INTO card VALUES('T004','赵刚','理学院','T') INSERT INTO card VALUES('G001','吴明','自动化学院','G') INSERT INTO card VALUES('G002','钱清','计算机学院','G') INSERT INTO card VALUES('U001','李峰','自动化学院','U') INSERT INTO card VALUES('U002','白岚','艺术学院','U') INSERT INTO card VALUES('F001','张卫国',NULL,'F') INSERT INTO card VALUES('F002','李爱国',NULL,'F')INSERT INTO borrow VALUES('T001','0001','2011-1-1','2011-1-4') INSERT INTO borrow VALUES('T001','0002','2011-1-1','2011-1-4') INSERT INTO borrow VALUES('T001','0005','2011-1-1','2011-1-4') INSERT INTO borrow VALUES('T001','0010','2011-1-1','2011-1-4') INSERT INTO borrow VALUES('T003','0001','2011-2-15','2011-3-4') INSERT INTO borrow VALUES('T003','0002','2011-2-15','2011-3-4') INSERT INTO borrow VALUES('T003','00

03','2011-2-15','2011-3-4') INSERT INTO borrow VALUES('T003','0004','2011-2-15','2011-3-4') INSERT INTO borrow VALUES('G002','0005','2011-2-5','2011-3-14') INSERT INTO borrow(cno,bno,borrow_date) VALUES('G002','0007','2011-8-10') INSERT INTO borrow(cno,bno,borrow_date) VALUES('G002','0010','2011-8-10') INSERT INTO borrow VALUES('U001','0009','2011-2-2','2011-3-9') INSERT INTO borrow VALUES('U001','0008','2011-2-2','2011-3-9') INSERT INTO borrow VALUES('U002','0007','2011-2-2','2011-3-9') INSERT INTO borrow VALUES('U002','0004','2011-2-2','2011-3-9') INSERT INTO borrow VALUES('F001','0001','2009-2-12','2011-3-11') INSERT INTO borrow VALUES('F001','0002','2009-2-12','2011-3-11') INSERT INTO borrow VALUES('F001','0003','2009-2-12','2011-3-11') INSERT INTO borrow(cno,bno,borrow_date) VALUES('F002','0006','2011-1-20')UPDATE BOOK SET PRICE=0.8*PRICE UPDATE BOOK SET book_total=book_total+100 WHERE press='清华大学出版社' delete from borrow where borrow_date<=getdate()-365delete from borrow where bno in(select bno from book where press='电子工业出版社') delete from book where press='电子工业出版社'Select * from cardSelect * from bookSelect * from borrow

相关推荐