STANDARDY JĘZYKA SQL CECHY JĘZYKA SQL WADY I ZALETY

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

Download "2010-10-21 STANDARDY JĘZYKA SQL CECHY JĘZYKA SQL WADY I ZALETY"

Transkrypt

1 PLAN WYKŁADU BAZY DANYCH Wykład 3,4 dr inż. Agnieszka Bołtuć Definicja, historia, cechy SQL Standardy SQL Formy i podzbiory SQL Typy danych Składnia DML DDL DCL Perspektywy Definicja dziedziny, asercja DEFINICJA SQL 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. Strukturalny język zapytań jest zbiorem komend używanych do wprowadzania, modyfikowania i przeglądania zawartości relacyjnych baz danych, Język SQL pełni trzy główne funkcje: tworzenie bazy i definiowanie jej struktur, wykonywanie zapytań na bazie w celu uzyskania danych niezbędnych do wygenerowania odpowiedzi oraz kontrolowanie bezpieczeństwa bazy danych. HISTORIA SQL Historia SQL sięga początku lat 70-tych, gdy w IBM powstał język Sequel, Pierwszy SZBD wykorzystujący Sequel powstał w 1973 roku w firmie IBM i nazywał się System R, Pierwsza komercyjna wersja SZBD (opracowana dla wojska, CIA i agencji rządowych) została wypuszczona przez firmę Oracle w 1977 roku; wykorzystywała język SQL. 1

2 STANDARDY JĘZYKA SQL W 1986 roku Amerykański Narodowy Instytut Normalizacji (ANSI), a w 1987 Międzynarodowa Organizacja Normalizacyjna (ISO) oficjalnie przyjęły standard języka SQL, Nadal jednak istnieją różnice w wersjach języka SQL biorąc pod uwagę różnych producentów. STANDARDY JĘZYKA SQL Rok Nazwa Zmiany 1986 SQL-86/SQL-87 Pierwsza publikacja standardu organizacji ANSI i ISO 1989 SQL-89 Małe udoskonalenia w stosunku do oryginału 1992 SQL-92/SQL2 Zasadnicze zmiany w stosunku do oryginału (najbardziej popularny standard do dziś) 1999 SQL-99/SQL3 Aktualizacja standardu z 1992 poprzez: nowe sposoby selekcji, nowe reguły integralności, pewne elementy struktury obiektowej 2003 SQL-2003 Obsługa formatu XML i pól z automatycznie generowanymi wartościami 2008 SQL-2008 CECHY JĘZYKA SQL jest językiem wysokiego poziomu (4GL), jest językiem deklaratywnym, jest językiem ustandaryzowanym, jest podjęzykiem danych, jest językiem interpretowanym, jest językiem zbliżonym konstrukcją do naturalnego języka angielskiego, jest oparty na algebrze relacji, zawiera logikę trójwartościową. WADY I ZALETY Zalety: deklaratywny charakter, standaryzacja, przejrzystość, czytelność, dobre podstawy matematyczne, Wady: nie przestrzeganie standardu przez dostawców, ograniczenie do danych atomowych. 2

3 FORMY SQL PODZBIORY SQL SQL interakcyjny (autonomiczny) Statyczny kod SQL (Static SQL) Osadzony SQL (Embedded SQL) Język modułów Dynamiczny kod SQL (Dynamic SQL) SQL DML (ang. Data Manipulation Language język manipulacji danymi ) SELECT, INSERT, UPDATE, DELETE, SQL DDL (ang. Data Definition Language język definicji danych ) CREATE, DROP, ALTER, SQL DCL (ang. Data Control Language język kontroli nad danymi ) COMMIT, ROLLBACK, etc. TYPY DANYCH W STANDARDZIE ANSI (SQL-92) CHARACTER(n), CHAR(n) - napis znakowy o stałej długości n, CHARACTER VARYING(n), VARCHAR(n) napis znakowy o zmiennej długości, nie przekraczającej podanego rozmiaru n, BIT(n) ciąg bitów długości n, do danych graficznych i dźwiękowych (usunięto w SQL-2003), BIT VARYING(n) - ciąg bitów zmiennej długości (usunięto w SQL-2003), NUMERIC, NUMERIC(p,s), DECIMAL typ dziesiętny, liczby o ustalonej precyzji p i skali s, INTEGER, INT - typ całkowity, TYPY DANYCH W STANDARDZIE ANSI (SQL-92) FLOAT, REAL typ zmiennopozycyjny, DATE - data w formacie: YYYY-MM-DD, TIME - czas w formacie: HH:MM:SS, TIMESTAMP - data wraz z czasem - znacznik czasu w formacie: YYYY-MM-DD HH:MM:SS, INTERVAL - przedział czasu, LOB duże obiekty binarne lub znakowe, BLOB dane binarne, podtyp LOB (dodano w SQL3), CLOB dane znakowe, podtyp LOB (dodano w SQL3), XML - dane w języku XML (dodano w SQL3), BOOLEN wartości logiczne: true, false, unknown. 3

4 TYPY DANYCH W RÓŻNYCH SZBD w Oracle mamy number(p,s) w Oracle nie mamy typu TIME w Oracle mamy typ LONG dokumenty tekstowe, w MySQL mamy YEAR- rok w formacie YYYY, w MS SQL Server mamy typ DATATIME, MONEY, etc. KATEGORIE SKŁADNI Identyfikatory nazwy obiektów stworzonych przez użytkownika lub proces systemowy, Literały wartości wprowadzone do systemu, nie będące wartościami NULL, Słowa kluczowe i zarezerwowane słowa mające specjalne znaczenie dla parsera SQL: nazwy poleceń i funkcji. IDENTYFIKATORY Zasady tworzenia nazw (SQL3): Nie dłuższy niż 128 znaków, Może zawierać cyfry, litery i symbole, Musi zaczynać się od litery (lub innego dopuszczalnego symbolu) Nie może zawierać spacji ani innych znaków specjalnych, Nie może być słowem kluczowym lub zarezerwowanym, Istnieje identyfikator ograniczony (np. rejestracja samochodu: ), który może występować spacja. LITERAŁY Każda wartość liczbowa, znakowa, łańcuchowa, czasowa czy logiczna nie będąca identyfikatorem, Dla typów liczbowych m.in.: 12, -134, 5.67, 3E2, 7E-2, Dla typów znakowych i łańcuchowych: most, tekst, Przy stosowaniu typów DATE:

5 OPERATORY Arytmetyczne: +, -, *, / Łączenia napisów: Porównań: =, <, >, <=, >=, <> Przynależności do listy wartości: IN Przynależności do przedziału: BETWEEN/NOT BETWEEN Wzorca w tekście: LIKE/NOT LIKE OPERATORY Logiczne: NOT, AND, OR Algebraiczne: UNION, UNION ALL, INTERSECT, EXCEPT(MINUS) SOME, ANY, ALL dla pewnego, dla każdego EXISTS, NOT EXISTS sprawdzające czy otrzymujemy pusty czy pełny zbiór wyników Testujący NULL: IS NULL/IS NOT NULL HIERARCHIA OPERATORÓW ( ) /, * -, + =, >, <, >=, <=, <> NOT AND ALL, ANY, BETWEEN, IN, LIKE, OR, SOME PRZYKŁADOWE FUNKCJE MATEMATYCZNE ABS(x) wartość bezwględna x, POWER(podstawa,wykładnik) podnosi wartość pierwszego argumentu do potęgi, SQRT(x) pierwiastek kwadratowy, RAND() generowanie liczby zmiennoprzecinkowej z przedziału 0-1 CEILING(x) zaokrąglenie liczby do najbliższej większej liczby całkowitej, FLOOR(x) zaokrąglanie liczby do najbliższej mniejszej liczby całkowitej, ROUND(x) - zaokrąglanie liczby do najbliższej liczby całkowitej 5

6 WYBRANE FUNKCJE PRZETWARZAJĄCE ŁAŃCUCHY WYBRANE FUNKCJE PRZETWARZAJĄCE DATY SUBSTRING(łańcuch, początek, długość) zwraca określoną cześć łańcucha, UPPER(s), LOWER(s) zmieniają wielkości znaków w łańcuchu, REVERSE(s) odwraca kolejność znaków w łańcuchu, TRIM(s) usuwa niepożądane znaki z początku lub końca łańcucha, LENGTH(s) wyznacza długość łańcucha, CURRENT_DATE(), SYSDATE(), GETDATE(), NOW(),etc. bieżąca data lub data i godzina, DAY() wydobywanie dnia z daty, MONTH() wydobywanie miesiąca z daty, YEAR() wydobywanie roku z daty, MONTH_BETWEEN(data1,data2) - ilość miesięcy pomiędzy wyspecyfikowanymi datami, etc. SKŁADNIA POLECEŃ SQL Klauzule (SELECT, FROM, etc.), Wyrażenia, Predykaty, Wielkość liter w składni nie ma znaczenia, Białe znaki są pomijane, Kończymy średnikiem. Wyrażenia w SQL: atrybuty, stałe liczbowe i łańcuchowe, konkatenacja łańcuchów, działania arytmetyczne, funkcje. DML - SELECT Służy do wydobywania danych z bazy, Najprostsza postać instrukcji SELECT SELECT [DISTINCT] wyrażenia FROM nazwa_tabeli [WHERE warunki]; Klauzule SELECT i FROM są obowiązkowe, DISTINCT i WHERE opcjonalne, 6

7 KLAUZULA SELECT Określa jakie kolumny znajdą się w relacji wynikowej, Słowo DISTINCT oznacza eliminację powtarzających się wierszy, * oznacza wypisanie danych ze wszystkich kolumn tabeli, KLAUZULA FROM, WHERE FROM - określa tabele z których będą pobierane dane, WHERE określa warunki jakie muszą spełniać wiersze relacji wyjściowej, SELECT * FROM samochody WHERE marka= mercedes ; SELECT * FROM samochody; SELECT rejestracja, marka FROM samochody; SELECT DISTINCT marka, kolor FROM samochody; SELECT * FROM samochody WHERE marka= mercedes AND kolor= srebrny ; SELECT * FROM samochody WHERE rocznik> 1980 ; SELECT * FROM samochody WHERE rejestracja LIKE BI% ; SELECT - ALIASY Wyrażeniom na liście SELECT mogą zostać nadane nazwy aliasy, Aliasem mogą być proste identyfikatory oraz ograniczone identyfikatory, SELECT - SORTOWANIE Wyniki zapytania mogą być posortowane w porządku rosnącym ASC (domyślnym) lub malejącym DESC, W klauzuli ORDER BY mogą występować atrybuty relacji wejściowej, aliasy, numer na liście wyrażeń SELECT, SELECT [DISTINCT] wyrażenie [[AS] alias] FROM nazwa_tabeli [WHERE warunki]; SELECT marka, Sysdate()-rocznik AS ile FROM samochody; SELECT marka, Sysdate()-rocznik AS ile lat FROM samochody; SELECT [DISTINCT] wyrażenie [[AS] alias] FROM nazwa_tabeli [WHERE warunki] [ORDER BY wyrażenie [ASC DESC]; SELECT * FROM samochody ORDER BY rocznik DESC; 7

8 SELECT - GRUPOWANIE W SQL istnieje możliwość podziału wynikowych wierszy na grupy i wykonania funkcji sumarycznych na wartościach należących do tych grup, SELECT [DISTINCT] wyrażenie [[AS] alias] FROM nazwa_tabeli [WHERE warunki] [GROUP BY wyrażenie [HAVING warunki]] [ORDER BY wyrażenie [ASC DESC]; SELECT - GRUPOWANIE Na liście GROUP BY mogą być tylko nazwy kolumn, Na liście klauzuli SELECT mogą znaleźć się jedynie: stałe, kolumny grupujące, funkcje sumaryczne oraz wyrażenie zawierające wszystkie powyższe, Dwa wiersze o takich samych wartościach kolumn grupujących wliczając w to NULL idą do tej samej grupy, FUNKCJE SUMARYCZNE COUNT AVG SUM MAX, MIN Argumentami funkcji może być wyrażenie, bądź DISTINCT wyrażenie, W przypadku COUNT możemy użyć także * - będą to wszystkie wiersze spełniające warunek WHERE, Wyrażenia o wartości NULL nie są brane pod uwagę przy obliczaniu wartości funkcji (oprócz COUNT), SELECT GROUP BY - PRZYKŁADY SELECT rocznik, COUNT (*) FROM samochody GROUP BY rocznik; SELECT marka, kolor, COUNT(rejestracja) FROM samochody GROUP BY marka, kolor; SELECT marka, SUM(cena) FROM samochody GROUP BY marka; 8

9 KLAUZULA HAVING Określa warunki jakie muszą być spełnione aby podzbiór trafił do relacji wynikowej (dotyczy tylko danych po agregacji), SELECT marka, SUM(cena), COUNT(*) FROM samochody GROUP BY marka HAVING COUNT(*)>=3; OPERATORY ALGEBRAICZNE NA ZAPYTANIACH instrukacja_select operator instrukcja_select Operatory: UNION, UNION ALL sumowanie zbiorów będących wynikami zapytań, INTERSECT przecięcie zbiorów wyników, EXCEPT różnica zbiorów wyników. Dodajemy ALL jeśli chcemy otrzymać wyniki bez eliminacji powtarzających się wierszy. OPERATORY ALGEBRAICZNE NA ZAPYTANIACH Mogą być stosowane gdy liczba i typy kolumn w składowych zapytania są takie same, Relacja wynikowa nie posiada nazw kolumn, a nazwy atrybutów w zbiorze wynikowym pochodzą z listy pierwszej klauzuli SELECT, Zapytania wykonywane są w kolejności ich wystąpienia, Klauzula ORDER BY może wystąpić jedynie na samym końcu całego zapytania, a do wynikowych kolumn odwołujemy się używając kolejnych numerów, OPERATORY ALGEBRAICZNE NA ZAPYTANIACH SELECT wlasciciel FROM samochody WHERE marka= mercedes EXCEPT SELECT wlasciciel FROM samochody WHERE marka= fiat ; SELECT marka FROM samochody WHERE data_rejestracji= 1999 INTERSECT SELECT marka FROM samochody WHERE data_rejestracji= 1998 ; 9

10 OPERATORY ALGEBRAICZNE NA ZAPYTANIACH SELECT rejestracja * FROM samochody WHERE marka= mercedes UNION SELECT rejestracja FROM samochody WHERE marka<> mercedes ORDER BY 1; ZŁĄCZENIA RELACJI W ZAPYTANAICH Złączenie tabel odbywa się poprzez wstawienie więcej niż jednej relacji w klauzuli FROM, Najczęściej złączenie uzyskujemy biorąc pod uwagę naturalne powiązania między wierszami tabel klucz główny <-> klucz obcy, Typy złączeń: iloczyn kartezjański (CROSS JOIN) złączenie naturalne (NATURAL JOIN) złączenie zewnętrzne (RIGHT LEFT FULL JOIN) samozłączenie (JOIN) ILOCZYN KARTEZJAŃSKI Daje w wyniki wszystkie możliwe kombinacje wierszy, Liczba krotek wynikowych jest iloczynem ilości krotek w obu relacjach wejściowych, Rzadko stosowany gdyż ze względu na ogrom rozmiaru może wystąpić błąd zapytania, SELECT * FROM relacja1 CROSS JOIN relacja2 [WHERE warunki] [ORDER BY wyrażenie]; SELECT * FROM samochody CROSS JOIN wypadki; SELECT * FROM samochody, wypadki; ZŁĄCZENIE NATURALNE daje w wyniku iloczyn kartezjański łączonych relacji ograniczony do tych krotek, dla których atrybuty o tych samych nazwach i typach w obu relacjach miały równe wartości, Można wprowadzać aliasy nazw relacji, wówczas należy pamiętać o tym, że nazw oryginalnych nie można już używać, SELECT * FROM samochody JOIN wypadki w ON rejestracja=w.rejestracja; SELECT * FROM samochody NATURAL JOIN wypadki; SELECT * FROM samochody JOIN wypadki USING (rejestracja); 10

11 ZŁĄCZENIE ZEWNĘTRZNE Złączenie zewnętrzne rozszerza wynik prostego złączenia o te wiersze z jednej tabeli, dla których w trakcie złączania nie znaleziono odpowiadających wierszy w drugiej tabeli, Jest to możliwe dzięki wirtualnym krotkom wypełnionym wartością NULL, Wyróżniamy złączenie: lewostronne (LEFT JOIN), prawostronne (RIGHT JOIN) i pełne będące sumą wyników dwóch pierwszych złączeń (FULL JOIN), ZŁĄCZENIE ZEWNĘTRZNE SELECT * FROM relacja1 [alias1] [NATURAL] {LEFT RIGHT FULL} [OUTER] JOIN relacja2 [alias2] {ON (warunek_połączenia) USING (atrybut) } [WHERE warunki] [ORDER BY wyrażenia]; ZŁĄCZENIE ZEWNĘTRZNE - PRZYKŁADY SELECT w.data,w.strata, s.model FROM samochody s LEFT JOIN wypadki w ON s.rejestracja=w.rejestracja WHERE w.rejestracja IS NULL; SELECT s.marka, COUNT(w.rejestracja) FROM wypadki w RIGHT JOIN samochody s ON s.rejestracja=w.rejestracja GROUP BY s.marka; SAMOZŁĄCZENIE Złączenie tabeli z nią samą, Ta sama tabela występuje w dwóch (lub więcej) rolach wskazywanych przez aliasy dołączone do nazwy tabeli w klauzuli FROM, SELECT prac.nazwisko, kier.nazwisko FROM pracownicy prac JOIN pracownicy kier ON prac.nrboss=kier.nrpracownika; SELECT s.rejestracja FROM samochody s JOIN samochody c ON s.cena>c.cena WHERE c.rejestracja= BID123 ; 11

12 PODZAPYTANIA Podzapytania mogą występować wewnątrz klauzul WHERE, HAVING, SELECT i FROM, Maja taką samą postać jak zapytania, są ujęte w nawiasy, Mogą być częścią wyrażeń, Mogą być wielokrotnie zagnieżdżane, Podzapytanie może wystąpić jako argument predykatów porównań oraz przynależności do listy wartości, W podzapytaniu nie można używać klauzul ORDER BY, UNION. Często używa się operatorów IN, NOT IN, SOME, ALL, EXISTS, NOT EXIST PODZAPYTANIA WIERSZOWE I TABLICOWE Wierszowe zwraca jeden rekord wynikowy SELECT * FROM samochody WHERE rocznik= (SELECT DISTINCT max(rocznik) FROM samochody WHERE marka= fiat ); Tablicowe zwraca zbiór wynikowy złożony z jednego lub wielu rekordów SELECT rejestracja FROM samochody WHERE (marka, cena) IN (SELECT marka, max(cena) FROM samochody GROUP BY marka); OPERATORY ANY I ALL stosowane w zapytaniach z podzapytaniami tablicowymi, warunek z operatorem ANY jest prawdziwy, jeśli jest spełniony dla chociaż jednej wartości, zwracanej przez podzapytanie do zapytania zewnętrznego, warunek z operatorem ALL jest prawdziwy wtedy, gdy spełniony jest dla wszystkich wartości odczytywanych przez podzapytanie. OPERATORY ANY I ALL - PRZYKŁAD SELECT rejestracja FROM samochody WHERE cena > ANY (SELECT cena FROM samochody WHERE marka= mercedes ); SELECT rejestracja FROM samochody WHERE cena > ALL (SELECT cena FROM samochody WHERE marka= mercedes ); 12

13 PODZAPYTANIE ZWYKŁE Zbiór wynikowych wierszy nie zmienia się i nie zależy do wierszy w głównym zapytaniu, Wykonywane w pierwszej kolejności (tylko raz), jako wynik pośredni trafiają do zapytania zewnętrznego. SELECT rejestracja FROM samochody WHERE cena < (SELECT avg(cena) FROM samochody); SELECT rejestracja FROM samochody WHERE cena < (SELECT avg(cena) FROM samochody) AND rocznik = (SELECT min(rocznik) FROM samochody) ; PODZAPYTANIE SKORELOWANE Zbiór wyników podzapytania zależy od wartości występujących w wierszach w głównym zapytaniu, Wykonywane dla każdego wiersza z zapytania zewnętrznego (wielokrotnie). SELECT rejestracja, cena FROM samochody s WHERE cena > (SELECT avg(cena) FROM samochody z WHERE z.marka=s.marka); OPERATOR EXIST Występuje w podzapytaniach skorelowanych, Przyjmuje wartość prawdy gdy podzapytanie zwróci przynajmniej jeden rekord, Podzapytanie może zwracać również literał. SELECT nazwisko FROM pracownicy p WHERE EXISTS (SELECT * FROM pracownicy WHERE id_szefa = p.id_prac); SELECT nazwisko FROM pracownicy p WHERE EXISTS (SELECT 1 FROM pracownicy WHERE id_szefa = p.id_prac); PODZAPYTANIA W KLAUZULI HAVING obowiązują te same zasady co w przypadku klauzuli WHERE SELECT marka, AVG(cena) FROM samochody GROUP BY marka HAVING AVG(cena) > (SELECT AVG(cena) FROM samochody); 13

14 PODZAPYTANIA W KLAUZULI FROM PODZAPYTANIE W KLAUZULI SELECT Podzapytanie tworzy zbiór danych dla zapytania zewnętrznego: SELECT marka, srednia_cena FROM (SELECT marka, avg(cena) FROM samochody GROUP BY marka); Takie podzapytanie jest źródłem danych dla nowego atrybutu w wyniku zapytania zewnętrznego. Podzapytanie musi zwracać co najwyżej jedną wartość dla rekordu przeglądanego przez zapytanie zewnętrzne. Należy również zdefiniować alias dla atrybutu definiowanego przez podzapytanie. SELECT s.wlasciciel, (SELECT COUNT(*) FROM samochody z WHERE z.wlasciciel=s.wlasciciel) AS L_sam FROM wlasciciele s; DDL CREATE TABLE CREATE TABLE - PRZYKŁAD Najprostsza postać deklaracji schematu relacyjnego przyjmuje następującą postać: CREATE TABLE nazwa_tabeli (nazwa_kolumny typ_danych (rozmiar) [DEFAULT wartośc_domyślna]); rejestracja Char(7), rocznik Date DEFAULT Sysdate, właściciel Numeric, marka Varchar(10) DEFAULT Fiat ); CREATE TABLE zwierzeta ( gatunek CHARACTER VARYING (100), jajorodny CHAR(1) DEFAULT T, liczba_konczyn NUMERIC(2), data_odkrycia DATE); 14

15 CREATE TABLE - WIĘZY CREATE TABLE nazwa_tabeli (nazwa_kolumny typ_danych (rozmiar) [ [CONSTRAINT nazwa] więzy_atr] [ [CONSTRAINT nazwa] więzy_rel]); Podstawowe rodzaje więzów: PRIMARY KEY NOT NULL REFERENCES nazwa_tabeli () UNIQUE CHECK CREATE TABLE PRIMARY KEY rocznik Date, właściciel Numeric, data_rejestracji Date); rejestracja Char(7), rocznik Date, właściciel Numeric, data_rejestracji Date, PRIMARY KEY (rejestracja)); CREATE TABLE - UNIQUE rocznik Date, właściciel Numeric, vin char(13) UNIQUE); rocznik Date, właściciel Numeric, vin char(13), UNIQUE (vin)); CREATE TABLE NOT NULL rocznik Date, właściciel Numeric NOT NULL, vin char(13) UNIQUE NOT NULL); 15

16 CREATE TABLE KLUCZ OBCY rocznik Date, właściciel Numeric REFERENCES właściciele(nr), data_rejestracji Date NOT NULL); rocznik Date, właściciel Numeric, data_rejestracji Date NOT NULL FOREIGN KEY właściciel REFERENCES właściciele(nr)); KLUCZ OBCY INTEGRALNOŚĆ REFERENCYJNA ON DELETE SET NULL usunięcie krotki z relacji z kluczem głównym spowoduje zapisanie do wskazujących na nią atrybutów tworzących klucz obcy wartości NULL, ON DELETE CASCADE usunięcie krotki j.w. spowoduje usunięcie wszystkich krotek, które zawierają klucz obcy wskazujący na usuwaną krotkę, ON DELETE SET DEFAULT usunięcie krotki j.w. spowoduje zapisanie do wskazujących na nią atrybutów tworzących klucz obcy ich wartości domyślnych, KLUCZ OBCY INTEGRALNOŚĆ REFERENCYJNA ON UPDATE SET NULL modyfikacja wartości klucza głównego w krotce spowoduje zapisanie do wskazujących na nią atrybutów tworzących klucz obcy wartości NULL, ON UPDATE CASCADE modyfikacja wartości j.w. w krotce spowoduje zapisanie do wskazujących na nią atrybutów tworzących klucz obcy nowej wartości klucza głównego lub wartości unikalnej, ON UPDATE SET DEFAULT - modyfikacja j.w. w krotce spowoduje zapisanie do wskazujących na nią atrybutów tworzących klucz obcy ich wartości domyślnych. KLUCZ OBCY INTEGRALNOŚĆ REFERENCYJNA rocznik Date, data_rejestracji Date NOT NULL, właściciel Numeric REFERENCES właściciele(nr), ON DELETE SET NULL, ON UPDATE CASCADE ); 16

17 CREATE TABLE OGRANICZENIE ATRYBUTU rocznik Date CHECK (rocznik> 1970 ), właściciel Numeric REFERENCES właściciele(nr), data_rejestracji Date NOT NULL); rocznik Date CHECK (rocznik> 1970 ), właściciel Numeric REFERENCES właściciele(nr), rodzaj Char(1) CHECK (rodzaj IN ( s, h )) ); CREATE TABLE OGRANICZENIE RELACJI rocznik Date NOT NULL, data_rejestracji Date, CHECK (rocznik<data_rejestracji)); rocznik Date NOT NULL, rodzaj Char(1), CHECK (rodzaj= h OR rejestracja NOT LIKE BI% )); CREATE TABLE NADAWANIE NAZW WIĘZOM rejestracja Char(7) CONSTRAINT numer_sam PRIMARY KEY, data_rejestracji Date); rocznik Date NOT NULL, rodzaj Char(1), CONSTRAINT rodzaj_rej CHECK (rodzaj= h OR rejestracja NOT LIKE BI% )); CREATE TABLE PODZAPYTANIE (ORACLE) CREATE TABLE nazwa_tabeli (nazwa_kolumny [DEFAULT wartosc] [ [CONSTRAINT nazwa] więzy_atr] [ [CONSTRAINT nazwa] więzy_rel]) AS SELECT zapytanie; CREATE TABLE auta (rejestracja PRIMARY KEY, marka, kolor,cena) AS SELECT rejestracja, marka, kolor, 1.25*cena FROM samochody; 17

18 RENAME Zmiana nazwy relacji RENAME stara_nazwa TO nowa_nazwa; RENAME samochody TO auta; DROP TABLE DROP TABLE nazwa_tab [CASCADE]; Gdy inne tabele zawierają klucze obce do usuwanej tabeli to usunięcie nie powiedzie się, Np. DROP TABLE samochody; - nie powiedzie się, DROP TABLE samochody CASCADE; - usunie tabele razem z wiązami spójności referencyjnej dla odpowiedniej kolumny. ALTER TABLE ALTER TABLE nazwa_tab klauzula_zmiany_schem; Możliwości: dodanie nowej kolumny wraz z ograniczeniami atrybutu lub definicji ograniczenia relacji ADD, modyfikacja definicji atrybutu ALTER COLUMN/ MODIFY, usunięcie kolumny lub ograniczenia integralnościowego DROP COLUMN. ALTER TABLE - ADD ALTER TABLE nazwa_tabeli ADD [COLUMN nazwa typ(rozmiar) [DEFAULT wartość] ograniczenia CONSTRAINT nazwa ograniczenie]; ALTER TABLE samochody ADD COLUMN vin Char (17) UNIQUE; ALTER TABLE samochody ADD CONSTRAINT ogr_mark CHECK (marka IN ( fiat, seat )); 18

19 ALTER TABLE - DROP ALTER TABLE ALTER COLUMN ALTER TABLE nazwa_tabeli DROP [ COLUMN ( nazwa ) CONSTRAINT ( nazwa ) ]; ALTER TABLE nazwa_tabeli MODIFY ( nazwa typ(rozmiar) [DEFAULT wartość] ograniczenia ); ALTER TABLE samochody DROP CONSTRAINT numer_sam; ALTER TABLE samochody DROP COLUMN cena; ALTER TABLE samochody ALTER COLUMN vin CHARACTER VARYING (20) NOT NULL; DML- INSERT INTO Wstawianie wierszy do tabeli, Można ograniczyć się do kolumn o podanych nazwach (w reszcie wstawiamy NULL), Wiersz można wypełnić wartościami zwróconymi przez podzapytanie. INSERT INTO INSERT INTO samochody VALUES ( BIR5678, 2002, 2, , biały, opel ); INSERT INTO samochody (rejestracja, kolor, marka) VALUES ( BIR5678, biały, NULL); INSERT INTO nazwa_tabeli [(nazwy_kolumn)] VALUES (wartości [DEFAULT] [NULL]); INSERT INTO samochody_new (SELECT * FROM samochody WHERE cena<20000); 19

20 UPDATE Modyfikacja (aktualizacja) wartości zapisanych w bazie danych, UPDATE nazwa_tabeli SET nazwy_kolumn=wyrażenia [DEFAULT] [NULL] [WHERE warunek]; UPDATE samochody SET cena=cena*1.05; UPDATE samochody SET cena=cena*1.05 WHERE marka= mercedes ; UPDATE samochody SET właściciel=3, kolor= czerwony WHERE rejestracja= SER2345 ; UPDATE - PODZAPYTANIE UPDATE nazwa_tabeli SET nazwy_kolumny= (SELECT nazwa_kolumny2 FROM nazwa_tabeli2 [WHERE warunki]) [WHERE warunek]; UPDATE samochody SET cena=cena+ (SELECT avg(cena) FROM samochody) WHERE marka= mercedes ; DELETE Usuwanie danych z tabeli, DELETE FROM nazwa_tabeli [WHERE warunek]; DELETE FROM samochody; DELETE FROM samochody WHERE data_rej IS NULL; COMMIT, ROLLBACK Utrwalenie zmian wprowadzonych przez polecenia INSERT, DELETE, UPDATE, inaczej wyniki wykonanych poleceń są widoczne jedynie w ramach bieżącej sesji, COMMIT; Rezygnacja z wprowadzenia zmian do bazy danych, ROLLBACK; 20

21 PERSPEKTYWY Są zapytaniami zapewniającymi użytkownikowi właściwe widoki na dane składowane w bazie danych, Są wyrażeniami języka SQL przechowywanymi w bazie danych i określonymi nazwą, Wyniki zapytania tworzącego perspektywę nie są fizycznie składowane na dysku, ale są generowane za każdym razem, gdy do perspektywy zostanie skierowane zapytanie, Umożliwiają wykonywanie podobnych operacji jakie są wykonywane na tabelach: przeglądanie, wyszukiwanie zawsze, wstawianie, modyfikowanie i usuwanie danych pod pewnymi warunkami. Perspektywy pozwalają na: definiowanie struktur, które umożliwią wygodne korzystanie z systemu pojedynczym użytkownikom lub ich klasom, ograniczenie dostępu do danych, uproszczenie pracy administratora, podsumowywania składowych danych. PERSPEKTYWY KONKRETNE ZASTOSOWANIA Zapewnienie bezpieczeństwa przez ograniczenie zbiorów wynikowych do tych danych, które rzeczywiście są potrzebne użytkownikowi, Mogą stanowić podstawę dla innych perspektyw, co pozwala na swobodne operowanie danymi, Oferowanie danych użytkownikowi w bardziej przystępnej formie. PERSPEKTYWY - TWORZENIE CREATE VIEW nazwa [ (nazwa1, nazwa2,...)] AS SELECT zapytanie definiujące perspektywę [ WITH CHECK OPTION ]; CREATE VIEW kabriolety AS SELECT rejestracja, marka, kolor, cena FROM samochody; CREATE VIEW terenowe (marka, data, cena) AS SELECT marka, data, cena*1.2 FROM samochody WHERE kolor= czerwony ; PERSPEKTYWY - USUWANIE DROP VIEW nazwa [RESTRICT CASCADE]; DROP VIEW terenowe; DROP VIEW terenowe CASCADE; - usunięcie razem wszystkich perspektyw zależnych, DROP VIEW terenowe RESTRICT; - odrzucenie usunięcia perspektywy, jeśli istnieją inne zależne. 21

22 PERSPEKTYWY MODYFIKOWALNE oparte na jednej relacji ( w Oracle i Access może być więcej niż jedna), bez słowa DISTINCT, bez wywołań funkcji podsumowujących, bez funkcji operujących na zbiorach, bez operatorów zbiorów, bez klauzuli ORDER BY, GROUP BY, HAVING, Klauzula WHERE nie może zawierać podzapytań. są modyfikowane przez polecenia UPDATE i DELETE, aby można było korzystać z INSERT, konieczne jest, aby perspektywy udostępniały wszystkie atrybuty klucza podstawowego oraz wszystkie atrybuty obowiązkowe relacji bazowej, jeżeli perspektywa zawiera atrybuty stanowiące wynik wyrażeń, to polecenia INSERT i UPDATE nie mogą dotyczyć tych atrybutów. PERSPEKTYWY Z OPCJĄ SPRAWDZANIA Zapewnia ograniczenie danych operowanych przy użyciu perspektywy do danych określonych przez jej warunek WHERE. CREATE VIEW drogie (rejestracja, marka, data, cena) AS SELECT marka, data, cena FROM samochody WHERE cena> WITH CHECK OPTION; INSERT INTO drogie (rejestracja, marka, data, cena) VALUES ( TY789, seat,2007,45000); UPDATE drogie SET cena=30000 WHERE marka= fiat ; DEFINICJA DZIEDZINY ATRYBUTÓW Są to typy danych definiowane łącznie z więzami spójności. CREATE DOMAIN nazwa typ (rozmiar) [CHECK (VALUE warunek)] [DEFAULT wartosc]; CREATE DOMAIN rej CHAR(6) CHECK (VALUE LIKE BI ) DEFAULT BI1111 ; CREATE TABLE samochody (rejestracja DOMAIN rej PRIMARY KEY, ); ALTER DOMAIN, DROP DOMAIN DEFINICJA ASERCJI Więzy spójności definiowane poza instrukcjami CREATE TABLE, ALERT TABLE. CREATE ASSERTION nazwa CHECK (warunek); CREATE ASSERTION suma_ceny CHECK ( >=ALL (SELECT SUM(cena) FROM samochody GROUP BY marka)); DROP ASSERTION 22

23 TWORZENIE SYNONIMÓW NAZW Konstrukcja pozwalająca na tworzenie synonimów nazw tabel i perspektyw. CREATE SYNONYM nazwa FOR nazwa_tabeli_lub_perspektywy; CREATE SYNONYM pomoc FOR samochody; DROP SYNONYM TWORZENIE SEKWENCJI Niektóre SZDB (np. Oracle) oferują konstrukcję (przechowywana jako obiekt) służącą do generowania jednoznacznych numerów dla wartości kluczy głównych i jednoznacznych. CREATE SEQUENCE nazwa [INCREMENT BY k] [START WITH n]; n pierwsza generowana liczba naturalna, k wartość o jaką wzrasta każdy kolejno generowany numer. UŻYCIE SEKWENCJI nazwa_sewkwencji.nextval generowanie kolejnej wartości w sekwencji, nazwa_sewkwencji.currval ostatnio wygenerowana wartość w sekwencji, CREATE SEQUENCE numery_prac INCREMENT BY 3 START WITH 10; INSERT INTO pracownicy (nr, nazwisko, stanowisko) VALUES (numery_prac.nextval, adam, bobrowski ); WYKŁAD PRZYGOTOWANO NA PODSTAWIE L. Banachowski, E. Mrówka-Matejewska, K. Stencel, Systemy baz danych. Wykłady i ćwiczenia, PJWSTK, 2004, K. Kline, D. Kline, SQL. Almanach. Opis poleceń języka, Helion, 2004, P. Wilton, J. Colby, SQL od podstaw, Helion, 2006, J. D. Ullman, J. Widom, Podstawowy wykład z systemów baz danych, WNT, 1999, 23

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

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

Bardziej szczegółowo

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

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

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

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

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

Bardziej szczegółowo

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

Bardziej szczegółowo

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

Bardziej szczegółowo

Podstawy 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 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ółowo

SQL w praktyce. Miłej i owocnej nauki!!!

SQL 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ółowo

Wykład 4. SQL praca z tabelami 1

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

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

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

SQL Structured Query Language

SQL Structured Query Language Terminy, określenia: Relacja tabela Krotka wiersz ( rekord ) Atrybut kolumna (pole ) Stopień relacji liczba atrybutów Klucz główny relacji jednoznaczny identyfikator krotki Dziedzina zbiór dopuszczalnych

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

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

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

Wykład 2. SQL 1 Structured Query Lenguage

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

Bardziej szczegółowo

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Bardziej szczegółowo

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!

Szkolenie 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ółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli SPOOL moj_plik SPOOL OFF @ moj_ plik edit CREATE TABLE DESCRIBE ALTER TABLE RENAME DROP TABLE CONNECT CONNECT USER_NAME DISCONNECT EXIT zapisuje wszystkie wydane polecenia oraz ich wyniki do pliku moj_plik,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Ję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ółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. 1 polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie

Bardziej szczegółowo

Informatyka (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 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ół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

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

- 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ółowo

Język SQL podstawy zapytań

Ję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ół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

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

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

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych Bazy Danych Ćwiczenie 7 - DDL Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL Podczas dotychczasowych ćwiczeń z Systemów Baz Danych wykonywaliście Państwo zadania przy wykorzystaniu relacji PRACOWNICY,

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

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

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną

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

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

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

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@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ółowo

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1) Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],

Bardziej szczegółowo

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1) Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

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

Bardziej szczegółowo

Bazy danych. Polecenia SQL

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

Bardziej szczegółowo

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Bazy danych 2. Wykład 4 Structured Query Language (SQL) Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)

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

Ć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

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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Współczesne systemy baz danych

Współczesne systemy baz danych Współczesne systemy baz danych dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu Zakład Systemów Informatycznych i Mechatronicznych (SIMT) 2018 Język SQL Język SQL (ang. Structured

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

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL Bazy danych 2 Wykład 5 Structured Query Language (SQL) c.d. DDL Dziedzina (DOMAIN) Dziedzina to zdefiniowany przez uŝytkownika zbiór dopuszczalnych wartości definiowany niezaleŝnie od definicji tabel Składnia

Bardziej szczegółowo

Autor: Joanna Karwowska

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

Bardziej szczegółowo

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

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

Projektowanie systemów baz danych

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Współczesne systemy baz danych

Współczesne systemy baz danych Współczesne systemy baz danych dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu Zakład Systemów Informatycznych i Mechatronicznych (SIMT) 2019 Język SQL Język SQL (ang. Structured

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

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Marcin Czajkowski Politechnika Białostocka Wydział Informatyki Przygotowanie wykładu: Małgorzata Krętowska Ogólny plan przedmiotu Wykład : Wprowadzenie

Bardziej szczegółowo

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

mail: strona:  konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) 1 Organizacyjne Kwestie organizacyjne Kontakt: mail: olga.siedlecka@icis.pcz.pl strona: http://icis.pcz.pl/~olga konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) Przedmiot kończy się

Bardziej szczegółowo

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym. Modele - konceptualne reprezentacja obiektów w

Bardziej szczegółowo

Podstawy języka SQL cz. 2

Podstawy języka SQL cz. 2 Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.

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

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

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

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

Bardziej szczegółowo

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

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

SQL - DDL. 1 Tabele systemowe. 2 Typy danych SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,

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 - wykład wstępny

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

Bardziej szczegółowo

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

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

Instrukcja CREATE TABLE

Instrukcja CREATE TABLE Podstawy języka SQL 2 Instrukcja CREATE TABLE CREATE TABLE tabela (pole_1 typ [(rozmiar)] [NOT NULL] [indeks_1] [, pole_2 typ [(rozmiar)] [NOT NULL] [indeks_2] [,...]] [, CONSTRAINT indeks_wielopolowy

Bardziej szczegółowo