Akár, hogy egy összetett elsődleges kulcsot verem túlcsordulás az orosz

Tanulás itt a kérdés. van egy mondat a válasz

Összetett elsődleges kulcsokat jellemzően akkor keletkeznek, amikor feltérképezése örökölt adatbázisokat az adatbázis kulcs áll több oszlopot.

Értem helyesen, hogy a legacy gyakorlatilag egyet jelent a szó „elavult”?
Ha igen, hogy, az új alkalmazások fejlesztésére és az új adatbázist, így összetett kulcsokat? Vagy csak egy újabb oszlop, amely lényegében nem csinál semmit, mert minden munkát az adatbázis általában végzett keretek?

állítsa március 5 '15 at 21:10

Szoktam használni a következő szabály: ha a többi asztal nem utalnak az asztalra, akkor használd az összetett kulcs ebben a táblázatban. Ez nem mindig igaz (pl kapott kulcsa nem lehet egyedi, vagy ahogy kell használni a nagy részét a területen, stb), de gyakran dolgozik. Aztán memóriáját felesleges index (vagy inkább annak hiánya), és így növeli a hatékonyságot mutató. - BOPOH március 6. '15 at 06:08

Elég holivarny kérdés, és az egyetlen helyes válasz nincs itt. De legfőképpen vélemények konvergálnak a tény, hogy a kulcsokat kell összetett, és nem tárolható semmilyen információt az egység. Ez azt jelenti, hogy kell valamilyen (általában automatikusan növel integer) területén, amely egy egyedülálló rekord

Azt hiszem, a fordítás a jelentését „összetett elsődleges kulcsokat általában kapcsán merülnek fel a meglévő adatbázis táblák, amikor a kulcs tábla áll több oszlop.”
legacy itt gyakorlatilag egyet jelent a „meglévő”.
A fejlődő új tábla elvileg létre redundancia információt az új kulcs mezőt, ha az szerepel a kombinációja az idegen kulcs (vagy más területeken is) már egy egyedi kulcsot.
De gyakorlatilag keresni további mező egyedi kulcs gyorsabb lehet, vagy szubjektíve könnyebb a fejlesztő, és így van értelme, hogy elérjék a kívánt eredményt :)

Válaszol október 20 '15 at 05:17

Van egy kissé elavult megközelítés kialakítása az adatbázis, néha tévesen nevezik „akadémikus”, mint az elsődleges kulcs viszony választották az egyik a természetes kulcsfontosságú kapcsolatokat. Jellemzően ez a kulcs lesz a neve a rekordot.

Ebben a számban egy ilyen módszert alkalmazzuk. De ez a megközelítés elavult több okból is. Az első az elsődleges kulcs a rekord - ezt használjuk arra, hogy egy rekord az adatbázisban is, és azon túl. Célszerű csinálni a lehető legkisebb mértékben - minden a legtermészetesebb kulcsok szálakat.

A második ok - egy csomó dolgot, akik első pillantásra, mint a természetes kulcs valójában nem így van. Például az emberek között vannak tele névrokon (és még született egy nap). A boltban lehet két termék azonos néven a különböző megyékben.

Ok Három - a természetes kulcs is lehet változtatni, ami szintén problémákhoz vezet. Így egy személy természetes kulcs lehet egy útlevél vagy születési anyakönyvi kivonat -, de ezeket a dokumentumokat lehet cserélni, ha elér egy bizonyos kort, vagy elvesztése esetén.

Ezért a helyes gyakorlat az, hogy vezessenek be egy helyettesítő gomb - ez egy új terület, nincs kapcsolatban a tárgykörben. Jellemzően, a típus - automatikus növekszik a 32-bites egész, legalábbis - a 64-bites. Mégis lehet UUID.

Általános szabály, hogy a jelenléte egy ilyen mező nincs értelme egy összetett kulcsot.

Néha azonban a legfontosabb komponensek felhasználhatók. Ezek az esetek a következők:

Asztali net kapcsolat „sok sok”. Általában ezek a táblák jönnek létre és irányítja ORM könyvtárak saját - de néha meg kell teremteni azokat külön-külön. Ezekben a táblázatokban a természetes kulcs-e az egész rekord -, és nincs ok arra, hogy hozzon létre egy külön helyettesítő gombot.

Egyes leányvállalatok alobjektumokból hogy semmi értelme nem választható el a szülő. Ha teszünk egy rendszer tesztelésére diákok - néha érdemes utalni a választ arra a kérdésre, hogy hogyan 5mu 147y válasz arra a kérdésre -, és nem 3423mu válasz egyáltalán. És néha fordítva.

A kapcsolatok az adatbázisban extra integritásának ellenőrzése. Vannak úgynevezett domén-kulcs szokásos formában, bármilyen korlátozás az adatformátum végre az idegen kulcs. Ebben az esetben, néha értelme, hogy további területeken az elsődleges kulcsot.