Citat:
sparc: Nadam se da sam bio jasan, i da mi je jasno da je MS SQL relaciona a ne objektna baza.
Ovo nije bas 100% tacno, bar ne vise. XML omogucava drzanje serializovanih objekata u tabelama i njihovu obraadu i citanje preko xquery-a
Code:
CREATE TABLE dbo.MojaTabela
(
ID int NOT NULL IDENTITY (1, 1),
Tip varchar(128) NOT NULL,
Podatak xml NOT NULL
)
Code:
insert into MojaTabela (Tip, Podatak) values ('Sijalica', '<data><sijalica><vati>60</vati><proizvodjac>Tesla</proizvodjac></sijalica></data>');
insert into MojaTabela (Tip, Podatak) values ('Sraf', '<data><sraf><duzina>10</duzina><promer>6</promer></sraf></data>');
Code:
select * from MojaTabela
ID Tip Podatak
1 Sijalica <data><sijalica><vati>60</vati><proizvodjac>Tesla</proizvodjac></sijalica></data>
2 Sraf <data><sraf><duzina>10</duzina><promer>6</promer></sraf></data>
select Tip, Podatak.query('/data/sraf') as Sraf
from MojaTabela where Tip='Sraf' and Podatak.value('/data[1]/sraf[1]/duzina[1]', 'int') = 10
Tip Sraf
Sraf <sraf><duzina>10</duzina><promer>6</promer></sraf>
Na xml datatype mozes i da nalepis XSD semu koja ce kontrolisati unos podataka i brat bratu mozes SVE svoje objekte da drzis u jednoj tabeli. AKo xml ogranizujes tako da srodni objekti koji "nasledjuju" jedni druge imaju slicne podseme mozes i xquery da koristis za neke obrade na visem nivou granulacije.
postoje samo dva problema sa ovim, prvo T-SQL je ok za query-je ali ce aplikactivni nivo mnogo bolje da ti odradjuje generisanje i serijalizaciju objekata u xml, sto znaci malo vise posla na aplikaciji (sa druge strane ako koristis aplikativni nivo koji podrzava serijalizacije vec imas sebi odradjen posao konverzije podataka u objekte); drugo, nisam nikad koristi XQuery na nekom vecem nivou sa puno redova tako da ne znam koji je performance penalty za upotrebu istog, nesto mi se cini da value() primenjen na milion redova nije bas zanimljiv (al opet sa par hiljada redova sto sam ja koristio pokazao se odlicno).
[Ovu poruku je menjao mmix dana 30.11.2009. u 10:50 GMT+1]
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić