Oracle数据库设计实例-实时生产效率系统数据库设计
引言
1.1 设计前提
某部门经理要求IT部门设计一个流水线实时生产效率系统,用来统计实时的生产量和效率。流水线有数百条,实时间隔为1min。
1.2 编写目的
本文档是生产效率监控系统设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名丶字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《数据库设计和开发规范》。本文档的读者对象是需求人员丶系统设计人员丶开发人员丶测试人员。
数据库环境说明
数据库实例 数据库系统 数据库部署环境 数据库设计工具 说明
RTES_DB_2017 Oralce Linux Excel,word 无
数据库的命名规则
固定字符‘RTES_DB_+YEAR’
逻辑设计
类图:

ER图:

用例图:
物理设计
主要是设计表结构。一般的,实体对应于表。实体的属性对应于表的字段,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不定时一一对应的。对表结构进行规范化处理(第三范式)。
(小插曲:三大范式)
第一范式:主键,列不能重复
第二范式:不存在部分依赖
第三范式:不能存在传递依赖,其他非主键只能依赖于主键
.1表汇总
表名 功能说明
RSET_PRODUCT_PLAN生产计划表 提供每天的计划产量和计划人力
RSET_PRODUCT_RECORD生产记录表 记录单位时间(MIN)的产品情况
RSET_MANPOWER实时人力表 记录单位时间(MIN)的实力人力
RSET_UNIT_OF_EFFICIENCY实时效率表 统计单位时间内(MIN)的产量与效率
RSET_HOUR_OF_EFFICIENCY小时效率表 统计每小时内的产量与效率
RTES_USER用户表 记录系统用户信息
RTES_ROLE用户角色表 记录对应角色对应的菜单功能
.2表结构
表名:RTES_PRODUCT_PLAN生产计划表
栏位 数据类型 栏位描述
Plan_id VARCHAR2 计划ID BY排期 (PK)
Job_no VARCHAR2 单号
Line_no VARCHAR2 线号
Model_no VARCHAR2 产品的编号
Qty NUMBER 计划总产量
Product_qty NUMBER 每日计划的产量
Plan_manpower NUMBER 每日计划人力
Work_hour NUMBER 每日工时
Product_date TIMESTAMP 生产日期 格式15//
Delivery_date TIMESTAMP 交付日期 格式16// 表名:RTES_UNIT_OF_EFFICIENCY实时生产效率表
栏位 数据类型 栏位描述
Eff_id (unique id) VARCHAR2 效率ID BY MIN (PK)
Product_date TIMESTAMP 生产日期 格式15//
Job_no VARCHAR2 单号
Line_no VARCHAR2 线号
Model_no VARCHAR2 产品的编号
Time TIMESTAMP 实时时间 格式15:
Actual_manpower() NUMBER 实时人力
Plan_manpower() NUMBER 计划人力
Plan_qty() BY MIN NUMBER 计划产量 BY MIN
Actual_output() NUMBER 产量BY MIN
Efficiency (%) NUMBER 效率BY MIN 表名:RTES_HOUR_OF_EFFICIENCY小时生产表
栏位 数据类型 栏位描述
Eff_id VARCHAR2 效率ID BY HOUR (PK)
Product_date(//) TIMESTAMP 生产日期
Job_no VARCHAR2 单号
Line_no VARCHAR2 线号
Model_no VARCHAR2 产品的编号(介绍)
Time_from(hr): TIMESTAMP 开始时间
Time_to(hr): TIMESTAMP 结束时间
Avg_manpower NUMBER 平均人力 BY HOUR
Plan_manpower() NUMBER 计划人力 BY HOUR
Plan_qty() NUMBER 计划产量 BY HOUR
Output() NUMBER 产量 BY HOUR
Efficiency NUMBER 效率 BY HOUR 表名:RTES_USER用户表
栏位 数据类型 栏位描述
Card_no NUMBER 用户卡号 (PK)
Staff_no NUMBER 工号
User_name VARCHAR2 用户名字
User_pwd VARCHAR2 用户密码
User_role VARCHAR2 角色(线长,主管,经理)
Line_no VARCHAR2 负责的线号(主管及以上为空)
Manage_name VARCHAR2 上一级名字 表名:RTES_ROLE角色表
栏位 数据类型 栏位描述
Role_id NUMBER 角色记录ID (PK)
Role_name VARCHAR2 角色
Menu_name VARCHAR2 菜单权限
(查看计划丶修改排期丶操作报表丶员工管理丶用户管理丶查看实时) 表名:RTES_MANPOWER实时人力表
栏位 数据类型 栏位描述
Record_id NUMBER 记录id (PK)
Line_no VARCHAR2 线号 格式 MIL001
Product_date TIMESTAMP 生产日期 (//)
Time TIMESTAMP 时间 格式15:
Card_no NUMBER 卡号
Staff_no NUMBER 工号
Online VARCHAR2 员工状态(Y/N) 表名:RTES_PRODUCT_RECORD生产记录表
栏位 数据类型 栏位描述
Record_id NUMBER 记录id (PK)
Product_date TIMESTAMP 生产日期 (//)
Time TIMESTAMP 时间 格式(sysdate) HH:MI:SS
Line_no VARCHAR2 线号 格式 MIL001
Model_no VARCHAR2 产品的编号(介绍)
Job_no VARCHAR2 单号
Qty NUMBER 产量 默认为1
Enable VARCHAR2 是否有效(Y/N) 默认为Y 安全性设计
应用级的用户帐号密码不能与数据库相同,防止用户直接操作数据库。用户只能用帐号登录到应用WEB平台,通过WEB平台访问数据库,而没有其他途径操作数据库。
不同用户对系统数据拥有不同权限,可以在一定范围内保证系统数据的完整性。
6.1 用户帐号密码的加密方法
用户帐号采用MD5进行数据加密后再存入数据库,保证在任何地方都不会出现明文密码。有效的防止密码的窃取。
7优化
由于考虑到实际用户希望看到的数据类型,实时生产效率和小时生产效率,所以用两个表来存相应的数据,虽然小时生产效率可以通过实时生产效率表获得,但是考虑到数据量比较大,可能会影响数据库的整体性能,所以再加一个小时生产效率表。
每一年产生的数据量很大,所以可以分库保存每年的数据以及删除不需要的数据。
8数据库的管理与维护说明
。。。

Oracle数据库设计实例-实时生产效率系统数据库设计的更多相关文章

  1. 转: 透过CAT,来看分布式实时监控系统的设计与实现

    评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-syste ...

  2. 透过CAT,来看分布式实时监控系统的设计与实现

    2011年底,我加入大众点评网,出于很偶然的机会,决定开发CAT,为各个业务线打造分布式实时监控系统,CAT的核心概念源自eBay闭源系统CAL----eBay的几大法宝之一. 在当今互联网时代,业务 ...

  3. 海量日志实时收集系统架构设计与go语言实现

    日志收集系统应该说是到达一定规模的公司的标配了,一个能满足业务需求.运维成本低.稳定的日志收集系统对于运维的同学和日志使用方的同学都是非常nice的.然而这时理想中的日志收集系统,现实往往不是这样的. ...

  4. 关于SQL Server系统数据库详解

    介绍这里我们介绍SQL Sever内部的系统数据库的作用和用户数据库之间联系,关于SQL Sever如何管理用户数据库的原理,对于每个数据库开发人员和DBA都是必须掌握的. SQL Sever系统数据 ...

  5. SQL Server 系统数据库恢复

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/故障恢复/master 概述 SQL Server 维护一组系统级数据库(称为“系统数据库”),这些数据库对于服务器实例的运行至关 ...

  6. SQL SERVER 移动系统数据库

    移动系统数据库在下列情况下可能很有用: 故障恢复.例如,数据库处于可疑模式下或因硬件故障而关闭. 计划的重定位. 为预定的磁盘维护操作而进行的重定位. 移动 Master 数据库     在“开始”菜 ...

  7. sql server 备份与恢复系列八 系统数据库备份与恢复分析

    一.概述 在前面讲过"sql server 备份与恢复系列"都是集中在用户数据库上.sql server还维护着一组系统数据库,这些系统数据库对于服务器实例的运行至关重要.在每次进 ...

  8. sqlserver 标准系统数据库

    SQL server系统数据库很重要,大部分时候都不应该修改他们.唯一例外的是model数据库和tempdb数据库.model数据库允许部署更改到任何新创建的数据库(如存储过程),而更改tempdb数 ...

  9. Qt数据库 QSqlTableModel实例操作(转)

    本文介绍的是Qt数据库 QSqlTableModel实例操作,详细操作请先来看内容.与上篇内容衔接着,不顾本文也有关于上篇内容的链接. Qt数据库 QSqlTableModel实例操作是本文所介绍的内 ...

随机推荐

  1. Robot Framework(Screenshot 库)

    Screenshot 库 Scrennshot 同样为 Robot Framework 标准类库,我们只将它提供的其它中一个关键字“TakeScreenshot”,它用于截取到当前窗口.虽然 Scre ...

  2. Http请求响应模型

    主要用到以下四个部分: Client   API   DB   API 场景:登录 1.Client发起请求到API接口层 1.1用户在客户端输入登录信息,点击登录,发送请求 2.API接受用户发起的 ...

  3. CoreJava笔记之线程

    程序,进程和线程程序:没有执行的指令序列和相关的数据的集合(如:qq.exe) 如:磁盘上的可执行命令进程:正在执行的程序,进程占用资源(CPU,Memoary,IO)线程:是进程中并发执行的过程(共 ...

  4. sencha touch dataview 中添加 button 等复杂布局并添加监听事件

    config 中的属性默认都会自动生成   getter   setter  applier  updater 四个方法. applier 在调用  setter 时被调用, updater 在属性值 ...

  5. 008-PageBean类模板

    1 PageBean模板一 package ${enclosing_package}; import java.util.ArrayList; import java.util.List; publi ...

  6. MySQL操作汇总

    这学期学习了数据库系统原理,做了实验,mark一记. T—SQL的简单查询.连接查询 (1)用SQL语句建库.建表并插入记录. 建库: 建表: 插入记录: 查看 (2)修改表结构,包括修改属性列的数据 ...

  7. React.js 小书 Lesson23 - dangerouslySetHTML 和 style 属性

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson23 转载请注明出处,保留原文链接和作者信息. 这一节我们来补充两个之前没有提到的属性,但是在 ...

  8. centos7 mariadb 设置root密码

    centos7 mariadb 设置root密码   修改root密码1.以root身份在终端登陆,必须2.输入 mysqladmin -u root -p password root后面的 root ...

  9. 移动端rem适配屏幕

    九月已成历史,十月如期而至...可能是九月工作比较清闲,周记就没怎么写,十月决不能这么堕落,立贴为证,至少保证5篇博客!!!如果没学到什么新知识,就对以往的那些工作中常用到的知识点做个总结...话不多 ...

  10. Xshell记录日志的方法

    如何快速在Xshell中保存日志 步骤一 执行属性命令.打开Xshell终端模拟器,单击上方菜单栏的文件菜单,在其下拉选项选择属性,如下图所示. 步骤二 勾选日志选项.执行以上命令后会打开会话属性对话 ...