Adatgyűjtés

Ha több adatbázistáblából származó adatokat szeretne lekérni, használja a relációs algebra által meghatározott csatlakozási műveletet. Az egyik táblázat sorai a másik oszlop soraihoz kapcsolódnak a megfelelő oszlopok közös értékei szerint - az elsődleges és az idegen kulcsok oszlopaiban.

Az Oracle7 adatbázis az alábbi kapcsolódási módokat támogatja:
  • egy equi-vegyület;
  • nem equi-join;
  • külső kapcsolat;
  • csatlakozási táblázat önmagával (rekurzió).

A táblák közötti kapcsolatok.

Ha több asztal csatlakozik, lehetséges, hogy lekérdezés eredményeképpen megszerezhető egy Descartes-termék, amely akkor alakul ki, ha:

  • a csatlakozási feltétel elmarad;
  • a kapcsolat állapota érvénytelen;
  • Az első táblázat minden sora a második táblázat összes sorához van kapcsolva.

Annak érdekében, hogy elkerüljük a karteziánus termék beszerzését, mindig szükség van egy érvényes csatlakozási feltételre a WHERE záradékban.

Egy egyszerű lekérdezés egy kapcsolattal.

Ez a fajta kapcsolat akkor fordul elő, ha a kapcsolat feltételei egy oszlop értékeinek egyenlőségét mutatják a másik értékéhez képest. Gyakran ezek az oszlopok az elsődleges és külföldi kulcsok alkotóelemei.

Példa: Csatlakozzon a munkavállalók és a szervezeti egységek tábláihoz, hogy megjelenítse a munkavállaló nevét, számát és az osztály nevét.

A két táblázat sorai kombinálva vannak, és csak az S_EMP.DEPT_ID és az S_DEPT.ID értékek sorai szerepelnek az eredményben.

Az asztalnevek formájában használt előtagokat arra használják, hogy megkülönböztessék az azonos nevű oszlopokat a különböző táblázatoktól. Az előtagok használata tábla nevek formájában növeli a lekérdezés teljesítményét. A különböző táblázatokból származó oszlopok megkülönböztethetők az álnevek segítségével. De mi van akkor, ha a táblák neve nehézkes vagy egybeesik?

A helyzet megoldásához használjon aliases táblákat. Ennek során a következő szabályokat kell követnie:

  • Javasoljuk, hogy a táblázat álnevek előtagjai legyenek az oszlopnevek;
  • a táblázat aliasok csak erre a SELECT-re érvényesek;
  • ha létrehozza a táblázat alias-t, meg kell adnia az oszlop hivatkozás előtt, és nem az asztal nevét.

Példa: Megjeleníti a vásárló nevét, a régió számát és a régió nevét minden ügyfél számára. Az oszlop aliasokat használják, és a táblázatok az asztalokra vonatkozó hivatkozások egyszerűsítésére szolgálnak.

A táblázati álnevek legfeljebb harminc karaktert tartalmazhatnak, ám annál rövidebbek, annál jobb. A táblázat alias hatása csak az aktuális SELECT-re terjed ki. A táblázat aliasok használata csökkentheti az SQL kód mennyiségét, ami csökkenti a memóriafelhasználást.

További keresési kifejezések.

A WHERE klauzulán való csatlakozáson kívül más kritériumokat is megadhat a lekérdezésben kapott sorok korlátozásához. Mivel a kapcsolat szükséges a meccsegyezéshez, egy további feltétel hozzáadásra kerül az AND operátorral.

Példa: A vezetéknév, az osztály száma és a munkavállaló "Menchu" osztályának neve.

Külső kapcsolat szimbólum; használhatók a WHERE klauzula mindkét oldalán. (+) a táblázat nevének megadása után, amelyben nincsenek megfelelő sorok

A külső kapcsolat üzemeltetője csak a kifejezés egyik oldalán használható, ahol nincs elegendő információ. Táblázat sorokat ad vissza, amelyekhez nincs megfelelő sor a másik táblában.

Az a feltétel, amely külső kapcsolatot feltételez, nem használhatja az IN operátort, és a VAGY operátor használatával társulhat más feltételekhez.

Példa: A név minden egyes ügyféllel kapcsolatos következtetés, valamint az értékesítési képviselő neve és azonosítószáma. A lista olyan ügyfelek nevét is tartalmazza, akik nem rendelkeznek értékesítési képviselővel.

Kapcsolódó cikkek