Saya mencoba membuat diagram mer, untuk kontrol inventaris dengan logika berikut, saya memiliki 10 komponen dengan model yang sama (10 monitor ACER 24, dengan karakteristik yang sama.), Satu-satunya hal yang membedakan masing-masing komponen ini adalah menjadi nomor seri, jadi saya memiliki logika berikut:

enter image description here

Tapi saya tidak tahu apakah hubungan ini benar, terutama dengan bagian inventaris, apakah benar saya menambahkan nomor seri di entitas komponen, dan membuat 10 catatan inventaris?

enter image description here

Saya mengalami kesulitan memilih jalan terbaik untuk logika yang saya jelaskan di atas.

0
Felipe 4 Juli 2020, 17:13

1 menjawab

Jawaban Terbaik

Dalam notasi relasional, setiap relasi harus memiliki kunci utama, sedangkan dalam contoh Anda:

stock, component_has_component_category, user_has_components tidak.

Untuk mengatasinya, tambahkan kedua bidang dalam kunci utama untuk setiap relasi.

Relasi components di sisi lain memiliki bidang yang tidak berguna id, yang dapat diganti dengan kunci utama component_id + serial_number, dan jika pengguna memiliki komponen (dirujuk oleh kunci asing) relasi user_has_components akan memiliki kedua bidang component_id + serial_number yang logis, karena pengguna memiliki instance komponen tertentu.

Hubungan hipotetis components_inventory akan serupa, ia memiliki dua bidang component_id dan serial_number yang merupakan kunci utama dan kunci asing untuk components, yang menunjukkan bahwa komponen tertentu dengan serial nomor hadir. (dalam arti tertentu components_inventory adalah bagian dari components)

EDIT: Pandangan saya tentang tampilannya dari segi data:

component

| component_id | .. other stuff |
|            1 | ..             |
|            2 | ..             |


components (all existent components and serial numbers)

| component_id | serial_number |
|            1 |           101 |
|            1 |           102 |
|            1 |           103 |
|            1 |           104 |
|            2 |           201 |
|            2 |           202 |


user_has_component (refers to components)

| user_id | component_id | serial_number |
| mary    |            1 |           101 |
| john    |            1 |           104 |
| john    |            2 |           202 |

category_inventory (refers to components, some components we have, but not
users)

| component_id | serial_number | location           |
|            1 |           102 | warehouse New York |
|            1 |           103 | warehouse New York |
|            2 |           201 | warehouse Paris    |

1
Alexey Larionov 4 Juli 2020, 15:20