Rozwój standardu SQL i jego implementacji
|
|
- Kinga Mazurek
- 8 lat temu
- Przeglądów:
Transkrypt
1 Rozdział 21 Rozwój standardu SQL i jego implementacji Streszczenie. Opublikowany w roku 2004 standard SQL:2003, podobnie jak jego poprzednie wersje, wprowadza szereg istotnych zmian. Standard proponuje rozwiązania, które są podstawą rozwoju systemów a jednocześnie jest punktem odniesienia dla oceny implementacji SZBD. Część tych zmian została wymuszona przez niezależnie wprowadzone rozwiązania w istniejących na rynku systemach zarządzania bazami danych. W rozdziale zostały przedstawione etapy rozwoju standardu SQL. Dokonano oceny wpływu standardu SQL na rozwój jego implementacji oraz omówiono elementy mające wpływ na rozwój standardu SQL. 1 Wstęp Język SQL został stworzony na potrzeby pierwszych systemów zarządzania relacyjnymi bazami danych w końcu lat 70-tych ubiegłego wieku. W roku 1982 pojawiły się elementy DML i DDL, by w roku 1986 stać się standardem ANSI, a rok później ISO. Poprawiona wersja standardu została opublikowana w roku 1989 i jest znana pod nazwą SQL-89. Celowo pozostawiono w niej wiele niedomówień, co wymusiło wiele dyskusji nad kształtem standardu, czego rezultatem stało się opublikowanie w roku 1992 standardu SQL-92. Od tego czasu trwa nieprzerwany i intensywny rozwój tego standardu. Kolejne wersje pojawiają się coraz częściej (SQL:1999 po siedmiu latach, SQL:2003 już po pięciu). Pomimo krótkiego czasu, jaki upłynął od publikacji najnowszej wersji standardu, trwają już prace nad jego kolejną wersją. 2 Standard SQL:1999 Rozpowszechnienie się Internetu i rozwój technologii z nim związanych spowodował wzrost wymagań użytkowników w stosunku do aplikacji i systemów. W związku z rozwojem technologii multimedialnych i znacznym zwiększeniem liczby użytkowników usług informatycznych, wzrosły również rozmiary danych przechowywanych w systemach. Jednocześnie nastąpił intensywny rozwój metodyk obiektowego wytwarzania oprogramowania. Miało to wpływ na wzrost złożoności przechowywanych danych. Pojawiły się również Lech Tuzinkiewicz, Jakub Fedyczak: Politechnika Wrocławska, Instytut Informatyki Stosowanej, Wybrzeże Wyspiańskiego 27, Wrocław, Polska lech.tuzinkiewicz@pwr.wroc.pl, jakub.fedyczak@student.pwr.wroc.pl
2 L. Tuzinkiewicz, J. Fedyczak potrzeby tworzenia nowych typów danych, dostosowanych do wymagań użytkowników. Zdalne przetwarzanie danych zwiększyło wymagania w zakresie niezawodności systemów oraz spójności i bezpieczeństwa danych. W konsekwencji zaproponowano rozszerzenie standardu SQL-92, stosownie do potrzeb rynku, czego wynikiem było opublikowanie standardu SQL:1999. Standard SQL:1999 wprowadził szereg zmian w stosunku do wersji SQL-92. Poniżej przedstawiono najważniejsze z nich wg [1], [3]; Cztery nowe typy danych: LARGE OBJECT (LOB), którego warianty to CHARACTER LARGE OBJECT (CLOB) oraz BINARY LARGE OBJECT (BLOB). Typ LOB służy do przechowywania danych o większych rozmiarach. Nie mogą one być używane w klauzulach PRIMARY KEY oraz UNIQUE oraz w klauzulach GROUP BY i ORDER BY, BOOLEAN, typ złożony ARRAY, który umożliwia przechowywanie tabel o stałej długości w pojedynczej kolumnie, typ złożony ROW, który umożliwia deklarowanie podkolumn w wierszach. Typy rozróżnialne (ang. distinct types) ułatwiają weryfikację semantyczną typów. Predykaty SIMILAR oraz DISTINCT. SIMILAR wprowadza możliwość stosowania bardziej złożonych wyrażeń regularnych niż oferuje to predykat LIKE, natomiast DISTINCT w przeciwieństwie do UNIQUE traktuje dwie wartości NULL jako tożsame. Rozszerzenie zakresu widoków, poprzez które możliwa jest zmiana tabel bazowych. Zapytania rekursywne. Subtransakcje (ang. savepoints) umożliwiają wycofanie transakcji do wcześniej ustalonego punktu, bez konieczności wycofania całej transakcji. Role (ang. roles), czyli mechanizm zabezpieczeń, który wprowadza możliwość przyznawania uprawnień grupom użytkowników. Wyzwalacze, czyli mechanizm sterowany zdarzeniami, służący do zapewnienia integralności danych. Typy strukturalne definiowane przez użytkownika. Typy te mogą być zagnieżdżone, posiadają mechanizm polimorfizmu, podlegają dziedziczeniu. Ponadto możliwe jest zdefiniowanie metod operujących na danych tego typu. Typ specjalny REF umożliwia przechowywanie wskaźnika do instancji typu strukturalnego. Wprowadzenie typów LOB wynikało z rosnącej potrzeby przechowywania w bazach danych obszernych treści (w tym multimedialnych) osiągających rozmiary wielu megabajtów. W związku z potrzebą stosowania złożonych typów danych, wprowadzono typy rozróżnialne, typy złożone i rozszerzenia obiektowe. Rosnąca ilość danych i ich złożoność wymuszała istnienie wyrafinowanych mechanizmów wyszukiwania, pozyskiwania i modyfikacji danych. W związku z powyższym wprowadzono m. in. predykaty SIMILAR oraz DISTINCT (używane w klauzuli WHERE), rekursywne kwerendy oraz rozbudowano możliwości wprowadzania zmian danych poprzez widoki. Złożoność operacji oraz rosnąca liczba użytkowników korzystających jednocześnie z dużych baz danych, wymusiła wprowadzenie usprawnień w zakresie przetwarzania transakcji (savepoints), jak i zabezpieczeń dostępu do danych (roles) oraz nowe mechanizmy utrzymania integralności danych (wyzwalacze). 206
3 3 Standard SQL:2003 Rozwój standardu SQL i jego implementacji Nowe wymagania wynikające z rozpowszechnienia hurtowni danych, analiz danych wielowymiarowych (OLAP, Data Mining), a także standardu XML, wymusiły aktualizację standardu SQL. W rezultacie opracowano standard SQL:2003. Poniżej omówiono najważniejsze zmiany wg [2], [3], [4], [5]. Wprowadzono nowe typy danych: BIGINT, typ zgodny z INTEGER oraz SMALLINT, ale o zwiększonym zakresie (zależnym od implementacji). Typ dopuszcza wszystkie operacje, jakie są dozwolone na dwóch poprzednikach. MULTISET - wielozbiór, czyli nieuporządkowana kolekcja elementów, w której dopuszcza się powtórzenia. Standard nie narzuca określonego rozmiaru wielozbioru, może on być zagnieżdżony. Definiowanie wielozbioru odbywa się w dwojaki sposób: MULTISET[1,2,3,4] MULTISET (SELECT oceny FROM kursy) Wielozbiór może zostać użyty jako źródło danych w klauzuli FROM za pomocą operatora UNNEST: SELECT T.A,T.A*2 AS x2 FROM UNNEST(MULTISET[4,3,2,1]) AS T(A) MULTISET wspiera operacje rzutowania na tablicę (ARRAY) lub inny wielozbiór z elementami o zgodnych typach. Wspierane jest także usuwanie duplikatów, zliczanie elementów, wyznaczanie sumy, różnicy oraz iloczynu. Dodane są również nowe funkcje agregujące: COLLECT tworzy wielozbiór z wartości argumentu w każdym wierszu grupy, FUSION tworzy unię wielozbiorów z każdego elementu grupy, INTERSECTION tworzy część wspólną z wielozbiorów z każdego elementu grupy. Oto przykład: Tabela 1. Tabela PRACOWNICY NAZWISKO 'Kowalski' 'Nowak' 'Abacka' JEZYKI MULTISET['angielski','niemiecki','rosyjski'] MULTISET['angielski','szwedzki','niemiecki'] MULTISET['japoński','angielski'] Dla tabeli PRACOWNICY (tabela 1) następująca kwerenda: SELECT COLLECT(NAZWISKO) AS WSZYSCY_PRACOWNICY, FUSION(JEZYKI) AS WSZYSTKIE_JEZYKI, INTERSECTION(JEZYKI) AS WSPOLNE_JEZYKI, FROM PRACOWNICY; zwróci rezultat widoczny w tabeli 2. Tabela 2. Przykład działania funkcji COLLECT, FUSION i INTERSECTION WSZYSCY_PRACOWNICY WSZYSTKIE_JEZYKI WSPOLNE_JEZYKI MULTISET['Kowalski', 'Nowak','Abacka'] MULTISET['angielski', 'angielski','angielski', 'rosyjski','szwedzki', 'japoński','niemiecki', 'niemiecki'] MULTISET[ 'angielski'] 207
4 L. Tuzinkiewicz, J. Fedyczak SQL:2003 wprowadza również następujące funkcje dla MULTISET: CARDINALITY zwraca liczbę elementów SET tworzy zbiór z wielozbioru usuwa duplikaty ELEMENT zwraca element z jednoelementowego wielozbioru UNNEST przekształca wielozbiór w tabelę Przykładowo wyrażenie: 208 SELECT SUM (t.c) FROM UNNEST (MULTISET (2, 3, 5, 7)) AS t(c) zwróci sumę elementów wielozbioru. Z kolei wyrażenie: v1 MULTISET [UNION EXCEPT INTERSECT] [ALL DISTINCT] v2 pozwala uzyskać sumę, róznicę bądź część wspólną wielozbioru. MULTISET dopuszcza dwa operatory porównujące = oraz <>. Oprócz tego dopuszczalne są następujące predykaty: e1 [NOT] MEMBER OF v1 przynależność elementu do wielozbioru, v1 [NOT] SUBMULTISET OF v2 zawieranie się wielozbiorów, v1 IS [NOT] A SET badanie istnienia duplikatów. SQL:2003 wprowadza również funkcje tabelowe, których rezultatem jest ROW MULTISET. Przykład funkcji tabelowej zwracającej tabelę z pracownikami danego wydziału: CREATE FUNCTION PRACOWNICY_WYDZIALU (KODWYDZIALU CHAR(3)) RETURNS TABLE (PRACNR CHAR(6),NAZWISKO VARCHAR(15),IMIE VARCHAR(12)) LANGUAGE SQL READS SQL DATA DETERMINISTIC RETURN TABLE( SELECT PRACNR, NAZWISKO, IMIE FROM PRACOWNICY WHERE PRACOWNICY.WYDZIAL = PRACOWNICY_WYDZIALU.KODWYDZIALU ); gdzie: LANGUAGE SQL określa, że ciało funkcji jest napisane w języku SQL, READS SQL DATA określa, że funkcja pobiera dane z bazy w trybie tylko do odczytu, inaczej mówiąc nie modyfikuje danych DETERMINISTIC określa, że dla jednego zestawu parametrów funkcja zawsze daje te same wyniki. Zdefiniowana funkcja może być użyta w następujący sposób: SELECT * FROM TABLE(PRACOWNICY_WYDZIALU('w-8')); Oprócz funkcji tabelowych, SQL:2003 wprowadza również zmiany w możliwości wywoływania procedur składowanych. Obecnie dopuszcza się przeładowanie funkcji. Funkcje mogą być także deklarowane jako wywoływane z uprawnieniami użytkownika wywołującego (do tej pory użytkownika deklarującego). Standard rozszerza sposób tworzenia tabel w zakresie używania kolumn identyfikujących i generowanych. Ich wartość jest automatycznie wyznaczana w momencie dodawania wiersza. Możliwe stało się wybiórcze skopiowanie struktury, połączone z wypełnieniem nowej tabeli danymi, co pokazuje następujący przykład: CREATE TABLE T5 (D1, D2, D3, D4) AS (SELECT T1.C1, T1.C2, T2.C3, T2.C4 FROM T1, T2 WHERE T1.C2 = T2.C2) WITH DATA; Utworzona za pomocą CREATE TABLE AS tabela jest niezależna od tabeli źródłowej.
5 Rozwój standardu SQL i jego implementacji SQL:2003 wprowadza wyrażenie MERGE, które pozwala w jednym kroku uaktualnić istniejące wiersze i dodać nowe. Przykładowo: tabela AUTORZY zawiera listę wszystkich autorów publikacji wraz z ilością artykułów, a tabela tymczasowa TEGOROCZNE_ PUBLIKACJE opisuje listę tegorocznych publikacji; Tabela 3. Tabela AUTORZY NAZWISKO LICZBA_PUBLIKACJI Kowalski 10 Nowak 15 Iksiński 20 Tabela 4. Tabela TEGOROCZNE_PUBLIKACJE: AUTOR LICZBA_PUBLIKACJI Abacki 3 Nowak 2 Iksiński 1 Smith 3 MERGE INTO AUTORZY AS A USING (SELECT AUTOR,LICZBA_PUBLIKACJI FROM TEGOROCZNE_PUBLIKACJE) AS P ON (A.NAZWISKO = P.AUTOR) WHEN MATCHED THEN UPDATE SET LICZBA_PUBLIKACJI = A.LICZBA_PUBLIKACJI+P.ILOSC_PUBLIKACJI WHEN NOT MATCHED THEN INSERT (NAZWISKO,LICZBA_PUBLIKACJI) VALUES (P.AUTOR,P.LICZBA_PUBLIKACJI); Tabela 5. Tabela AUTORZY po wykonaniu operacji MERGE NAZWISKO LICZBA_PUBLIKACJI Kowalski 10 Nowak 17 Iksiński 21 Abacki 3 Smith 3 SQL:2003 wprowadza generatory sekwencji, które służą do tworzenia unikalnych wartości w obrębie schematu. Mogą one zostać wykorzystane do generowania sztucznych kluczy głównych. Oto przykład deklaracji generatora sekwencji: CREATE SEQUENCE AUTOR_SEQ AS INTEGER START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE; W celu uzyskania kolejnej wartość z generatora, należy użyć wyrażenia: NEXT VALUE FOR AUTOR_SEQ Oto przykładowe wykorzystanie sekwencji: INSERT INTO AUTOR (ID, NAZWISKO, WIEK) VALUES (NEXT VALUE FOR AUTOR_SEQ,'Kowalski', 45); W przypadku włączenia opcji NO CYCLE, przy przekroczeniu zakresu generowany jest wyjątek. Możliwe jest wpływanie na działanie generatorów poprzez zastosowanie poleceń: ALTER SEQUENCE... DROP SEQUENCE... ALTER SEQUENCE... RESTART WITH
6 L. Tuzinkiewicz, J. Fedyczak SQL:2003 wprowadza typ IDENTITY o funkcjonalności analogicznej do generatora sekwencji, przy czym zbędne staje się jawne wywołanie NEXT VALUE FOR... Przykład zastosowania typu IDENTITY w definicji tabeli: CREATE TABLE PRACOWNICY ( NR INTEGER GENERATED ALWAYS AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE ), NAZWISKO VARCHAR (100), WIEK INTEGER ); W tabeli może można zdefiniować tylko jedną kolumnę typu IDENTITY. W przypadku wprowadzania danych do tabeli, wartość kolumny typu IDENTITY jest generowana automatycznie. Nowy standard wprowadził również kolumny generowane. Przykład użycia kolumny generowanej może wyglądać następująco: CREATE TABLE PRACOWNICY ( ID INTEGER, PENSJA DECIMAL(7,2), PREMIA DECIMAL(7,2), WYPLATA GENERATED ALWAYS AS (PENSJA+PREMIA) ); Wartość kolumny WYPLATA jest automatycznie uaktualniana. Kolumny tego typu mogą być indeksowane. SQL:2003 wprowadza funkcje okienkowe, które służą do zawężania widoczności danych w obrębie tabeli. Są to RANK, DENSE_RANK, PERCENT_RANK, CUME_DIST, ROW_NUMBER. Oto przykład zastosowania funkcji RANK, DENSE_RANK oraz ROWNUM (wynik w tabeli 6): SELECT IMIE, PENSJA, RANK() OVER (ORDER BY PENSJA DESC) AS RANK, DENSE_RANK() OVER (ORDER BY PENSJA DESC) AS DENSE_RANK, ROW_NUMBER() OVER (ORDER BY PENSJA DESC) AS ROWNUM FROM PRACOWNICY; gdzie: RANK zwraca pozycję względną wymaga uporządkowania; wartości równe mają tę samą wartość RANK, DENSE_RANK analogiczne do RANK, ale gwarantuje ciągłość wartościowania, ROW_NUMBER numeruje kolejne wartości; równe wartości są numerowane niedeterministycznie. Tabela 6. Rezultat przykładowego zastosowania funkcji okienkujących IMIE PENSJA RANK DENSE_RANK ROWNUM Krzysztof Sylwia Tadeusz Marek Łukasz Jolanta
7 Rozwój standardu SQL i jego implementacji SQL:2003 wprowadza kwerendy na próbkach danych. Ich użycie skraca czas uzyskania wyniku zapytania kosztem dokładności. Możliwe są dwie metody próbkowania: BERNOULLI prawdopodobieństwo pojawienia się wiersza w próbce jest niezależne od pojawienia się innych wierszy SYSTEM prawdopodobieństwo może zależeć od innych wierszy zawartych w próbce Poniższa kwerenda wyznacza średnią zarobków w poszczególnych działach: SELECT DZIAL, SUM(PENSJA) * 10 FROM PRACOWNICY TABLESAMPLE BERNOULLI (10) REPEATABLE (5) GROUP BY DZIAL; gdzie opcjonalny parametr klauzuli REPEATABLE określa ziarno dla wartości losowych. Ustawienie konkretnej wartości parametru zapewnia powtarzalność wyników przy kolejnych wywołaniach kwerendy dla tego samego zestawu danych. Ponadto rozbudowano standard o wiele nowych funkcji matematycznych i statystycznych [4]. Zmiany dokonane w standardzie SQL:2003 obejmują również przypadki usunięcia elementów o znikomym znaczeniu (typy BIT oraz BIT VARYING). Omówione zmiany pokazują, że rozwój standardu SQL zmierza w kierunku wspierania dynamicznie rozwijających się dziedzin. Funkcje tabelowe mogą posłużyć do pozyskania danych ze źródeł o różnych strukturach (np. w systemie innego producenta, bądź plikach zewnętrznych), co może być wykorzystane w fazie ekstrakcji danych w procesie ETL. Innym przykładem wsparcia tego procesu jest operacja MERGE, która jest pomocna w fazie ładowania danych do baz analitycznych. Z kolei funkcje okienkowe (RANK, DENSE_RANK itp.), kwerendy operujące na próbkach danych oraz nowe funkcje agregujące mają zastosowanie w procesach analitycznych. Inną, istotną ze względu na zakres zastosowań technologią, jest standard XML, który określa zasady przechowywania, przetwarzania i wymiany różnego rodzaju dokumentów. 4 Wpływ standardu SQL na systemy zarządzania bazami danych Zarówno systemy komercyjne jak i typu open-source, rozwijają się równolegle z rozwojem standardu. Poziom zgodności ze standardem jest jednym z kryteriów oceny jakości produktu. W konsekwencji standard wymusza rozwój systemów zarządzania relacyjnymi bazami danych (SZRBD), co nie oznacza, że wszystkie jego elementy są implementowane. Trywialnym przykładem jest brak implementacji typów DATE i TIME w systemie MS SQL Server, który oferuje jedynie typ DATETIME. Innym przykładem dotyczącym tego systemu jest brak implementacji typu BOOLEAN. Kolejny przykład to ujednolicenie instrukcji dotyczących ról (ang. roles) z instrukcjami dotyczącymi uprawnień użytkowników w systemie PostgreSQL. Przykładem może być także kolejność wykonywania wyzwalaczy w tym systemie. Twórcy zdecydowali się na złamanie zaleceń standardu wyzwalacze są uruchamiane w kolejności alfabetycznej a nie w kolejności utworzenia. Projektanci często uznają, że standard traktuje daną kwestię niespójnie bądź niekompletnie i decydują się na inny, niestandardowy sposób rozwiązania problemu. Możliwe jest również, że nowa wersja standardu wprowadza rozwiązania powszechnie implementowane w istniejących produktach. Przykładem są kolumny typu IDENTITY, które wprowadził SQL:2003. Taka funkcjonalność istniała już wcześniej w takich produktach jak MySQL (atrybut auto_increment), PostgreSQL-typ SERIAL i BIGSERIAL (dyskretnie obsługiwany przez automatycznie tworzony generator sekwencji), MS SQL Server (atrybut IDENTITY). Kolejnym przykładem są wyzwalacze ustandaryzowane przez SQL:
8 L. Tuzinkiewicz, J. Fedyczak Zostały wprowadzone przez Oracle w wersji 7.0 wydanej w 1992 roku. Standard bazuje wówczas na rozwiązaniach stosowanych w implementacjach (wyzwalacze zgodne ze składnią zaproponowaną przez Oracle). W przypadku implementacji komercyjnych trudno jest dostosować istniejące mechanizmy do nowej wersji standardu, ponieważ może to spowodować utratę kompatybilności wstecznej. Powoduje to niechęć klientów do zakupu nowej wersji wynikającą ze zwiększonych kosztów jej wdrożenia. Przekłada się to na wymierne straty finansowe dla producenta. Sytuacja ma się inaczej w projektach open source. Tutaj twórcy nie są związani finansowo z użytkownikami systemów bazodanowych. W dokumentacji PostgreSQL można znaleźć dokładne zestawienie obsługiwanych oraz nieobsługiwanych części standardu. Zmiany zachodzą więc znacznie szybciej. Podczas instalacji nowej wersji często konieczna jest całkowita konwersja fizycznej postaci baz danych. W celu zilustrowania omówionych sytuacji, w tabeli 7 i 8 zebrano podsumowanie obsługi rozszerzeń wprowadzonych przez najnowsze wersje standardu w systemie MS SQL Server Tabela 7. Obsługa nowych elementów standardu SQL:1999 w MS SQL Server 2005 Zmiany w SQL:1999 MS SQL Server 2005 Typy LOB (LARGE Udostępnia do tego celu typy varbinary(max) oraz OBJECTS) CLOB oraz image dla danych binarnych oraz typy text, ntext BLOB i varchar(max) dla ciągów znakowych. Nie zaleca się stosowania typów text, ntext oraz image, ponieważ zostaną one usunięte w kolejnych wersjach systemu. Typ BOOLEAN Brak typu BOOLEAN. Możliwe jest zastosowanie zamiennika np. w postaci typu BIT (usuniętego w standardzie SQL:2003). Typ złożony ARRAY Brak typu ARRAY. Typ złożony ROW Nie obsługiwany. Predykaty SIMILAR Brak obsługi. oraz DISTINCT Typy rozróżnialne (ang. distinct types) Rozszerzenia w zakresie widoków modyfikowalnych Zapytania rekursywne Subtransakcje (ang. savepoints) Role (ang. roles) Wyzwalacze Elementy obiektowe Typ specjalny REF Brak obsługi. Istnieje możliwość tworzenia własnych typów (poprzez Aliased Data Types), ale nie jest wymuszana ich zgodność. Brak implementacji rozszerzenia. Modyfikacje danych poprzez widok są możliwe tylko w zakresie przewidzianym przez standard SQL-92. Obsługiwane, ale bez konieczności dodawania słowa kluczowego RECURSIVE. Obsługiwane. Składnia niezgodna ze standardem (SAVE TRANSACTION... i ROLLBACK TRANSACTION... zamiast SAVEPOINT... i ROLLBACK TO...). Brak obsługi RELEASE SAVEPOINT. Obsługiwane. Obsługiwane. Brak obsługi. Możliwość definiowania własnych typów (klas) z użyciem wykonywanego po stronie serwera kodu platformy.net. Brak obsługi. 212
9 Rozwój standardu SQL i jego implementacji Tabela 8. Obsługa nowych elementów standardu SQL:2003 w MS SQL Server 2005 Zmiany w SQL:2003 MS SQL Server BIGINT Obsługiwany (64bit). MULTISET Brak obsługi. Funkcje tabelowe Implementowane w postaci TVF (Table-Valued Function). Istnieją ograniczenia w typach zwracanych kolumn brak możliwości zastosowania typu TIMESTAMP, ciągów znakowych innych niż UNICODE. Brak obsługi ograniczenia NOT NULL. CREATE TABLE LIKE Brak obsługi. CREATE TABLE AS Brak obsługi. MERGE Brak obsługi. Generatory sekwencji Brak obsługi. Kolumny IDENTITY Obsługiwane poprzez atrybut identity. Kolumny Implementowane w postaci computed column, ale generowane z ograniczeniami i niezgodnie ze standardem Funkcje okienkowe Obsługiwane zgodnie ze standardem Kwerendy Implementowane, ale bez obsługi próbkowania typu próbkowane BERNOULLI. Usunięcie typów BIT Nadal dostępny (często zastępuje brakujący typ i BIT VARYING Rozszerzenia związane z obsługą XML BOOLEAN). Obsługiwane. 5 Wnioski Od momentu powstania, standard SQL podlega stałemu rozwojowi przy aktywnym udziale producentów SZRBD. Zmiany w kolejnych wersjach odzwierciedlają tendencje w technologiach informatycznych. Standard może być podstawą do oceny przenaszalności baz danych pomiędzy różnymi środowiskami. Znajomość standardu jest dobrym przygotowaniem pojęciowym do poznawania i wykorzystywania różnych systemów baz danych. Standard SQL może być językiem specyfikacji modeli logicznych w projektowaniu baz danych, bowiem jest niezależny implementacyjnie, a jednocześnie określa technologie. Literatura 1. Eisenberg A., Melton J.: SQL:1999, formerly known as SQL3 2. Eisenberg A., Melton J., Kulikarni K., Michels J., Zemke F.: SQL:2003 Has Been Published 3. ISO/IEC :1999, Information technology -- Database languages -- SQL - Part 2: Foundation (SQL/Foundation) 4. ISO/IEC :2003 Information technology -- Database languages -- SQL -- Part 2: Foundation (SQL/Foundation) 5. ISO/IEC :2003 Information technology -- Database languages -- SQL -- Part 14: XML- Related Specifications (SQL/XML) 213
10
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ółowoBazy 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ółowoRelacyjne 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ółowoJę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ółowoMicrosoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Bardziej szczegółowostrukturalny 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ółowoBlaski 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ółowoSystemy 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ółowoRelacyjne 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ółowoOracle 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ółowoBazy 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ółowoKOLEKCJE - 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ółowoKolekcje 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ółowoWykł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ółowoOracle11g: 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ółowoWykł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ółowoWykł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ółowoPodstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Bardziej szczegółowoPaweł 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ółowoKonstruowanie 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ółowoProgramowanie 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ółowoPODSTAWY 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ółowoT-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ółowoTworzenie zapytań do Microsoft SQL Server
MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów
Bardziej szczegółowoE.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ółowoPrzestrzenne 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ółowoCele. Definiowanie wyzwalaczy
WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa
Bardziej szczegółowoBazy 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ółowoPrzykładowa baza danych BIBLIOTEKA
Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych
Bardziej szczegółowoProgram szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL
Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień
Bardziej szczegółowoProjektowanie 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Ć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ółowoSQL 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ółowoWykł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ółowoWykł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ółowoRef. 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ółowoBazy 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ółowoP 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ółowoLiteratura: 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- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji
6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation
Bardziej szczegółowoSQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15
Bardziej szczegółowoLaboratorium 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ółowoDECLARE 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ółowoINTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X
Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane
Bardziej szczegółowoOdnawialne Ź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ółowoPost-relacyjne bazy danych
Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)
Bardziej szczegółowoPodstawy 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ółowoPodstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1
Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język
Bardziej szczegółowoI. 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ółowoAby 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ółowoWykł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ółowoopisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
Bardziej szczegółowoJęzyk SQL podstawy zapytań
Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania
Bardziej szczegółowoAspekty 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ółowoWyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Bardziej szczegółowo1 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ółowoJę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ółowo3 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ółowo77. 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ółowoPRZESTRZENNE 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ółowo15. 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ółowoD 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ółowoInformatyka 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ółowoPrzykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;
Temat: Funkcje, procedury i wyzwalacze. Oprócz tabel i widoków w bazach danych możemy tworzyć własne funkcje, procedury i specjalny typ procedur, które będą automatycznie wywoływanie przez MySQL w memencie
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Kolekcje Operacje na kolekcjach Testowanie kolekcji Kolekcje w bazie danych Funkcje tabelaryczne Kolekcje wielopoziomowe - 2 -
Bardziej szczegółowoOracle 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ółowoWyzwalacz - 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ółowoAutor: 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ółowoPlan 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ółowoPakiety 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ółowoProjektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)
Bardziej szczegółowoBazy 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ółowoProgramowanie 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ółowoTworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];
Widoki/Perspektywy Podstawy Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Usuwanie widoku DROP VIEW [nazwa_widoku]; Przykład 1 Przykład najprostszego
Bardziej szczegółowoInstytut 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ółowoJęzyk SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych
Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)
Bardziej szczegółowoInformatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro
Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,
Bardziej szczegółowoSQL w praktyce. Miłej i owocnej nauki!!!
SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie
Bardziej szczegółowoWstę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ółowoBazy 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ółowoJęzyk DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE
Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie
Bardziej szczegółowoLAB 3 (część 1 Projektu)
Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 3 (część 1 Projektu) Na zajęciach należy zaprojektować schemat bazy danych oraz przygotować dokument zawierający: Temat: Autor: 1. Opis 2.
Bardziej szczegółowoCzęść 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych
Łukasz Przywarty 171018 Wrocław, 05.12.2012 r. Grupa: CZW/N 10:00-13:00 Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych Część 1: OLAP Prowadzący: dr inż. Henryk Maciejewski
Bardziej szczegółowoBazy 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ółowoTworzenie 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ółowoObiektowe bazy danych
Obiektowe bazy danych Obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowo-relacyjne bazy danych Ewolucja rozszerzeń relacyjnego modelu danych: Składowanie kodu procedur w bazie
Bardziej szczegółowoPrzykł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ółowoSzkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!
Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania
Bardziej szczegółowoTworzenie baz danych i tabel
Tworzenie baz danych i tabel Wprowadzenie SQL (ang. Structured Query Language strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.
Bardziej szczegółowoHurtownia Świętego Mikołaja projekt bazy danych
Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek
Bardziej szczegółowoBAZA 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ółowoSQL 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ółowoAutor: 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ółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoSQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE
Instrukcje SQL dzielimy na następujące kategorie: 1) Instrukcje języka manipulowania danymi (DML) SELECT, INSERT, UPDATE, DELETE, SET TRANSACTION, EXPLAIN PLAN 2) Instrukcje języka definicji danych DDL
Bardziej szczegółowoJęzyk SQL. Rozdział 8. Język manipulowania danymi DML
Język SQL. Rozdział 8. Język manipulowania danymi DML Wstawianie danych i polecenie INSERT, modyfikowanie danych i polecenie UPDATE, usuwanie danych i polecenie DELETE, połączenia modyfikowalne, sekwencje.
Bardziej szczegółowoRozdział 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ółowoPODSTAWY BAZ DANYCH. 17. Obiektowość w Oracle. 2009/2010 Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 17. Obiektowość w Oracle 1 Obiektowa baza danych Obiektowe bazy danych (OBD) powstały początkowo jako rozwinięcie programowania obiektowego. Bazy danych zorientowane obiektowo przechowują
Bardziej szczegółowo