Базаҳои додаҳо дар Python-ро пайваст кардани ҷадвалҳо
Фарз мекунем, ки мо ҷадвале бо номҳои корбарон ва шаҳрҳое, ки онҳо дар он зиндагӣ мекунанд, дорем:
| id | ном | шаҳр |
|---|---|---|
| 1 | корбар1 | шаҳр1 |
| 2 | корбар2 | шаҳр1 |
| 3 | корбар3 | шаҳр2 |
| 4 | корбар4 | шаҳр1 |
| 5 | корбар5 | шаҳр3 |
| 6 | корбар6 | шаҳр2 |
Нокомии ин ҷадвал ин аст, ки ҳамон шаҳр чанд маротиба барои корбарони гуногун такрор мешавад. Ин боиси баъзе мушкилот мегардад.
Аввалан, такрори доимӣ боиси он мегардад, ки базаи додаҳо маконро бештар ишғол мекунад.
Дуюм, амалҳо бо шаҳрҳо андак ноқулай аст. Масалан, мо мехоҳем рӯи экран рӯйхати ҳамаи шаҳрҳоро чоп кунем. Ба осонӣ ин кор карда намешавад. Мо бояд ҳамаи корбаронро бо шаҳрҳояшон гирем, пас такроршавиҳоро аз шаҳрҳои гирифташуда тоза кунем ва фақат он гоҳ мо ин рӯйхатро хоҳем гирифт.
Ва акнун тасаввур кунем, ки дар база 10000
корбар аз 10 шаҳр мавҷуд аст - барои ин
10 шаҳр мо бояд тамоми
ҷадвалро аз сатрҳои бисёр гирем -
амалиёти хеле суст бо
исрофи беҳудаи захираҳо хоҳад буд.
Мушкил ҳал карда мешавад
Ба ду қисм тақсим кардани ҷадвали мо лозим аст: дар як ҷо
шаҳрҳо нигоҳ дошта мешаванд, ва дар дигаре - корбарон.
Дар ин ҳол, дар ҷадвали корбарон сутуни
city_id хоҳад буд, ки ба шаҳри корбар ишора мекунад.
Хуб, биёед ду ҷадвал созем. Ҷадвали бо шаҳрҳо:
| id | ном |
|---|---|
| 1 | шаҳр1 |
| 2 | шаҳр2 |
| 3 | шаҳр3 |
Ҷадвали бо корбарон:
| id | ном | шаҳр_ид |
|---|---|---|
| 1 | корбар1 | 1 |
| 2 | корбар2 | 1 |
| 3 | корбар3 | 2 |
| 4 | корбар4 | 1 |
| 5 | корбар5 | 3 |
| 6 | корбар6 | 2 |
Вазифаҳои амалӣ
Фарз мекунем, ки шумо бояд маҳсулот (ном, нарх, миқдор) ва категорияҳои ин маҳсулотро нигоҳ доред. Сохти нигоҳдориро тавсиф кунед.
Фарз мекунем, ки шумо бояд дарёҳо ва баҳрҳоро, ки ин дарёҳо ба он ҷорӣ мешаванд, нигоҳ доред. Сохти нигоҳдориро тавсиф кунед.
Фарз мекунем, ки шумо бояд шаҳрҳо ва кишварҳоро, ки онҳо дар он ҷойгиранд, нигоҳ доред. Сохти нигоҳдориро тавсиф кунед.