Bazy danych 12. SQL To i owo. Algorytmy złaczeń.

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

Download "Bazy danych 12. SQL To i owo. Algorytmy złaczeń."

Transkrypt

1 Bazy danych 12. SQL To i owo. Algorytmy złaczeń. P. F. Góra semestr letni 2005/06

2 I. SQL uzupełnienia Pełne złaczenie zewnętrzne Złaczenia typu LEFT JOIN i RIGHT JOIN łacz a te wiersze tabel, które maja swoje odpowiedniki, natomiast brakujace wiersze z jednej tabeli zostana w wyniku wypełnione wartościami NULL. Przypuśćmy jednak, że dwie tabele maja pewien wspólny zakres kluczy złaczenia, ale w obu sa klucze niepasujace do żadnego wiersza drugiej tabeli. Chcemy zobaczyć wszystko, co pasuje i wszystko, co nie pasuje, z obu tabel. W tej sytuacji trzeba użyć pełnego złaczenia zewnętrznego. 12. To i owo 2

3 Przykład mysql> SELECT * FROM chlopy; Nr Imie Wiek John 24 2 Peter 28 3 Harry 31 4 George 17 5 John 21 6 Keith 30 9 Jerry rows in set (0.00 sec) mysql> SELECT * FROM baby; Nr Imie Wiek Betty 17 2 Ann 23 3 Susan 24 4 Joan 31 5 Margaret 29 6 Beth 30 7 Meredith 32 8 Scarlet rows in set (0.09 sec) 12. To i owo 3

4 mysql> SELECT chlopy.nr AS Numer Faceta, chlopy.imie AS Facet, -> baby.imie AS Baba, baby.nr as "Numer Baby" FROM -> chlopy RIGHT JOIN baby on chlopy.nr=baby.nr -> UNION -> SELECT chlopy.nr AS Numer Faceta, chlopy.imie AS Facet, -> baby.imie AS Baba, baby.nr as "Numer Baby" FROM -> chlopy LEFT JOIN baby on chlopy.nr=baby.nr; Numer Faceta Facet Baba Numer Baby John Betty 1 2 Peter Ann 2 3 Harry Susan 3 4 George Joan 4 5 John Margaret 5 6 Keith Beth 6 NULL Meredith 7 NULL Scarlet 8 9 Jerry NULL rows in set (0.05 sec) 12. To i owo 4

5 Polecenia PREPARE i EXECUTE Przypuśmy, że mamy kilka tabel o takiej samej strukturze, na przykład mysql> CREATE TABLE Kowalski -> (Data DATE NOT NULL, -> Miasto VARCHAR(16) NOT NULL, -> Kwota DECIMAL(8,2) UNSIGNED NOT NULL, -> PRIMARY KEY(Data, Miasto)); Query OK, 0 rows affected (1.10 sec) mysql> CREATE TABLE Nowak LIKE Kowalski; Query OK, 0 rows affected (0.16 sec) mysql> INSERT INTO Nowak VALUES (...); mysql> INSERT INTO Kowalski VALUES (...); 12. To i owo 5

6 Tabele Kowalski i Nowak maja taka sama strukturę, a więc, logicznie rzecz biorac, można ich użyć w takim samym zapytaniu w zapytaniu różniacym się tylko nazwa tabeli. Po stronie aplikacji zapytanie takie jest bardzo łatwo zbudować jako odpowiedni łańcuch, a następnie przesłać je do serwera SQL. Jednak traci się w ten sposób możliwość korzystania z procedur składowanych, a zatem wszystkie korzyści wynikajace z używania takich procedur. Pytanie: Czy w SQL nazwy tabel moga być parametrami procedur składowanych? Tak należy jednak wykorzystać polecenia PREPARE i EXECUTE. 12. To i owo 6

7 Procedura majaca nazwę tabeli jako argument CREATE PROCEDURE monthsales (IN nazwisko VARCHAR(16), IN miesiac TINYINT UNSIGNED) LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY DEFINER BEGIN DECLARE EXIT HANDLER FOR 1146 BEGIN SELECT nazwisko AS "Nazwisko", "Nie ma takiej tabeli" AS "Brak tabeli"; END; /* tekst tworzonej komendy przechowuję _w_zmiennej_tymczasowej_! */ = CONCAT( SELECT ",nazwisko, " AS Nazwisko, SUM(KWOTA) FROM,nazwisko, WHERE MONTH(Data)=,miesiac, ; ); AS Wykonam następującą komendę ; /* utworzenie zapytania */ /* "komenda" jest >>handlerem<< utworzonego zapytania */ PREPARE komenda /* wykonanie utworzonego zapytania */ EXECUTE komenda; /* usunięcie >>handlera<< */ DEALLOCATE PREPARE komenda; END; 12. To i owo 7

8 mysql> CALL monthsales ( Kowalski,5); Wykonam następującą komendę SELECT "Kowalski" AS Nazwisko, SUM(KWOTA) FROM Kowalski WHERE MONTH(Data)=5; row in set (0.00 sec) Nazwisko SUM(KWOTA) Kowalski row in set (0.01 sec) Query OK, 0 rows affected (0.01 sec) 12. To i owo 8

9 mysql> CALL monthsales ( Nowak, 5); Wykonam następującą komendę SELECT "Nowak" AS Nazwisko, SUM(KWOTA) FROM Nowak WHERE MONTH(Data)=5; row in set (0.00 sec) Nazwisko SUM(KWOTA) Nowak row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec) 12. To i owo 9

10 mysql> CALL monthsales ( XYZ,4); Wykonam następującą komendę SELECT "XYZ" AS Nazwisko, SUM(KWOTA) FROM XYZ WHERE MONTH(Data)=4; row in set (0.00 sec) Nazwisko Brak tabeli XYZ Nie ma takiej tabeli row in set (0.01 sec) Query OK, 0 rows affected (0.01 sec) 12. To i owo 10

11 II. Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 1.k r =T 3.k s WHERE...; Każdy wierzchołek grafu reprezentuje tabelę, każda krawędź złaczenie JOIN... ON To i owo 11

12 Tego typu złaczenia drzewiaste, mogace obejmować kilka, kilkanaście, kilkadziesiat lub nawet więcej tabel, sa charakterystyczne dla złaczeń, które obejmuja dane z wielu tabel, porozdzielane pomiędzy nimi głównie ze względów normalizacyjnych. W SQL daje się jednak realizować także złaczenia o innej strukturze, w szczególności złaczenia, w których pojawiaja się cykle. 12. To i owo 12

13 Zupełnie inny typ złaczenia Przypuśćmy, że mamy trzy tabele z takimi oto przykładowymi danymi: mysql> SELECT * FROM T1; I J rows in set (0.00 sec) mysql> SELECT * FROM T2; K L A 2 B 3 C rows in set (0.00 sec) mysql> SELECT * FROM T3; M N A 1 A 2 B 1 C 2 C rows in set (0.00 sec) 12. To i owo 13

14 Dla takich tabel można zaprojektować złaczenie zapętlone : mysql> SELECT Jeden.I AS I, Jeden.J AS J, K, L, M, N FROM T1 AS Jeden -> JOIN T2 ON Jeden.I=T2.K -> JOIN T3 ON T2.L=T3.M -> JOIN T1 As DWA ON T3.N=Dwa.J -> WHERE Jeden.I=Dwa.I AND Jeden.J=Dwa.J; I J K L M N A A B B C C rows in set (0.00 sec) Ponieważ tabela T1 występuje w tym złaczeniu dwa razy, musi w każdym wystapieniu mieć unikalny alias. Warunek WHERE stanowi, że oba wystapienia tabeli T1 odnosza się do tych samych wierszy. 12. To i owo 14

15 Filtry Wyobraźmy sobie zapytanie SELECT... FROM T 1 JOIN T 2 ON... WHERE P(T 1 ) AND Q(T 2 ) AND R(T 1,T 2 ); Predykaty P i Q, działajace tylko na kolumnach tabel, odpowiednio, T 1 i T 2, sa filtrami, wybieraja bowiem pewne podzbiory wierszy tych tabel. Predykat R, działajacy na kolumnach obu tabel, można (i należy) traktować jako fragment warunku złaczenia (złaczenie theta). Im mniejszy procent wierszy wybiera z tabeli filtr, tym większa ma on selektywność. Dla efektywności złaczenia korzystne jest używanie filtru o największej selektywności możliwie najwcześniej. 12. To i owo 15

16 Jak baza danych realizuje złaczenia Złaczenia zdefiniowane sa jako podzbiory iloczynu kartezjańskiego odpowiednich tabel, jednak na ogół nie sa one realizowane w ten sposób, iż najpierw wykonywany jest iloczyn kartezjański, potem zaś wybierane sa odpowiednie wiersze. Sposób realizacji złaczenia nie może wpłynać na ostateczny wynik zapytania, ale może wpłynać (i wpływa!) na czas realizacji zapytania, zajętość pamięci itp. Jak zatem baza danych realizuje złaczenie? Najczęściej używa się następujacych trzech algorytmów: 12. To i owo 16

17 1. Złaczenie pętli zagnieżdżonych (nested loops) 1. Baza przeglada pierwsza tabelę wejściowa. Wiersze nie spełniajace filtru nałożonego tylko na ta tabelę odrzuca, wiersze spełniajace filtr przekazuje dalej. 2. Do każdego wiersza z pierwszej tabeli dopasowywane sa wiersze z drugiej tabeli, spełniajace warunek złaczenia (złaczenie wewnętrzne) lub wartości NULL, jeśli wierwszy takowych nie ma (złaczenie zewnętrzne). Odrzucane sa wiersze nie spełniajace warunków dla dotychczas wykorzystanych tabel, czyli filtru dla drugiej tabeli i warunków obejmujacych łacznie pierwsza i druga tabelę. 3. Analogicznie postępujemy dla trzeciej i każdej następnej tabeli. 12. To i owo 17

18 Takie złaczenie ma postać zagnieżdżonych pętli najbardziej zewnętrzna o- biega pierwsza tabelę wejściowa, najbardziej wewnętrzna ostatnia. Z tego względu istotne jest, aby pierwsza, najbardziej zewnętrzna pętla, odrzucała możliwie dużo wierszy oraz żeby połaczenia następowały po kolumnach indeksowanych, wówczas bowiem łatwo jest znaleźć wiersze pasujace do aktualnego klucza złaczenia. Na każdym etapie wymagana jest jedynie informacja o aktualnie przetwarzanej pozycji oraz zawartość konstruowanego w danej chwili wiersza wynikowego cały proces nie wymaga dużej pamięci. Złaczenie pętli zagnieżdżonych może mieć warunki złaczenia w postaci nierówności. Wiele RDBMS wyraźnie preferuje ten typ złaczenia. 12. To i owo 18

19 2. Złaczenie haszujace (mieszajace, hash join) Stosuje się tylko do złaczeń wewnętrznych, w których warunki złaczenia maja postać równości. Teoretycznie jest to wówczas najszybszy algorytm złaczenia, ale praktycznie tak wcale nie musi być. Złaczane tabele przetwarzane sa niezależnie. Cały algorytm przebiega w dwu fazach: W fazie budowania dla mniejszej (po zastosowaniu filtru) tabeli tworzona jest tablica haszujaca (tablica mieszajaca, hash table), powstała przez zastosowanie funkcji haszujacej do kluczy złaczenia. Teoretycznie rozmieszcza on hasze przyporzadkowane różnym kluczom równomiernie w pamięci. Algorytm działa szczególnie szybko, jeśli cała tablica haszujaca mieści się w pamięci. 12. To i owo 19

20 W fazie wyszukiwania sekwencyjnie przegladana jest większa tabela. Na kluczu złaczenia każdego wiersza wykonywana jest ta sama funkcja haszujaca; jeżeli odpowiedni element znajduje się w tablicy haszujacej dla pierwszej tabeli, wiersze sa łaczone. Jeżeli nie, wiersz drugiej tabeli jest odrzucany. Jeżeli tablica haszujaca znajduje się w całości w pamięci, średni czas wyszukiwania elementów jest stały i niezależny od rozmiarów tablicy to właśnie stanowi o efektywności tego algorytmu. 12. To i owo 20

21 Problemy ze złaczeniem haszujacym Efektywność złaczenia haszujacego silnie zależy od doboru funkcji haszujacej. Idealna funkcja haszujaca ma tę własność, że zmiana pojedynczego bitu w kluczu, zmienia połowę bitów hasza, i zmiana ta jest niezależna od zmian spowodowanych przez zmianę dowolnego innego bitu w kluczu. Idealne funkcje haszujace sa trudne do zaprojektowania lub kosztowne obliczeniowo, stosuje się więc funkcje gorsze, co jednak prowadzić może do kolizji: Fukncja haszujaca dwóm różnym kluczom usiłuje przypisać tę sama wartość hasza. Aby tego uniknać, stosuje się różne techniki, co jednak powiększa koszt obliczeniowy algorytmu. Innym problemem jest grupowanie: Wbrew założeniom, funkcje haszujace maja tendencję do nierównomiernego rozmieszczania haszy w pamięci, co zmniejsza efektywnośc wykorzystania pamięci i powiększa czas wyszukiwania. 12. To i owo 21

22 3. Złaczenie sortujaco-scalaj ace (sort and merge) Tabele odczytuje się niezależnie i stosuje do nich właściwe filtry, po czym wynikowe zbiory wierszy sortuje się względem klucza złaczenia. Następnie dwie posortowane listy zostaja scalone. Baza danych odczytuje na przemian wiersze z każdej listy. Jeżeli warunek złaczenia ma postać równości, baza porównuje górne wiersze i odrzuca te, które znajduja się na posortowanej liście wcześniej niż górny wiersz drugiej tabeli, zwraca zaś te, które wzajemnie sobie odpowiadaja. Procedura scalania jest szybka, ale procedura wstępnego sortowania jest wolna, o ile nie ma gwarancji, że oba zbiory wierszy mieszcza się w pamięci. 12. To i owo 22

23 Uwaga! Jeżeli ze względów estetycznych lub innych wynikowy zbiór wierszy pewnego zapytania ma być posortowany, to jeśli ten wynikowy zbiór w całości nie mieści się w pamięci, może to znacznie spowolnić czas wykonywania zapytania. 12. To i owo 23

24 Wymuszanie kolejności wykonywania złaczeń Przypuśćmy, że łaczymy więcej niż dwie tabele i że warunek złaczenia ma postać... AND T 1.k 2 =T 2.k 2 AND T 1.k 3 =T 3.k 3... Chcemy wykonać pętle zagnieżdżone po tabelach T 1 i T 2 przed odwołaniem do tabeli T 3. Aby odroczyć wykonanie złaczenia, trzeba uczynić je zależnym od danych ze złaczenia, które powinno zostać wykonane wcześniej. 12. To i owo 24

25 ... AND T 1.k 2 =T 2.k 2 AND T 1.k 3 +0*T 2.k 2 =T 3.k 3... Druga wersja jest logicznie równoważna pierwszej, jednak baza interpretujac je, po lewej stronie drugiego złaczenia trafia na wyrażenie, które zależy tak od tabeli T 1, jak i T 2 (nie ma znaczenia, że wartość z tabeli T 2 nie może wpłynać na wynik), nie wykona więc złaczenia z T 3 przed złaczeniem z T 2. Uwaga: Oczywiście to samo stosuje się do złaczeń sformułowanych w postaci... T 1 JOIN T 2 ON T 1.k 2 =T 2.k 2 JOIN T 3 ON T 1.k 3 =T 3.k To i owo 25

Bazy danych 11. Algorytmy złaczeń. P. F. Góra

Bazy danych 11. Algorytmy złaczeń. P. F. Góra Bazy danych 11. Algorytmy złaczeń P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT... FROM

Bardziej szczegółowo

Bazy danych 8. Złaczenia ciag dalszy. Grupowanie.

Bazy danych 8. Złaczenia ciag dalszy. Grupowanie. Bazy danych 8. Złaczenia ciag dalszy. Grupowanie. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Filtry Wyobraźmy sobie zapytanie SELECT... FROM T 1 JOIN T 2 ON... WHERE P(T 1 )

Bardziej szczegółowo

Bazy danych 5. Złaczenia. P. F. Góra

Bazy danych 5. Złaczenia. P. F. Góra Bazy danych 5. Złaczenia P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Złaczenia teoriomnogościowe mysql> CREATE DATABASE JanMaria; Query OK, 1 row affected (0.02 sec) mysql> USE JanMaria; Database

Bardziej szczegółowo

Bazy danych 7. Złaczenia

Bazy danych 7. Złaczenia Bazy danych 7. Złaczenia P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Złaczenia teoriomnogościowe mysql> CREATE DATABASE JanMaria; Query OK, 1 row affected (0.02 sec) mysql> USE

Bardziej szczegółowo

Bazy danych 2. Relacyjny model baz danych

Bazy danych 2. Relacyjny model baz danych Bazy danych 2. Relacyjny model baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017/18 Relacyjny model baz danych jest stary, ale wciaż zajmuje 80% rynku. Nic nie wskazuje na to, aby w najbliższym

Bardziej szczegółowo

Bazy danych 10. Uzupełnienia i przykłady

Bazy danych 10. Uzupełnienia i przykłady Bazy danych 10. Uzupełnienia i przykłady P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 I. Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT...

Bardziej szczegółowo

Bazy danych 8. Procedury składowane i kursory. P. F. Góra

Bazy danych 8. Procedury składowane i kursory. P. F. Góra Bazy danych 8. Procedury składowane i kursory P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017 Procedury składowane (stored procedures) Procedury składowane stanowia część schematu bazy danych. Stosuje

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

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

Bazy danych 5. SQL- złaczenia, podzapytania i grupowanie

Bazy danych 5. SQL- złaczenia, podzapytania i grupowanie Bazy danych 5. SQL- złaczenia, podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017/18 Złaczenia teoriomnogościowe mysql> CREATE DATABASE JanMaria; Query OK, 1 row affected (0.02

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

Bazy danych 10. SQL Widoki, procedury składowane, kursory i wyzwalacze

Bazy danych 10. SQL Widoki, procedury składowane, kursory i wyzwalacze Bazy danych 10. SQL Widoki, procedury składowane, kursory i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 I. Widoki, AKA Perspektywy W SQL tabela, która utworzono za

Bardziej szczegółowo

Bazy danych 7. SQL podstawy

Bazy danych 7. SQL podstawy Bazy danych 7. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny

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

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

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 10. Widoki, procedury składowane, kursory i wyzwalacze. P. F. Góra

Bazy danych 10. Widoki, procedury składowane, kursory i wyzwalacze. P. F. Góra Bazy danych 10. Widoki, procedury składowane, kursory i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 I. Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE

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

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

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

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 9. SQL Klucze obce Transakcje

Bazy danych 9. SQL Klucze obce Transakcje Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna

Bardziej szczegółowo

Bazy danych 5. Samozłaczenie SQL podstawy

Bazy danych 5. Samozłaczenie SQL podstawy Bazy danych 5. Samozłaczenie SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Przykład kolejowy Tworzymy bazę danych zawierajac a (uproszczony) rozkład jazdy pociagów

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

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

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

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

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

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

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra Bazy danych 6. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych

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

Bazy danych. dr inż. Arkadiusz Mirakowski

Bazy danych. dr inż. Arkadiusz Mirakowski Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika

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

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe Bazy danych 12. SQL Wyszukiwanie pełnotekstowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Wyszukiwanie pełnotekstowe Wyszukiwanie pełnotekstowe służy do wyszukiwania podanych

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

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Bazy danych 11. SQL Procedury składowane, kursory i wyzwalacze

Bazy danych 11. SQL Procedury składowane, kursory i wyzwalacze Bazy danych 11. SQL Procedury składowane, kursory i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 I. Procedury składowane (stored procedures) Procedury składowane stanowia

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

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 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

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

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

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

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

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

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa) Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty PL/SQL, c.d. 1 / 37 SQL to za mało SQL brakuje możliwości dostępnych w językach proceduralnych.

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

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Bazy danych 4. SQL podstawy. P. F. Góra

Bazy danych 4. SQL podstawy. P. F. Góra Bazy danych 4. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 SQL:2006 (dialekt) SQL:2008 (dialekt) SQL:2011 (dialekt)

Bardziej szczegółowo

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL, Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

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

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

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

3. Podzapytania, łączenie tabel i zapytań

3. Podzapytania, łączenie tabel i zapytań 3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,

Bardziej szczegółowo

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

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

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

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka

Bardziej szczegółowo

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

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

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

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

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

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy

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

Wyzwalacze (triggery) Przykład

Wyzwalacze (triggery) Przykład Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany

Bardziej szczegółowo

Bazy danych 8. Widoki i wyzwalacze. P. F. Góra

Bazy danych 8. Widoki i wyzwalacze. P. F. Góra Bazy danych 8. Widoki i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 I. Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela podstawowa

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

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

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

BAZA DANYCH SIECI HOTELI

BAZA DANYCH SIECI HOTELI Paulina Gogół s241906 BAZA DANYCH SIECI HOTELI Baza jest częścią systemu zarządzającego pewną siecią hoteli. Składa się z tabeli powiązanych ze sobą różnymi relacjami. Służy ona lepszemu zorganizowaniu

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

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Bazy danych Język SQL część 2 Wykład dla studentów matem

Bazy danych Język SQL część 2 Wykład dla studentów matem Bazy danych Język SQL część 2 Wykład dla studentów matematyki 21 marca 2015 Zapytania na kilku tabelach Czasem poszukiwana informacja znajduje się w kilku tabelach. Aby zapytanie dotyczyło kilku tabel,

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

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

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

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

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

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

SQL/MySQL. Rafał Kern

SQL/MySQL. Rafał Kern SQL/MySQL Rafał Kern 1 SQL (Structured Query Language) Deklaratywny - opisujemy warunki, jakie musi spełniać wynik Służy do zarządzania danymi w relacyjnych bazach danych Składnia/zapytania SQL DML (Data

Bardziej szczegółowo

Bazy danych 11. Kilka przykładów. P. F. Góra

Bazy danych 11. Kilka przykładów. P. F. Góra Bazy danych 11. Kilka przykładów P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 2. Dziury w sekwencjach Jest to klasyczny problem programistyczny w SQL: Majac dany rosnacy ciag liczb naturalnych,

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

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła 050 SQL ELEMENTY ZAAWANSOWANE Prof. dr hab. Marek Wisła Deklarowanie zmiennych DECLARE @nazwa-zmiennej typ-danych {, @nazwazmiennej typ-danych}; deklaruje nazwy zmiennych lokalnych (definiowanych przez

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

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

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

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 DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza

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

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów. Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów. Kontakt: piotr.dziwinski@kik.pcz.pl 2 SQLQuery4_1.sql 3

Bardziej szczegółowo

Grupowanie i funkcje agregujące

Grupowanie i funkcje agregujące Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,

Bardziej szczegółowo