1.公司拥有多幢公寓楼,每幢公寓楼有唯一的楼编号和地址。每幢公寓楼中有多套公寓,每套公寓在楼内有唯一的编号(不同公寓楼内的公寓号可相同)。系统需记录每套公寓的卧室数和卫生间数。
2.员工和租客在系统中有唯一的员工和租客编号。
3.对于每个租客,系统需记录姓名、多个联系电话、一个银行账号(方便自动扣房租)、一个紧急联系人的姓名及联系电话。
4.系统需记录每个员工的姓名、类别、一个联系电话和月工资。员工类别可以是经理或维修工,也可兼任。每个经理可以管理多幢公寓楼。每幢公寓楼必须由一个经理管理。系统需记录每个维修工的业务技能,如水暖维修、电工、木工等。
5.租客租赁公寓必须和公司签订租赁合同。一份租赁合同通常由一个或多个租客(合租)与该公寓楼的经理签订,一个租客也可租赁多套公寓。合同内容应包含签订日期、开始时间租期、押金和月租金。
租期内,公寓内设施如出现问题,租客可在系统中进行故障登记,填写故障描述,每项故障由系统自动生成唯一的故障编号,由公司派维修工进行故障维修,系统需记录每次维修的维修日期和维修内容。
回答ER图和建表就可以了
/*
Navicat Premium Data Transfer
Source Server : 127
Source Server Type : MySQL
Source Server Version : 50726
Source Host : localhost:3306
Source Schema : test
Target Server Type : MySQL
Target Server Version : 50726
File Encoding : 65001
Date: 20/12/2021 17:38:42
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- Table structure for apartment
DROP TABLE IF EXISTS apartment
;
CREATE TABLE apartment
(id
int(11) NOT NULL AUTO_INCREMENT,num
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '编号',address
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '地址',b_id
int(10) NULL DEFAULT NULL COMMENT '所属公寓楼',c_num
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,d_num
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,create_time
datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- Table structure for apartment_build
DROP TABLE IF EXISTS apartment_build
;
CREATE TABLE apartment_build
(id
int(11) NOT NULL AUTO_INCREMENT,num
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '编号',address
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '地址',manger_id
int(10) NULL DEFAULT NULL COMMENT '经理ID',create_time
datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- Table structure for contract
DROP TABLE IF EXISTS contract
;
CREATE TABLE contract
(id
int(11) NOT NULL,k_id
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '签的公寓id',q_time
datetime(0) NULL DEFAULT NULL COMMENT '签订时间',s_time
datetime(0) NULL DEFAULT NULL COMMENT '开始时间',kmoney
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,mmoney
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- Table structure for fault
DROP TABLE IF EXISTS fault
;
CREATE TABLE fault
(id
int(11) NOT NULL,k_id
varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '公寓id',s_time
datetime(0) NULL DEFAULT NULL COMMENT '创建时间',message
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '问题描述',u_type
smallint(2) NULL DEFAULT 2 COMMENT '1完成2未完成',end_time
datetime(0) NULL DEFAULT NULL COMMENT '完成时间',about_content
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '完成工作内容',
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- Table structure for staff
DROP TABLE IF EXISTS staff
;
CREATE TABLE staff
(id
int(11) NOT NULL,u_num
varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '员工编号',u_name
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,u_phone
int(11) NULL DEFAULT NULL,u_type
smallint(3) NULL DEFAULT NULL COMMENT '1维修工2经理',kill
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '技能',
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- Table structure for tenant
DROP TABLE IF EXISTS tenant
;
CREATE TABLE tenant
(id
int(11) NOT NULL,u_num
varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '租客编号',u_name
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,u_phone
int(11) NULL DEFAULT NULL,u_card
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,about_name
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,about_phone
varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
公寓楼表: ID 地址 经理ID(员工ID)
公寓表: ID 公寓楼ID 卧室数 卫生间数 房间号(公寓号)
员工表: ID 姓名 电话 工资
租客表: ID 姓名 联系电话(逗号分隔) 银行卡号 紧急联系人姓名 紧急联系人电话
员工类别_员工表: ID 员工类别ID 员工ID
员工类别表; ID 类型(经理 维修) 技能
合同表: ID 签订日期 开始时间 押金 月租金
合同_租客表 : ID 合同ID 租客ID
故障表 : ID 故障描述 公寓ID 创建时间 是否完成 完成时间 维修内容
自己看着整就行了,有需要就建几个中间表,自己建挺有意思