informatyka + Wymagania wstępne Podstawowa znajomość SQL Podstawowa znajomość SQL Server

Wielkość: px
Rozpocząć pokaz od strony:

Download "informatyka + Wymagania wstępne Podstawowa znajomość SQL Podstawowa znajomość SQL Server"

Transkrypt

1

2 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 2

3 Wymagania wstępne Podstawowa znajomość SQL Podstawowa znajomość SQL Server Podstawowa znajomość dowolnego języka opartego o znaczniki (XML, HTML itp.) Chęć do nauki ;-) 3

4 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 4

5 Wstęp i historia XML lata 60 - poszukiwanie standardu dla dokumentów drukarskich ANSI rozpoczyna prace nad norma szósta wersja - SGML - staje się standardem Urzędu Kontroli Skarbowej USA IBM zaproponowali GML wraz z hierarchiczna struktura oznaczeń

6 Wstęp i historia XML SGML standardem Komisji UE oraz Departamentu Obrony USA 1986 SGML w wersji ISO 9979:1986 Dziś mamy nowe standardy ISO oraz HTML, XML, XSL i inne - wszystko na podstawie założeń GML/SGML

7 Rozwój języków uogólnionego znakowania tekstu 1969: GML Generalized Markup Language (IBM; Goldfarb, Mosher, Laurie). 1986: SGML Standard Generalized Markup Language, ISO 8879: : powstaje World Wide Web. 1994: HTML 2.0 zdefiniowany jako zastosowanie SGML-a. 1998: XML Extensible Markup Language, World Wide Web Consortium.

8 Cele jakie sobie założono przy tworzeniu XML XML powinien być bezpośrednio używalny w Internecie. XML powinien wspierać wiele różnorodnych aplikacji. XML powinien być kompatybilny z SGML-em. Pisanie programów przetwarzających dokumenty XML powinno być proste. Liczba opcjonalnych cech XML-a powinna być ograniczana do absolutnego minimum, najlepiej zera. Dokumenty XML powinny być czytelne dla ludzi i przejrzyste. Projekt XML-a powinien zostać przygotowany szybko. Projekt XML-a powinien być formalny i zwięzły. Dokumenty XML powinny być łatwe do stworzenia.

9 Cechy języka XML XML nie jest nowy powstało wiele aplikacji,systemów, publikacji dotyczących tego języka XML jest językiem tekstowym(dokumenty XML są plikami tekstowymi) XML jest rozszerzalny można dodawać własne znaczniki i tworzyć własne standardy XML jest elastyczny - łatwo można zmieniać strukturę dokumentu XML XML jest międzynarodowy zalecane jest stosowanie standardu Unicode XML sam się opisuje nazwy znaczników mogą interpretować zawartość

10 Cechy języka XML XML to rodzina języków i technologii ilość standardów związanych z XML ciągle rośnie XML jest standardem otwartym XML jest nielicencjonowany!!!!!! XML jest niezależny od platformy sprzętowej i programowej XML jest łatwy w użyciu (chociaż początki mogą być trudne) XML może być sformalizowany poprzez definicje DTD lub XSD XML jest hierarchiczny - co umożliwia modelowanie złożonych struktur

11 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 11

12 Reguły tworzenia dokumentów XML Dokument XML składa się z elementów, które mogą zawierać atrybuty wraz z ich wartościami, tekst oraz inne elementy Dokument XML musi zawierać dokładnie jeden element główny (tzw. root), który zawiera w sobie pozostałe elementy Element składa się ze znaczników (otwierającego i zamykającego): <kodpocztowy> zawartość </kodpocztowy > <budynek/> formę ) (brak zawartości można stosować skróconą Elementy mogą być zagnieżdżone: < ><wartosc> Jan </wartosc></ > Elementy nie mogą się przecinać : < ><wartosc> Jan </ ></wartosc> 12

13 Reguły tworzenia dokumentów XML c.d. Elementy mogą zawierać atrybuty, które muszą posiadać wartość (ujętą w apostrofy lub cudzysłów): <wartosc typkomunikatora="skype"> janeknowak </wartosc> Wielkość liter ma znaczenie <budynek>124a</budynek> Do wykorzystania w treści dokumentu w miejscu znaków specjalnych (mogących powodować problemy z interpretacją dokumentu) przeznaczono tzw. encje: < zastępującą znak < > zastępującą znak > " zastępującą znak &apos; zastępującą znak & zastępującą znak & Błąd 13

14 Reguły tworzenia dokumentów XML c.d. Dokument spełniający wszystkie wymagania odnośnie swojej struktury jest dokumentem poprawnie sformułowanym (well formed document) Z racji prostoty reguł łatwo jest stworzyć narzędzie weryfikujące poprawność sformułowania dokumentu. Istnieje wiele takich narzędzi (parserów XML) Jeżeli chcemy oprócz samej składni narzucić dodatkowe reguły, to trzeba skorzystać z dodatkowych technologii i narzędzi. DTD (Document Type Definition) XML Schema Relax NG Parsery walidujące Jeżeli dokument XML jest poprawnie sformułowany i spełnia wymagania opisane w DTD lub XML Schema to jest dokumentem poprawnym (valid document) 14

15 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 15

16 XML alternatywą dla relacyjnych baz danych? Jeśli patrzeć na to od strony teoretycznej czemu nie? ohierarchiczna struktura oraz stosowanie atrybutów pozwala modelować relacje oxml Schema pozwala modelować dodatkowe ograniczenia omodelowanie może być bardziej pracochłonne i nie każdy rodzaj ograniczeń da się zaimplementować 16

17 XML alternatywą dla relacyjnych baz danych? C.d. W praktyce jednak pojawiają się problemy Wzrost rozmiaru pliku -> spadek wydajności Jednoczesny dostęp wielu użytkowników do pliku Transakcyjność i odporność na awarie Zamiast alternatywy uzupełnienie możliwości baz danych Przechowywanie danych o zróżnicowanej strukturze Zwracanie wyników zapytań w formie XML Manipulowanie zawartością XML 17

18 Wynik wojny XML-SQL Pomimo tego, że XML jest pewną alternatywą dla relacyjnych baz danych wybrano najlepsze rozwiązanie Dwie konkurencyjne technologie zmuszono do współpracy! 18

19 Przykład uproszczenia schematu relacyjnej bazy danych z wykorzystaniem XML Fragment poprawnie zaprojektowanej relacyjnej bazy danych! 19

20 Przykład uproszczenia schematu relacyjnej bazy danych z wykorzystaniem XML Schemat dokumentu XML zawierającego opis adresów i kontaktów! 20

21 Przykład uproszczenia schematu relacyjnej bazy danych z wykorzystaniem XML A może uprościć to tak!!!!!!! Kolumna typu XML przechowująca dane zgodne ze schematem XML pokazanym na wcześniejszym slajdzie i zamiast pięciu tabel mamy tylko jedną - i wszystkie potrzebne dane mogą być zapisane 21

22 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 22

23 Struktura bazy danych dla dalszych przykładów Zaznaczone kolumny są typu XML i będą przechowywać złożone dane 23

24 Dane w postaci XML potrzebne od zaraz Problem : Jak pobrać z bazy danych informacje od razu w postaci XML? A po co akurat XML? Bo aplikacja potrafi takie dane od razu przetworzyć Bo takie są wymagania biznesowe naszego klienta Bo system, z którym współpracujemy potrafi pracować tylko z danymi XML Bo łatwo takie dane potem przetworzyć na dowolna inna potrzebną postać (HTML, PDF, RTF, SVG ) Ok. Wiemy po co. Ale jak? Klauzula XML w zapytaniu SELECT:) 24

25 Klauzula FOR XML polecenia SELECT Dodana do dowolnego polecenia SELECT powoduje zwrócenie jego wyniku w formie dokumentu lub fragmentu dokumentu XML Kilka trybów generowania XML RAW AUTO EXPLICIT PATH Tryby RAW i AUTO dają możliwość generowania wartości kolumn jako atrybutów lub elementów Tryby EXPLICIT i PATH dają największe możliwości Tryb XPATH korzysta z wyrażeń języka XPath Tryb EXPLICIT korzysta z tabeli uniwersalnej 25

26 Dane do obróbki lista klientów W przykładowej bazie mamy tabelę z danymi klientów Załóżmy, że chcemy zwrócić właśnie te dane. Nic prostszego: 26

27 No tak. Ale potrzebujmy te dane w postaci XML! Nie ma problemu skorzystamy z klauzuli FOR XML Zaczniemy od najprostszego wariantu : FOR XML RAW 27

28 Oooops! To nie jest dokument XML! Klauzula FOR XML RAW zwróciła nam fragment dokumentu XML. Nie do końca nadaje się on do dalszej obróbki po stronie aplikacji, gdyż żaden szanujący się parser nie przymknie oka na brak elementu głównego! <dane> </dane> 28

29 Klauzula FOR XML RAW z opcją ROOT Oczywiście da się to poprawić Zmieńmy jeszcze row na coś milszego dla oka 29

30 Klauzula FOR XML RAW z opcją ROOT Opcja RAW także dopuszcza podanie w nawiasie nazwy elementu 30

31 Klauzula FOR XML RAW z opcją ELEMENTS Aplikacja potrzebuje elementów a nie atrybutów! Co wtedy? 31

32 Klauzula FOR XML RAW to za mało! FOR XML Raw jest OK, ale potrzebujemy nieco więcej możliwości! Jak generować dokument XML z hierarchią elementów? Np.: lista klientów i ich zamówień Odpowiedź : klauzula FOR XML AUTO Domyślnie generuje dla wiersza element o nazwie takiej jak tabela Dla kolumn tworzone są atrybuty o nazwach takich jako kolumny Przeznaczona do zapytań operujących na wielu tabelach Potrafi tworzyć proste hierarchie (heurystycznie poprzez analizowanie kolejnych wierszy i porównywanie wartości kolumn) Obsługuje wszystkie opcje omawiane przy FOR XML RAW 32

33 Klauzula FOR XML AUTO - przykład Wpływa na hierarchię! 33

34 Klauzula FOR XML AUTO - przykład Tym razem po ID zamówienia 34

35 Coraz więcej możliwości:) Co jeszcze da się zrobić? Da się zrobić wszystko. Kwestia czasu i nakładu pracy. Do tej pory podejście do generowania XML polegało na: Dodaniu do DOWOLNEGO zapytania klauzuli FOR XML (AUTO lub RAW) Skorzystaniu z ich opcji do dopracowania postaci dokumentu Gdy to za mało sięgamy po FOR XML EXPLICIT Specjalnie skonstruowane zapytanie Złożona konstrukcja. Trudne modyfikowanie Ogromne możliwości 35

36 Klauzula FOR XML EXPLICIT Największe możliwości w zakresie budowania złożonych struktur XML Precyzyjne wymagania co do struktury wyniku zapytania, które ma być przetworzone na XML (tabela uniwersalna) Skomplikowany mechanizm definiowania tabeli uniwersalnej dla uzyskania konkretnej struktury XML 36

37 Klauzula FOR XML EXPLICIT Spróbujmy sklecić przykład (podobny do tego z trybu AUTO) 37

38 Klauzula FOR XML EXPLICIT Rezultat zapytania z poprzedniego slajdu (bez klauzuli FOR XML): 38

39 Klauzula FOR XML EXPLICIT Rezultat zapytania z poprzedniego slajdu (z klauzulą FOR XML): 39

40 Klauzula FOR XML EXPLICIT fajna ale żmudna Jest jakiś sposób na uniknięcie jej stosowania? TAK:) Klauzula FOR XML PATH O wiele przyjemniejsza w stosowaniu Porównywalne możliwości Łatwiejsze modyfikowanie (znacznie lepsza czytelność zapytań) Wady? A owszem Trzeba poznać język XPath (chociaż trochę) 40

41 Klauzula FOR XML PATH i język XPath Język XPath służy do wskazywania węzłów lub grup węzłów w dokumencie XML Wyrażenia XPath można porównać do ścieżek w systemie plików. Wyrażenie: \dane\adres\pocztowy\ulica wskazuje na katalog ulica i jego zawartość. 41

42 Klauzula FOR XML PATH i język XPath <dane> <adres> < > <wartosc>jan.nowak@pocza.pl</wartosc> </ > </adres> <adres> <pocztowy> <kodpocztowy>00-950</kodpocztowy> <miejscowosc>warszawa</miejscowosc> <ulica>marszałkowska</ulica> <budynek>23</budynek> <lokal>1</lokal> </pocztowy> </adres> </dane> Wyrażenie: /dane/adres/pocztowy/ulica wskazuje na element ulica i jego zawartość. 42

43 Klauzula FOR XML PATH i język XPath Przykłady wyrażeń XPath /dane/adres/ [2]/wartosc Element wartosc drugiego elementu będącego dzieckiem elementu adres, będacego dzieckiem elementu głównego dane // Elementy występujące w dowolnym miejscu w dokumencie //adres/*/@typ dowolnych elementów będących dziećmi elementu adres /dane/adres/*[@typ= skype ]/text() Zawartośc tekstowa dowolnego elementu, który ma atrybut typ o wartości skype, będącego dzieckiem elementu adres, będącego dzieckiem elementu głównego dane 43

44 Klauzula FOR XML PATH Kompromis pomiędzy możliwościami a prostotą korzystania Znacznie łatwiejsza od EXPLICIT Pozwala na definiowanie złożonych struktur przy wykorzystaniu odpowiednich nazw kolumn (przypominających wyrażenia XPath) Pozwala na zagnieżdżanie zapytań i uzyskiwanie tą droga złożonej struktury XML Istotna jest kolejność kolumn (najpierw te definiujące atrybuty, potem kolejne elementy) Możliwość wykorzystania znaku * (gwiazdka) jako nazwy kolumny 44

45 Klauzula FOR XML PATH Obsługuje opcje znane z trybu RAW i AUTO Istotna jest kolejność kolumn w zapytaniu (najpierw atrybuty, potem elementy) 45

46 Klauzula FOR XML PATH Opcja TYPE! 46

47 Klauzula FOR XML PATH przykład 2 47

48 Klauzula FOR XML inne opcje Wszystkie warianty klauzuli FOR XML zawierają jeszcze jedną istotna opcję TYPE Pozwala ona na traktowanie zwróconej wartości jako zmiennej typu XML, co ułatwia zagnieżdżanie wyniku zapytania w innym i budowanie złożonych hierarchii Podobna sytuacja występuje przy opcji XSNIL. Powoduje ona,że w przypadku gdy element ma wartość null to i tak będzie umieszczony w wynikowym dokumencie 48

49 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 49

50 Typ danych XML Kolumna w tabeli może być typu XML Pozwala na przechowanie bezpośrednio dokumentu XML o wielkości do 2 GB Z kolumną można skojarzyć kolekcję dokumentów XML Schema definiujących dopuszczalną zawartość kolumny XML (walidacja zgodności z XML Schema-mi) Typed XML (skojarzony z kolekcją XML Schema) może zapewnić większą wydajność ze względu na określenie typów danych oraz często mniejszy rozmiar pliku wynikowego Dokument nie jest przechowywany w oryginalnej postaci (normalizacja)! Do XML Schema wrócimy pod koniec wykładu 50

51 Typ danych XML Deklarowanie typu kolumny jako XML (untyped) Kolumna może zawierać dokumenty lub fragmenty dokumentów XML Przy zapisie weryfikowana jest jedynie składnia dokumentu XML Dopuszczalne odstępstwo może być wiele elementów najwyższego poziomu (w przypadku fragmentu dokumentu XML) 51

52 Typ danych XML Deklarowanie typu kolumny jako XML (typed) Korzystanie z możliwości XML Schema do definiowania dodatkowych ograniczeń dla postaci dokumentu Automatyczna walidacja danych zapisywanych w bazie Sposób na definiowanie niektórych rodzajów reguł biznesowych w postaci kolekcji schem 52

53 Typ danych XML - Stosowanie typu xml Przechowywanie danych o złożonej strukturze, które obsługiwane są przez aplikację. Baza jest tylko prostą przechowalnią. Modelowanie złożonych struktur danych połączone z rezygnacją z tworzenia wielu tabel w bazie. Wymiana danych z systemami zewnętrznymi Przechowywanie i umożliwienie modyfikowania złożonych struktur w ramach kolumny w tabeli\ Duże pliki XML = słabsza wydajność! Można próbować sobie z tym radzić poprzez stosowanie Indeksów XML 53

54 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 54

55 Metody typu danych XML Typ danych XML udostępnia szereg metod służących do manipulowania zawartością dokumentu W przykładowej bazie danych stosujemy XML do przechowywania danych teleadresowych klientów. Unikamy w ten sposób tworzenia co najmniej czterech tabel w bazie Dane teleadresowe zawierać będą adresy pocztowe, -e i identyfikatory z komunikatorów internetowych Na początku nie będziemy stosować kolekcji schem. Przyjdzie na to czas pod koniec wykładu 55

56 Metody typu danych XML - przykłady Wszystkie przykłady korzystania z metod typu danych XML będą przeprowadzane w oparciu o dokument XML: 56

57 Metody typu danych XML value() Jak pobrać konkretną wartość z dokumentu XML? Odpowiedzią jest metoda value() Wywołuje się ją z dwoma prametrami Wyrażeniem XQuery (właściwie zwykle jest to wyrażenie XPath) Docelowym typem danych Zwracana jest wartość skalarna, skonwertowana do typu określonego w wywołaniu: (// /wartosc)[1], varchar(100) ) Zwróci wartość pierwszego elementu wartosc będącego dzieckiem elementu , który występuje gdziekolwiek w hierarchii dokumentu. Wartość ta będzie skonwertowana do typu varchar(100) 57

58 Metody typu danych XML value() Metoda value() powinna być stosowana tylko gdy faktycznie chcemy pobrać wartość z dokumentu XML Jest to spowodowane tym, że nie jest ona zbyt wydajna Zastosowanie do sprawdzenia jakiegoś warunku nie jest dobrym pomysłem: SELECT CASE WHEN ISNULL(@dane.value( (// /wartosc)[1], varchar(100, ) = THEN 0 ELSE 1 END as czyzawiera 58

59 Metody typu danych XML exist() Metoda exist () służy do sprawdzania czy wskazany węzeł istnieje Zapewnia wyższą wydajność Nie wymaga konwertowania węzła do docelowego typu: // /wartosc ) as czyzawiera as czyzawiera e 59

60 Metody typu danych XML query() Metoda query () służy do pobierania z dokumentu XML zbiorów elementów zdefiniowanych poprzez wyrażenie XQuery. Zwracany zbiór jest także typu XML. Zwykle stosowana w połączeniu z wyrażeniami XPath: Lub XQuery (FLWOR): 60

61 Metody typu danych XML query() XQuery jest językiem służącym do odpytywania dokumentu XML. Jest specyfikacją rozwijaną, a jakże, przez konsorcjum W3C. Wyrażenia FLWOR to akronim od słów for, let, where, order by, return Pozwalają na złożone definiowanie reguł pobierania węzłów z dokumentu XML. Stosowane są raczej w przypadku bardziej złożonych struktur dokumentów XML Porównywane do polecenia SELECT z SQL 61

62 Metody typu danych XML nodes() Metoda nodes() zapewnia funkcjonalność odwrotną do klauzuli FOR XML. Pozwala na wyłuskanie wartości elementów lub atrybutów z dokumentu XML i, w połączeniu z operatorem CROSS APPLY, na zwrócenie tych danych w postaci zbioru wierszy Wywołanie: kolumnaxml.nodes( [XQuery] ) Zastosujmy ją tym razem do tabeli Klient, dla klientów, którzy posiadają uzupełnione dane teleadresowe (jest ich czworo): 62

63 Metody typu danych XML nodes() Problem: potrzebna jest lista klientów i ich adresów pocztowych (w formie zwykłego zbioru rekordów) CROSS APPLY oraz nodes() powodują dodanie do każdego rekordu wynikowego dodatkowej kolumny zawierającej zmienną typu xml, którą z kolei traktujemy metodą value() w celu pobrania poszczególnych wartości (pól) adresu Znak. (kropka) w wyrażeniu XPath oznacza bieżący element. W tym przypadku będzie to każdy znaleziony element pocztowy 63

64 Metody typu danych XML modify() Operacje na danych typu XML nie kończą się oczywiście na różnych wariantach ich odczytu Pozostaje jeszcze kwestia modyfikowania struktury dokumentu XML: Dodawania nowych węzłów Modyfikacji zawartości węzłów Usuwania węzłów XQuery nie zawiera żadnych możliwości manipulowania zawartością dokumentu W SQL Server wprowadzono XML DML, który uzupełnia ten brak Metoda modify() wywoływana jest z jednym parametrem jednym z poleceń: insert, delete, replace value of 64

65 Metody typu danych XML modify() [insert] Polecenie insert umożliwia dodawanie nowych węzłów do dokumentu XML. Składnia : insert [zawartosc] [położenie] [cel] Przykład: insert <lokal>12</lokal> as last into (//pocztowy)[1] Położenie można określać jako: as first into as last into before after 65

66 Metody typu danych XML modify() [insert] Efekt wykonania polecenia insert: Tylko element główny 66

67 Metody typu danych XML modify() [insert] Efekt wykonania polecenia insert: Zmienna typu XML Wstawienie zmiennej do zawartości dokumentu 67

68 Metody typu danych XML modify() [delete] Polecenie delete umożliwia usuwanie węzłów z dokumentu XML. Składnia : delete [cel] Przykład: delete //adres[ ] usuń wszystkie elementy adres zawierające w sobie element [cel] może wskazywać zarówno pojedynczy element jak i grupę elementów /atrybutów 68

69 Metody typu danych XML modify() [replace value of] Polecenie replace value of umożliwia zmianę zawartości węzła dokumentu XML na wskazaną. Składnia : replace value of [cel] with [zawartosc] Przykład: replace value of (//pocztowy/budynek/text())[1] with nieznany" zmień zawartość tekstową pierwszego napotkanego elementu budynek na nieznany [cel] może wskazywać co najwyżej jeden element lub atrybut 69

70 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 70

71 Typ danych XML co to jest XML Schema? XML Schema pozwala na narzucenie dodatkowych ograniczeń na zawartość dokumentu XML Dokument XML Schema.to też dokument XML Ogromne możliwości modelowania zawartości dokumentów Stworzona i rozwijana przez konsorcjum W3C ( ) Dużo wiedzy do rozpoznania i przyswojenia :-) a i tak zdarzają się sytuacje, gdy nie ma możliwości zamodelowania tego co chcemy osiągnąć 71

72 Typ danych XML co to jest XML Schema? Dokument XML Schema może być rozumiany jako formalna specyfikacja jakiegoś dokumentu XML Jeżeli otrzymam od kogoś plik z XML Schema to wiem, jak ma wyglądać dokument XML spełniający stawiane wymagania. Ten mechanizm jest powszechnie stosowany W SQL Server XML Schema jest stosowana do nakładania ograniczeń na zawartość kolumn typu XML. Pozwala to przenieść umiejętności ze świata XML do relacyjnych baz danych 72

73 Korzystanie z XML Schema istotne fakty Kolumna typu xml przyjmie każdy poprawnie sformułowany dokument XML lub fragment dokumentu XML. Nałożenie ograniczeń na dopuszczalną strukturę i zawartość dokumentów XML poprzez XML Schema Collection XML Schema Collection może zawierać jedną lub więcej schem opisujących dopuszczalne struktury dokumentów XML Ograniczenie nakłada się przy deklarowaniu typu kolumny przez podanie w nawiasie nazwy kolekcji schem Przy każdej próbie zapisu wartości XML do kolumny z nałożonymi ograniczeniami następuje jej walidacja ze schemami z kolekcji. Jeżeli jest zgodna z którąś ze schem zapis dochodzi do skutku Korzystanie z kolekcji schem może poprawić wydajność zapytań operujących na zawartości XML (chociażby przez fakt, że znane mogą być typy danych zawartych w poszczególnych elementach i atrybutach) 73

74 Korzystanie z XML Schema Korzystanie z XML Schema Collection składa się z dwóch etapow Utworzenie kolekcji schem Deklarowanie w tabelach kolumn jako xml(?) gdzie? Jest nazwą kolekcji schem: Adresy xml(daneadresowe) not null 74

75 Korzystanie z XML Schema Po utworzeniu kolekcji schem jest ona widoczna w oknie object browser (narzędzia SQL Server Management Studio): CREATE XML SCHEMA COLLECTION DaneAdresowe AS N'<xs:schema ( ) 75

76 Korzystanie z XML Schema Deklaracja kolumny typu xml korzystającej z kolekcji schem: [DaneTeleadresowe] [xml](document [dbo].[daneadresowe]) NULL W naszym przykładzie użyjemy jej w tabeli z danymi klientów: 76

77 Korzystanie z XML Schema Sam proces tworzenia dokumentu XML Schema jest na tyle złożony, że zasługuje na osobny wykład lub dwa :-) Omówiony zostanie pokrótce, żeby zrozumieć zasadę działania a nie wdawać się w niuanse modelowania dokumentów XML. Cel modelowania: Dane teleadresowe mogą się składać z dowolnej liczby adresów pocztowych i . Adres składa się tylko z jednej wartości ciągu zawierającego sam adres Adres pocztowy składa się z obowiązkowych pól miejscowość i kod pocztowy oraz z opcjonalnych: poczta, ulica, budynek i lokal. Dodatkowo kod pocztowy składa się z dwóch cyfr, znaku myślnika i trzech cyfr Adres musi zawierać i jedną kropkę. 77

78 Korzystanie z XML Schema Struktura schemy dla opisanego problemu (diagram z XML Spy) 78

79 Korzystanie z XML Schema Dodatkowe ograniczenia widoczne są dopiero w kodzie XML schema: Definiują one kodpocztowy jako szablon ##-### gdzie # oznacza cyfrę Definiują one wartość adresu jako ciąg zawierajacy w sobie oraz kropkę 79

80 Korzystanie z XML Schema Spróbujmy teraz sprawdzić działanie kolekcji schem poprzez dodanie kilku wpisów do kolumny xml. Zacznijmy od wpisu z adresem pocztowym: Polecenie wykonało się poprawnie, gdyż dokument jest zgodny ze schemą 80

81 Korzystanie z XML Schema Kolejna próba dokument z adresem Polecenie wykona się poprawnie, gdyż dokument jest zgodny ze schemą 81

82 Korzystanie z XML Schema Kolejna próba dokument z dwoma adresami (pocztowym i ) Polecenie wykona się poprawnie, gdyż dokument jest zgodny ze schemą 82

83 Korzystanie z XML Schema Kolejna próba dokument z adresem pocztowym (błędny kod) Polecenie spowoduje błąd, gdyż dokument nie spełnia ograniczenia wynikającego ze schemy. 83

84 Korzystanie z XML Schema Kolejna próba dokument z adresem (błędna wartość adresu ) Polecenie spowoduje błąd, gdyż dokument nie spełnia ograniczenia wynikającego ze schemy. 84

85 Korzystanie z XML Schema Kolejna próba dokument z nadprogramowym elementem Polecenie spowoduje błąd, gdyż dokument zawiera dodatkowy element bonus 85

86 Korzystanie z XML Schema Kolejna próba dokument z brakującym elementem (adresik zamiast adres) Polecenie spowoduje błąd, gdyż dokument nie zawiera wymaganego elementu adres 86

87 Korzystanie z XML Schema Kolejna próba dokument z brakującym znacznikiem zamykającym Polecenie spowoduje błąd, gdyż dokument nie jest poprawnie sformułowany. W tym przypadku nie doszło do walidacji za pomocą schemy! 87

88 Agenda Podstawy XML Historia XML w pigułce Struktura dokumentu XML XML a bazy danych Alternatywa dla relacyjnych baz danych? XML w SQL Server 2008 Klauzula FOR XML polecenia SELECT Typ danych XML Metody typu XML Korzystanie z XML Schema Podsumowanie 88

89 Podsumowanie XML znajduje zastosowanie w świecie relacyjnych baz danych Nie jest dla nich alternatywą, raczej uzupełnia ich możliwości Z racji popularności XML serwery baz danych zaczynają go wspierać (wcześniej tylko jako BLOB lub CLOB) 89

90 Podsumowanie SQL Server 2008 posiada szereg wygodnych mechanizmów pozwalających na korzystanie z XML przy: Przechowywaniu danych w bazie (typ danych xml) Zwracaniu wyników zapytań w postaci XML (klauzula FOR XML) Odpytywaniu dokumentu XML (metody value(),exist(),nodes() ) Nie wspomniano przy tej okazji chociażby o indeksach XML poprawiających wydajność zapytań korzystających z danych XML Modyfikowaniu struktury dokumentu XML (metoda modify() ) Definiowaniu ograniczeń dopuszczalnej struktury dokumentów XML (XML Schema Collection ) 90

91 <Koniec /> czy są pytania? 91

92

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia

Bardziej szczegółowo

Dokumenty XML w relacyjnych bazach danych czyli wojna światów. Andrzej Ptasznik Warszawska Wyższa Szkoła Informatyki aptaszni@wwsi.edu.

Dokumenty XML w relacyjnych bazach danych czyli wojna światów. Andrzej Ptasznik Warszawska Wyższa Szkoła Informatyki aptaszni@wwsi.edu. Dokumenty XML w relacyjnych bazach danych czyli wojna światów Andrzej Ptasznik Warszawska Wyższa Szkoła Informatyki aptaszni@wwsi.edu.pl < 92 > Informatyka + Wszechnica Popołudniowa > Dokumenty XML w relacyjnych

Bardziej szczegółowo

Rola języka XML narzędziem

Rola języka XML narzędziem Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz

Bardziej szczegółowo

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML Plan dzisiejszego wykładu Narzędzia informatyczne w językoznawstwie Perl - Wprowadzenie do XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. kwietnia

Bardziej szczegółowo

Relacyjne bazy danych a XML

Relacyjne bazy danych a XML Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

29. Poprawność składniowa i strukturalna dokumentu XML

29. Poprawność składniowa i strukturalna dokumentu XML 29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację

Bardziej szczegółowo

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl Plan wykładu Wprowadzenie: historia rozwoju technik znakowania tekstu Motywacje dla prac nad XML-em Podstawowe koncepcje XML-a XML jako metajęzyk

Bardziej szczegółowo

Wszechnica Popołudniowa: Bazy danych Dokumenty XML w relacyjnych bazach danych czyli wojna światów

Wszechnica Popołudniowa: Bazy danych Dokumenty XML w relacyjnych bazach danych czyli wojna światów Wszechnica Popołudniowa: Bazy danych Dokumenty XML w relacyjnych bazach danych czyli wojna światów Andrzej Ptasznik Człowiek najlepsza inwestycja Rodzaj zajęć: Wszechnica Popołudniowa Tytuł: Dokumenty

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz

Bardziej szczegółowo

OBSŁUGA TYPU DANYCH XML W MS SQL SERVER 2008

OBSŁUGA TYPU DANYCH XML W MS SQL SERVER 2008 ZESZYTY NAUKOWE 137-121 Andrzej PTASZNIK 1 OBSŁUGA TYPU DANYCH XML W MS SQL SERVER 2008 Streszczenie Przedmiotem wykładu jest wykorzystanie dokumentów XML w relacyjnych bazach danych. W pierwszej części

Bardziej szczegółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki Instytut Informatyki Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

Bardziej szczegółowo

252 Bazy danych. Praca z językiem XML

252 Bazy danych. Praca z językiem XML 252 Bazy danych Praca z językiem XML Bazy danych 253 Przegląd zagadnień Przechowywanie danych w XML Wybieranie danych z XML Podsumowanie Laboratorium XML (ang. extensible Markup Language) jest językiem

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

XML extensible Markup Language 7

XML extensible Markup Language 7 XML extensible Markup Language 7 XQuery Co to jest XQuery? XQuery to język zapytań dla XML. XQuery jest dla XML tym czym SQL dla baz danych, a SPARQL dla RDF. XQuery wykorzystuje wyrażenia XPath. XQuery

Bardziej szczegółowo

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy

Bardziej szczegółowo

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

Przykładowy dokument XML

Przykładowy dokument XML Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Dlaczego GML? Gdańsk r. Karol Stachura

Dlaczego GML? Gdańsk r. Karol Stachura Dlaczego GML? Gdańsk 13.03.2017r. Karol Stachura Zanim o GML najpierw o XML Dlaczego stosuje się pliki XML: Tekstowe Samoopisujące się Elastyczne Łatwe do zmiany bez zaawansowanego oprogramowania Posiadające

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

XML extensible Markup Language. Paweł Chodkiewicz

XML extensible Markup Language. Paweł Chodkiewicz XML extensible Markup Language Paweł Chodkiewicz XML - extensible Markup Language Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Historia GML Projekt

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Ministerstwo Finansów

Ministerstwo Finansów Ministerstwo Finansów Departament Informatyzacji Specyfikacja Wejścia-Wyjścia Wersja 1.0 Warszawa, 16.02.2017 r. Copyright (c) 2017 Ministerstwo Finansów MINISTERSTWO FINANSÓW, DEPARTAMENT INFORMATYZACJI

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

1 XML w bazach danych

1 XML w bazach danych XML w bazach danych 1 Plan 2 Wprowadzenie do języka XML Standard SQL-XML Funkcje SQL-XML Format XML 3 Formalnie, XML stanowi podzbiór języka Standard Generalized Markup Language (SGML) (ISO 8879:1986)

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia. Kuba Pochrybniak

DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia. Kuba Pochrybniak DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia Kuba Pochrybniak osoba id="137" imie Helena /imie osoba id="137" imie Helena /imie imie Jagienka /imie osoba id="137" imie Helena /imie imie Jagienka

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Hurtownie danych wykład 5

Hurtownie danych wykład 5 Hurtownie danych wykład 5 dr Sebastian Zając SGH Warszawa 7 lutego 2017 1 Współbieżność i integracja Niezgodność impedancji 2 bazy danych Współbieżność i integracja Niezgodność impedancji Bazy relacyjne

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI Instrukcja użytkownika Narzędzie do modelowania procesów BPEL Warszawa, lipiec 2009 r. UNIA EUROPEJSKA EUROPEJSKI FUNDUSZ

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze

Bardziej szczegółowo

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku z wykorzystaniem systemu ADONIS Krok po kroku BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów

Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów Wykład przygotował: Krzysztof Jankiewicz Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów Trzeci wykład dotyczący baz danych dokumentów

Bardziej szczegółowo

Kuźnia Talentów: Bazy danych Wykorzystanie XML w relacyjnych bazach danych

Kuźnia Talentów: Bazy danych Wykorzystanie XML w relacyjnych bazach danych Kuźnia Talentów: Bazy danych Wykorzystanie XML w relacyjnych bazach danych Andrzej Ptasznik OKLADKA_Wykorzystanie XML w relacyjnych bazach danych.indd 1-2 10-06-18 12:14 Wykorzystanie XML w relacyjnych

Bardziej szczegółowo

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu

Bardziej szczegółowo

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie

Bardziej szczegółowo

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX Aktualizowanie dokumentów XML ( Oracle ) do aktualizowania zawartości dokumentów XML służy między innymi funkcja updatexml. wynikiem jej działania jest oryginalny dokument ze zmodyfikowanym fragmentem,

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

GML w praktyce geodezyjnej

GML w praktyce geodezyjnej GML w praktyce geodezyjnej Adam Iwaniak Kon-Dor s.c. Konferencja GML w praktyce, 12 kwietnia 2013, Warszawa SWING Rok 1995, standard de jure Wymiany danych pomiędzy bazami danych systemów informatycznych

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Wstęp. Opis ten dotyczy wydziałów orzeczniczych. Wstęp. Opis ten dotyczy wydziałów orzeczniczych. W związku z przekształceniem 79 Sądów w Wydziały Zamiejscowe i związane z tym liczne zapytania odnośnie strony technicznej i sposobu przygotowania baz danych

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Składowane procedury i funkcje

Składowane procedury i funkcje Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.

Bardziej szczegółowo

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych Plan wykładu BAZY DANYCH II WYKŁAD 3 Zasięg zmiennych Zmienne powiązane Instrukcje warunkowe Pętle Pobieranie danych SQL w PL/SQL Rekordy dr inż. Agnieszka Bołtuć Zasięg zmiennych Zmienna jest dostępna

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI ul. Wspólna 1/3 00-529 Warszawa ZASADY NAZEWNICTWA DOKUMENTÓW XML Projekt współfinansowany Przez Unię Europejską Europejski Fundusz

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo