数据库系统设计上机实验报告

数据库系统设计上机实验报告

院系:人文经管学院专业:信息管理和信息系统

上机实习报告目录

一、上机实验报告简介 ................................................................................................................... 2

1、上机实验时间安排 ............................................................................................................. 2

2、上机实验地点 ..................................................................................................................... 2

3、上机实验情况介绍 ............................................................................................................. 2

二、上机实验操作内容 ................................................................................................................... 2

1、操作对象 ............................................................................................................................. 2

2、学生数据库的创建 ............................................................................................................. 3

3、表的操作 ............................................................................................................................. 5

4视图的简单创建 .................................................................................................................. 11

1

数据库上机实验报告

一、上机实验报告简介

1、上机实验时间安排

上机实验从本学期第十周开始,到第十三周结束,历时四周。

2、上机实验地点

上机实验地点为科研楼1114室。

3、上机实验情况介绍

数据库上机实验实在对数据库系统设计的学习基础上,以理论结合实战的形式进行。目的是通过学习和动手实践加强自我能力的训练和提升,并且在SQL server数据库的操作学习中加深对数据库的认识和了解,并且进一步掌握SQL server语句(包括数据库、表、视图的创建、修改、删除,学习数据库的查询,修改,还有权限的处理等)。在此基础上有所创造,并尝试对小组作业中的主要组织进行数据库的运用。

二、上机实验操作内容

1、操作对象

自上课开始,我们小组将组织定为学生数据库管理,即实现通过数据库对学生进行合理管理,我们以地大学生数据库为参考对象进行设计,数据库主要内容包括学生学工管理,学生教育管理,此外还有其他辅助性数据库(如网络)管理。这里我们主要针对学工和教育两大数据库进行设计。

1) 学工管理:参考地大学工在线,对学生进行学籍管理,其内容包括学生

入学开始的基本信息,入学后到毕业这期间的身份变动,重大事项活动

(如奖学金,助学金的申请,发放)的管理。

- 2 - 2

数据库上机实验报告

2) 教育管理:主要对学生平时上课、考试成绩,以及参加的等级考试,选

修课情况进行管理。

2、学生数据库的创建

(1)创建学生学工管理数据库: Xg,存储在students文件下,代码如下:

CREATE DATABASE Xg

ON PRIMARY

(NAME = Xg_Data ,

FILENAME = 'E:\students\ Xg_Data.Mdf',

SIZE = 4MB,

MAXSIZE = 10MB,

FILEGROWTH =1 MB)

LOG ON

(NAME = Xg_Log ,

FILENAME = 'E:\students\Xg_Log.Ldf',

SIZE = 2MB,

MAXSIZE =10MB,

FILEGROWTH = 1MB)

GO

(2)对学生教育数据库进行创建:Jy,存储在students文件下,代码如下:

CREATE DATABASE Jy

ON PRIMARY

(NAME = Jy_Data ,

FILENAME = 'E:\students\ Jy_Data.Mdf',

SIZE = 4MB,

MAXSIZE = 15MB,

FILEGROWTH =1 MB)

LOG ON

(NAME = Jy_Log ,

- 3 - 3

数据库上机实验报告

FILENAME = 'E:\students\Jy_Log.Ldf', SIZE = 2MB, MAXSIZE =10MB, FILEGROWTH = 1MB) GO

接下来对数据库进行查看,在查询分析器进行输入:SP_HELPDB ,如图

数据库系统设计上机实验报告

1

(3)考虑到未来学生数据库内容的变化和扩充,所以需要对当前数据库容量进行调整。语言如下:

Use XG GO

ALTER DATABASE XG MODIFY FILE

(NAME='XG_Data',SIZE=10MB)

GO

ALTER DATABASE XG MODIFY FILE

(NAME='XG_Log',SIZE=6MB)

GO

Use JY GO

ALTER DATABASE JY MODIFY FILE

(NAME='JY_Data',SIZE=8MB)

GO

ALTER DATABASE JY MODIFY FILE

(NAME='JY_Log',SIZE=5MB)

GO

(4)需要对数据进行压缩的话,课进行一下操作,以XG数据库为例, USE XG GO

DBCC SHRINKFILE (NewSales_Data,5) GO

这样就实现了把XG数据库从当前10MB的大小压缩到5MB。

- 4 - 4

数据库上机实验报告

3、表的操作

(1)这里就以学生学籍信息表为主进行创建: USE XG

GO

CREATE TABLE xjxx

(

学号 Int primary key not null,

姓名 Varchar(20) not null,

性别 char(2) not null default '男', 年龄 Int not null ,

学生籍贯 Varchar(20) not null,

家庭住址 varchar(50) not null,

出生日期 DateTime,

电话 varchar(20),

所在院系 varchar(20), not null,

政治背景 varchar(20) default '男', 奖惩记录 varchar(100) default '无', 入学时间 DateTime default

)

GO 如图2所示

数据库系统设计上机实验报告

- 5 - 5

数据库上机实验报告

同样,在JY数据库中主要的基本信息表,课程表,选课表,成绩表: Use JY

Go

Create table xsjb

(学号 Int primary key not null,

姓名 Varchar(20) not null,

所在院系 varchar(20) not null,

班级 varchar(20) not null,

专业 varchar(20) not null,

)

go

use JY

go

create table kch

(课程号 int not null,

课程名称 varchar(20) not null

)

同样用类似的语言创建chj表和xk表,如图

数据库系统设计上机实验报告

数据库系统设计上机实验报告

3

数据库系统设计上机实验报告

数据库系统设计上机实验报告

在创建好的表里进行数据录入,可以用语言进行,也可直接在表中插入数据

数据库系统设计上机实验报告

如(图4) - 6 - 6

数据库上机实验报告

(2)对表的查询和修改

对于使用SQL 的数据库,检索数据都要使用SELECT 语句。使用SELECT 语句,既可完成简单的单表查询、联合查询,也可以完成复杂的联接查询、嵌套查询。主要有以下子句的基本语法格式:

SELECT 列名1 [ ,列名2 ]...

[ INTO 新表名 ]

FROM 表名1 [ ,表名2 ]...

[ WHERE 条件 ]

[ GROUP BY 列名列表 ]

[ HAVING 条件 ]

[ ORDER BY 列名列表 [ASC | DESC] ]

SELECT 语句至少包含两个子句:SELECT 和FROM,SELECT 子句指定要查询的特定表中的列,FROM 子句指定查询的表。WHERE 子句指定查询的条件,GROUP BY 子句用于对查询结果进行分组,HAVING 子句指定分组的条件,ORDER BY 子句用于对查询结果进行排序。

(3)接下来以已经创建好的数据库进行实验:

1、查看所有学生的基本信息,在查询分析器中输入

Select * from xjxx 结果如下图:

数据库系统设计上机实验报告

2、相对上述查询,广泛用到的是条件查询,接下来我们一一进行查询

[where 条件]:查询性别为男的同学籍贯:

Select 学生籍贯,姓名,所在院系 from xjxx where 性别=’男’结果如下图 - 7 - 7

数据库上机实验报告

[like 条件]查询姓赵同学的全部信息;

Select * from xjxx where 姓名 like’赵%’

数据库系统设计上机实验报告

接下来,我们通过导入的上机实验数据表student和study,来进行其他查询语句的操作。

1、求所有同学的总成绩和平均成绩:

select 学号,总成绩=((cast (专业英语 as int))+高等数学+历史+VB程序设计+管理学 ),平均=((cast (专业英语as int))+ 高等数学+历史+ VB程序设计+管理学)/5 from study 结果如图

数据库系统设计上机实验报告

2、对男女生人数进行统计:

select 男生人数=count(*) from Student where 性别='男'

select 女生人数=count(*) from Student where 性别='女'

- 8 -

数据库系统设计上机实验报告

8

数据库上机实验报告

3计算Study表中所有同学各门功课的平均成绩;

select avg(专业英语) 专业英语 ,avg(高等数学) 高等数学,avg(历史) 历史,avg(VB程序设计) VB程序设计,avg(管理学) 管理学

数据库系统设计上机实验报告

from Study

4 用group by 语句查询男女生的各科平均成绩:

Select 性别 性别,avg(专业英语) 专业英语 ,avg(高等数学) 高等数学,avg(历史) 历史,avg(VB程序设计) VB程序设计,avg(管理学) 管理学 from Student,Study where Study.学号=Student.学号 group by 性别

数据库系统设计上机实验报告

5连接查询,对Student表和Study 表中的数据进行连接;

Select 姓名,专业英语 ,高等数学,历史, VB程序设计,管理学 from Student,Study where Study.学号=Student.学号

数据库系统设计上机实验报告

6对于有些数据的特殊管理,需要提取一部分数据进行单独使用查询,需要创建新表,辅助以连接查询:创建一个新表Student1,存放Student表中所有性别 - 9 -

数据库系统设计上机实验报告

9

数据库上机实验报告

为“男”的学号、姓名和年龄字段的数据;

Select 学号, 姓名 ,年龄 into Student1 from Student where 性别='男' 结果如图

数据库系统设计上机实验报告

7 平时对数据库的管理中需要对数据进行更新和调整,比如修改Student1表中的数据,使每个人的年龄由出生日期计算得出;

UPDATE Student1

SET 年龄=year(GETDATE())-year(s2.出生日期)

FROM Student1 s1,Student s2

WHERE s1.学号=s2.学号

数据库系统设计上机实验报告

8同样出于对数据优化管理的同时,需要删除冗余失效的数据,如删除Student1表中非“人文经管学院”的学生的数据。

delete Student1 where 学号 in (select 学号 from Student where 所在 院系<>'人文经管学院')

结果提示:(所影响的行数为 9 行)

9自连接也能实现数据查询,用自连接查询在Student表中查找系别相同的学生的姓名及其系别;

Select A.姓名 姓名1, B.姓名 姓名2 ,A.所在院系 系别 from Student A join Student B on A.所在院系=B.所在院系 WHERE A.姓名<>B.姓名

- 10 - 10

数据库上机实验报告

4视图的简单创建

视图也是本次上机实践了解学习的一个内容,下接着以上数据库数据的操作对视图的学习进行简单的试验和汇报。

1、创建视图

比如:创建视图V_score,显示每个学生的学号、姓名,各门功课的成绩及平均成绩,并要求对视图定义文本进行加密存储;

use Student

go

create view V_score with encryption

as select Study.学号,姓名,专业英语,高等数学,历史,VB程序设计,管理学,平均成绩=((cast (专业英语 as int))+高等数学+历史+VB程序设计+管理学)/5 from Student,Study

where Student.学号=Study.学号

结果如下图所示:

- 11 -

数据库系统设计上机实验报告

11

数据库上机实验报告

2、修改视图

修改视图V_score,显示各个院系的所有同学各门功课的平均成绩; alter view V_score

as select 系别=所在院系,专业英语=avg(专业英语),高等数学=avg(高等数学),历史=avg(历史),VB程序设计=avg(VB程序设计),管理学=avg(管理学) from Student,Study

where Student.学号=Study.学号

group by 所在院系

3、查看视图

查看视图score的完整定义信息;

数据库系统设计上机实验报告

SP_HELPTEXT score

4、删除视图V_score。

Drop view V_score

数据库系统设计上机实验报告

- 12 - 12

 

第二篇:数据库系统设计实验报告

数据库系统设计

实验报告

1.实验目的

掌握数据库设计的基本方法和步骤,熟悉数据库设计各个阶段所要完成的任务和实施方法。通过该实验更加清楚地了解数据库设计的过程。

2.实验原理和步骤

利用数据库设计的4个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。需求分析采用自顶向下,概念模型设计时采用自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法。

3.实验内容

根据周围的实际情况,自选一个小型的数据库应用项目,并深入到应用项目中调研,进行分析和设计。例如可选择人事管理系统、工资管理系统、教材管理系统和小型超市商品管理系统和图书管理系统等。要求写出数据库设计报告。

在数据库设计报告中包括以下内容:

(1)系统需求分析报告

(2)概念模型的设计(E-R图)

(3)关系数据模型的设计

(4)对关系表的主键、外键及被参照表进行说明,对关系中数据的约束条件进行说明。

(5)用SQL语言建立该数据库。(包括数据库、数据表的创建以及数据完整性的实施)(选作)


实验指导

1. 小型超市商品管理系统数据库的设计
   我们这边就以小型超市商品管理系统为例,介绍数据库的设计。
   对于小型超市商品管理系统,要求:能对小型超市商场的商品进货、销售、库存等环节进行管理。主要有:
  (1)能记录每一笔进货,查询商品的进货记录。
  (2)能记录每一笔售货,查询商品的销售情况和销售记录。
  (3)能记录顾客的购买信息。
  (4)能查询某个厂商或供应商的信息。
   E-R图如下:

   转换为关系模式:
   供应商(供应商编号,供应商名称,供应商地址,电话,联系人)
   商品(商品号,供应商编号,名称,库存,进价,售价)
   顾客(顾客号,购货时间)
   售货(商品号,顾客号,销售数量,销售总价)
2. 图书馆日常事务管理系统数据库的设计
  (1)图书馆日常事务管理系统功能简析

   图书信息维护:主要完成图书信息登记、修改、删除等操作。

   读者信息维护:主要完成读者信息的添加、修改和删除等操作。

   工作人员信息维护:主要完成工作人员信息的添加、修改和删除等操作。

   图书类别的管理:主要完成图书类别的添加、修改和删除等操作

   图书借还管理:主要完成读者图书借还信息的记录。

  (2)图书馆日常事务管理系统中的实体和属性的设计

   读者(借书证号,姓名,性别,出生日期,借书量,单位,电话,E-mail)

   图书(图书编号,图书名称,作者,出版社,定价,购进日期,购入数,复本数,库存数)
   工作人员(工号,姓名,性别,出生日期,联系电话,E-mail)

   图书类别(类别号,图书类别)

   其中,每本图书都有惟一的一个图书类别,每个图书类别有多本图书;每个读者可以借阅多本图书;工作人员负责读者的借、还工作。

  (3)设计该系统数据库的E-R图
  (4)将设计好的E-R图转换为关系模式
   读者(借书证号,姓名,性别,出生日期,借书量,单位,电话,E-mail)
   图书(图书编号,图书名称,作者,出版社,定价,购进日期,购入数,复本数,库存数)
   工作人员(工号,姓名,性别,出生日期,联系电话,E-mail)
   图书类别(类别号,图书类别)
   图书借阅(图书编号,借书证号,借出日期,归还日期)
   图书借还(图书编号,工号,借还,数量,借书日期,还书日期)
 


传媒工程实验教学中心实验报告

实验内容:

(1)       需求分析

(2)       实体和属性设计

(3)       设计E-R图

(4)       将E-R图转化为关系模式

(5)       对关系表的主键、外键及被参照表进行说明,对关系中数据的约束条件进行说明。

(6)   用SQL语言建立该数据库。(选作)

相关推荐