Nazvy cudzich klucov sqldeveloper

asked 2014-11-30 00:51:06 +0100

anonymous user

Anonymous

Ahojte, chcem sa este spytat na jednu vec. Pri prevode z datoveho modelu do relacneho, mi to generuje strasne dlhe mena fk TABULKA1_TABULKA2_STLPEC, chcel by som aby mali fk rovnake mena ako stlpce na ktore odkazuju, aby som nemusel pri joine neustale specifikovat s cim sa to ma joinut. Viete mi niekto poradit, ako na to? Dakujem

edit retag flag offensive close delete

Comments

Název cizího klíče se při JOINu normálně vůbec nepoužívá.

Josef Kokeš ( 2014-11-30 06:29:05 +0100 )edit

No to prave musim, pretoze ak chcem nieco spojit, tak dajme tomu spolocny id_osoby a inde sa to vola napr tabulka1_id_osoby, tak mi to nespoji a spravi z toho kartezsky sucin, musim to riesit [id_osoby = tabulka1_id_osoby]

gandalf ( 2014-11-30 11:00:10 +0100 )edit

To jistě, ale to nijak nesouvisí s názvem cizího klíče. Název klíče se používá pouze ve dvou*) situacích: Když ten klíč chci změnit nebo zrušit, a pokud chci explicitně stanovit prováděcí plán. Při běžném spojení název klíče k ničemu potřeba není.

*) Pokud nepočítám zobrazení struktury databáze v nějakém nástroji, vygenerování diagramu ze struktury apod.

Josef Kokeš ( 2014-11-30 11:30:54 +0100 )edit

Dakujem velmi pekne za odpovede, len som nejak nepochopil velmi, co z toho vyplyva. Nemam to teda riesit a vzdy tie stlpce "premenovat"?

gandalf ( 2014-11-30 11:32:48 +0100 )edit

Dotaz zněl na jméno cizího klíče. To není třeba řešit, protože až na zcela výjimečné situace se to nikdy neuplatní. Názvy sloupců jsou něco úplně jiného, ale ani tam bych se rozhodně nespoléhal na to, že "porovnávací podmínku mohu vynechat, protože se sloupce jmenují stejně" - nevím, jestli to tak nějaká databáze vůbec dělá, ale i kdyby to dělaly všechny, je to velmi málo přehledný způsob zápisu.

Josef Kokeš ( 2014-11-30 11:49:37 +0100 )edit