A simple website that simulate the management system of product traceability.
- Operating system :
Ubuntu 16.04 - Programming language :
Python 3.5.2 - GUI : web
- Python web framework :
flask
- clone the repository
$ git clone https://github.com/e652424342007/DBMS-Project-Traceability.git- create and activate virtual environment
$ virtualenv dbms_venv
$ source dbms_venv/bin/activate- install required Python package with pip
$ cd DBMS-Project-Traceability
$ pip install -r requirements.txt- set flask environment
$ export FLASK_APP=dbms
$ export FLASK_ENV=development- initialize the sqlite database
$ flask init-schema
$ flask init-dataNote: You can use $ flask to see what command can be used (at DBMS-Project-Traceability directory)
- lanuch
$ flask run- usage
open your browser and enter URL
127.0.0.1:5000in your browser's URL bar
Every embedded SQL is demostrated to highlight block.
Management System: default to display current content ofCommoditytableSELECT: dropdown list that includeSELECT,IN,NOT IN,EXISTS,NOT_EXISTS,COUNT,SUM,MAX,MIN,AVG,HAVINGDELETE、INSERT、UPDATEhave embedded SQL as well.SQL MODE: you can enter customized SQL in the here.RESET: reset all of table in database to the defaultLOOK_TABLES: convenience to check content of tablesERD and Schema: ER-diagram and relation schema about this management system
- 我想做一個消費者可以對於產品生產、運送清楚了解的產品履歷系統
- 也可追蹤是否想要購物的商品有庫存或是有店家在販賣
製造商: 產品製造商 (製造商未必只能製造一種產品,但預設的設計和資料是給一種)製造商ID: 製造商的 ID, 為 keyName: 製造商名字商品ID: 製造的商品製造數量: 所製造商品的數量
中盤商: 產品分發商 (可指定分發商的分發區域,目前裡面未加入,例如東西南北)中盤商ID: 中盤商的 ID, 為 keyName: 中盤商名字商品ID: 分發的商品 ID (這裡應由分發這個 relationship 替代)庫存: 分發的商品的庫存
市場: 市場或是商圈,販售商的所在地 (可以延伸至與中盤商的 relationship)市場ID: 市場的 ID, 為 key區域: 市場所在區域市場面積店家數: 市場內有的店家數量
販售商: 泛指所有販售東西的商家, e.g. 便利商店、雜貨店、專賣店等等販售商ID: 販售商的 ID, 為 keyName: 販售商名字商品價錢: 所販售的商品的價錢 (可不只販售一個商品)
商品: 所有可以想像被製造的商品 (可延伸更多的 attribute,例如: 體積、品質等等)商品ID: 枋品的 ID, 為 keyName: 商品的名字Weight: 商品重量
製造: 製造商 製造 商品1:N- 所有商品都被某 1 個製造商製造
- 製造商可製造多個產品
位於: 販售商 位於 市場1:N- 所有販售商都只位於某 1 個市場
- 所有市場都有販售商,且可有多個 (N)
販售: 販售商 販售 商品M:N- 所有販售商都需販售商品,且可販售多個商品 (M)
- 所有商品都要被販售,且可由多個販售商販售 (N)
分發: 中盤商 分發 商品 給 販售商1:N:M1: 1 個中盤商 可分發給 1 販售商 1 種產品 (作為簡化的假設)N: 1 種商品 被分發至 1 個販售商,可由 N 個中盤商分發M: 1 個中盤商 可分發 1 種商品 給 M 個販售商
- 可以進一擴展產品的原料
- ERM 和 Schema 可再進行優化


