ПредишенСледващото

Проучване тук е въпросът. има една фраза в отговора

Композитните първични ключове обикновено възникват, когато присвоявате от наследените бази данни, когато ключът за база данни се състои от няколко колони.

Правилно ли съм разбрал, че наследството е почти синоним на думата "остарели"?
Ако е така, дали в разработването на нови приложения и нова база данни, което прави композитни ключове? Или просто да добавите друга колона, която по същество не прави нищо, защото цялата работа с базата данни обикновено се извършва рамки?

настроите 5 март '15 в 21:10

Аз обикновено използвам следното правило: ако другите маси не се отнасят до масата, след това можете да използвате комбиниран ключ в тази таблица. Това не винаги е вярно (например, полученото ключ не може да е уникална, така или иначе ще трябва да използвате по-голямата част от областта, и т.н.), но често работи. Тогава ние спаси памет на излишната индекс (или по-скоро липсата й), и по този начин се повиши индекса на ефективност. - BOPOH 06 март '15 в 06:08

Това е доста holivarny въпрос, а само верния отговор не е тук. Но най-вече становища сближат с факта, че ключовете трябва да бъдат съставна, и те не трябва да се съхранява в продължение на информация за предприятието. Това означава, че тя трябва да бъде някакъв (обикновено автоматично увеличава число) поле, което осигурява уникален рекорд

Мисля, че преводът на смисъла на "композитни първични ключове обикновено се появява във връзка със съществуващите таблиците в базата данни, когато ключовият таблицата се състои от няколко колони."
наследство тук е практически синоним на думата "съществуващи".
При разработването на новата маса теоретично би трябвало да създаде излишък на информация за нов ключ поле, ако тя съществува в комбинацията от външния ключ (или други полета) вече е уникален ключ.
Но на практика търси допълнително поле уникален ключ може да бъде по-бързо или по-лесно субективно за предприемача и по този начин да има смисъл да се постигне желания резултат :)

Отговорено 20 '15 октомври в 05:17

Налице е малко остарял подход в дизайна на базата данни, понякога погрешно се нарича "академичен" като основен ключ връзката е избран като един от най-естествените ключови взаимоотношения. Обикновено, този ключ се превръща в името на рекорда.

В този брой ви се използва такъв подход. Но този подход не е актуална поради много причини. Първият от тях е първичен ключ на записа - това е, което се използва за обозначаване на запис в базата данни само себе си, и извън него. Препоръчително е да се направи това възможно най-малко - всички най-естествените ключове струни.

Втората причина - много неща, гледам на пръв поглед като физически клавиши всъщност не са толкова. Например, сред хората са пълни съименник (и дори роден в един ден). Магазинът може да бъде два продукта със същото име в различни отдели.

Причина Три - естествен ключ също може да се променя, което също води до проблеми. Така че, за да може човек естествен ключ може да е паспорт или удостоверение за раждане - но тези документи могат да бъдат заменени, когато достигне определена възраст или в случай на загуба.

Затова е добра практика е да се въведе заместител ключ - това е нова област, няма никаква връзка с въпросната област. Обикновено, вида - автоматично увеличава 32-битово цяло число на най-малко - 64-бита. Но тя може да бъде UUID.

Като правило, в присъствието на такова поле няма смисъл в композитен ключ.

Въпреки това, понякога ключовите компоненти са полезни. Тези случаи са:

Таблица мрежа за връзка "много към много". Обикновено тези таблици са създадени и управлявани от ORM библиотеки сами по себе си - но понякога трябва да ги създаде отделно. В тези таблици, естественият ключът е на цялата рекорд - и няма причина да се създаде отделен сурогатна ключ.

Някои дъщерни дружества под-обекти, които нямат смисъл в изолация на компанията майка. Ако направим една система за тестване на учениците - понякога има смисъл да се обърнете към отговора на въпроса как да се 5 MU 147y отговор на въпроса - а не за 3423mu отговор на всички. И понякога обратното.

Използването на отношенията в базата данни за допълнителна цялост проверка. Има така наречените домейн ключ нормална форма, в която всички ограничения за формата на данните, въведени в чужд ключ. В този случай, понякога има смисъл да се включат допълнителни полета в първичния ключ.

Подкрепете проекта - споделете линка, благодаря!