文档库 最新最全的文档下载
当前位置:文档库 › 《数据库系统原理》实验报告

《数据库系统原理》实验报告

学生实验报告

(理工类)

课程名称:数据库系统原理专业班级: 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 V ARCHAR(152));

CREATE TABLE Nation(

nationkey INTEGER PRIMARY KEY,

name CHAR(25),

address V ARCHAR(40),

regionkey INTEGER REFERENCES REGION(REGIONKEY),

comment V ARCHAR(152));

CREATE TABLE Supplier(

suppkey INTEGER PRIMARY KEY,

name CHAR(25),

address V ARCHAR(40),

nationkey INTEGER REFERENCES Nation(nationkey),

phone CHAR(15),

acctbal REAL,

comment V ARCHAR(101));

CREATE TABLE Part(

partkey INTEGER PRIMARY KEY,

name V ARCHAR(55),

mfgr CHAR(25), /*制造厂*/

brand CHAR(10),

type V ARCHAR (25),

size INTEGER,

container CHAR(10),

retailprice REAL,

comment V ARCHAR(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 V ARCHAR(25),

address V ARCHAR(40),

nationkey INTEGER REFERENCES Nation(nationkey),

phone CHAR(15),

acctbal REAL,

mktsegment CHAR(10),

comment V ARCHAR(117));

CREATE TABLE Orders(

orderkey INTEGER PRIMARY KEY,

custkey INTEGER REFERENCES Customer(custkey),

orderstatus CHAR(1),

totalprice REAL,

orderdate DATE,

orderpriority INTEGER,

comment V ARCHAR(79));

CREATE TABLE Lineitem(

orderkey INTEGER REFERENCES Order(orderkey),

partkey INTEGER REFERENCES Part(partkey),

suppkey INTEGER REFERENCES Supplier(suppkey),

linenumber INTEGER,

quantity REAL,

extendedprice REAL,

discount REAL,

tax REAL,

returnflag CHAR(1),

linestatus CHAR(1),

shipinstruct CHAR(25),

shipmode CHAR(10),

comment V ARCHAR(44),

PRIMARY KEY(orderkey,linenumber),

FOREIGN KEY(Partkey,suppkey) REFERENCES PartSupp(partkey,suppkey));

2、数据基本查询

(1)单表查询(实现投影操作)

查询供应商的名称、地址和联系电话。

SELECTE name,address,phone FROMSupplier;

(2)单表查询(实现选择操作)

查询最近一周内提交的总价大于1000元的订单的编号、顾客编号等订单的所有信息。

SELECT *FROM Sales.Orders WHERE CURRENT_DATE-orderdata<7 AND totalprice >1000;

(3)不带分组过滤条件的分组统计查询

统计每个顾客的订购金额

SELECT C.custkey ,SUM(O.totalprice)

FROM customer C,Orders O

WHERE C.custkey=O.custkey

GROUP BY C.custkey;

相关文档
相关文档 最新文档