Mysql 设计超市经营管理系统,包括员工信息表(employee)和 员工部门表(department)
互联网技术学院周测机试题(二)
一、需求分析
为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理。本系统分为商品管理、员工管理、店铺管理,库存管理等功能模块。本次开发,主要针对员工管理功能,具备查询员工信息、删除或修改员工信息等功能,具体数据库设计如下,请你根据需求完成数据库的设计与相应功能。
二、数据字典
表1:员工信息表(employee)
|
序号 |
字段名 |
说明 |
数据类型 |
约束 |
备注 |
|
1 |
Empid |
员工编号 |
Int |
主键,自动增长 |
|
|
2 |
Empname |
员工姓名 |
Varchar |
长度10,非空 |
|
|
3 |
Phone |
联系电话 |
Varchar |
长度11 |
|
|
4 |
Departmentid |
部门编号 |
Int |
外键,引用部门表的主键 |
|
|
5 |
Address |
家庭住址 |
Varchar |
长度50 |
CREATE TABLE employee(
empid int PRIMARY KEY auto_increment,
empname VARCHAR(10) NOT NULL,
phone VARCHAR(11),
departmentid int,
address VARCHAR(50),
CONSTRAINT fk_dptid FOREIGN KEY(departmentid) REFERENCES department(dptid)
);
表2:员工部门表(department)
|
序号 |
字段名 |
说明 |
数据类型 |
约束 |
备注 |
|
1 |
Dptid |
部门编号 |
Int |
主键,自动增长 |
|
|
2 |
Dptname |
部门名称 |
Varchar |
长度20,非空 |
CREATE TABLE department(
dptid int PRIMARY KEY auto_increment,
dptname VARCHAR(20) NOT NULL
);
测试数据
employee表:
|
Empid |
Empname |
Phone |
Departmentid |
Address |
|
1 |
李华 |
13737445685 |
1 |
武汉市洪山区光谷大道288号 |
|
2 |
张建国 |
18725489687 |
3 |
北京市朝阳区安贞路127号 |
|
3 |
周晓 |
13985647124 |
2 |
昆明市五华区滇缅大道 |
|
4 |
李莉 |
15896582415 |
1 |
武汉市汉阳区人民中路瑞典小镇 |
|
5 |
张晓红 |
13865486874 |
3 |
INSERT INTO employee VALUES (1, '李华', '13737445685', 1, '武汉市洪山区光谷大道288号');
INSERT INTO employee VALUES (2, '张建国', '18725489687', 3, '北京市朝阳区安贞路127号');
INSERT INTO employee VALUES (3, '周晓', '13985647124', 2, '昆明市五华区滇缅大道');
INSERT INTO employee VALUES (4, '李莉', '15896582415', 1, '武汉市汉阳区人民中路瑞典小镇');
INSERT INTO employee VALUES (5, '张晓红', '13865486874', 3, '');
department:
|
Dptid |
Dptname |
|
1 |
客服部 |
|
2 |
财务部 |
|
3 |
后勤部 |
INSERT INTO department VALUES (1, '客服部');
INSERT INTO department VALUES (2, '财务部');
INSERT INTO department VALUES (3, '后勤部');
三、功能实现
1、经过层层面试,来自昆明市五华区茭菱路128号的张华,电话号码为15987415824,成功入职到公司的后勤部,请实现本功能。
INSERT INTO employee VALUES (null, '张华', '15987415824', 3, '昆明市五华区茭菱路128号');
2、显示名字中含有“晓”的客户信息,显示姓名及所在部门名称。
SELECT empname,dptname FROM employee e JOIN department d ON e.departmentid=d.dptid WHERE empname LIKE '%晓%'
3、统计各部门的人数,显示部门名称及人数,并按部门人数升序排序。
SELECT dptname,COUNT(*) FROM employee e,department d WHERE e.departmentid=d.dptid GROUP BY dptname ORDER BY dptname DESC
4、显示“周晓”的个人信息,包括姓名,电话和所在部门。
SELECT empname,phone,dptname FROM employee e,department d WHERE e.departmentid=d.dptid
5、完善“张晓红”的家庭住址为“广州市白云区北京东路”。
UPDATE employee SET address='广州市白云区北京东路' WHERE empname='张晓红'
数据库完整导入代码:
-- ----------------------------
-- Table structure for department
-- ----------------------------
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
`dptid` int(11) NOT NULL AUTO_INCREMENT,
`dptname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`dptid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of department
-- ----------------------------
INSERT INTO `department` VALUES (1, '客服部');
INSERT INTO `department` VALUES (2, '财务部');
INSERT INTO `department` VALUES (3, '后勤部');
-- ----------------------------
-- Table structure for employee
-- ----------------------------
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
`empid` int(11) NOT NULL AUTO_INCREMENT,
`empname` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`departmentid` int(11) NULL DEFAULT NULL,
`address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`empid`) USING BTREE,
INDEX `fk_dptid`(`departmentid`) USING BTREE,
CONSTRAINT `fk_dptid` FOREIGN KEY (`departmentid`) REFERENCES `department` (`dptid`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES (1, '李华', '13737445685', 1, '武汉市洪山区光谷大道288号');
INSERT INTO `employee` VALUES (2, '张建国', '18725489687', 3, '北京市朝阳区安贞路127号');
INSERT INTO `employee` VALUES (3, '周晓', '13985647124', 2, '昆明市五华区滇缅大道');
INSERT INTO `employee` VALUES (4, '李莉', '15896582415', 1, '武汉市汉阳区人民中路瑞典小镇');
INSERT INTO `employee` VALUES (5, '张晓红', '13865486874', 3, '广州市白云区北京东路');
SET FOREIGN_KEY_CHECKS = 1;
Mysql 设计超市经营管理系统,包括员工信息表(employee)和 员工部门表(department)的更多相关文章
- Mysql 设计超市经营管理系统,包括商品信息表(goods) 和 商品类型表(goodstype)
互联网技术学院周测机试题(一) 一 需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功 ...
- Mysql 设计超市经营管理系统,包括员工库存表(stock) 和 仓库表(warehouse)
互联网技术学院周测机试题(三) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- Python3.5 day4作业:对员工信息文件,实现增删改查操作。
需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select * from staf ...
- SSH_框架整合4--添加员工信息
SSH_框架整合4--添加员工信息 一. 1 index.jsp:添加:<a href="emp-input">添加员工向信息:Add Employees' Infor ...
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...
- python作业员工信息表程序(第四周)
作业需求: 1. 员工信息表程序,实现增删改查操作: 2. 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 ...
- 老男孩Day4作业:员工信息查询系统
1.作业需求: (1).工信息表程序,实现增删改查操作: (2).可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where ...
- 小项目: low版本的 员工信息程序:
### 附加两个文件1 user_info 和worker_info flag = False def logon(): #登录函数 global flag usr = input('Username ...
随机推荐
- Android项目的settings.gradle和build.gradle
gradle构建的项目中的build.gradle和settings.gradle文件 build.gradle 浅析(一) 史上最全的Android build.gradle配置教程 Android ...
- 时光网内地影视票房Top100爬取
为了和艺恩网的数据作比较,让结果更精确,在昨天又写了一个时光网信息的爬取,这次的难度比艺恩网的大不少,话不多说,先放代码 # -*- coding:utf-8 -*-from __future__ i ...
- layui 弹窗中 分页展示table
1. 需求:点击查看更多,展示该类别 所有数据,并分页 2. 参考文档: (1)https://www.jianshu.com/p/40da11ebae66 (2) https://blog.csdn ...
- Oracle 表结构管理
表其实是数据的'容器'.oracle有几种类型的表: 普通表(ordinary table)又叫堆组织表. 聚簇表(clustered table) 分区表(partition table) 外部表( ...
- 【spring AOP】@Pointcut的12种用法
@Pointcut用来标注在方法上来定义切入点. 使用格式:@ 注解(value="表达标签 (表达式格式)").如:@Pointcut("execution(* com ...
- 设计模式和java实现
三种工厂模式:https://www.cnblogs.com/toutou/p/4899388.html 适配器模式:https://www.cnblogs.com/V1haoge/p/6479118 ...
- 【HarmonyOS】【多线程与并发】EventHandler
EventHandler与EventRunner EventHandler相关概念 ● EventHandler是一种用户在当前线程上投递InnerEvent事件或者Runnable任务到异步线程上处 ...
- 对于React各种状态管理器的解读
首先我们要先知道什么是状态管理器,这玩意是干啥的? 当我们在多个页面中使用到了相同的属性时就可以用到状态管理器,将这些状态存到外部的一个单独的文件中,不管在什么时候想使用都可以很方便的获取. reac ...
- 原来这才是 Socket !
关于对 Socket 的认识,大致分为下面几个主题,Socket 是什么,Socket 是如何创建的,Socket 是如何连接并收发数据的,Socket 套接字的删除等. Socket 是什么以及创建 ...
- GIS应用|快速开发在线路径导航应用
导航应用可用于路径规划及仿真,并且常作为一个重要模块融入到各类企业管理业务中,如面向物流管理.商品配送.车辆监控等场景,那么如何开发一个简单的在线路径导航应用呢?SuperMap Online为您解答 ...