1.实验目的

理解和掌握数据库 DDL 语言,能够熟练使用 SQL DDL 语句,并能够完成数据导入。

2.实验内容和要求

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

   3.实验步骤

3.1使用菜单命令创建一个数据库 test

CREATE DATABASE test;

3.2在数据库 test 上定义下列基本表

表 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

供应商帐户余

numeric(12,2)

null

comment

备注

varchar(100)

null

表 4 零件基本表(part)

字段名

中文含义

类型

约束

partkey

零件编号

int

主键

name

零件名称

varchar(100)

null

mfgr

制造厂

char(50)

null

brand

品牌

char(50)

null

type

零件类型

varchar(25)

null

size

尺寸

int

null

container

包装

char(10)

null

retailprice

零售价格

numeric(8,2)

null

comment

备注

varchar(20)

null

表 5 零件供应联系表(partsupp)

字段名

中文含义

类型

约束

备注

partkey

零件编号

int

外键,参照 part

表的 partkey

partkey 和 suppkey 联合作为主键

suppkey

供应商编号

int

外 键 , 参 照

supplier 表 的 suppkey

availqty

可用数量

int

null

supplycost

供应价格

numeric(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

帐户余额

numeric(12,2)

null

mktsegment

市场分区

char(10)

null

comment

备注

varchar(100)

null

表 7 订单表(orders)

字段名

中文含义

类型

约束

orderkey

订单编号

int

主键

custkey

顾客编号

int

外 键 , 参 照 customer 表 的

Custkey

orderstatus

订单状态

char(1)

null

totalprice

订单金额

numeric(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

订单明细价

numeric(8,2)

null

discount

折扣

numeric(3,2)

null

tax

税率

numeric(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

新建表源代码:

CREATE TABLE region(regionkey INT PRIMARY KEY,name CHAR(25),comment VARCHAR(150)
);
CREATE TABLE nation(nationkey INT PRIMARY KEY,name CHAR(25),regionkey INT,comment VARCHAR(150),FOREIGN KEY(regionkey) REFERENCES region(regionkey)
);
CREATE TABLE supplier(suppkey INT PRIMARY KEY,name CHAR(100),address VARCHAR(100),nationkey INT,phone CHAR(30),acctbal NUMERIC(12,2),comment VARCHAR(100),FOREIGN KEY(nationkey) REFERENCES nation(nationkey)
);
CREATE TABLE part(partkey INT PRIMARY KEY,name VARCHAR(100),mfgr CHAR(50),brand CHAR(50),type VARCHAR(25),size INT,container CHAR(10),retailprice NUMERIC(8,2),comment VARCHAR(20)
);
CREATE TABLE partsupp(partkey INT,suppkey INT,availqty INT,supplycost NUMERIC(10,2),comment VARCHAR(200),PRIMARY KEY(partkey,suppkey),FOREIGN KEY(partkey) REFERENCES part(partkey),FOREIGN KEY(suppkey) REFERENCES supplier(suppkey)
);
CREATE TABLE customer(custkey INT PRIMARY KEY,name VARCHAR(25),address VARCHAR(40),nationkey INT,phone CHAR(30),acctbal NUMERIC(12,2),mktsegment CHAR(10),comment VARCHAR(100),FOREIGN KEY(nationkey) REFERENCES nation(nationkey)
);
CREATE TABLE orders(orderkey INT PRIMARY KEY,custkey INT,orderstatus CHAR(1),totalprice NUMERIC(10,2),orderdate DATE,orderpriority CHAR(15),clerk CHAR(16),shippriority CHAR(1),comment VARCHAR(60),FOREIGN KEY(custkey) REFERENCES customer(custkey)
);
CREATE TABLE lineitem(orderkey INT,partkey INT,suppkey INT,linenumber INT,quantity INT,extendedprice NUMERIC(8,2),discount NUMERIC(3,2),tax NUMERIC(3,2),returnflag CHAR(1),linestatus CHAR(1),shipdate DATE,commitdate DATE,receiptdate DATE,shipinstruct CHAR(25),shipmode CHAR(10),comment VARCHAR(40),PRIMARY KEY(orderkey,linenumber),FOREIGN KEY(partkey,suppkey) REFERENCES partsupp(partkey,suppkey)
);

3.3根据 qq 群里的“数据导入教程.rar”,把每个表的数据(.csv 格式)导入到建立的表里,导入顺序按照建表的顺序


实验数据(orders表的日期数据需要修改格式后使用,下面的链接中的已修改格式)

链接:https://pan.baidu.com/s/1PMH0_sg-ibD-Gzddfu9HWA 
提取码:11yn

数据库实验一 数据库定义及数据导入相关推荐

  1. 数据库实验三——完整性定义与检查

    数据库实验三--完整性定义与检查 一. 实验题目 二. 实验内容和要求 三. 实验步骤 (一) 实体完整性实验 1. 创建表时定义实体完整性 2. 创建表后定义实体完整性 3. 多个候选码时定义实体完 ...

  2. mysql数据库实验实训5,数据查询yggl数据库查询(详细)

    数据库实验yggl数据库,实训5(详细版) 1.SELECT语句的基本使用: 1-1:查询employees 表的员工部门号和性别,要求消除重复行 select distinct '员工部门号','性 ...

  3. 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶

    数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...

  4. Oracle 11g 数据库 实验7 数据库安全管理

    Oracle 11g 数据库实验7 数据库安全管理 1.实验目的 (1)掌握Oracle数据库安全控制的实现. (2)掌握Oracle数据库用户管理. (3)掌握Oracle数据库权限管理. (4)掌 ...

  5. 数据库实验:数据库高级查询

    数据库实验:数据库高级查询 实验过程 (1) IN 嵌套查询 (2) 单层EXISTS 嵌套查询 (3) FROM 子句中的嵌套查询 (4) 集合查询(交) (5) 集合查询(并) (6) 集合查询( ...

  6. 数据库 ----- 实验二:SQL的数据定义和数据更新

    实验二 SQL的数据定义和数据更新 [实验目的和要求] 1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作: 2.掌握SQL 的数据定义 ...

  7. 数据库实验7 数据库视图的定义与使用

    实验7 数据库视图的定义与使用 7.1实验目的及要求 掌握视图的用法,加深对视图作用的理解 7.2实验内容 1.创建.修改和删除视图 2.利用视图进行查询 7.3实验步骤 7.3.1视图的创建(查看视 ...

  8. 数据库实验2 数据库安全性定义与检查

    前言:记得验收时问了一个问题吧,就是用户和角色的区别是什么 实验2.1自主存取控制实验 1.实验目的 掌握自主存取控制权限的定义和维护方法. 2.实验内容和要求 定义用户.角色,分配权限给用户.角色, ...

  9. 数据库实验一 数据库定义

    实验一 数据库定义 一.实验目的 理解和掌握数据库DDL语言,能够熟练使用SQL DDL语句创建.修改.删除数据库.模式和表,能够创建合适的索引以提高数据库查询效率. 二.实验内容和要求 1.创建学生 ...

最新文章

  1. php处理不确定笛卡尔积,PHP笛卡尔积实现算法示例
  2. 配置中心框架IConfCenter
  3. LVS-NAT搭建HTTP及HTTPS
  4. 【机器学习经典算法源码分析系列】-- 逻辑回归
  5. ThinkJS前端搭配vue时的Nginx配置
  6. 全国计算机等级考试题库二级C操作题100套(第74套)
  7. c语言基类型,C语言基本类型边界值
  8. 项目总结:华南师范大学校园开发教育android客户端总结
  9. 动态服务器以及WSGI
  10. Can't load AMD 64-bit .dll on a IA 32-bit platform
  11. 14. 调整数组顺序是奇数位于偶数前(C++版本)
  12. Spring Cloud 入门到进阶 - 01 Eureka 服务实例的健康自检 (下)
  13. android 状态栏高度多少像素,Android之获取屏幕的尺寸像素及获取状态栏标题栏高度...
  14. Reinforcement learning book 学习笔记 第一章
  15. 2022危险化学品生产单位安全生产管理人员考试题库及模拟考试
  16. 2015年度中国智能路由器市场监测报告
  17. 柯尼卡美能达复合机进入维修模式的方法大全
  18. 20211030.剪绳子
  19. 召回率与精确率的理解
  20. 华为笔试题--麻将和牌问题

热门文章

  1. [UE4]VS调试模式简单介绍
  2. C语言 实验9-10 平面向量加法 (15分)
  3. 真正厉害的人都是不动声色的
  4. 计算机专业英语影印版3,计算机专业英语2008影印版unit3.ppt
  5. 第二次作业:微信分析
  6. 机器学习笔记——岭回归(Ridge Regression)
  7. Solr8.6.3安装与配置
  8. wireshark 抓取 https
  9. linux信号管道,linux编程及应用任继平08 进程间通信-管道和信号.pptx
  10. 虽然简单粗暴,但这的确是事实