数据库实行一 数据库界说及数据导入

打印 上一主题 下一主题

主题 862|帖子 862|积分 2586

1.实行目的
理解和把握数据库 DDL 语言,能够熟练使用 SQL DDL 语句,并能够完成数据导入。
2.实行内容和要求
理解和把握 SQL DDL 语句的语法,特别是各种参数的详细含义和使用方法,使用 SQL语句创建、修改和删除基本表,把握 SQL 语句常见语法错误的调试方法,完成数据导入。
3.实行步骤
  (1).使用菜单下令创建一个数据库 test。
  1. create database test;
复制代码
  (2).在数据库 test 上使用 SQL 语句按照所给表的顺序界说下列基本表
表 1 地区表(region)

字段名
中文含义
类型
约束
regionkey
地区编号
int
主键
name
地区名称
char(25)
null
comment
备注
varchar(150)
null

表 2 国家表(nation)

字段名
中文含义
类型
约束
nationkey
国家编号
int
主键
name
国家名称
char(25)
null
regionkey
地区编号
int
外键,参照 region

表的 regionkey
comment
备注
varchar(150)
null

      
表 3 供应商基本表(supplier)

   
字段名
中文含义
类型
约束
suppkey
供应商编号
int
主键
name
供应商名称
char(100)
null
address
供应商地址
varchar(100)
null
nationkey
国家编号
int
外键,参照 nation

表的 nationkey
phone
供应商电话
char(30)
null
acctbal
供应商帐户余


decimal(12,2)
null
comment
备注
varchar(100)
null
      
   
表 4 零件基本表(part)

   
字段名
中文含义
类型
约束
partkey
零件编号
int
主键
name
零件名称
varchar(100)
null
mfgr
制造厂
char(50)
null
brand
品牌
char(50)
null
ptype
零件类型
varchar(25)
null
size
尺寸
int
null
container
包装
char(10)
null
retailprice
零售代价
decimal (8,2)
null
comment
备注
varchar(20)
null
   
   
表 5 零件供应接洽表(partsupp)

   
字段名
中文含义
类型
约束
备注
partkey
零件编号
int
外键, 参照
partkey



part 表 的




partkey
suppkey
suppkey
供应商编号
int
外键, 参照
联合作为



supplier 表
主键



的 suppkey

availqty
可用数量
int
null

supplycost
供应代价
decimal(10,2)
null

comment
备注
varchar(200)
null

      
   
表 6 顾客表(customer)

   
字段名
中文含义
类型
约束
custkey
顾客编号
int
主键
name
姓名
varchar(25)
null
address
地址
varchar(40)
null
nationkey
国家编号
int
外键,来自 nation

表的 nationkey
phone
电话
char(30)
null
acctbal
帐户余额
decimal(12,2)
null
mktsegment
市场分区
char(10)
null
comment
备注
varchar(100)
null
   
   
表 7 订单表(orders)

   
字段名
中文含义
类型
约束
orderkey
订单编号
int
主键
custkey
顾客编号
int
外 键 , 参 照 customer 表 的
Custkey
orderstatus
订单状态
char(1)
null
totalprice
订单金额
decimal(10,2)
null
orderdate
订单日期
date
null
orderpriority
订单优先级别
char(15)
null
clerk
记帐员
char(16)
null
shippriority
运输优先级别
char(1)
null
comment
备注
varchar(60)
null
   
  
  
表 8 订单明细表(lineitem)

  
字段名
中文含义
类型
约束
备注
orderkey
订单编号
int
外 键 , 参 照 orders 表 的
orderkey
orderkey                           和 linenumber 联合作
为主键
partkey
零件编号
int
外 键 , 参 照 part  表 的
partkey
partkey 和suppkey联合参照 partsupp表 的 partkey 和 suppkey
suppkey
供应商编号
int
外 键 , 参 照
supplier 表的 suppkey
linenumber
订单明细编


int
null

quantity
零件数量
int
null

extendedprice
订单明细价


decimal(8,2)
null

discount
折扣
decimal(3,2)
null

tax
税率
decimal(3,2)
null

returnflag
退货标志
char(1)
null

linestatus
订单明细状


char(1)
null

shipdate
装运日期
date
null

commitdate
委托日期
date
null

receiptdate
签收日期
date
null

shipinstruct
装运阐明
char(25)
null

shipmode
装运方式
char(10)
null

comment
备注
varchar(40)
null

  
  1. create table region
  2. (
  3. regionkey int primary key,
  4. name char(25),
  5. comment varchar(150)
  6. );
  7. create table nation
  8. (
  9. nationkey int primary key,
  10. name char(25),
  11. regionkey int,
  12. comment varchar(150),
  13. foreign key(regionkey) references region(regionkey)
  14. )
  15. create table supplier
  16. (
  17. suppkey int primary key,
  18. name char(100),
  19. address varchar(100),
  20. nationkey int,
  21. phone char(30),
  22. acctbal decimal(12,2),
  23. comment varchar(100),
  24. foreign key(nationkey) references nation(nationkey)
  25. )
  26. create table part
  27. (
  28. partkey int primary key,
  29. name varchar(100),
  30. mfgr char(50),
  31. brand char(50),
  32. type varchar(25),
  33. size int,
  34. container char(10),
  35. retailprice decimal(8,2),
  36. comment varchar(20)
  37. )
  38. create table partsupp
  39. (
  40. partkey int,
  41. suppkey int,
  42. availqty int,
  43. supplycost decimal(10,2),
  44. comment varchar(200),
  45. primary key(partkey,suppkey),
  46. foreign key(partkey) references part(partkey),
  47. foreign key(suppkey) references supplier(suppkey)
  48. )
  49. create table customer
  50. (
  51. custkey int primary key,
  52. name varchar(25),
  53. address varchar(40),
  54. nationkey int,
  55. phone char(30),
  56. acctbal decimal(12,2),
  57. mktsegment char(10),
  58. comment varchar(100),
  59. foreign key(nationkey) references nation(nationkey)
  60. )
  61. create table orders
  62. (
  63. orderkey int primary key,
  64. custkey int,
  65. orderstatus char(1),
  66. totalprice decimal(10,2),
  67. orderdate date,
  68. orderpriority char(15),
  69. clerk char(16),
  70. shippriority char(1),
  71. comment varchar(60),
  72. foreign key(custkey) references customer(custkey)
  73. )
  74. create table lineitem
  75. (
  76. orderkey int,
  77. partkey int,
  78. suppkey int,
  79. linenumber int,
  80. quantity int,
  81. extendedprice decimal(8,2),
  82. discount decimal(3,2),
  83. tax decimal(3,2),
  84. returnflag char(1),
  85. linestatus char(1),
  86. shipdate date,
  87. commitdate date,
  88. receiptdate date,
  89. shipinstruct char(25),
  90. shipmode char(10),
  91. comment varchar(40),
  92. primary key(orderkey,linenumber),
  93. foreign key(orderkey) references orders(orderkey),
  94. foreign key(partkey) references part(partkey),
  95. foreign key(suppkey) references supplier(suppkey),
  96. foreign key(partkey,suppkey) references partsupp(partkey,suppkey)
  97. )
复制代码
  (3).根据给的“数据导入教程.rar”,把每个表的数据(.csv 格式)导入到创建的表里,导入顺序按照建表的顺序。

导入文件链接:百度网盘 请输入提取码
 提取码:6015

  (4).用 SQL 语句给订单表(orders)创建一个索引(按订单日期降序),索引的名字是 Dindex。
  1. create index Dindex on orders (orderate desc);
复制代码
实行效果:
region表:

nation表:

supplier表:

part表:
 partsupp表:

customer表:
 orders表:

lineitem表:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表