2022年《数据库系统原理》实验报告.pdf
《2022年《数据库系统原理》实验报告.pdf》由会员分享,可在线阅读,更多相关《2022年《数据库系统原理》实验报告.pdf(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统原理实验报告学 生 实 验 报 告(理工类 ) 课程名称 : 数据库系统原理专业班级 : 14 软件工程 1 班学生学号 : 1412101055 学生姓名 : 孟祥辉所属院部 : 软件工程学院指导教师 : 麻春艳20 15 20 16 学年第二 学期金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写, 要求书写工整。若因课程特点需打印的 , 要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项, 包括实验目的与要求; 实验仪器与设备 ; 实验内容与过程 ; 实验结果与分析。 各院部可根据学科特点与实验具体要求增加
2、项目。填写注意事项(1) 细致观察 , 及时、准确、如实记录。(2) 准确说明 , 层次清晰。(3) 尽量采用专用术语来说明事物。(4) 外文、符号、公式要准确 , 应使用统一规定的名词与符号。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告(5) 应独立完成实验报告的书写, 严禁抄袭、复印, 一经发现 , 以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细, 一律用红色笔批改。实验报告的批改成绩采用百分制,具体
3、评分标准由各院部自行制定。实验报告装订要求实验批改完毕后 , 任课老师将每门课程的每个实验项目的实验报告以自然班为单位、 按学号升序排列 , 装订成册 , 并附上一份该门课程的实验大纲。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告实验项目名称 :数据库定义与操作语言实验学时 : 2 同组学生姓名 : 孟陈、陈晓雪、季佰军实验地点 : 1318 实验日期 : 5、19 实验成绩 : 批改教师 : 批改时间 : 精品资料
4、- - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告一、实验目的1、理解与掌握数据库DDL 语言,能够熟练地使用 SQL DDL 语句创建、修改与删除数据库、模式与基本表。2、掌握 SQL 册亨徐设计基本规范 ,熟练运用 SQL 语言实现数据基本查询 ,包括单表查询、分组统计查询与连接查询3、掌握 SQL 嵌套查询与集合查询等 , 各种高级查询的设计方法等、4、熟悉数据库的数据更新操作,能够使用 sql 语句对数据库进行数据的插入、修改
5、、删除操作。5、熟悉 sql 语言有关系图的操作 ,能够熟练使用 sql 语言来创建需要的视图 ,定义数据库外模式 ,并能使用所创建的视图实现数据管理。6、掌握所以设计原则与技巧,能够创建合适的索引以提高数据库查询、统计分析效率。二、实验内容与要求1、理解与掌握 SQL DDL 语句的语法 ,特别就是各种参数的具体含义与使用方法;使用 sql 语句创建、修改与删除数据库、模式与基本表。掌握sql 语句常见语法错误的调试方法。2、针对 TPC-H 数据库设计各种单表查询sql 语句、分组统计查询语句 ;设计单个表针对自身的连接查询 ,涉及多个表的连接查询。 理解与掌握 sql 查询语句各个子句的
6、特点与作用 ,按照 sql 程序设计规范写出具体的sql 查询语句 ,并调试通过。3、针对 TPC-H 数据库 ,证券分析用户查询要求 ,设计各种嵌套查询与集合查询。4、针对 TPC-H 数据库设计单元主唱入、批量数据插入、修改数据与删除数据的sql 语句。理解与掌握insert、update 、delete 语法结构的各个组成成分 ,结合嵌套sql 子查询 ,分别设计几个不同形式的插入、修改与删除数据的语句,并调试成功。5、针对给定的数据库模式,以及相应的应用要求,创建视图与带WITH CHECK OPTION 的视图 ,并验证视图 WITH CHECK OPTION 选项的有效性。 理解与
7、掌握试图消解执行原理 ,掌握可更新视图与不可更新视图的区别。6、针对给定的数据库模式与具体应用需求,创建唯一索引、函数索引、复合索引等;修改索引 ;删除索引。设计相应的 sql 查询验证索引有效性 ,学习利用 EXPLAIN命令分析 sql 查询就是否使用了所创建的索引,并能够分析其原因 ,执行 sql 查询并估算索引提高查询效率的百分比,要求实验数据达到10 万条记录以上的数据量 ,以便验证所以效果、三、实验过程1、数据库定义实验(1)定义数据库采用中文字符集创建名为TCHP 的数据库。CREATE DATABASE TPCH ENCODING= GBK ; (2)定义模式在数据库 TPCH
8、 中创建名为 SALES 的模式。Create SCHEMA Sales; (3)定义基本表在 TPCH 数据库的 Sales模式中创建 8 个基本表。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告/*设置当前会话的搜索路径为sales模式、public 模式,基本表就会自动创建在sales模式下。 */ SET SEARCH_PATH TO Sales,Public; CREATE TABLE Region( regi
9、onkey 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), addres
10、s 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 VARCHAR (25), size INTEGER, container CHAR(10), retailprice REAL, comm
11、ent 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 A
12、RCHAR(40), nationkey INTEGER REFERENCES Nation(nationkey), phone CHAR(15), 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告acctbal REAL, mktsegment CHAR(10), comment V ARCHAR(117); CREATE TABLE Orders( orderkey INTEGER PRIMARY KEY , cust
13、key 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), lin
14、enumber 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)单表查询 (实
15、现投影操作 ) 查询供应商的名称、地址与联系电话。SELECTE name,address,phone FROMSupplier; (2)单表查询 (实现选择操作 ) 查询最近一周内提交的总价大于1000 元的订单的编号、顾客编号等订单的所有信息。SELECT *FROM Sales、Orders WHERE CURRENT_DATE-orderdata1000; (3)不带分组过滤条件的分组统计查询统计每个顾客的订购金额SELECT C、custkey ,SUM(O、totalprice) FROM customer C,Orders O WHERE C、custkey=O、custkey
16、GROUP BY C、custkey; (4)带分组过滤条件的分组统计查询查询订单平均金额超过1000元的顾客编号及其姓名精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告SELECT C、custkey,MAX(C、name) FROM Customer C,Orders O WHERE C、custkey=O、custkey GROUP BY C、custkey; HAVING AVG(O、totalprice)1000
17、; (5)表单自身连接查询查询与“金仓集团”在同一个国家的供应商编号、名称与地址信息。SELECT F、suppkey,F、name,F 、address FROM Supplier F,Supplier S WHERE F、nationkey=S、nationkey AND S、name=金仓集团 ; (6)两表连接查询 (普通连接 ) 查询供应价格大于零售价格的零件名、制造商名、零售价格与供应价格。SELECT P、name,P 、mfgr,P、retailprice,PS、supplycost FROM Part P,Partsupp PS WHERE P、retailpricePS、s
18、upplycost; (7)两表连接查询 (自然连接 ) 查询供应价格大于零售价格的零件名、制造商名、零售价格与供应价格。SELECT P、name,P 、mfgr,P、retailprice,PS、supplycost FROM Part P,Partsupp PS WHERE P、partkey=PS、partkey AND P、retailpricePS、supplycost; (8)三表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购的零件编号、数量与明细价格。SELECT O、orderkey,O、totalprice,L、partkey,L、quantity,L、extend
19、edprice FROM Custom C,Orders O,Lineitem L WHERE C、custkey=O、custkey AND O、orderkey=L、orderkey AND C、name=苏举库 ; 3、数据高级查询实验(1)IN 嵌套查询查询订购了“海大”制造的“船舶模拟驾驶舱”的顾客。SELECT custkey,name FROM Customer WHERE custkey IN ( SELECT O、custkey FROM Orders O,Lineitme L,PartSupp PS,Part P WHERE O、orderkey=L、orderkey AN
20、D L、partkey=PS、partkey AND L、suppkey=PS 、suppkey AND PS、partkey=P、partkey AND P、mfgr=海大 AND P、name= 船舶模拟驾驶舱 ); SELECT custkey,name FROM Customer WHERE cuskey IN ( SELECT O、custkey FROM Orders O,Lineitem L,Part P 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 39 页 - - - -
21、- - - - - - 数据库系统原理实验报告WHERE O、orderkey=L、orderkey AND L、partkey=P、partkey AND p、mfgr=海大 AND P、name=船舶模拟驾驶舱 ); (2)单层 EXISTS 嵌套查询查询没有购买过“海大”制造的“船舶模拟驾驶舱”的顾客。SELECT custkey,name FROM Customer WHERE NOT EXISTS( SELECT O 、custkey FROM Orders O,Lineitem L,PartSupp PS,Part P WHERE C、cuskey=O、custkey AND O、
22、orderkey=L、orderkey AND L、partkey=PS、partkey AND L、suppkey=PS 、suppkey AND PS、partkey=P、partkey AND p、mfgr=海大 AND P、name=船舶模拟驾驶舱 ); (3)双层 EXISTS 嵌套查询查询至少购买过顾客“张三”购买过的全部零件的顾客姓名。SELECT CA、name FROM Customer CA WHERE NOT EXISTS (SELECT * FROM Customer CB,Oders OB,Lineitem LB WHERE CB、custkey=OB、custkey
23、 AND OB、orderkey=LB、orderkey AND CB、name=张三 AND NOT EXISTS(SELECT * FROM Orders OC,Lineitem LC WHERE CA、custkey=LC、custkey AND OC、orderkey=LC、orderkey AND LB、suppkey=LC、suppkey AND LB、partkey=LC、partkey); (4)FROM 子句中的嵌套查询查询订单平均金额超过1 万元的顾客中的中国籍顾客信息。SELECT C、* FROM Customer C,(SELECT custkey FROM Orde
24、rs GROUP BY custkey HAVING AVG(totalprice)10000) B,Nation N WHERE C、custkey=B、custkey AND C、nationkey=N、nationkey AND N、name=中国; (5)集合查询 (交) 查询顾客“张三”与“李四”都订购过的全部零件的信息。SELECT P、* FROM Customer C,Orders O,Lineitem L,PartSupp PS,Part P 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -
25、第 8 页,共 39 页 - - - - - - - - - - 数据库系统原理实验报告WHERE C、custkey=O、custkey AND O、orderkey=L、orderkey AND L、suppkey=PS 、suppkey AND L、partkey=PS、partkey AND PS、partkey=P、partkey AND C、name=李四; INTERSECTION SELECT P、* FROM Customer C,Orders O,Lineitem L,PartSupp PS,Part P WHERE C、cuskey=O、custkey AND O、ord
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统原理 2022 数据库 系统 原理 实验 报告
限制150内