Oszlopnevek módosítása
Az oszlopnevekkel is foglalkoznunk kell. Ellenkező esetben megismételjük a nevet és az azonosítót, de ezek eltérő adatokat tartalmaznak. Másrészt van az első id oszlop és az alkalmazott_azonosító oszlop, amelyek ugyanazokat az adatokat tartalmazzák.
Írjunk egy lekérdezést, ahol csak a szükséges oszlopok lesznek, és nevezzük át az oszlopokat azonos névvel:
SELECT
task.id AS task_id,
task.name AS task_desc,
task.deadline AS deadline,
emploee.id AS emploee_id,
emploee.name AS emp_name,
emploee.occupation AS
emp_occupation
FROM employee, task
WHERE emploee.id = task.emploee_id
És ennek a lekérdezésnek az eredménye:
feladat_azonosítója | feladat_leírás | határidő | employee_id | emp_name | emp_occupation |
---|---|---|---|---|---|
1 | Javítson ki egy hibát a kezelőfelületen | 2022-06-01 | 1 | Ivanov Iván | Programozó |
2 | Javítson ki egy hibát a háttérben | 2022-06-15 | 2 | Petrov Petr | Programozó |
7 | Élvezd az életet | (NULLA) | 4 | Rabinovics Moisa | Rendező |
3 | Vegyél kávét | 2022-07-01 | 5 | Kirienko Anasztázia | Irodavezető |
4 | Vegyél kávét | 2022-08-01 | 5 | Kirienko Anasztázia | Irodavezető |
5 | Vegyél kávét | 2022-09-01 | 5 | Kirienko Anasztázia | Irodavezető |
8 | Élvezd az életet | (NULLA) | 6 | Vaska | macska |
Remek, az érthetetlen oszlopnevekkel kapcsolatos probléma sikeresen megoldva. Kicsit hosszú lett a lekérdezés, de a kapott táblázatban minden világos. És nincsenek extra oszlopok.
Táblázat álnevek
Néha a táblanevek túl hosszúak, és sok helyet foglalnak el a lekérdezésben. Ezért az SQL megalkotói az olvashatóság javítása érdekében, akárcsak az oszlopok esetében, felajánlották a táblaálnevek megadásának lehetőségét.
Az álnevek (táblázati álnevek) általános formája a következő:
FROM table1 alias1, table2 alias2
Írjuk át korábbi lekérdezésünket rövid álnevekkel:
SELECT
t.id AS task_id,
t.name AS task_desc,
t.deadline AS deadline,
e.id AS emploee_id,
e.name AS emp_name,
e.occupation AS emp_occupation
FROM employee e, task t
WHERE e.id = t.emploee_id
Az olvashatóság némileg csökkent, de ennek az az oka, hogy a táblázatok nevei kezdetben egyszerűek és egyértelműek voltak. Ez akár így is lehet:
SELECT
task.id AS task_id,
task.name AS task_desc,
task.deadline AS deadline,
emploee.id AS emploee_id,
emploee.name AS emp_name,
emploee.occupation AS
emp_occupation
FROM
Microsoft_it_department_employee employee,
Year2022_priority_task task
WHERE emploee.id = task.emploee_id
És ebben az esetben az álnevek már hasznosak, nem? ;)
elsődleges kulcs
És még egy fontos információ a táblázatokról. Emlékszel, hogy a feladattáblázatban volt egy alkalmazott_azonosító oszlopunk? Ezzel az alkalmazotti táblából hivatkoztunk az alkalmazotti azonosítóra.
Ha egy táblából egy másik tábla soraira akarunk hivatkozni, akkor a hivatkozott táblának rendelkeznie kell egy azonosítóval ellátott oszloppal, amelyet elsődleges kulcsnak is nevezünk - PRIMARY KEY .
Leggyakrabban ez egy speciálisan hozzáadott oszlop, amelynek értéktípusa int . Amikor rekordokat ad hozzá egy táblához, az SQL automatikusan beállítja ennek az oszlopnak az értékét.
Aztán sok minden kötődik ezekhez a kulcsokhoz:
- különböző táblák összekapcsolása egymással;
- gyors keresés és szűrés azonosító alapján;
- adatintegritás az adatbázisban (nincs hivatkozás nem létező azonosítóra);
- olyan adatok törlése, amelyekre senki sem hivatkozik;
- és még sokan mások.
Egyébként vannak olyan helyzetek, amikor egy táblázatnak van egy úgynevezett természetes kulcsa . Ilyenkor van egy oszlop, amelynek tartalma egyediségre utal. Például úgy döntöttünk, hogy hozzáadjuk az alkalmazottak táblázatához:
- A társaságba érkezésük sorrendje;
- Adószám;
- Az útlevél száma és sorozata.
Néha az adatbázis-tervezők természetes kulcsot használnak elsődleges kulcsként, de leggyakrabban külön-külön. Hiszen a rekordokat lehet törölni, módosítani és hasonlókat.
Gondolom, olyan történeteket olvasott az interneten, amikor a végrehajtók ráakasztják a teljes névrokonának tartozását egy személyre? Ez csak az egyedi kulcs fogalmához kapcsolódik. A bankok és a végrehajtók számára nagyon kényelmes, hogy teljes név és születési év alapján keressenek egy személyt. És az esetek 99% -ában ez elegendő egy személy azonosításához.
De a maradék <1% teljes névrokon, azonos születési évvel. Valószínűleg mindegyikünk életében nincsenek ilyen emberek, de országos viszonylatban igen. Általában, ha szoftvert ír, vagy adatbázist tervez, akkor hasznos tudnia, hogy ez is előfordulhat.
GO TO FULL VERSION