Zidar Canada
Član broj: 15387 Poruke: 3085 *.100.46-69.q9.net.
|
Relacione baze nisu dobre u ovoj oblasti, nazalost.
Ovo sto cu daispricam, verovato i sam znas, ali hajde, zbog drugih.
Najblize sto mozes da se priblisis nekakvom fleksibilnom modelu jeste da definises nacin grupisanja osnovnih sredstava, to jest da definises grupe. Na primer, neka su grupe {'zgrade','masine','vozila'...}.
Sada za svaku od ovih grupa definises neke atribute. Dovde sve lepo, ali ovde pocinju problemi. Kog tipa ce da budu atributi? Na primer, zgrada moze da ima atribut spratnost, sa vrednostima {'prizemna','P+1'}. Moze da ima atribut 'ima alarm' sa vrednostima (0,1). A moze da iam i atribut Kvadratura, decimalan broj veci od nule. To sve moze na silu da se strpa u jednu tabelu, ali to ne lici ni na sta. Babe i Zabe nisu nikada isle zajedno, pa nece moci ni ovde. Lepo je to reci, ali ako razresiti problem? Mozes da razbijes atribute po tipovima, pa svaka grupa ima recimo tekstualne atribute, numerixcke atribute, boolean atribute, pa zasto ne i datetime (datum tehnickog pregleda, datum uvodjenja u pogon i slicno).
Onda definises atribute za svaku grupu za svaki tip podataka.
Zatim svakom sredstvu dodelis njegovu grupu. Atributi osnovnog sredstva moraju da se slazu sa atributima koji odgovaraju toj grupi.
Atribute mozes dodavati po zelji, kao i grupe.
I tu se prica otprilike zavrsava. Ono sto nedostaje jeste zastita podataka. Bar neki atributi imace vrednsti iz nekog domena. Znaci, trebaju nam lookup tabele, barem za neke atribute. psoto svi atributi sede u jednoj tabeli, proizilazi da ce i lookup vrednosti biti u jednoj tabeli. Nije lepo, ali kad se mora...
Medjutim, nisu lookup atbele jedina mera zastite integriteta podatka. Kako postaviti CHECK constraints? Ako se atributi ne menjaju mnogo kroz vreme, moguce je pisati nekakve funkcije ili trigere, pa ih doradjivati ili dodavati nove, kad zatreba.
Ili sav unos podataka kontrolisati stored procedurama, pa tamo ugraditi zastitu integriteta.
Ili ostaviti zastitu integriteta podataka front endu, nakakvoj windos ili .NET aplikaciji....
Sve u svemu, sta god da uradis, pre ili kasnije ces negde naici na probleme.
Tuzno, ali tako je. Ako hoces, mozemo kroz forum da probamo razne varijante, cisto da probamo i vidimo dokle moze da se dogura. Mada ne mislim da ti mozemo ponuditi nesto sto vec ne znas i sam.
:-(
|