Avatar billede groyk Novice
24. august 2009 - 14:56 Der er 1 løsning

Database for ERP System

Hej Eksperter

Er ved at planlægge en database struktur til et ERP system. Meningen er at systemet skal bygges op løbende efter behov. Det jeg mangler nu er styklister, samt et varekartotek.

Min tanke er at lave et komplet database setup før jeg starter, så der ikke skal rettes alt for meget i databasen undervejs.

Mit største problem p.t. er at forklare databasestrukturen, findes det et gratis program der kan dette??

Herunder ses et alpa udkast til databasen, der dog ikke er tilnærmelses vis færdigt. Men det er jo MEGA svært at finde rundt i allerede nu synes jeg!

Måske der er en / flere der kunne komme med input til hvordan en database struktur opbygges "rigtigt"?


-- SQL til MP erp

-- Valuta
        CREATE TABLE `curency` (
        `curency_id` int(10) NOT NULL default '0',
        `name` varchar(10) NOT NULL default '0',
        `full_name` varchar(30) NOT NULL default '0',
        `active` int(1) NOT NULL default '0',
        `primary` int(1) NOT NULL default '0',
        `exchange_rate` int(3) NOT NULL default '0',
        PRIMARY KEY `curency_id` (`curency_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
-- Sprog
        CREATE TABLE `language` (
        `language_id` int(10) NOT NULL default '0',
        `name` varchar(10) NOT NULL default '0',
        `full_name` varchar(30) NOT NULL default '0',
        `active` int(1) NOT NULL default '0',
        `prioity` int(3) NOT NULL default '0',
        PRIMARY KEY `language_id` (`language_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

-- Brugere
    -- Bruger tabellen   
        CREATE TABLE `users` (
        `user_id` int(10) NOT NULL default '0',
        `user_name` varchar(10) NOT NULL default '0',
        `full_name` varchar(30) NOT NULL default '0',
        `email` varchar(30) NOT NULL default '0',
        `pass` varchar(10) NOT NULL default '0',
        PRIMARY KEY `user_id` (`user_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
   
    -- Rolle tabellen. Her oprettes nye roller
        CREATE TABLE `users_roles` (
        `roles_id` int(10) NOT NULL default '0',
        `roles_name` varchar(10) NOT NULL default '0',
        PRIMARY KEY `roles_id` (`roles_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
    -- Link mellem brugere og roller
        CREATE TABLE `users_roles_link` (
        `roles_id` int(10) NOT NULL default '0',
        `user_id` int(10) NOT NULL default '0',
        PRIMARY KEY `roles_link_id` (`roles_link_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
    -- Administrere bruger rettigheder på forskellige sider
        CREATE TABLE `users_roles_access` (
        `users_roles_id` int(10) NOT NULL default '0',
        `roles_id` int(10) NOT NULL default '0',
        `group_name` varchar(20) NOT NULL default '0', -- Området, ex. brugere, Bruges kun til listing!
        `area_name` varchar(20) NOT NULL default '0', -- Definere et specifikt område
        PRIMARY KEY `users_roles_id` (`users_roles_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

-- Varer
    -- Basis vare tabel
        CREATE TABLE `stock` (
        `stock_id` int(10) NOT NULL default '0',
        `item_nr` varchar(20) NOT NULL default '0',
        `unit_type` int(3) NOT NULL default '0', -- Enhed Stk. Meter ect.
        `weight` decimal(8,4) NOT NULL default '0', -- Enheds vægt i kg.
        `x` decimal(10,2) NOT NULL default '0', -- Længde i cm.
        `y` decimal(10,2) NOT NULL default '0', -- Bredde i cm.
        `z` decimal(10,2) NOT NULL default '0', -- Højde i cm.
        `stock_location_id` int(10) NOT NULL default '0', -- Lager lokation tabel.stock_locations
        `stock_turnover_id` int(10) NOT NULL default '0', -- Omsætningsgruppe. tabel.stock_turnover_groups
        `stock_type_id` int(1) NOT NULL default '0', -- Vare=0 , Stykliste=1 , Ydelse=2
        PRIMARY KEY `stock_id` (`stock_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
            CREATE TABLE `stock_text` (
            `stock_id` int(10) NOT NULL default '0',
            `language_id` int(10) NOT NULL default '0',
            `direct_search_term` varchar(20) NOT NULL default '0',
            `description` varchar(50) NOT NULL default '0',
            `sub_description` varchar(50) NOT NULL default '0',
            `long_description` text() NOT NULL default '0',
            KEY `stock_id` (`stock_id`)
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
    -- Omsætnings gruppe
        CREATE TABLE `stock_turnover_group` (
        `stock_turnover_id` int(10) NOT NULL default '0',
        `language_id` int(10) NOT NULL default '0',
        `group_name` varchar(20) NOT NULL default '0',
        KEY `stock_turnover_id` (`stock_turnover_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
    -- Lager lokation
        CREATE TABLE `stock_locations` (
        `stock_location_id` int(10) NOT NULL default '0', -- ID
        `language_id` int(10) NOT NULL default '0',
        `stock_location_name` varchar(20) NOT NULL default '0', -- Område ex. adresse, hal mm.
        `stock_location_number` varchar(20) NOT NULL default '0', -- Nr. ex. hyldenr.
        KEY `stock_location_id` (`stock_location_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
       
    -- Varegrupper - Her oprettes alle varegrupper, en vare kan sagtens være med i flere varegrupper
        CREATE TABLE `stock_groups` (
        `stock_groups_id` int(10) NOT NULL default '0', -- ID
        `language_id` int(10) NOT NULL default '0',
        `stock_groups_name` varchar(20) NOT NULL default '0', -- Område ex. adresse, hal mm.
        KEY `stock_groups_id` (`stock_groups_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

    -- Linket mellem varenr og varegrupper
        CREATE TABLE `stock_groups_link` (
        `stock_groups_id` int(10) NOT NULL default '0', -- ID
        `stock_id` int(10) NOT NULL default '0', -- Stock ID'et bruges, da det ALDRIG vil blive �ndret!
        KEY `stock_groups_id` (`stock_groups_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

    -- Prisgrupper
        CREATE TABLE `price_groups` (
        `price_group_id` int(10) NOT NULL default '0', -- ID
        `price_group_name` varchar(20) NOT NULL default '0', -- Stock ID'et bruges, da det ALDRIG vil blive �ndret!
        PRIMARY KEY `price_group_id` (`price_group_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
   
    -- Priser + link mellem varer og prisgrupper
        CREATE TABLE `prices` (
        `stock_id` int(10) NOT NULL default '0',
        `price_group_id` int(10) NOT NULL default '0',
        `sales_price` decimal(10,2) NOT NULL default '0',
        `national_vat` decimal(10,2) NOT NULL default '0', -- 25 % på alt i DK
        KEY `stock_id` (`stock_id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
                   
    -- Rabat regler
        CREATE TABLE IF NOT EXISTS `discount` (
            `discount_id` int(10) NOT NULL auto_increment,
            `discount_stock_area_type` int(2) collate utf8_danish_ci NOT NULL default '', --  vare=0, Varegruppe=1, alle varer=2
            `discount_stock_area` int(10) collate utf8_danish_ci NOT NULL default '',
            `discount_customer_area_type` int(2) collate utf8_danish_ci NOT NULL default '', --  kunde=0, rabat gruppe=1, alle kunder=2
            `discount_customer_area` int(10) collate utf8_danish_ci NOT NULL default '', -- rabatgruppe, kundenr
            `discount_turnover_type` int(2) collate utf8_danish_ci NOT NULL default '0', -- enheder=0, omsætning=1,
            `discount_turnover` decimal(10,2) collate utf8_danish_ci NOT NULL default '0',
            `discount_calc_type` int(2) collate utf8_danish_ci NOT NULL default '0', -- std=0, assorteret=1
            `discount_calc` varchar(50) collate utf8_danish_ci NOT NULL default '0', -- Pris beregning ex. [salgs_pris]-40% eller [kost+40%] ect.
            UNIQUE KEY `discount_id` (`discount_id`)
            ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
           
    -- Leverandør/Vare link mellem kreditorere og vare
        CREATE TABLE `kreditor_item` (
            `id` int(10) NOT NULL default '0', -- Unikt ID for varen
            `creditor_id` int(10) NOT NULL default '0', -- Kreditor ID
            `item_id` int(10) NOT NULL default '0', -- Vare ID
            `creditor_item_no` varchar(30) NOT NULL default '0', -- Kreditorens varenr.
            `creditor_text` varchar(50) NOT NULL default '0',
            `creditor_sub_text` varchar(50) NOT NULL default '0',
            `batch_size` int(10) NOT NULL default '0',
            `batch_cost` decimal(10,4) NOT NULL default '0',
            PRIMARY KEY `id` (`id`)
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
           
           
    -- Styklister
        CREATE TABLE `part_list` (
            `id` int(10) NOT NULL default '0', -- Sørger for at samme vare kan være flere steder på eén stykliste ex. forskellige længder stål
            `part_list_id` int(10) NOT NULL default '0', -- ID'et kommer fra det varenr. styklissten tilhører
            `stock_id` int(10) NOT NULL default '0', -- Stock ID'et bruges, da det ALDRIG vil blive �ndret!
            `quantity` decimal(10,4) NOT NULL default '0',
            PRIMARY KEY `id` (`id`)
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
   
    -- Kreditorere
    -- Kreditor grupper
   
    -- Debitorere
    /*    CREATE TABLE `customers` (
            `customer_id` int(10) NOT NULL default '0', -- Sørger for at samme vare kan være flere steder på eén stykliste ex. forskellige længder stål
            `customer_nr` int(10) NOT NULL default '0', -- ID'et kommer fra det varenr. styklissten tilhører
            prisgruppe
            PRIMARY KEY `customer_id` (`customer_id`)
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
    */
    -- Kunde grupper
    -- Rabat grupper
   
    -- Indkøbsordre
    -- Salgsordre
    -- Betalingsbetingelser   
Avatar billede groyk Novice
24. august 2009 - 21:38 #1
Har fundet DBDesigner fra www.fabforce.net

prøver lige at tage et kig på denne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester