一、实验综述
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 */