Ҷадвалҳо дар пойгоҳи додаҳо пайваст кардани
Фарз мекунем, ки мо ҷадвале бо номҳои корбарон ва шаҳрҳое, ки онҳо дар он зиндагӣ мекунанд, дорем:
| id | name | city |
|---|---|---|
| 1 | user1 | city1 |
| 2 | user2 | city1 |
| 3 | user3 | city2 |
| 4 | user4 | city1 |
| 5 | user5 | city3 |
| 6 | user6 | city2 |
Нокомии ин ҷадвал ин аст, ки ҳамон як шаҳр барои корбарони гуногун чанд маротиба такрор мешавад. Ин боиси баъзе мушкилиҳо мегардад.
Нахуст, такрори доимӣ боиси он мегардад, ки пойгоҳи додаҳо ҷойи зиёдтарро ишғол мекунад.
Дуюм, амалҳо бо шаҳрҳоро анҷом додан кофӣ нороҳат аст. Масалан, мо мехоҳем рӯйи экран феҳристи ҳамаи шаҳрҳоро чоп кунем. Ба ин оддӣ анҷом додани он мумкин нест. Мо бояд ҳамаи корбаронро бо шаҳрҳояшон гирем, сипас такроршавиҳоро аз шаҳрҳои гирифташуда тоза кунем ва фақат он гоҳ мо ин феҳристро мегирем.
Ва акнун тасаввур кунем, ки дар пойгоҳ 10000
корбар аз 10 шаҳр мавҷуд аст - барои ин 10
шаҳр мо бояд ҳамаи ҷадвалро
аз сатрҳои бисёр гирем - натиҷа
операцияи хеле суст бо сарфаи беҳудаи
захираҳо хоҳад шуд.
Ҳалли мушкилӣ
Мо бояд ҷадвали худро ба ду ҷадвал тақсим кунем: дар яке
шаҳрҳо нигоҳ дошта мешаванд, ва дар дигаре - корбарон.
Дар ин ҳол дар ҷадвали корбарон сутун бошад
city_id, ки ба шаҳри корбар ишора мекунад.
Пас, биёед ду ҷадвал созем. Ҷадвали бо шаҳрҳо:
| id | name |
|---|---|
| 1 | city1 |
| 2 | city2 |
| 3 | city3 |
Ҷадвали бо корбарон:
| id | name | city_id |
|---|---|---|
| 1 | user1 | 1 |
| 2 | user2 | 1 |
| 3 | user3 | 2 |
| 4 | user4 | 1 |
| 5 | user5 | 3 |
| 6 | user6 | 2 |
Фарз кунем, ки шумо бояд молҳоро (ном, нарх, миқдор) ва категорияҳои ин молҳоро нигоҳ доред. Сохтори нигоҳдориро тавсиф кунед.
Фарз кунем, ки шумо бояд дарёҳо ва баҳрҳоро, ки ин дарёҳо ба он ҷорӣ мешаванд, нигоҳ доред. Сохтори нигоҳдориро тавсиф кунед.
Фарз кунем, ки шумо бояд шаҳрҳо ва кишварҳоро, ки онҳо дар он воқеъанд, нигоҳ доред. Сохтори нигоҳдориро тавсиф кунед.