|
Тема |
Re: MSSQL update trigger проблем [re: Blandings Castle] |
|
Автор |
devnul () |
|
Публикувано | 13.10.04 09:39 |
|
|
Базата е достатъчно сложна, с достатъчно история на използване на тази структура, достатъчно зависими от нея модули... тепърва да тръгна да слагам уникални id-та по таблиците е невъзможно.
Но ти ме караш да се замисля за нещо друго, пък и да те разпитам, ако нямаш нищо против.
Съставните ключове са направени, следвайки логиката на информацията по таблиците. По същата логика са направени връзките. Както и всичко друго. На мен базата ми изглежда добре проектирана (не съм я правила аз). Съставният ключ ми гарантира уникалност на комбинацията от полета - точно такива са ми правилата за реалната информация, която ще се събира. Освен това са ми необходими сумати Foreign key constraint-и по няколко полета. Имам спомен, че MSSQL се оплаква, когато участващите полета в Primary key table- а не образуват ключ. Ако сложа навсякъде отделно поле pk identity, реално се отказвам от foreing keys и ще има да си пиша тригери (вече и по двете таблици! защото трябва да правя и проверка дали не се опитвам във "foreing key" таблицата да слагам стойности, които ги няма в "primary key" таблицата). Още повече, че съвсем наскоро си имахме главоблъскания с една identity колона, но това е друга история.
Е, сега като изложих тази ситуация, да взема и да започна с въпросите. Нямам много опит, все още, с бази данни. Още по-малко с DBDesign. Но това ми е интересно и искам да науча повече. Ако имаш интересни линкове към полезна информация по повод на основни правила при проектиране на бази данни, моля те, прати ми ги (някои теоретични неща съм ги учила - нормални форми и т.н.). Предполагам, обаче, най-добрите правила се научават с опита.
Твоят вариант - с identity колони за primary key - виждаш ли приложение в изложения от мен случай? Доколко дизайна на базата трябва да се прави предвид логиката на информацията? И доколко съобразно логиката на лесното й ползване при писане на приложенията върху нея?
С риск да стана нахална... преди време мярнах коментар в един постинг, за това, че връзка и външен ключ са различно нещо, както и че този въпрос бил достатъчно разискван. Някакъв шанс да ми кажете какво точно имате предвид? (явно не знам какво се разбира под връзка)
Е, простете ми невежеството, надявам се лека - полека да изчистя този проблем. Надявам се междувременно да не досаждам прекалено много...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
| |
|
|
|