29.Przedstaw technologię przetwarzania danych XML na serwerze
Transkrypt
29.Przedstaw technologię przetwarzania danych XML na serwerze
29.Przedstaw technologię przetwarzania danych XML na serwerze MS SQL 2005 (wykład 8) Dobrze to przeczytać(ogolnie): http://www.codeguru.pl/article-526.aspx Przechowywanie danych XML -Maksymalna wielkość danej – 2 GB – format binarny O danych XML, chyba nie takie ważne, Deklaracja danych bez walidacji XML Schema: Rejestracja XML Schema: Deklaracja danych z walidacją XML Schema: Metody typu danych XML: exists ( wyrażenie XQuery, [odwołanie do węzła]) - Metoda pozwala na sprawdzenie zawartości dokumentu XML pod kątem istnienia elementów lub atrybutów korzystających z wyrażenia Xquery. modify ( XML DML) - Metoda pozwala na modyfikację przechowywanego dokumentu XML. Przy użyciu tej metody można uaktualniać cały dokument XML lub tylko jego wybraną część. query ( wyrażenie XQuery, [odwołanie do węzła]) - Metoda pozwala pobrać całą zawartość dokumentu XML lub tylko jego wybraną część. value ( wyrażenie XQuery, [odwołanie do węzła]) - Metoda pozwala na wyodrębnienie z typu danych XML wartości skalarnych. Ostatnią już metodą jest nodes, pozwalająca na przekształcenie obiektu danych typu XML na dane relacyjne. Tworzymy przykładową strukturę XML: DECLARE @daneXML xml SET @daneXML='<Dane> <rekord id="1"><imie>Piotr</imie><nazwisko>Kowalski</nazwisko> </rekord> <rekord id="2"><imie>Jan</imie></rekord> <rekord id="3"><nazwisko>Abacki</nazwisko></rekord> <rekord id="4" /> </Dane>' I teraz wykorzystujemy metodę nodes: SELECT Tabela.Kolumna.query('.') AS result FROM @daneXML.nodes('/Dane/rekord') Tabela(Kolumna) Metoda nodes definiuje nam w tym przypadku docelową tabelę i docelową kolumnę dla ścieżki ‘/Dane/rekord’ w obiekcie typu XML, odpowiednio jako Tabela i Kolumna. Każdy element z węzła Dane jest zwracany jako osobny rekord. W tym przypadku w wyniku otrzymujemy cztery rekordy. 30. Omów główne postulaty natywnego przetwarzania dokumentów XML w bazie danych IBM DB2 (proponuje przeczytać co 1 grupa napisala na ten temat, bo nie jestem pewny) • • • Natywny XML oznacza, że dokumenty XML przechowywane są na dysku w drzewiastych strukturach pasujących do modelu danych XML • zapobiega to mapowaniu miedzy XML a strukturą relacyjną i odpowiadającym tym ograniczeniom Natywne przechowywanie XML jest uzupełnione o indexy XML (rozwinięte w innych pytaniach) Pełne wsparcie dla XQuery, SQL/XML i XML Schema (rozwinięte w innych pytaniach) Overview: tabela z kolumną XML typ danych XML jest typem pierwszej klasy, tak jak inne typy SQL