DB2 XML Extender. Opracowane na podstawie dokumentacji IBM XML Extender

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

Download "DB2 XML Extender. Opracowane na podstawie dokumentacji IBM XML Extender"

Transkrypt

1 DB2 XML Extender Opracowane na podstawie dokumentacji IBM XML Extender mgr inż. Adam Duszeńko Politechnika Śląska w Gliwicach, 2005

2 Rozszerzenie DB2 XML Extender umożliwia: - dostęp i składowanie dokumentów XML, - tworzenie nowych dokumentów XML na podstawie relacyjnych danych, - dekompozycj ę dokumentów XML na posta ć danych relacyjnych. Funkcjonalno ść ta jest realizowana poprzez nowe funkcje, typy danych i procedury składowane bazy danych. Głównym językiem operowania na danych pozostaje SQL nawet w przypadku operowania bezpośrednio na dokumentach XML. XML Extender umożliwia składowanie całych dokumentów XML w strukturach bazy danych DB2 lub ich dekompozycj ę na tabele relacyjne bazy. Możliwe jest równie ż dołączanie do przestrzeni danych bazy zewnętrznych dokumentów XML znajdujących si ę w lokalnym systemie plików poprzez zapis wskaźnika do zasobów systemu plików. Dostępne są dwie metody obsługi dokumentów XML: XML Columns metoda ta pozwala składować całe dokumenty wewnątrz bazy DB2. Dokumenty umieszczone w przeznaczonych do tego kolumnach mogą być aktualizowane, przeszukiwane, pobierane. Wybrane elementy dokumenty i ich atrybuty można mapować na pomocnicze tabele (ang. side tables) na których dla przyspieszenia operacji tworzone są indeksy. XML Collections metoda pozwalająca zmapować strukturę dokumentu XML z tabelami bazy DB2 dzięki czemu możliwe jest tworzenie dokumentów XML z danych umieszczonych w tabelach, oraz dekomponowanie istniejących dokumentów na tabele. Dzięki metodzie kolumn XML składowane dokumenty można: Pobierać, przeszukiwać elementy i atrybuty dokumentu (wykonując wyszukiwanie bezpośrednio w dokumencie XML, tabelach pomocniczych lub za pomocą wyszukiwania pełnotekstowego) aktualizować wartości elementów i atrybutów udostępniać innym aplikacjom Metoda kolekcji XML umożliwia: tworzenie nowych dokumentów XML w oparciu o dane znajdujące się w relacyjnych tabela bazy (powiązanie pomiędzy tabelami a elementami i atrybutami dokumentu XML jest definiowane w opisanym niżej pliku DAD). składowanie zawartości dokumentów XML z pominięciem nadmiarowych znaczników dostęp do danych plików XML tak jak do danych relacyjnej bazy danych. Document Type Definition (DTD) XML Extender współpracuje z plikami DTD opisującymi struktur ę dokumentów. Włączenie obsługi dokumentów XML przez baz ę powoduje stworzenie tabeli DTD_REF. Każdy wiersz tej tabeli zawiera plik DTD wraz z dodatkowymi metadanymi. Dokumenty zachowane w tej tabeli wykorzystywane s ą do przeprowadzania walidacji dokumentów. Przykład: DTD file example (customer.dtd file): <?xml version="1.0"?> <!ELEMENT person (firstname,lastname,phone*)> <!ATTLIST person id CDATA #REQUIRED > <!ELEMENT firstname (#PCDATA )> <!ELEMENT lastname (#PCDATA )> <!ELEMENT country (#PCDATA )> <!ELEMENT phone (type,number)>

3 <!ELEMENT type (#PCDATA )> <!ELEMENT number (#PCDATA )> Document Access Definition Wspomniane wcześniej mapowanie struktury dokumentu XML na struktur ę relacyjnych tabel bazy danych realizowane jest przez pliku DAD. Plik DAD jest plikiem XML wykorzystywanym w obu metodach składowania dokumentów XML w bazie do określania powiąza ń między elementami i atrybutami z kolumnami tabel. Dokumenty DAD składowane s ą w tabeli XML_USAGE tworzonej wraz z tabel ą DTD_REF. Do wskazywania elementów i atrybutów w dokumencie XML wykorzystywana jest notacja zgodna z XPath. Praca z rozszerzeniem XML Extender: 1. Stworzenie bazy danych. Za pomoc ą wiersza polece ń bazy (Command Line Processor) lub narzędzia Command Center wydajemy polecenie CREATE DATABASE MYDB gdzie MYDB to nazwa tworzonej bazy danych. 2. Po stowrzeniu bazy należy j ą odpowiednio posłączy ć do rozwszerzenia: a. Za pomoc ą DB2 Command Window, łączymy si ę z utworzon ą poprzednio baz ą danych: db2 connect to mydb b. Zmieniamy bieżący katalog na podkatalog BND katalogu instalacji XML Extender. Standardowo XML Extender jest instalowany w C:\DXX, więc należy przej ść do C:\DXX\BND za pomoc ą komendy: cd /d C:\DXX\BND c. Podłączamy baz ę do XML Extender poprzez: db2 d. Zmieniamy bieżący katalog na podkatalog BND katalogu instalacji bazy DB2 za pomoc ą komendy: cd /d %DB2PATH%\bnd e. Podłączamy baz ę do CLI poprzez: db2 f. Rozłączamy si ę z baz ą: db2 terminate Pierwszym krokiem do umożliwienia składowania dokumentów XML w bazie danych DB2 jest uaktywnienie rozszerzenia XML Extender. Krok ten powoduje: Stworzenie schematu db2xml (wraz z odpowienimi uprawnieniami). Zadeklarowanie typów user-defined (UDT) XMLVARCHAR, XMLCLOB, XMLFILE, oraz wielu user-defined functions (UDF). Tabele administracyjne wykorzystywane przez DB2 XML Extender, DTD_REF i XML_USAGE. Rozszerzenie DB2 Extender udostępnia polecenie dxxadm. W celu uaktywnienia rozszerzenia XML należy uruchomić to polecenie z nast. parametrami dxxadm enable_db mydb gdzie mydb to nazwa bazy danych dla której rozszerzenie ma być aktywne. Po uaktywnieniu rozszerzenia można ju ż umieszcza ć we wskazanej bazie dokumenty XML stosując metody składowania XML Collection lub XML Column. Tworzenie tabel dla XML Aby rozpocz ąć składowanie dokumentów XML w bazie należy najpierw przygotowa ć tabele z przeznaczonymi dla nich kolumnami. Możliwe jest stworzenie tabeli od podstaw lub na drodze zmiany definicji istniejącej tabeli przez dodanie nowej kolumny. DB2 XML Extender dostarcza trzy nowe typy danych umieszczone w schemacie db2xml przeznaczone do składowania danych XML: XMLVarchar: przeznaczony do składowania dokomentów XML o rozmiarze do 3 KB. XMLCLOB: przeznaczony do składowania dokomentów XML o rozmiarze do 2 GB. XMLFILE: Odniesienie do zasobów dyskowych gdzie fizycznie składowany jest dokument. Poniższy przykład stworzy tabel ę wykorzystując ą metod ę XML Column i typ XMLCLOB: create table person1(id integer not null primary key, person db2xml.xmlclob not logged);

4 W celu zmodyfikowania istniejącej tabeli przez dodanie kolumny dla XML można uży ć polecenia postaci: alter table person2 add person db2xml.xmlvarchar; Tworzenie pliku DAD Plik Document Access Definition określa w zasady dostępu do składowanych dokumentów XML. W przypadku metody XML Column, plik DAD jest potrzebny tylko w przypadku gdy chcemy przeprowadza ć walidacj ę dokumentów przed ich składowaniem w bazie, lub gdy chcemy wykorzystać tabele pomocnicze do stworzenia indeksów na dokumentach. Tabele pomocnicze s ą tworzone przez rozszerzenie XML Extender w celu dodania indeksów przyspieszających dostęp do węzłów dokumentu XML składowanego za pomoc ą metody XML Column. Przed stworzeniem dokumentu DAD należy: Określi ć które elementy i atrybuty dokumentu XML będ ą najczęściej kryterium wyszukiwania Dla każdego elementu i atrybutu, który chcemy indeksowa ć określi ć: - Ścieżk ę dostępu: Za pomoc ą modelu XPath wskaza ć element który ma zostać połączony ze struktur ą relacyjnej tabeli indeksów. - Typ danych do którego element lub atrybut maj ą zosta ć przekonwertowane. W ramach dokumnetu XML wszystkie elementy i atrybuty s ą analizowane jako dane znakowe, natomiast w tabeli pomocniczej należy używa ć typów relacyjnej bazy danych DB2. - Ilo ść wystąpie ń. Określi ć czy jest to warto ść pojedyncza czy wielokrotna. Elementy i atrybuty nie występujące wielokrotnie, znajdujące si ę na tym samym poziomie dokumentu XML mog ą by ć umieszczane w tych samych tabelach pomocniczych. Elementy i atrybuty występujące wielokrotnie należy umieszcza ć w osobnych taelach pomocniczych. Czy ma zachodzi ć walidacja dokumentów. Zanim uruchomimy walidacj ę należy najpierw zarejestrowa ć odpowiedni dokument DTD. W tym celu należy dokument DTD umieści ć w tabeli DTD_REF znajdującej si ę w schemacie DB2XML dodając do niego unikalny identyfikator DTD ID. Za pomoc ą operacji INSERT języka SQL umieszczamy plik DTD w kolumnie typu XMLCLOB w tabeli DTD_REF wykorzystując funkcj ę XMLClobFromFile dostarczan ą przez DB2 XML Extender. insert into db2xml.dtd_ref(dtdid, content, usage_count, author, creator,updator) values('c:\code\person.dtd', db2xml.xmlclobfromfile('c:\code\person.dtd'), 0, 'xmlext','xmlext', 'xmlext'); Teraz możemy ju ż stworzy ć odpowiedni plik DAD: <?xml version="1.0"?> 1 <!DOCTYPE DAD SYSTEM "c:\dxx\dtd\dad.dtd"> 2 <DAD> 3 <dtdid>c:\sg246130\code\person.dtd</dtdid> 4 <validation>no</validation> 5 <Xcolumn> 6 <table name="person_names"> 7 <column name="fname" 8 type="varchar(50)" 9 path="/person/firstname" 10 multi_occurrence="no"/> 11 <column name="lname" type="varchar(50)" path="/person/lastname" multi_occurrence="no"/> </table> <table name="person_phone_number"> 12 <column name="pnumber" type="varchar(20)" path="/person/phone/number" multi_occurrence="yes"/> 12 </table> <table name="person_phone_number"> <column name="pnumber"

5 type="varchar(20)" path="/person/phone/number" multi_occurrence="yes"/> </table> <table name="person_phone_type"> <column name="ptype" type="varchar(20)" path="/person/phone/type" multi_occurrence="yes"/> </table> </Xcolumn> </DAD> 1. Dokument DAD jest równie ż dokumentem XML. 2. Dokument DAD musi by ć zgodny z specyfikacj ą zawart ą w DAD.DTD dostarczan ą przez DB2 XML Extender w podkatalogu dtd katalogu instalacyjnego rozszerzenia. 3. Dokumenty DAD zaczynaj ą si ę i kończ ą znacznikami <DAD>. 4. W korzeniu pliku DAD znajduj ą si ę 3 znaczniki: <dtdid>, <validation> oraz <Xcolumn> lub <Xcollection>. Znacznik dtdid odnosi si ę do identyfikatora nadanego dokumentowi DTD podczas umieszczania go w tabeli DTD_REF. Wykorzystywany jest podczas walidacji dokumentów. 5. Umieszczenie w drugim znaczniku YES lub NO decyduje o tym czy walidacja będzie przeprowadzana. W naszym przypadku rezygnujemy z walidacji. 6. W powyższym przypadku używamy metody XML Column. 7. Znacznik <table> pozwala określi ć kolejne tabele pomocnicze. 8. Dla każdej tabeli pomocniczej określamy jej struktur ę za pomoc ą zniaczników <column>. Każda kolumna <column> posiada 4 atrybuty: nazw ę, ścieżk ę, typ i ilo ść wystąpie ń. Atrybut nazwy znacznika <column> określa nazw ę tabeli pomocniczej. 9. Atrybut scieżki wskazuje ścieżk ę w strukturze dokumentu XMLdo indeksowanego elementu. Wykorzystywana jest notacja XPath. 10. Atrybut typu określa typ kolumny. 11. Ilo ść wystąpie ń określa czy element może wystąpi ć wielokrotnie w dokumencie. Uruchamianie metody XML Column Po stworzeniu pliku DAD należy określi ć do której kolumny w której tabeli plik ten si ę odnosi. W tym celu ponownie wykorzystujemy polecenie administracyjne dxxadm, tym razem z opcją enable_column. Wymagane parametry to: 1. Nazwa bazy danych 2. Nazwa tabeli zawierającej XML Column 3. Nazwa kolumny w tej tabeli 4. Nazwa pliku DAD skojarzonego z t ą XML Column For our simple illustration, the command to enable the XML Column is: dxxadm enable_column xmltest person1 person c:\sg246130\code\personcolumn.dad -r id Operacje Insert, delete, extract, oraz update Teraz baza jest gotowa do przetwarzania dokumentów XML. Możliwe s ą następujące operacje: składowanie w bazie przeszukiwanie aktualizacja usuwanie Do każdej z tych operacji DB2 XML Extender dostarcza cztery grupy user-defined funkcji (UDFs). Składowanie Funkcje UDF składowania wykorzystywane s ą do pobrania dokumentu XML do zachowania w bazie. Dostępne s ą cztery funkcje (zależnie od źródła i przeznaczenia dokumnetu): XMLVarcharFromFile(): import dokumentu XML z pliku lokalnego systemu plików do kolumny XMLVarchar XMLCLOBFromFile(): import dokumentu XML Document z pliku lokalnego systemu plików do kolumny XMLCLOB

6 XMLFileFromVarchar(): odczyt dokumentu XML z pamięci jako VARCHAR, zapis do systemu plików i wstawienie nazwy pliku do pola typu XMLFile XMLFileFromCLOB(): odczyt dokumentu XML z pamięci jako CLOB, zapis do systemu plików i wstawienie nazwy pliku do pola typu XMLFile W naszym przykłądzie umieszczamy plik XML person.xml umieszczony w katalogu C:\code w tabeli person1: insert into person1 values(1, db2xml.xmlclobfromfile('c:\code\person.xml')); Przeszukiwanie Dostępne s ą dwie metody przeszukiwania dokumentów składowanych w bazie DB2: z użyciem tabel pomocniczych Na przykład szukamy służbowego numeru telefonu Pana Smith : select pnumber from person_names t1, person_phone_number t2, person_phone_type t3 where t1.id = t2.id and t1.id = t3.id and t2.dxx_seqno = t3.dxx_seqno and t1.lname='smith' and t3.ptype='office'; z użyciem funkcji ekstrakcji danych elementów i atrybutów bezpośrednio z dokumentu XML zachowanego w DB2 Column. Funkcje te umożlwiaij ą zarówno przeszukiwanie jak i odczyt wartości w zależności czy sa użyte w frazie select lub where zapytania. Wszystkie te funkcje bazuj ą na notacji XPath używanej do wskazywania żądanego elementu lub atrybutu. Funkcje UDF ekstrakcji dzielimy na grupy: - skalarne: odczytujące pojedynczy element lub atrybut. Element taki lub atrybut musi wystąpi ć w dokumencie tylko raz. Zwracany jest typ skalarny bazy DB2. - tablicowe: odczytujące elementy lub atrybuty występujące wielokrotnie w dokumencie. Zwracana jest tabela. Każda funkcja ekstrakcji przyjmuje dwa parametry: - dokument XML do przeszukania (XMLFile, XMLVarchar lub XMLCLOB) - ścieżka wyrażona w notacji XPath wskazująca element lub atrybut Przyk ad: ł select db2xml.extractvarchar(person, '/person/country') from person1 t1, person_names t2 where t1.id = t2.id

7 and t2.lname='smith' Przykład 2: select lname, fname from person1 t1, person_names t2 where t1.id = t2.id and db2xml.extractvarchar(person, '/person/country') = 'US'; Aktualizacja Możliwe s ą dwie metody aktualizacji dokumentów XML: Wykorzystanie zapytania update SQL do zamiany składowanego dokumentu w całości: update person1 set person = db2xml.xmlclobfromfile('c:\code\personbis.xml'); Tablice pomocnicze s ą w takiej sytuacji automatycznie modyfikowane dla utrzymania synchronizacji z aktualnie składowanym dokumentem. Wykorzystanie funkcji Update UDF. Funkcje te umożliwiaj ą modyfikacj ę dokumentu XML zmieniając warto ść wskazanych elementów lub atrybutów bez konieczności zmiany całego dokumentu. Przykład: update person1 set person = db2xml.update(person, /person/country, UK ); Pobieranie Dostępne s ą różne metody pobierania dokumentów XML. Jeżeli dokument XML by ł zapisany w postaci XMLCLOB lub XMLVarchar, możliwe jest zrzutowanie go bezpośrednio do CLOB or VARCHAR. Funkcje rzutowania dostępne s ą w postaci UDF w schemacie db2xml. Oprócz tego DB2 XML Extender dostarcza przeciążon ą funkcj ę UDF Content pozwalając ą na pobieranie danych z bazy DB2. Dostępne s ą trzy implementacje tej funkcji eksportu dokumentu XML z: XMLVarchar do pliku XMLCLOB format do pliku XMLFile do CLOB Przykład: select db2xml.content(person, 'c:\retrievedperson.xml') from person1 where id = 1; Metoda XML Collections Metoda XML Collections pozwala mapowa ć struktur ę dokumentu XML na relacyjne tablice baza DB2, dzięki czemu możliwe jest tworzenie nowych dokumentów XML w oparciu o dane relacyjne lub dekomponowa ć istniejące dokumenty na tabele. W celu przeprowadzenia procesu kompozycji dokumentu XML przygotujemy baz ę. CREATE TABLE Customer(ID INTEGER NOT NULL PRIMARY KEY,Country VARCHAR(30),LName VARCHAR(30),FName VARCHAR(30)) CREATE TABLE Customer_Details(ID INTEGER,Phone_Number VARCHAR(20), Phone_Type VARCHAR(20), CONSTRAINT CUST_DETAIL_FK FOREIGN KEY (ID) REFERENCES Customer (ID)) Wypełniamy przykładowymi danymi: INSERT INTO Customer values(1,'us','smith','bill'); INSERT INTO Customer values(2,'india','gupta','raj'); INSERT INTO Customer_Details values(1,' ','office') INSERT INTO Customer_Details values(1,' ','home') INSERT INTO Customer_Details values(2,' ','office') INSERT INTO Customer_Details values(2,' ','home') U yjemy tego samego pliku DTD co poprzednio. ż <?xml version="1.0"?> <!ELEMENT person (firstname,lastname,phone*)> <!ATTLIST person id CDATA #REQUIRED > <!ELEMENT firstname (#PCDATA )> <!ELEMENT lastname (#PCDATA )>

8 <!ELEMENT country (#PCDATA )> <!ELEMENT phone (type,number)> <!ELEMENT type (#PCDATA )> <!ELEMENT number (#PCDATA )> mapowanie dokumentu XML na baz ę danych Plik DAD z SQL_stmt Plik DAD wykorzystywany do tworzenia dokumentów XML ma na przykład następując ą posta ć: <?xml version="1.0"?> <!DOCTYPE DAD SYSTEM "c:\dxx\dtd\dad.dtd"> <DAD> <validation>no</validation> <Xcollection> <SQL_stmt> SELECT c.id,country,lname,fname,p.phone_id,phone_number,phone_type from CUSTOMER C, table (SELECT substr(char(timestamp(generate_unique())),16) as PHONE_ID,ID,PHONE_NUMBER,PHONE_TYPE from customer_details) P where P.ID=C.ID order by ID, PHONE_ID </SQL_stmt> <prolog>?xml version="1.0"?</prolog> <doctype>!doctype person SYSTEM "C:\dxx\samples\dtd\person.dtd"</doctype> <root_node> <element_node name ="person"> <attribute_node name="id"> <column name="id"/> </attribute_node> <element_node name="firstname"> <text_node> <column name="fname"/> </text_node> <element_node name="lastname"> <text_node> <column name="lname"/> </text_node> <element_node name="phone" multi_occurrence="yes"> <element_node name="type"> <text_node> <column name="phone_type"/> </text_node> <element_node name="number"> <text_node> <column name="phone_number"/> </text_node> </root_node> </Xcollection> </DAD> Uruchamianie obsługi metody collections za pomocą DB2 command shell

9 Uruchamianie wykonujemy za pomoc ą następującej komendy: dxxadm enable_collection dbname collection DAD_file -t tablespace gdzie: dbname nazw abazy danych collection nazwa kolekcji XML DAD_file nazwa pliku z dokumentem DAD tablespace schemat w którym znajduj ą si ę tabele kolekcji. Komponowanie dokumentu XML Do kompozycji dokumentu XML wykorzystamy procedur ę składowan ą dxxgenxml(). Do wywołania tej metody użyjemy przykładowego programu w języku Java dostarczonego wraz z rozszerzeniem XML Extender. Kompozycja dokumentu: 1. Kompilacja programu Generate.java znajdującego si ę w INSTALL_DIR\ samples\jdbc za pomocą polecenia javac Generate.java. INSTALL_DIR to katalog instalacji XML Extender (C:\dxx). 2. Stworzenie tabeli RESULT_TAB za pomoc ą polecenia: create table result_tab(doc varchar(3000)) 3. Uruchomienie programu generatora: java Generate xmltest C:\dxx\samples\dad\person.dad result_tab gdzie: XMLTEST jest baz ą zawierając ą dane relacyjne. C:\dxx\samples\dad\person.dad to plik DAD. RESULT_TAB to tabela przechowująca stworzony dokument. 4. Przeniesienie zawartości tabeli RESULT_TAB do pliku: select db2xml.content(db2xml.xmlvarchar(doc), 'DOC_DIR\person1.xml') from result_tab where db2xml.extractvarchar(db2xml.xmlvarchar(doc), '/person/@id') = '1' select db2xml.content(db2xml.xmlvarchar(doc), 'DOC_DIR\person2.xml') from result_tab where db2xml.extractvarchar(db2xml.xmlvarchar(doc), '/person/@id') = '2' gdzie: DOC_DIR to docelowa lokalizacja plików docelowych // XMLFILE W celu zlinkowania struktur bazy danych z dokumentami XML przechowywanymi na w przestrzeni składowania systemu operacyjnego należy wykonać nast. kroki: db2 create table patientxmlfile (id integer not null primary key, dataxmlfile db2xml.xmlfile) dxxadm enable_column mkad patientxmlfile dataxmlfile c:\dxx\xml\columnfile.dad -r id db2 commit db2 insert into patientxmlfile (id,dataxmlfile) values(1, db2xml.xmlfile ('c:\dxx\xml\file\bloggs.xml')) db2 insert into patientxmlfile (id,dataxmlfile) values(2, db2xml.xmlfile ('c:\dxx\xml\file\moore.xml')) db2 select db2xml.extractvarchar(dataxmlfile, '/patient/born') from patientxmlfile p, doctor_submitted d where pager='998' and d.id = p.id db2 update patientxmlfile set dataxmlfile = db2xml.update (dataxmlfile,'/patient/born','1960') where id in (select id from doctor_submittedf where pager='998')

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

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

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

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

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

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

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

XML w bazie danych IBM DB2

XML w bazie danych IBM DB2 Instytut Informatyki Politechnika Śląska Gliwice, ul. Akademicka 16 XML w bazie danych IBM DB2 Dr inż. Dariusz Mrozek Wykład: IBM DB2 uniwersalna platforma przetwarzania danych O czym dzisiaj? XML w relacyjnej

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

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

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

Bardziej szczegółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

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

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

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

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

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

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

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

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

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

Bardziej szczegółowo

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

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi 1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca

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

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Nowe technologie baz danych

Nowe technologie baz danych Nowe technologie baz danych Partycjonowanie Partycjonowanie jest fizycznym podziałem danych pomiędzy różne pliki bazy danych Partycjonować można tabele i indeksy bazy danych Użytkownik bazy danych nie

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

Bardziej szczegółowo

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

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

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. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

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

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Bazy danych Ćwiczenia projektowe

Bazy danych Ćwiczenia projektowe Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH Agenda 01. Powtórka 02. Interfejs CRUD

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

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

XML-owe bazy danych ćwiczenia 1

XML-owe bazy danych ćwiczenia 1 XML-owe bazy danych ćwiczenia 1 Pierwsza część ćwiczeń będzie zapoznaniem się z przykładową bazą danych dokumentów XML dbxml oraz bazą danych obiektowo-relacyjną Oracle, która pozwala na przechowywanie

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Podstawowe wykorzystanie Hibernate

Podstawowe wykorzystanie Hibernate Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia

Bardziej szczegółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3 cur.executescript(""" DROP TABLE IF EXISTS uczen; CREATE TABLE IF NOT EXISTS uczen ( Uniwersytet Technologiczno-Przyrodniczy im. J.J. Śniadeckich w Bydgoszczy Instrukcja do ćwiczeń laboratoryjnych Przedmiot

Bardziej szczegółowo

Komunikacja z bazą danych psql

Komunikacja z bazą danych psql PostgreSQL jest systemem zarządzania relacyjnymi bazami danych rozprowadzanym na zasadach open source. Twórcą i właścicielem praw autorskich jest Uniwersytet Berkeley w Stanach Zjednoczonych. Ze wszystkich

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

Bazy danych - Materiały do laboratoriów VIII Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie.

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie. Intro Igor Wojnicki (AGH, KIS) XML 18 grudnia 2013 1 / 37 ZTB: XML Igor Wojnicki Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie 18 grudnia 2013 Intro Igor Wojnicki (AGH, KIS) XML

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

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

ACESS- zadania z wykorzystaniem poleceń SQL

ACESS- zadania z wykorzystaniem poleceń SQL ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,

Bardziej szczegółowo

Bazy danych 6. Klucze obce. P. F. Góra

Bazy danych 6. Klucze obce. P. F. Góra Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:

Bardziej szczegółowo

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle Rozszerzenie obiektowe w SZBD Oracle Cześć 2. Kolekcje Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Malinowski Nowak Kowalski tablica zagnieżdżona (ang.

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

Bardziej szczegółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)

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

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

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej  fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 4 (Asocjacje,

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 6 Marcin Młotkowski 14 listopada 2012 Plan wykładu Trwałość obiektów Bazy danych DBM Bazy danych SQL Active records Szeregowanie obiektów Obiekt Serializacja @tytul = 'Pan Tadeusz'

Bardziej szczegółowo

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym

Bardziej szczegółowo

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem. Typy numeryczne Typy daty i czasu. W celu uniknięcia niejasności czy zapis 11-08-2005 oznacza - 11 sierpnia 2005, czy może 8 listopada 2005, należy ustalić sposób interpretacji daty (europejski lub amerykański).

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

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

Database Connectivity

Database Connectivity Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie

Bardziej szczegółowo

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Baza danych Bazy danych = zorganizowana kolekcja danych Bazy danych (2) Cel Agenda Przedstawić relacyjny model baz danych Era przed-relacyjna

Bardziej szczegółowo

Multimedialne bazy danych - laboratorium

Multimedialne bazy danych - laboratorium Multimedialne bazy danych - laboratorium Oracle Multimedia (rozwiązania) Celem ćwiczenia jest zapoznanie się z obiektowymi typami danych Oracle dedykowanymi do obsługi multimediów. Autor ćwiczenia: Marek

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

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

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

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) ) BAZY DANYCH laboratorium 3 tworzenie, modyfikacje i usuwanie tabel, operacje na danych Cel Stworzenie w ramach bazy danych Biblioteka nowych tabel według specyfikacji (CREATE TABLE Ustawianie właściwości

Bardziej szczegółowo

Wykład 2. SQL 1 Structured Query Lenguage

Wykład 2. SQL 1 Structured Query Lenguage Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,

Bardziej szczegółowo

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny Schemat bazy danych, wczytanej z pliku create_tables.sql Relacji między tabelami klucze obce Klucz obcy jako ograniczenie dla kolumny customer_id INTEGER NOT NULL REFERENCES customer(customer_id), CONSTRAINT

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z

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

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

2017/2018 WGGiOS AGH. LibreOffice Base

2017/2018 WGGiOS AGH. LibreOffice Base 1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,

Bardziej szczegółowo

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE

Bardziej szczegółowo

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)

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

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

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

NARZĘDZIA WIZUALIZACJI

NARZĘDZIA WIZUALIZACJI Kurs interaktywnej komunikacji wizualnej NARZĘDZIA WIZUALIZACJI Andrzej Łachwa andrzej.lachwa@uj.edu.pl 3 4/8 Zobacz film: http://www.ted.com/talks/david_mccandless_the_beauty_of_dat a_visualization.html

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 3 (Tworzenie bazy danych z użyciem UML, proste

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