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

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

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

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

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

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

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

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

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

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

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

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

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

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Bardziej szczegółowo

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

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

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

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

Ć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

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

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

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

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

Projektowanie systemów baz danych

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

Bardziej szczegółowo

Bazy danych - wykład 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

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

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

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Strukturalny język zapytań (SQL - Structured Query Language) Algebraiczny rodowód podstawowe działania w przykładach Bazy danych.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Zadania z SQLa (MS SQL Server)

Zadania z SQLa (MS SQL Server) Zadania z SQLa (MS SQL Server) Struktura testowej bazy danych (diagram ERD): opracował dr Robert Fidytek SPIS TYPÓW ZADAŃ 1 Projekcja wyników zapytań (SELECT FROM )... 3 2 Sortowanie wyników zapytań (ORDER

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Bazy danych SQL Server 2005

Bazy danych SQL Server 2005 Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

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

WPROWADZENIE DO JĘZYKA SQL

WPROWADZENIE DO JĘZYKA SQL J.NAWROCKI, M. ANTCZAK, H. DWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO JĘZYKA SQL KORZYSTANIE Z SQLITE 1) Pobierz paczkę z bazą danych ze strony prowadzącego (np. http://www.cs.put.poznan.pl/wfrohmberg/download/sqlite.zip)

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Typy danych wbudowane użytkownika Tabele organizacja wiersza przechowywanie dużych danych automatyczne

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

Bardziej szczegółowo

Bazy danych 5. Samozłaczenie SQL podstawy

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

Bardziej szczegółowo

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Fizyczna struktura bazy danych w SQL Serwerze

Fizyczna struktura bazy danych w SQL Serwerze Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze

Bardziej szczegółowo

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych. Wrocławska WyŜsza Szkoła Informatyki Stosowanej Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych. Dr inŝ. Krzysztof Pieczarka Email: krzysztof.pieczarka@up.wroc.pl Tradycyjne bazy danych

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I Wydział Informatyki Politechnika Białostocka Plan wykładu Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I 1. MySQL 2. Powtórzenie SQL WYKŁAD 2: MySQL: podstawowe obiekty Powtórzenie

Bardziej szczegółowo

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables MYSQL 1 1. Sprawdzenie ustawień konfiguracyjnych Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables 2 2. Wstępna konfiguracja Po zainstalowaniu aplikacji należy przed uruchomieniem wykonać

Bardziej szczegółowo

SQL język zapytań (query language) cz.1

SQL język zapytań (query language) cz.1 SQL język zapytań (query language) cz.1 Zapytanie SELECT - podstawy (3) SELECT A 1,A 2,...,A k (1) FROM R 1,R 2,,R n -- lista wyboru (atrybutów) -- relacje (lista FROM) (2) WHERE F -- warunek wyboru (selekcji)

Bardziej szczegółowo

2. Język SQL SQL jest językiem deklaratywnym (Charakterystyczną cechą języków

2. Język SQL SQL jest językiem deklaratywnym (Charakterystyczną cechą języków Część II Bazy Danych podstawy SQL 1. Wprowadzenie Ćwiczenia z przedmiotu Bazy Danych" są poświęcone przede wszystkim językowi SQL (ang. Structured Query Language) i jego zastosowaniom. Język SQL jest strukturalnym

Bardziej szczegółowo

Jan Jełowicki Uniwersytet Przyrodniczy we Wrocławiu, Katedra Matematyki. Ściąga z SQL. materiały pomocnicze do zajęć z informatyki.

Jan Jełowicki Uniwersytet Przyrodniczy we Wrocławiu, Katedra Matematyki. Ściąga z SQL. materiały pomocnicze do zajęć z informatyki. Jan Jełowicki Uniwersytet Przyrodniczy we Wrocławiu, Katedra Matematyki Ściąga z SQL materiały pomocnicze do zajęć z informatyki Wrocław 2004 2014 0. Konwencje Wszystkie wyrażenia języka SQL wyróżniono

Bardziej szczegółowo

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus Katedra Informatyki i Automatyki Politechnika Rzeszowska Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus C5.I. Wprowadzenie C5.I.1 Ogólna charakterystyka i uruchomienie systemu Język SQL jest

Bardziej szczegółowo

Kurs. Podstawy MySQL

Kurs. Podstawy MySQL Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1 Bazy Danych Instrukcja laboratoryjna Temat: Obsługa bazy danych za pomocą phpmyadmin oraz phppgadmin 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do phpmyadmin oraz phppgadmin

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych. Technologie Informacyjne Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2010/2011 Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią

Bardziej szczegółowo

Język zapytań SQL- język relacyjnych baz danych

Język zapytań SQL- język relacyjnych baz danych Język SQL Język zapytań SQL- język relacyjnych baz danych SQL (Structured Query Language),czyli Strukturalny Język Zapytań. SQL jest standardowym językiem do kierowania poleceń do relacyjnej bazy danych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli. SQL W JĘZYKU PL/SQL Strukturalny język zapytań SQL określa sposób manipulowania danymi w bazie danych. Konstrukcje proceduralne języka PL/SQL stają się bardziej użyteczne w połączeniu z mocą przetwarzania

Bardziej szczegółowo

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

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

Bardziej szczegółowo

Bazy danych. Informacje podstawowe

Bazy danych. Informacje podstawowe Bazy danych Zagadnienia Podstawy relacyjnych baz danych SQL Języki manipulowania w relacjach Aspekty aktywne baz danych Aspekty systemowe baz danych Projektowanie baz danych Zależności funkcyjne i postacie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

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

Bardziej szczegółowo

RBD Relacyjne Bazy Danych

RBD Relacyjne Bazy Danych Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji

Bardziej szczegółowo

Uprawnienia, role, synonimy

Uprawnienia, role, synonimy Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo