数据库系统原理-数据定义实验

一、实验综述

1、实验目的及要求

目的:

熟悉MySQL和Navicat的连接与使用。掌握建立表和基本约束性条件的SQL语句语法,数据备份与还原方法。

2、实验仪器、设备或软件

仪器设备:电脑一台

工具:MySQL和Navicat

二、实验过程(实验步骤、记录、数据、分析)

1、建立xsgl数据库(可以用界面方式或sql语句)。

2、用sql语句在xsgl数据库中建立五张表,设置每张表的主码约束,自行判断并设置表的外码约束和用户自定义约束。

(1)/*员工人事表employee */

可视化图

MySQL语句:

CREATE TABLE `employee` (

  `emp_no` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '员工编号',

  `emp_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '员工姓名',

  `Sex` varchar(1) NOT NULL COMMENT '性别',

  `Dept` varchar(4) NOT NULL COMMENT '所属部门',

  `title` varchar(6) NOT NULL COMMENT '职称',

  `Date_hired` datetime NOT NULL COMMENT '到职日',

  `birthday` datetime DEFAULT NULL COMMENT '生日',

  `salary` int NOT NULL COMMENT '薪水\r\n',

  `Addr` varchar(50) DEFAULT NULL COMMENT '住址',

  PRIMARY KEY (`emp_no`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(2)/*客户表customer */

可视化图:

MySQL语句:

CREATE TABLE `customer` (

  `Cust_id` varchar(5) NOT NULL COMMENT '客户号',

  `Cust_name` varchar(20) NOT NULL COMMENT '客户名称',

  `Addr` varchar(40) NOT NULL COMMENT '客户地址',

  `tel_no` varchar(10) NOT NULL COMMENT '客户电话',

  `Zip` varchar(6) DEFAULT NULL COMMENT '邮政编码',

  PRIMARY KEY (`Cust_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(3)/*销售主表sales */

、在sales表中加入一列

invoice_no

varchar   (10)

Not   null

发票号码

可视化图:

Mysql语句:

CREATE TABLE `sales` (

  `order_no` varchar(5) NOT NULL COMMENT '订单编号',

  `Cust_id` varchar(5) NOT NULL COMMENT '客户号',

  `Sale_id` varchar(5) NOT NULL COMMENT '业务员编号',

  `tot_amt` decimal(9,2) NOT NULL COMMENT '订单金额',

  `order_date` datetime NOT NULL COMMENT '订货日期',

  `invoice_no` varchar(10) NOT NULL COMMENT '发票号码',

  PRIMARY KEY (`order_no`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(4)/*销货明细表sale_item */

可视化图:

MySQL语句

CREATE TABLE `sale_item` (

  `order_no` int NOT NULL COMMENT '订单编号',

  `Prod_id` varchar(5) NOT NULL COMMENT '产品编号',

  `Qty` int NOT NULL COMMENT '销售数量',

  `Unit_price` decimal(9,2) NOT NULL COMMENT '单价',

  `Ship_date` datetime NOT NULL COMMENT '出货日期',

  PRIMARY KEY (`order_no`,`Prod_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(5)/*产品名称表product */

可视化图:

MySQL语句:

CREATE TABLE `product` (

  `Prod_id` varchar(5) NOT NULL COMMENT '产品编号',

  `Prod_name` varchar(20) NOT NULL COMMENT '产品名称',

  PRIMARY KEY (`Prod_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

5、给销售主表和销货明细表设置完善的外码约束。

6、将销售主表订单编号的数据类型修改为字符型。

7、使用Navicat输入数据,每张表至少需要5条记录,输入数据时要注意数据类型和主码约束。

输入数据后:

/*员工人事表employee */

/*产品名称表product */

/*销货明细表sale_item */

/*销售主表sales */

/*销售主表sales */

/*客户表customer */

                                   

  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值