java web项目数据库设计

先上两个链接:

1..基础的表设计关系概念: https://blog.csdn.net/belen_xue/article/details/52763629

2..各种关系讲解比较透彻, 有代码和表格, 很容易理解和搬用: https://blog.csdn.net/lengjinghk/article/details/52140276


下面是设计自己的表格: (本人开发记录,参看需谨慎, 可能存在错误)

一..需求

      一共有五个实体: 平台管理员信息表   工人信息表   设备信息表  数据流实体   数据点实体

      PS:一个实体对应一张表.

二..功能分析

他们之间是多一多关系:

1..平台管理员:      

    统计数据

    转发数据

    展示处理后数据

2..设备

    上传数据

3..工人

    上传数据

    接收数据

三..流程图


四..数据库表格

先上我的文件: https://download.csdn.net/download/qq_37832932/10343937
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `tb_datapoints`
-- ----------------------------
DROP TABLE IF EXISTS `tb_datapoints`;
CREATE TABLE `tb_datapoints` (
  `datapointsID` varchar(20) NOT NULL,
  `time` datetime DEFAULT NULL,
  `value` varchar(10) DEFAULT NULL,
  `BID` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`datapointsID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_datapoints
-- ----------------------------
INSERT INTO `tb_datapoints` VALUES ('DP0001', '2018-04-04 14:44:58', '13', 'DS001');
INSERT INTO `tb_datapoints` VALUES ('DP0002', '2018-04-05 14:45:04', '124', 'DS002');
INSERT INTO `tb_datapoints` VALUES ('DP0003', '2018-04-06 14:45:08', '12', 'DS001');
INSERT INTO `tb_datapoints` VALUES ('DP0004', '2018-04-07 14:45:12', '233', 'DS001');

-- ----------------------------
-- Table structure for `tb_datastreams`
-- ----------------------------
DROP TABLE IF EXISTS `tb_datastreams`;
CREATE TABLE `tb_datastreams` (
  `datastreamsID` varchar(20) NOT NULL,
  `content` varchar(10) DEFAULT NULL,
  `AID` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`datastreamsID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_datastreams
-- ----------------------------
INSERT INTO `tb_datastreams` VALUES ('DS001', 'usage', 'D001');
INSERT INTO `tb_datastreams` VALUES ('DS002', 'total', 'D001');
INSERT INTO `tb_datastreams` VALUES ('DS003', 'usage', 'D002');
INSERT INTO `tb_datastreams` VALUES ('DS004', 'total', 'D002');
INSERT INTO `tb_datastreams` VALUES ('DS005', 'usage', 'D003');
INSERT INTO `tb_datastreams` VALUES ('DS006', 'total', 'D003');
INSERT INTO `tb_datastreams` VALUES ('DS007', 'usage', 'D004');
INSERT INTO `tb_datastreams` VALUES ('DS008', 'total', 'D004');
INSERT INTO `tb_datastreams` VALUES ('DS009', 'usage', 'D005');
INSERT INTO `tb_datastreams` VALUES ('DS010', 'total', 'D005');
INSERT INTO `tb_datastreams` VALUES ('DS011', 'usage', 'D006');
INSERT INTO `tb_datastreams` VALUES ('DS012', 'total', 'D006');
INSERT INTO `tb_datastreams` VALUES ('DS013', 'usage', 'D007');
INSERT INTO `tb_datastreams` VALUES ('DS014', 'total', 'D007');
INSERT INTO `tb_datastreams` VALUES ('DS015', 'usage', 'D008');
INSERT INTO `tb_datastreams` VALUES ('DS016', 'total', 'D008');
INSERT INTO `tb_datastreams` VALUES ('DS017', 'usage', 'D009');
INSERT INTO `tb_datastreams` VALUES ('DS018', 'total', 'D009');
INSERT INTO `tb_datastreams` VALUES ('DS019', 'usage', 'D010');
INSERT INTO `tb_datastreams` VALUES ('DS020', 'total', 'D010');
INSERT INTO `tb_datastreams` VALUES ('DS021', 'location', 'W001');
INSERT INTO `tb_datastreams` VALUES ('DS022', 'location', 'W002');

-- ----------------------------
-- Table structure for `tb_device`
-- ----------------------------
DROP TABLE IF EXISTS `tb_device`;
CREATE TABLE `tb_device` (
  `deviceID` varchar(20) NOT NULL,
  `location` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`deviceID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_device
-- ----------------------------
INSERT INTO `tb_device` VALUES ('D001', '北苑食堂左');
INSERT INTO `tb_device` VALUES ('D002', '北苑食堂右');
INSERT INTO `tb_device` VALUES ('D003', '59号楼东');
INSERT INTO `tb_device` VALUES ('D004', '59号楼西');
INSERT INTO `tb_device` VALUES ('D005', '59号楼南');
INSERT INTO `tb_device` VALUES ('D006', '59号楼北');
INSERT INTO `tb_device` VALUES ('D007', '64号楼东');
INSERT INTO `tb_device` VALUES ('D008', '64号楼西');
INSERT INTO `tb_device` VALUES ('D009', '64号楼南');
INSERT INTO `tb_device` VALUES ('D010', '64号楼北');

-- ----------------------------
-- Table structure for `tb_manager`
-- ----------------------------
DROP TABLE IF EXISTS `tb_manager`;
CREATE TABLE `tb_manager` (
  `managerID` varchar(20) NOT NULL,
  `password` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`managerID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_manager
-- ----------------------------
INSERT INTO `tb_manager` VALUES ('M001', 'M001');
INSERT INTO `tb_manager` VALUES ('M002', 'M002');

-- ----------------------------
-- Table structure for `tb_worker`
-- ----------------------------
DROP TABLE IF EXISTS `tb_worker`;
CREATE TABLE `tb_worker` (
  `workerID` varchar(20) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`workerID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_worker
-- ----------------------------
INSERT INTO `tb_worker` VALUES ('D001', 'zhao');
INSERT INTO `tb_worker` VALUES ('D002', 'dai');

1.管理员表格

记录管理员的账号和密码, 品台的唯一控制者

2.设备表格

设备为固定设备, 所以直接写入初始位置

3.工人表格

和设备一样, 直接写入固定信息

4.数据流表格

设备和工人与数据流都是一对多的关系,所以在数据流添加了AID这个外键

其中AID对应着设备的deviceID和工人的workerID. 是device和worker的外键

5.数据点表格

和数据流一样, 数据点的表存在一个外键BID

而数据点和上面的表格不一样, 因为他是所有信息直接更新写入的表格, 上面的四张表都是固定的信息

数据的实时插入, 查询, 统计所有操作的数据都在这张表里面


五..E-R图.

没有画E-R图的软件,大致表示一下

/******************************************************************************************************************/

下一步继续开发Web服务器


猜你喜欢

转载自blog.csdn.net/qq_37832932/article/details/79887007