⊗ppPmDOLT 381 of 447 menu

Táblák összekapcsolása adatbázisokban

Tegyük fel, hogy van egy táblánk a felhasználók neveivel és azoknak a városoknak, ahol élnek:

users
id name city
1 user1 city1
2 user2 city1
3 user3 city2
4 user4 city1
5 user5 city3
6 user6 city2

Ennek a táblának az a hátránya, hogy ugyanaz a város többször ismétlődik különböző felhasználóknál. Ez néhány problémához vezet.

Először is, az állandó ismétlés miatt az adatbázis sokkal több helyet kezd el foglalni.

Másodszor, meglehetősen kényelmetlen a várrosokkal kapcsolatos műveleteket végrehajtani. Például ki szeretnénk írni a képernyőre az összes város listáját. Ilyen egyszerűen ezt nem lehet megtenni. Ki kell szereznünk az összes felhasználót a városaikkal együtt, majd el kell távolítanunk az ismétlődéseket a kapott városokból és csak akkor kapjuk meg ezt a listát.

Most pedig képzeljük el, hogy az adatbázisban 10000 felhasználó van 10 városból - ezért a 10 városért ki kell húznunk az egész táblát rengeteg sorból - ez nagyon lassú művelet lesz értelmetlen erőforrás-pazarlással.

A probléma megoldása

Fel kell bontanunk a táblánkat kettőre: az egyikben a városok lesznek tárolva, a másikban pedig a felhasználók. Eközben a felhasználók táblájában lesz egy city_id oszlop, amely a felhasználó városára fog hivatkozni.

Nos, készítsünk két táblát. A városok táblája:

cities
id name
1 city1
2 city2
3 city3

A felhasználók táblája:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

Tegyük fel, hogy árucikkeket (név, ár, mennyiség) és ezeknek az árucikkeknek a kategóriáit kell tárolnia. Írja le a tárolás szerkezetét.

Tegyük fel, hogy folyókat és a tengereket, amelyekbe e folyók ömlenek, kell tárolnia. Írja le a tárolás szerkezetét.

Tegyük fel, hogy városokat és országokat, amelyekben ezek találhatók, kell tárolnia. Írja le a tárolás szerkezetét.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás