数据库系统概论实验报告书1
发布时间:2024-11-28
发布时间:2024-11-28
《数据库系统概论》实验报告书
姓名:金皓天
班级:T1053-9
学号:20100530807
湖北汽车工业学院信息管理系
实验一 数据库服务器的连接及数据库的建立
一、实验目的:
了解连接数据库服务器的身份验证模式,熟悉样例数据库。掌握DBMS中利用界面进行建库建表操作。
二、实验准备:
数据模型由三个要素组成:数据结构、数据操作和完整性约束。
1、数据结构
数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型按其数据结构分为层次模型、网状模型和关系模型。
2、数据操作
数据操作用于描述系统的动态特性,是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作集合。
3、数据的约束条件
数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据及其联系所具有的制约和存储规则,用以限定符合数据库状态以及状态的变化,以保证数据的正确、有效和相容。
三、实验内容
1、熟悉网络环境和数据库环境
2:数据库、表的建立
实验内容:
3、数据字典设计
(一)、表名(具体建表时,在你的班级数据库中创建表,表名称由学生学号+示例表名
(二)、表结构
1、Department
2、Class
3、Student
4、Course
5、Grade
三、实验操作
1、创建数据库:开始->程序->Microsoft SQL Server 2000-> 企业管理器
2、打开企业管理器:新建学生数据库,打开表格选项
3、添加新表:添加表名为Student的表格
4、定义表结构:依据实验内容定义表格结构
5、输入表中的记录:依次向表格内输入数据
四:实验结果
五:思考题
1、 分别给出一个层次、网状和关系模型的实例。
答:层次模型:家族关系
网状模型:学生选课系统
关系模型:学生登记表
2、从用户角度看,数据库系统都有哪些体系结构?
答:分为单用户结构,主从式结构,分辨式结构,客户/服务器,浏览器/应用服务器/数据库服务器多层结构等。
2、 数据库管理系统通常由哪几部分组成?
答:1 数据定义语言及其翻译处理程序
2 数据操纵语言及其编译(或解释)程序
3 数据库运行控制程序
4 实用程序
六:个人总结
通过了这次实验,首先让我感觉到了数据库系统概论的神奇,数据库作为今年的刚刚学习的一门学科,开始学习理论知识以来感觉挺难的,没有什么乐趣,今天通过一次上机试验,让我感觉到知识的奇妙,我要认真的学习数据库技术。
实验二 简单SQL查询及数据库多表查询
一、实验目的:
通过本章的学习,用户将能够:
1.掌握向表中添加数据的方法
2.掌握如何快速的把一个表中的多行数据插入到另一个表中
3.掌握更新表中多行数据的方法。
4.学会如何删除表中的一行数据
5.学会如何删除表中的所有行
6.掌握SELECT语句的基本用法
7.使用WHERE子句进行有条件的查询
8.掌握使用IN, NOT IN,BETWEEN来缩小查询范围的方法
9.利用LIKE 子句实现模糊查询 ,利用ORDER子句为结果排序
10.学会用SQL SERVER 的统计函数进行统计计算
11.掌握用GROUP BY 子句实现分组查询的方法。
12.掌握多表查询的技术和嵌套查询的方法。
二、实验内容:
三思考题
1. 如何使用UNION子句,它必须符合那两条基本准则?
答:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
2. 怎样把STUDENT表中前10个数据ADDRESS列的数据更改为'新疆'
答:UPDATE Student
SET ADDRESS='新疆'
四、实验心得
在本次试验中,学会了表的插入,删除,更新等等一系列操作,对SQL语句也有了一定了解,这使得我的数据库系统概论的知识有了很大的提升,通过这次实验,让我越来越感觉数据库不是一个很难的东西,不但不难而且非常的有乐趣,我要多问老师,好好的学习这门课。
实验三 视图、索引、存储过程和触发器的使用
一、实验目的:
1.掌握视图的概念和使用方法;
2.掌握索引的概念和使用方法;
2.掌握存储过程的概念和使用方法;
3.掌握触发器的概念和使用方法;
二、实验内容:
一、视图
1.创建视图
2.查询视图
3.更新视图
可更新视图满足以下条件:
A)创建视图的SELECT语句中没有聚合函数,且没有TOP、GROUP BY、UNION子句及DISTINCT关键字。
B)创建视图的SELECT语句中不包含从基本表列通过计算所得的列。
C)创建视图的SELECT语句的FROM子句中至少要包含一个基本表。
(1)向V1_STU插入一条记录(‘024631267’,’0246312’,’刘明仪’,’男’,’1982-3-2’,’NANCHANG ROAD 42# ’,’830052’,’刘林’):
二.索引
1.对STUDENT表的STUDENT_ID列建立索引,在查询分析器编辑窗口中输入下列程序并执行
:
三.创建触发器
对于STUDENT数据库,表STUDENT的CLASS_ID列与表CLASS的CLASS_ID满足下列参照完整性规则:
A.向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作;
B.修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改;
C.删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在STUDENT表中对应的记录;
在查询分析器编辑窗口输入下列触发器的代码并执行。
(1) 向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作:
四.创建存储过程
1、删除学生记录的存储过程STUDENTDelete:
三、实验心得
本次实验让我感觉到了难度,各种的语句一开始让我有学习C语言的感觉,不过虽然开始学习的不太好,有点记不住这些语句以及他们的用法,但是在询问了同学和老师以后我还是懂了很多,以后要加强训练。