Вы находитесь на странице: 1из 6

Super Market System

Inventory SubSystem
Table description : Items Group Master
Table name : str_item_groups_mst
Synonym Name : str_igrp_mst
Name Type Null Constraint Remark
Igrp_id N(10) Not null PK Primary Key
Igrp_num N(10) Not null UK Number
Igrp_name V2(250) Not null UK Name
Igrp_str_date DATE Null
igrp_end_date DATE Null
Igrp_rem V2(250) Remark

create table str_item_group_mst (


    Igrp_id number(10) primary key,
    Igrp_num number(10) not null,
    Igrp_name varchar2(250) not null,
    Igrp_bgn_dt date,
    Igrp_end_dt date,
    Igrp_rem  varchar2(250),
    CONSTRAINT Igrp_num_uk UNIQUE(Igrp_num),
    CONSTRAINT Igrp_name_uk UNIQUE(Igrp_name));

Table description : Items Group Detail


Table name : str_item_groups_trn
Synonym Name : str_igrp_trn
Name Type Null Constraint Remark
Tgrp_id N(10) Not null PK Primary Key
Igrp_id N(10) Not null FK Master Id
Tgrp_num N(10) Not null UK(Igrp_Id+Tgrp_Num) Number
Tgrp_name V2(250) Not null UK Name
Tgrp_rem V2(250) Remark

create table str_item_groups_trn(


    Tgrp_id number(10) primary key,
    Igrp_id number(10) not null ,
    Tgrp_num number(10) not null,
    Tgrp_name varchar2(250) not null,
    Tgrp_rem  varchar2(250),         
    CONSTRAINT Igrp_Igrp_fk FOREIGN KEY (Igrp_id )
    REFERENCES str_item_group_mst(Igrp_id),
    CONSTRAINT Tgrp_num_uk UNIQUE(Tgrp_num,Igrp_id),
    CONSTRAINT Tgrp_name_uk UNIQUE(Tgrp_name));
Table description : Unites
Table name : str_units
Synonym Name : str_unt
Name Type Null Constraint Remark
Stru_id N(10) Not null PK Primary key
Stru_num N(10) Not null UK Number
Stru_name V2(250) Not null UK Name
Stru_symbole V2(5) Not null UK Print symbole

create table str_units (


    Stru_id number(10) primary key,
    Stru_num number(10) not null ,
    Stru_name varchar2(250) not null,
    Stru_symbole  varchar2(5) not null,    
    constraint Stru_num_uk UNIQUE( Stru_num),  
    constraint Stru_name_uk UNIQUE( Stru_name),    
    constraint Stru_symbole_uk UNIQUE(Stru_symbole));
Table description : Items
Table name : str_items
Synonym Name : str_itm
Name Type Null Constraint Remark
Item_id N(10) Not null PK Primary Key
Item_num N(10) Not null UK Number
Item_name V2(250) Not null UK Name
Stru_id N(10) Not null FK Default item unit
Igrp_id N(10) Not null FK
Tgrp_id N(10) Not null FK
Item_ucost N(17,3) Default 0 Unit cost
Item_qty N(17,3) Default 0 Current Quantity
Item_uprice N(17,3) Default 0 Unit sale price
Item_rem V2(250) Remark

create table str_items (


    item_id number(10) primary key,
    item_num number(10) not null ,
    item_name varchar2(250) not null,
    Stru_id number(10) not null,
Igrp_id number(10) not null,
    tgrp_id number(10) not null,
    item_ucost number(17,3) default 0,
    item_qty number(17,3) default 0,
    item_uprice number(17,3) default 0,
    item_rem varchar2(250),
    constraint Item_num_uk UNIQUE( Item_num),  
    constraint Item_name_uk UNIQUE( Item_name),    
    constraint  item_stru_fk FOREIGN KEY (Stru_id)
    REFERENCES str_units (Stru_id ),
   constraint  item_Igrp_fk FOREIGN KEY (Igrp_id)
    REFERENCES str_item_groups_mst(Igrp_id));
constraint  item_Tgrp_fk FOREIGN KEY (tgrp_id)
    REFERENCES str_item_groups_trn(Tgrp_id));

Table description : Items units


Table name : str_items_unites
Synonym Name : str_iunit
Name Type Null Constraint Remark
Iunt_id N(10) Not null PK Primary Key
Item_id N(10) Not null FK Item key
Stru_id N(10) Not null FK Unit key
Iunt_percent N(17,3) Default 1 Exchange percent between
default item unit and this unit
Iunt_rem V2(250) Remark

create table str_items_unites (


    Iunt_id  number(10) primary key,
    Item_id number(10) not null ,
    Stru_id  number(10) not null,
    Iunt_percent  number(17,3) default 1 ,
    Iunt_rem  varchar2(250) ,
              
    CONSTRAINT iunt_Item_fk FOREIGN KEY (Item_id)
    REFERENCES str_items(Item_id),

    CONSTRAINT iunt_stru_fk FOREIGN KEY (stru_id)


    REFERENCES str_units(Stru_id));

Table description : Stores


Table name : str_store
Synonym Name : str_str
Name Type Null Constraint Remark
Stor_id N(10) Not null PK Primary Key
Stor_num N(10) Not null UK Number
Stor_name V2(100) Not null UK Name
Stor_rem V2(250) Remark

create table str_store (


    Stor_id number(10) primary key,
    Stor_num number(10) not null ,
    Stor_name varchar2(250) not null,
    Stor_rem  varchar2(250) ,
    constraint Stor_num_uk UNIQUE( Stor_num),  
    constraint stor_name_uk UNIQUE( stor_name));

Table description : Stor Items


Table name : str_stor_items
Synonym Name : str_stritm
Name Type Null Constraint Remark
Stri_id N(10) Not null PK Primary Key
Stor_id N(10) Not null FK Stor
Item_id V2(100) Not null FK Item
Stri_ucost N(17,3) Default 0 Unit cost
Stri_qty N(17,3) Default 0 Current Quantity
Stri_open N(17,3) Default 0 Open Qty
Stri_min N(17,3) Default 0 Minmum qty
Stri_max N(17,3) Default 0 Maximum qty
Stri_req N(17,3) Default 0 Request qty
Stri_rem V2(250) Remark

(Create table str_stor_items


,stri_id number(10) primary key     
, stor_id   number(10) not null    
,item_id number(10) not null    
,stri_ucost number(17,3) default 0     
,stri_qty number(17,3) default 0     
,stri_open number(17,3) default 0    
,stri_min number(17,3) default 0
,stri_max number(17,3) default 0     
,stri_req number(17,3) default 0     
,stri_rem varchar2(250)    

constraint stor_fk FOREIGN KEY (stor_id)          


,REFERENCES  str_store (stor_id)          

constraint  item_fk FOREIGN KEY (Item_id)         


;)REFERENCES str_items(item_id)          
‫قواعد عامة‬
‫‪ ‬لكل جدول اسم يبــدأ بـ ‪ str‬لعــدم تــداخل األســماء مــع جــداول نظــام أخــر (نــوع من‬
‫التنظيم لسهولة المتابعة ليس إال)‪.‬‬
‫‪ ‬لكل جدول اسم مستعار ‪ Synonym‬يبدأ بـ ‪.str‬‬
‫‪ ‬حقول الجداول تبدأ بأحرف من اسم الجدول عادة ‪ 4‬أحرف‪.‬‬
‫‪ ‬يتم ترتيب الحقول كالتالي‪:‬‬
‫‪ o‬المفتاح األساسي ‪.Primary‬‬
‫‪ o‬الحقول اإلجبارية ‪ Not Null‬و يفضل مفاتيح الربط مع الجداول األخرى‪.‬‬
‫‪ o‬الحقول ذات القيم اإلفتراضية ‪.Default valus fields‬‬
‫‪ o‬الحقول الممكن أن تكون فارغة ‪.Null able fields‬‬
‫‪ ‬لكــل جــدول مفتــاح أساســي ‪ id‬ولــو كــان للجــدول مفتــاح وحيــد مثــل ‪ num‬ويمكن‬
‫توضيح أول الفوائد في حال رغب المستخدم في إعادة ترقيم البيانات في الجــدول و‬
‫هناك حقول ربط للجدول في جداول أخرى‪.‬‬
‫‪ ‬يجب وضع فهرس ‪ index‬على حقول الربط مع الجداول األخرى‪.‬‬
‫‪ ‬الداعي لوجود اسم عربي و اسم أجنبي فعادة تكتب أسماء المواد حسب المورد‪.‬‬

‫بالنسبة لجدول واحدات المواد يستخدم فقط في حـال التعامــل مـع المـادة الواحــدة بـأكثر من‬
‫وحدة و إال فالداع له‪.‬‬
‫بالنسبة للعمالت و األسعار في بالعملة اإلفتراضية للبلد الذي سينفذ عليه النظام أما في حال‬
‫ورود احتمال عمل النظام في أكثر من بلد ولنفس البيانات فيختلف التحليل‪.‬‬

‫ال تحرمونا من دعائكم في ظهر الغيب‬

‫أخوانكم ‪( ....‬هيثم ‪ ,‬حسن ‪ ,‬الجبالي )‬

‫اللهم انا نسألك لهم ولنا الفردوس االعلى ومرافقت نبيك‬


‫المصطفى عليه السالم في الجنة‬

‫تم بحمد هللا وعونه‬

Вам также может понравиться