🏭 Մեքենաշինական արդյունաբերական համակարգ 📍 Հայաստան · 2026
🗄 NORMALIZACIA 3NF

Տվյալների բազայի մոդել

MySQL նորմալիզացված կառուցվածք

🔑 PK = Primary Key  |  🔗 FK = Foreign Key  |  ⚙ InnoDB · utf8mb4 · 9 aghyusakan · 2 VIEW
📋 branches Chyugher
🔑 id INT PK AUTO
· code VARCHAR(30) UQ
· name_hy VARCHAR(120)
· description TEXT
· image_url VARCHAR(255)
· sort_order INT
📋 machine_types Meqenaneri Tasaker
🔑 id INT PK AUTO
🔗 branch_id INT FK → branches
· name_hy VARCHAR(150)
· description TEXT
· image_url VARCHAR(255)
· year_intro INT
📋 part_categories Maser i Kategoriaynner
🔑 id INT PK AUTO
· name_hy VARCHAR(100)
· icon VARCHAR(10)
📋 parts Maser
🔑 id INT PK AUTO
🔗 branch_id INT FK → branches
🔗 category_id INT FK → part_categories
· article VARCHAR(60) UQ
· name_hy VARCHAR(150)
· material VARCHAR(100)
· weight_kg DECIMAL(10,3)
· unit VARCHAR(20)
· price_amd DECIMAL(12,2)
· stock_qty INT
· description TEXT
· image_url VARCHAR(255)
· created_at TIMESTAMP
📋 machine_parts Meqena–Mas Kap
🔑 id INT PK AUTO
🔗 machine_type_id INT FK → machine_types
🔗 part_id INT FK → parts
· quantity_needed INT
· is_critical TINYINT(1)
· notes VARCHAR(255)
📋 factories Hayk. Gorcararanner
🔑 id INT PK AUTO
· name_hy VARCHAR(150)
· city VARCHAR(80)
· founded INT
· employees INT
· products TEXT
· image_url VARCHAR(255)
· website VARCHAR(200)
📋 professions Masnagitutyunner
🔑 id INT PK AUTO
· title_hy VARCHAR(120)
· description TEXT
· salary_range VARCHAR(80)
· skills TEXT
· image_url VARCHAR(255)
📋 contact_messages Kap Haghordagutyunner
🔑 id INT PK AUTO
· name VARCHAR(100)
· email VARCHAR(150)
· subject VARCHAR(200)
· message TEXT
· is_read TINYINT(1)
· sent_at TIMESTAMP
📋 query_log Harcumi Magazini
🔑 id INT PK AUTO
· query_name VARCHAR(100)
· executed_at TIMESTAMP
🔗 Foreign Key Kapcerer
AshkhatakaynFK BnuttagunyHghord AshkhatakaynON DELETE
machine_types branch_id branches(id) CASCADE
parts branch_id branches(id) CASCADE
parts category_id part_categories(id) RESTRICT
machine_parts machine_type_id machine_types(id) CASCADE
machine_parts part_id parts(id) CASCADE
1NF — Arjek Normal Dzev
✅ Bolor bnuttagutnery atomakan en (vera-baz. arbel chka)
✅ Aghyusakany uniq PK uni (id AUTO_INCREMENT)
✅ Mek bnuttaguny — mek arzhek. Krknyalain data chka
✅ Tabels-ery unin anchun anun (branches, parts, etc.)
✅ Maser i kategoriaynner arajin normaldzevov
2NF — Erkrord Normal Dzev
✅ Martavum é 1NF-i bardzratsumov
✅ Bolor bnuttagutnery lriv kaghvats en PK-in
✅ machine_parts-um composite unique key (machine_type_id, part_id)
✅ quantity_needed kaghvats é AMBOGHY composite key-in
✅ parts-um price_amd kaghvats é parts.id-in, oc branch-in
3NF — Errorord Normal Dzev
✅ Transitiv kagharutyun yoxacvats é
✅ parts-um department_name chka (parts.branch_id → branches.name_hy)
✅ machine_types-um branch_name chka (branch_id FK kaxem)
✅ Bolor bnuttagutnery kaghvats en PKin, oc michanavor
✅ VIEW-ery normalizacman texniqan en, oc lracum
👁 SQL VIEW-er
v_branch_stats
SELECT b.id, b.name_hy, COUNT(DISTINCT mt.id) AS machine_count, COUNT(DISTINCT p.id) AS part_count, COALESCE(SUM(p.price_amd * p.stock_qty),0) AS total_stock_value FROM branches b LEFT JOIN machine_types mt ON mt.branch_id = b.id LEFT JOIN parts p ON p.branch_id = b.id GROUP BY b.id, b.name_hy;
v_machine_parts_full
SELECT mt.name_hy AS maqina, b.name_hy AS chyugh, p.article, p.name_hy AS mas, pc.name_hy AS kategoria, mp.quantity_needed, mp.is_critical, p.price_amd, p.stock_qty FROM machine_parts mp JOIN machine_types mt ON ... JOIN branches b ON ... JOIN parts p ON ... JOIN part_categories pc ON ...;
🔍 Sech harcum irakanaclnel: toxaknery dinamik SQL harcumner en katagorcum bazayum ev aryanqum arancakin!
📝 Irakan. harcumner qanakutyun: 0
14
Bolor maser
🏭
8
Meqenayakan tasaker
📦
5
Ô±Õ¾Õ¿Õ¸Õ´Õ¸Õ¢Õ«Õ¬
📦
3
Ô³ÕµÕ¸Ö‚Õ²Õ¡Õ¿Õ¶Õ¿
📦
3
Ռոբոտաշին
📦
3
Հաստոցաշի
📊 Chyughneri Hashvetvatyun
Ô±Õ¾Õ¿Õ¸Õ´Õ¸Õ¢Õ«Õ¬Õ¡Õ·Õ«Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶ 5 mas
2 meqenayakan tasak · 23,630 hzr. ֏
Ô³ÕµÕ¸Ö‚Õ²Õ¡Õ¿Õ¶Õ¿Õ¥Õ½Õ¡Õ¯Õ¡Õ¶ Õ´Õ¥Ö„Õ¥Õ¶Õ¡Õ¶Õ¥Ö€ 3 mas
2 meqenayakan tasak · 10,670 hzr. ֏
Ռոբոտաշինություն 3 mas
2 meqenayakan tasak · 21,100 hzr. ֏
Հաստոցաշինություն 3 mas
2 meqenayakan tasak · 9,880 hzr. ֏
🗂 Kategoriayneri Verabeyal
🔥 Շարժիչ 3
⚙ Փոխանցատուփ 3
âš¡ Ô·Õ¬Õ¥Õ¯Õ¿Ö€Õ¡Õ¯Õ¡Õ¶ 3
🏗 Կմախքային 2
🔩 Կախոց 1
🛑 Արգելակային 1
💧 Հիդրավլիկ 1
🚪 Ծածկ/Կաբինա 0
💾 SQL failn bazayi lriv karucvackqy é. Copy-paste areq phpMyAdmin-um.
⬇ Bnelel database.sql
-- MechArmenia DB — 3NF Normalizacvats -- Bolor tables, indexes, FK-er ev sample data CREATE DATABASE IF NOT EXISTS mecharmenia CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE mecharmenia; -- branches, machine_types, part_categories, parts, -- machine_parts, factories, professions, -- contact_messages, query_log -- + 2 VIEW: v_branch_stats, v_machine_parts_full -- Tesek sql/database.sql fayl lriv SQL kody hamar