数据库定义实验

  • 一.实验目的
  • 二.实验要求
  • 三.实验内容和结果
    • 1.定义数据库
    • 2.定义模式
    • 3.定义基本表
  • 四、实验总结及体会

一.实验目的

  理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。

二.实验要求

  理解和掌握SQL DDL语句的语法,特别是各种参数的具体含义和使用方法;使用SQL语句创建、修改和删除数据库、模式和基本表。掌握SQL语句常见语法错误的调试方法。
  本实验建立TPC-H数据库模式。TPC-H 数据库模式由零件表(Part)、供应商表(Supplier)、零件供应商联系表( Partsupp)、顾客表(Customer)、国家表( Nation)、地区表( Region)、订单表( Orders)和订单明细表( Lineitem)8个基本表组成。
  TPC-H数据库模式又可以分为以下两个子模式。
  子模式1:零件供应商子模式,包括Part、Supplier和PartSupp三个基本表,类似学生、课程和选课数据库模式,该子模式还可以增加Nation和Region两个表。该模式中Part和Supplier之间是多对多类型的联系。
  子模式2:顾客订单子模式,包括Customer、Orders和Lineitem 三个表,该子模式也可以增加Nation和Region两个表。该模式中各实体之间主要是一对多类型的联系。

  • (1)定义数据库
    创建名为TPC-H的数据库。
  • (2)定义模式
    在数据库TPC-H中创建名为Sales的模式。
  • (3)定义基本表
    在TPC-H数据库的Sales模式中创建8个基本表,并输入适当实例数据。

    • 地区(地区编号,地区名称,备注);
    • 国家(国家编号,国家名称,地区编号,备注);
    • 供应商(供应商编号,供应商名称,供应商地址,国家编号,供应商电话,供应商账户余额,备注)
    • 零件(零件编号,零件名称,制造厂,品牌,零件类型,尺寸,包装,零售价格,备注)
    • 零件供应(零件编号,供应商编号,可用数量,供应价格,备注);
    • 顾客(顾客编号,姓名,地址,国籍编号,电话,账户余额,市场分区,备注)
    • 订单(订单编号,顾客编号,订单状态,订单总金额,订单日期,订单优先级别,记账员,运输优先级别,备注)
      • 其中:订单总金额=SUM(订单明细. 订单明细价格×(1-订单明细. 折扣)×(1+订单明细.税率))
      • 订单明细(订单编号,订单明细编号,零件编号,供应商编号,数量,订单明细价格,折扣[0.00, 1.00],税率[0.00, 0.08],退货标记,订单明细状态,装运日期,委托日期,签收日期,装运说明,装运方式,备注)
      • 其中订单明细价格= 数量 × 零件. 零售价格

三.实验内容和结果

1.定义数据库

CREATE DATABASE `tpc-h` ;

2.定义模式

CREATE SCHEMA sales;

3.定义基本表

#地区表
CREATE TABLE Region
(Region_number CHAR(25) PRIMARY KEY,
Region_name CHAR(25),
Remark VARCHAR(100));#国家表
CREATE TABLE State
(State_number CHAR(25) PRIMARY KEY,
State_name CHAR(25),
Region_number char(25),
Remark VARCHAR(100),
FOREIGN KEY(Region_number) REFERENCES Region(Region_number));#供应商表
CREATE TABLE Provider
(Provider_number char(25) PRIMARY KEY,
Provider_name char(25),
Provider_site char(25),
State_number char(25),
Provider_phone char(20),
Provider_account INT,
Remark VARCHAR(100),
FOREIGN KEY(State_number) REFERENCES State(State_number));#零件表
CREATE TABLE Component
(Component_number char(25) PRIMARY KEY,
Component_name char(25),
Manufacturer char(25),
Brand char(25),
Component_type char(25),
Size char(25),
Pack char(25),
Price int,
Remark VARCHAR(100));#零件供应表
CREATE TABLE Component_Supply
(Component_number char(25),
Provider_number char(25),
Amount int,
Supply_price int,
Remark VARCHAR(100),
PRIMARY KEY(Component_number,Provider_number));#顾客表
CREATE TABLE Customer
(Customer_number char(25) PRIMARY KEY,
Customer_name char(25),
Customer_site char(25),
State_number char(25),
Customer_phone char(25),
Balance int,
Market char(25),
Remark char(25),
FOREIGN KEY(State_number) REFERENCES state(State_number));#订单表
CREATE TABLE Order_Form
(Order_number char(25) PRIMARY KEY,
Customer_number char(25),
Order_state char(25),
Order_account int,
Order_date DATE,
Order_priority int,
Bookkeeper char(25),
Remark VARCHAR(100),
FOREIGN KEY(Customer_number) REFERENCES Customer(Customer_number));#订单明细表
CREATE TABLE Order_Form_Detail
(Order_number char(25),
Order_Detail_number char(25) PRIMARY KEY,
Component_number char(25),
Provider_number char(25),
Amount int,
Order_Detail_Price int,
Discount DOUBLE CHECK(Discount>=0.00 AND Discount<=1.00),
Tax DOUBLE CHECK(Tax>=0.00 AND Tax<=0.08),
Sales_Return char(25),
Ship_Date DATE,
Entrust_Date DATE,
Sign_Date DATE,
Ship_Remark char(100),
Ship_state char(100),
Remark VARCHAR(100),
FOREIGN KEY(Order_number) REFERENCES Order_Form(Order_number),
FOREIGN KEY(Component_number)
REFERENCES Component(Component_number),
FOREIGN KEY(Provider_number) REFERENCES Provider(Provider_number)
);
#表的属性名字全靠有道,我相信我能看懂,于是懒得写注释了……
#实际上并没有看懂……

部分数据表截图:

四、实验总结及体会

  在Mysql中创建模式就等于创建数据库。

数据库系统原理实验一——数据库定义实验相关推荐

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

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

  2. 实验五——数据库设计实验

    实验五--数据库设计实验 一.实验题目 二. 实验内容和要求 三.实验步骤 1.分析问题 2.概念结构设计 3.逻辑结构设计 四.实验心得体会 一.实验题目 数据库设计实验 二. 实验内容和要求 掌握 ...

  3. 数据库实验5 数据库设计实验

    前言:不知道啥原因,最后设计出来少了一个表,无语 实验5 数据库设计实验 1.实验目的 掌握数据库设计基本方法及数据库设计工具. 2.实验内容和要求 掌握数据库设计基本步骤,包括数据库概念结构设计.逻 ...

  4. mysql安全实验测验答案_实验四∶数据库安全性实验报告.doc

    资源描述 1 / 2实验四:数据库安全性班级:软件工程 0918 姓名:许啸 学号:0911610819[实验目的] :验证数据库安全性[实验要求] :1)新建一个登陆名为 tom,密码为 tom00 ...

  5. 数据库实验一 数据库定义及数据导入

    1.实验目的 理解和掌握数据库 DDL 语言,能够熟练使用 SQL DDL 语句,并能够完成数据导入. 2.实验内容和要求 理解和掌握 SQL DDL 语句的语法,特别是各种参数的具体含义和使用方法: ...

  6. 【学习笔记】数据库系统原理 第十章 数据库事务恢复技术

    以下内容为参考课件和<数据库系统概论>(第5版,王珊等著)的个人整理,若有错误欢迎指出 第十章 数据库事务恢复技术 文章目录 第十章 数据库事务恢复技术 一.事务的基本概念 1.事务定义 ...

  7. 数据库系统原理 —— 第一章 数据库系统概述知识点总结(自考本)

    第一节 数据库基本概念 什么是数据? 什么是数据库? 数据库的基本特点 什么是数据库管理系统? 数据库管理系统的主要功能 什么是数据库系统? 数据库系统的组成 数据库系统结构图 第二节 数据管理技术的 ...

  8. 【数据库系统原理】数据库课内实验

    说明:这是武汉理工大学计算机学院[数据库系统原理]课程课内实验. >>点击查看武汉理工大学计算机专业课程资料汇总 >>点击查看WUTer计算机专业实验汇总 谨记:纸上得来终觉浅 ...

  9. 自考-知识点总结-数据库系统原理 04735

    数据库系统原理 第一章 数据库系统概述 数据库基本概念 数据:符号记录(文本或多媒体) 数据库(DB):长期储存.有组织.可共享 的数据集合 数据库管理系统(DBMS):建立与管理数据库的软件 基本功 ...

最新文章

  1. tengine 调用php,nginx 或tengine 访问日志分割处理
  2. 微软的漏洞攻击与防御
  3. 【一天一个shell命令】好管家-磁盘-du
  4. 计算机cnc键代表啥,计算器上的cnc键表示啥
  5. Redux学习(一)——Redux的使用过程
  6. Java核心技术笔记 1
  7. 财务女,30岁无情被辞:想给财务提个醒!!
  8. java开发手册 - 码出规范 - 要点整理
  9. 树的计数 Prufer序列+Cayley公式
  10. 种草电商怎么做,我助你从0到1搭建种草商城
  11. win10电脑插上U盘不显示盘符如何办?
  12. QT自定义Widget实现鼠标拖动窗口移动位置及鼠标拖拽窗口边缘窗口大小改变
  13. SpringSecurity自定义多Provider时提示No AuthenticationProvider found for问题的解决方案与原理(一)
  14. [iOS Animation]-CALayer 变换-灭点
  15. 挺带劲!这款开源数据库迁移工具超牛逼
  16. python not found in axis_关于python:pandas-drop函数错误 (label not contained in axis)
  17. 微软发布Win11 2022最大更新22H2 版本号为 22621.521
  18. ubuntu windows双系统默认启动项切换
  19. 注意避坑,Vue Router 4: 路由参数在 created/setup 时不可用
  20. .NET 中关于ImageList 图片锯齿问题

热门文章

  1. Linux找不到端口设备,Linux - 与设备关联的端口
  2. OPENCL异构计算——四大模型
  3. 拓嘉辰丰:拼多多店铺权重与转化有关系吗
  4. 老张开车去东北(源码)
  5. 【java设计模式】工厂模式之老张开车
  6. 红色抗战电影《铁血八大组》主创演职人员和观众见面会举行
  7. 新买的阿里云ECS基本安全运维
  8. 2019 A Review of Machine Learning Applications in Fuzzing
  9. 小米净水器与小区过滤价格水对照.xls
  10. NOTIFYICONDATA(百度百科)