Mulla on kahdenlaisia olioita, vaikkapa tuoteolioita. Toisia ei identifioida mitenkään (abstrakti), mutta toiset toiset identifioidaan sarjanumerolla (konkreettinen).
Esim:
class Abstrakti{
int id;
String koodi;
}
class Konkreettinen extends Abstrakti{
String sarjaNro;
}
Onko olemassa muita (fiksumpia) tapoja toteuttaa edellinen rakenne relaatiotietokantaan kuin seuraava?
Taulu abstrakti
int id
varchar koodi
Taulu konkreettinen
int id
int abstrakti_id
varchar sarjaNro
Kiitokset
Petteri
Esim:
class Abstrakti{
int id;
String koodi;
}
class Konkreettinen extends Abstrakti{
String sarjaNro;
}
Onko olemassa muita (fiksumpia) tapoja toteuttaa edellinen rakenne relaatiotietokantaan kuin seuraava?
Taulu abstrakti
int id
varchar koodi
Taulu konkreettinen
int id
int abstrakti_id
varchar sarjaNro
Kiitokset
Petteri
Vastaukset 2
Vanhimmat
Jos oikein hokasin niin...
Teet vain yhden taulun, tuote-taulun, ja jos sarakkeessa "sarjaNro" voi olla NULL / 0 / jotain muuta ennaltamäärättyä niin tiedät että kyseessä on Abstrakti asia, jos taas sarjaNro on olemassa ja määritelty niin kyseessä on tietenkin konkreettinen tuote.
Kiitos vastauksestasi. Yhden taulun ratkaisulla rakenteesta tulee yksinkertaisempi varsinkin jos tuotteilla on vielä rakenne. Haittapuolena on redundanssi. Jos tuotteiden nimitykset ovat abstrakti-taulussa on niiden standardointi ja siten duplikaattien välttäminen helpompaa. Kumpi onkaan pienempi paha?