1、(1) 掌握SQL的DDL使用方法。(2) 掌握SQL的基本查询语句使用方法。2实验内容1.1 掌握SQL的DDL使用方法(1) 使用GBK字符集,创建名为TPCH的数据库。(2) 在TPCH数据库中创建名为SALES的 模式。(3) 在SALES模式下创建TPCH数据库模式。1.2 掌握SQL的基本查询语句使用方法(1) 单表查询(2) 单表单条件查询(3) 单表多条件查询(4) 两表连接查询(5) 单表自身连接查询(6) 三表连接查询(7) 四表连接查询(8) 五表连接查询(9) 六表连接查询(10) 七表连接查询3实验要求(1) 深入复习教材第三章SQL有关数据库定义和基本查询SQL语句
2、,理解关系代数表达式如何使用基本的SQL查询语句实现。(2) 理解数据库所使用的各种字符集的区别与联系。(3) 请按照附件1生成TPCH数据库模式(注意:故意在附件1中SQL语句中引入了若干错误,需要仔细调试才能运行),要深入理解该数据库模式的含义。(4) 通过企业管理器添加数据,或者通过其他的数据自动产生工具自动添加数据,以便进行查询。如果是手动添加数据,请以你班同学当做顾客,国家和地区表的数据参照附件3表中的数据录入(全部或部分数据即可),请从网上搜集尽量真实的零件和供应商信息添加到相应的表中,最后根据购物常识添加订单及其明细信息。(5) 根据书上的例子,针对TPCH数据库模式设计各种基本
3、查询语句,每种类型的基本查询至少要设计一个查询,描述清楚查询要求,运行你所设计的查询语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附2所列示例查询做实验。(6) 实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。4实验步骤1.3 掌握SQL的DDL使用方法CREATE SCHEMA SALES(3) 在SALES模式下创建TPCH数据库模式,要求每个表要有主码、外键等基本完整性约束。1.4 掌握SQL的基本查询语句使用方法(1) 单表查询(实现投影操作)查询供应商的名称、地址和联系电话。SELECT NAME,ADDRESS,PHONEFROM SUPP
4、LIER (2) 单表单条件查询(实现选择操作)查询零售价格不超过3元的零件编号、名称及其零售价格。SELECT PARTKEY,NAME,RETAILPRICEFROM PARTWHERE RETAILPRICE1000 AND ORDERDATEP.retailprice(6) 两表连接查询(实现等值连接操作)SELECT *FROM SUPPLIER S,NATION NWHERE S.NATIONKEY=N.NATIONKEY(7) 两表连接查询(实现自然连接操作)SELECT SUPPKEY,SUPPLIER.NAME,ADDRESS,PHONE,ACCTBAL,SUPPLIER.C
5、OMMENT,NATION.NATIONKEY,NATION.NAME,REGIONKEY,NATION.COMMENTFROM SUPPLIER,NATIONWHERE SUPPLIER.NATIONKEY=NATION.NATIONKEY(8) 单表自身连接查询查询与“冰山集团”在同一个国家的供应商编号、名称和地址信息。SELECT S2.SUPPKEY,S2.NAME,S2.ADDRESSFROM SUPPLIER S1,SUPPLIER S2WHERE S1.NAME=冰山集团 AND S1.NATIONKEY=S2.NATIONKEY AND S2.name!=(9) 三表连接查询查
6、询顾客“苏举库”订购的订单编号、总价及其订购的零件编号、数量和实际价格。SELECT L.ORDERKEY ,TOTALPRICE ,PARTKEY,QUANTITY,EXTENDEDPRICEFROM ORDERS O,LINEITEM L,CUSTOMER CWHERE C.NAME=苏举库 AND O.CUSTKEY=C.CUSTKEY AND L.ORDERKEY=O.ORDERKEY(10) 四表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购的零件供应价格、数量和实际价格。SELECT O.ORDERKEY,TOTALPRICE ,SUPPLYCOST ,EXTENDEDPR
7、ICE,QUANTITYFROM ORDERS O,LINEITEM L,CUSTOMER C,PARTSUPP PS AND O.CUSTKEY=C.CUSTKEY AND L.ORDERKEY=O.ORDERKEY AND PS.PARTKEY=L.PARTKEY(11) 五表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购的零件名称、数量和实际价格。SELECT O.ORDERKEY,TOTALPRICE,P.NAME,QUANTITY,EXTENDEDPRICEFROM ORDERS O,LINEITEM L,CUSTOMER C,PARTSUPP PS,PART P AND O
8、.CUSTKEY=C.CUSTKEY AND L.ORDERKEY=O.ORDERKEY AND PS.PARTKEY=L.PARTKEY AND P.PARTKEY=PS.PARTKEY(12) 六表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购零件的供应商名称、零件名称、数量、实际价格。SELECT O.ORDERKEY,TOTALPRICE,P.NAME,QUANTITY,EXTENDEDPRICE,S.NAMEFROM ORDERS O,LINEITEM L,CUSTOMER C,PARTSUPP PS,PART P,SUPPLIER SWHERE C.NAME= (13) 七
9、表连接查询查询中国顾客订购的订单编号、总价及其订购零件的供应商名称、零件名称、数量、实际价格。FROM ORDERS O,LINEITEM L,CUSTOMER C,PARTSUPP PS,PART P,SUPPLIER S,NATION NWHERE O.CUSTKEY=C.CUSTKEY AND L.ORDERKEY=O.ORDERKEY AND PS.PARTKEY=L.PARTKEY AND P.PARTKEY=PS.PARTKEY AND N.NAME=CHINA AND S.NATIONKEY=N.NATIONKEY AND S.SUPPKEY=PS.SUPPKEY;(14) 八表
10、查询查询亚洲顾客订购的订单编号、总价及其订购零件的供应商名称、零件名称、数量、实际价格。FROM ORDERS O,LINEITEM L,CUSTOMER C,PARTSUPP PS,PART P,SUPPLIER S,NATION N ,REGION RS.SUPPKEY=PS.SUPPKEY AND S.NATIONKEY=N.NATIONKEY AND N.REGIONKEY=R.REGIONKEY AND R.NAME=YAZHOU5总结与体会5.1 实验中出现的问题及其解决方案实验中出现很多问题(1)建表过程中附的代码有问题,运行会报错。但是因为问题较小,经过简单的修改成功建表。(2
11、)表与表之间关系复杂,主码外码设定困难。从最基本的表开始,逐渐往上建表,直至所有表建好。(3)编写代码出现了很大的困难,很多代码运行不通。最后问了很多同学尝试了很多次,代码终于运行正常了。5.2 总结这次的实验主要是连接查询。在SQL里连接出现有四种(自然连接,普通连接,外连接,自身连接)我们平常用的比较多的是等值连接。等值连接顾名思义,就是两个值相等时进行连接,最后的多表连接就是的发挥作用。实验本身比较简单,多试几次就好了。5.3 体会这次的实验不难,主要是基础的东西,只要把一些简单的东西做好就可以了,关键是有耐心。不论我们学习多次时间,我们所得的知识终有限,我们必须不断学习才能跟上发展的浪潮。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1