《数据库系统原理》实验报告 下载本文

学 生 实 验 报 告

课程名称:数据库系统原理

学生学号:

所属院部:

(理工类)

专业班级: 14软件工程1班

1412101055 学生姓名: 孟祥辉

软件工程学院 指导教师: 麻春艳

20 15 ——20 16 学年 第 二 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:数据库定义与操作语言 实验学时: 2 同组学生姓名: 孟陈、陈晓雪、季佰军 实验地点: 1318 实验日期: 5.19 实验成绩: 批改教师: 批改时间:

一、实验目的

1、理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。

2、掌握SQL册亨徐设计基本规范,熟练运用SQL语言实现数据基本查询,包括单表查询、分组统计查询和连接查询

3、掌握SQL嵌套查询和集合查询等, 各种高级查询的设计方法等.

4、熟悉数据库的数据更新操作,能够使用sql语句对数据库进行数据的插入、修改、删除操作。

5、熟悉sql语言有关系图的操作,能够熟练使用sql语言来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理。

6、掌握所以设计原则和技巧,能够创建合适的索引以提高数据库查询、统计分析效率。

二、实验内容和要求

1、理解和掌握SQL DDL语句的语法,特别是各种参数的具体含义和使用方法;使用sql语句创建、修改和删除数据库、模式和基本表。掌握sql语句常见语法错误的调试方法。

2、针对TPC-H数据库设计各种单表查询sql语句、分组统计查询语句;设计单个表针对自身的连接查询,涉及多个表的连接查询。理解和掌握sql查询语句各个子句的特点和作用,按照sql程序设计规范写出具体的sql查询语句,并调试通过。 3、针对TPC-H数据库,证券分析用户查询要求,设计各种嵌套查询和集合查询。 4、针对TPC-H数据库设计单元主唱入、批量数据插入、修改数据和删除数据的sql语句。理解和掌握insert、update、delete语法结构的各个组成成分,结合嵌套sql子查询,分别设计几个不同形式的插入、修改和删除数据的语句,并调试成功。

5、针对给定的数据库模式,以及相应的应用要求,创建视图和带WITH CHECK OPTION的视图,并验证视图WITH CHECK OPTION选项的有效性。理解和掌握试图消解执行原理,掌握可更新视图和不可更新视图的区别。

6、针对给定的数据库模式和具体应用需求,创建唯一索引、函数索引、复合索引等;修改索引;删除索引。设计相应的sql查询验证索引有效性,学习利用EXPLAIN命令分析sql查询是否使用了所创建的索引,并能够分析其原因,执行sql查询并估算索引提高查询效率的百分比,要求实验数据达到10万条记录以上的数据量,以便验证所以效果.

三、实验过程

1、数据库定义实验 (1)定义数据库

采用中文字符集创建名为TCHP的数据库。 CREATE DATABASE TPCH ENCODING=’GBK’; (2)定义模式

在数据库TPCH中创建名为SALES的模式。 Create SCHEMA Sales;

(3)定义基本表

在TPCH数据库的Sales模式中创建8个基本表。

/*设置当前会话的搜索路径为sales模式、public模式,基本表就会自动创建在sales模式下。*/

SET SEARCH_PATH TO Sales, Public; CREATE TABLE Region(

regionkey INTEGER PRIMARY KEY, name CHAR(25),

comment VARCHAR(152)); CREATE TABLE Nation(

nationkey INTEGER PRIMARY KEY, name CHAR(25),

address VARCHAR(40),

regionkey INTEGER REFERENCES REGION(REGIONKEY), comment VARCHAR(152)); CREATE TABLE Supplier(

suppkey INTEGER PRIMARY KEY, name CHAR(25),

address VARCHAR(40),

nationkey INTEGER REFERENCES Nation(nationkey), phone CHAR(15), acctbal REAL,

comment VARCHAR(101)); CREATE TABLE Part(

partkey INTEGER PRIMARY KEY, name VARCHAR(55), mfgr CHAR(25), /*制造厂*/ brand CHAR(10), type VARCHAR (25), size INTEGER,

container CHAR(10), retailprice REAL,

comment VARCHAR(23)); CREATE TABLE PartSupp(

partkey INTEGER REFERENCES Part(partkey),

suppkey INTEGER REFERENCES Supplier(suppkey), availqty INTEGER, supplycost REAL ,

comment varchar(199),

PRIMARY KEY (parkey,suppkey)); CREATE TABLE Costomer(

custkey INTEGER PRIMARY KEY, name VARCHAR(25), address VARCHAR(40),