Table of Contents

Shared database

Database access technical data

Server IPregional server IP
Port5432
Database typePostgreSQL
Access modeODBC
ODBC Driver 32bit, 64bit
Database Nameandon_PLANT_CODE
Usernamefrankerp
Passwordf17!

E-R database schema



Data dictionary

Entities

Entity
Name Description Attributes
Name Description Type Identifier
prodline Production lineskeyLine unique keyvarchar SI
descrizioLine descriptionvarchar
codrepDepartment codevarchar
descrepDepartment namevarchar
codstabPlant codevarchar
descstabPlant descriptionvarchar
unitprod Unique production id, produces itemscodiceProduction unit unique codevarchar YES
codartArticle codevarchar
dartArticle descrptionvarchar
procordProduction Order (ERP)varchar
qtaprevNumber of items to be produced per production orderdouble
unitaNumber of pieces per unit production (usually 1)double
tmcrProduction unit creation Epoch Time (number of seconds from Jan 1, 1970)long
datacrCreation date in YYYYMMDD format (database date)varchar
oracrCreatione time formatted as HH:MM:SS (HH=00..24) varchar
causanc Non-conformity causes listcodiceCause unique codevarchar SI
descrizioNon-conformity cause descriptionvarchar
causafm Line stop causes listcodiceStop cause unique codevarchar SI
descrizioLine stop cause descriptionvarchar
tipofmType of stop: F = downtime, M = micro-stop, P = programmed pausevarchar
setupReferred to tooling stops: 1 = stop is a tooling, 0 = stop is not a toolinginteger

Relations

Relations
Name Description Components Attributes
Name Description Type
regprod Each row represents a production event prodline, unitprod dataEvent date formatted as YYYYMMDDvarchar
oraEvent time formatted as HH:MM:SSvarchar
tmEvent Epoch time (number of seconds elapsed from Jan 1, 1970)long
qtaNumber of produced pieces in production unitsdouble
regnc Each row represents a non-compliant event prodline, unitprod, causanc dataEvent date formatted as YYYYMMDDvarchar
oraEvent type formatted as HH:MM:SSvarchar
tmEvent Time Epoch (number of seconds from Jan 1, 1970)long
qtaNumber of scrapt items (production units)double
regfm Every row represents a begin or end of a line stop prodline, causafm dataEvent date formatted as YYYYMMDDvarchar
oraEvent type formatted as HH:MM:SSvarchar
tmEvent Time Epoch (number of seconds from Jan 1, 1970)long
tmdiffTime difference between 2 consecutive events, being them start or stop doesn't matterlong
tipoeventoINFM=line stop begins, FIFM=line stop endslong

Logical Schema

TableForeign keys
prodline(codice, descrizio, codrep, descrep, codstab, descstab)
unitprod(codice, codart, dart, procord, qtaprev, unita, tmcr, datacr, oracr)
causanc(codice, descrizio)
causafm(codice, descrizio, tipofm, setup)
regprod(codice, data, ora, tm, qta, codlot, codubi)- codlot foreign key on unitprod.codice
- codubi foreign key on prodline.codice
regnc(codice, data, ora, tm, qta, codlot, codubi, caudef)- codlot foreign key on unitprod.codice
- codubi foreign key on prodline.codice
- caudef foreign key on causanc.codice
regfm(codice, data, ora, tm, tmdiff, tipoevento, codubi, caufm)- codubi foreign key on prodline.codice
- caufm foreign key on causafm.codice

Example Queries

Produced pieces on Sep 18, 2017 with date, time, unique identifier, line description, department description, article description and production order, ordered by production time

SELECT DATA, ora, codlot, prodline.descrizio AS linea, prodline.descrep, unitprod.dart, unitprod.procord FROM regprod 
INNER JOIN prodline ON prodline.codice=regprod.codubi
INNER JOIN unitprod ON unitprod.codice=regprod.codlot
WHERE DATA='20170918'
ORDER BY tm

Produced pieces after Sep 17 (included) grouped by day, product and production order on line 151301

SELECT DATA, unitprod.dart, unitprod.procord, SUM(qta) AS pezzi FROM regprod
INNER JOIN unitprod ON unitprod.codice=regprod.codlot
WHERE regprod.codubi='151301' AND regprod.data>='20170917'
GROUP BY DATA, dart, procord

List of line 151301 stop (begins and ends) from 06:00 to 14:00 of Sep 17, with date, time, run/stop time in minutes, type of stop, stop cause description, stop type, setup (1,0)

SELECT DATA, ora, tmdiff/60 AS dtm, tipoevento, causafm.descrizio AS dfermo, causafm.tipofm, causafm.setup FROM regfm
INNER JOIN causafm ON causafm.codice=regfm.caufm
WHERE codubi='151301' AND DATA='20170917' AND ora>='06:00' AND ora<='14:00'
ORDER BY tm