Adam Bujnowski pok. 105 WETI tel

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

Download "Adam Bujnowski pok. 105 WETI tel 347 16 84 email: bujnows@biomed.eti.pg.gda.pl"

Transkrypt

1 Bazy Danych Adam Bujnowski pok. 105 WETI tel

2 Plan Modele baz danych Sieciowy, hierarchiczny i Relacyjny Historia SQL Normy (ISO/IEC9075) Porównanie wersji 1992,1999,2003 Wyrażenia SQL Data definition Language Wyrażenia SQL Data manipulation Language Wyrażenia SQL Data Query Language Funkcje i typy danych użytkownika - SQL/MM

3 Plan c.d Etapy projektowania relacyjnej bazy danych(język naturalny, diagramy związkow encji, DDL, model relacyjny (DR) Model związkow encji(dze) wprowadzenie Zasady poprawnego stosowania DZE Odwzorowanie DZE->Model relacyjny, odwzorowanie pojęć Normalizacja RBD (zależnosci, 1NF, 2NF,3NF,BCNF

4 PLAN c.d. Normalizacja RBD (4NF, 5NF) Systemy zarządzania RBD, ch-ka i przegląd rozwiązań Obiektowy model danych Obiektowo-relacyjny model danych Zastosowania baz danych/ porównanie modeli Bazy danych w projektach inżynierskich

5 Baza Danych Duży zbiór danych o określonej strukturze, która umożliwia ich szybkie wyszukiwanie i wydobywanie (www.m-w.com) DBMS DataBase Management Systemzbiór programów, bibliotek i narzędzi które zwalniają programistę od pamiętania o szczegółach przechowywania i zarządzania danymi.

6 Rodzaje baz danych Model Sieciowy Model Hierarchiczny Model relacyjny Model obiektowy Model relacyjno-obiektowy

7 Model sieciowy Model sieciowy wykorzystuje pomysł wskaźników wewnątrz struktury bazy danych. Klient 1 Klient 2 Klient 3 zam.k1-1 zam.k1-2 zam.k2-1 zam.k3-1 zam.k3-2 zam.k3-2 Wada kosztowne przeszukiwanie i analiza danych, np znalezienie wszystkich niebieskich sześcianów wymaga przejrzenia n drzew od góry do dołu

8 Model hierarchiczny Model stosuje rekordy danych złożonej z innych rekordów. Porównanie pecet składa sie z monitora, komputera, klawiatury, drukarki, z kolei komputer składa sie z zasilacza, plyty glownej, napędów a dalej np zasilacz zbudowany jest z kondensatorów, transformatorów, diod, cewek itp. Elementy dyskretne są tutaj już niepodzielne...

9 Model relacyjny 1970 E.F.Codd Relacyjny model danych dla dużych, współdzielonych banków danych Słownictwo rekord w tabeli krotka(tuple) Krotka uporzadkowana grupa elementów lub atrybutów, z których zażdy posiada zdefiniowany typ. Wszystkie krotki posiadaj ą ten sam wzorzec (liczb ę komponentów o identycznych typach)

10 Przykład Krotki: {'Szwecja', 'SKR', 0.50} {'USA','USD',3.00} Krotki nie pasujące do powyższych: {'Niemcy','Eur'}- za mało atrybutów {1,PLN,Polska} kolejność niepoprawne typy Ponadto krotki nie mogą się powtarzać

11 Klucz Klucz atrybut służący do rozróżniania rekordów, które niczym innym się nie różnią. Może to być kombinacja jednego, lub większej liczby atrybutów.

12 Relacja Relacja jest zbiorem dziedzin, które wspólnie opisują rzecz lub zdarzenie w realnym świecie Każdy atrybut składa się z nazwy oraz nazwy dziedziny, z której atrybut pobiera dane Relacja składa się z dwóch części nagłówka, oraz treści Każda krotka jest unikatowa wewnątrz relacji Każda krotka może zostać jednoznacznie zidentyfikowana za pomocą przynajmniej jednego klucza podstawowego Krotka może zawierać jeden lub więcej kluczy obcych, z których każdy identyfikuje jedną lub więcej krotek w tej samej lub innej relacji

13 Algebra relacyjna Operacja łączenia(porownuje A i B, zwraca wszystkie unikalne krotki (bez powtorzen) Operacja przecięcia (porownuje A i B zwraca krotki wspolne) Operacja różnicy (porownuje A i B, zwraca krotki z A ktorych nie ma w B) Operacja iloczynu kartezjańskiego ({1,2,3} i {a b} --> {1a 2a 3a 1b 2b 3b) Operacja ograniczenia ( wybiera z A te krotki, ktore spelniaja warunek) Operacja projektu (wybiera z relacji A tylko okreslone atrubuty) Operacja scalania (buduje owa relacje przez polaczenie dwoch istniejacych, kombinacja iloczynu kart. Ograniczenia i projekcji) Operacja podziału() Operacja porównania ( wyrazenie theta wyrazenie { theta: =!= <= < >= >)

14 Operacje dodatkowe Rozszerzania Wstawiania Uaktualniania Usuwania

15 12 regul Codd'a Baza danych gromadzi wszystkie dane wewnątrz krotek Kazda wartość klucza moze byc dostępna przez kombinacje nazwy relacji, nazwy atrybutu i wartości klucza podstawowego tej krotki Wartosci null wprowadzane sa systematycznie Katalog bazy danych jest przechowywany wewnatrz jednej lub wielu relacji, ktore moga być czytane przez autoryzowanych użytkowników System wdraża język zapytań System musi byc zdolny do uaktualniania przez perspektywę System musi byc zdolny do operacji na grupach krotek Programy za pomoca ktorych manipuluje sie baza danych sa niezalezne od tego jak baza danych jest fizycznie zorganizowana Programy, za pomoca ktorych BD jest przetwarzana sa niezalezne od tego jak baza danych jest zorganizowana wewnetrznie

16 12 regul Codd'a zasady,ktore artykuluja semantyczny stopien integralnosci, powinny byc mozliwe do opisania wewnątrz języka zapyta ń SZBD. Mozliwe powinno byc rowniez zmagazynowanie ich wewnatrz katalogu systemu BD i narzucanie przez sam system BD. Relacyjna BD powinna działać tak samo, niezależnie od tego, czy pracuje na pojedyńczej maszynie czy jest udostępniana sieciowo Nie wolno uzyć języka niższego poziomu do obalenia jedności zasad bazy danych

17 Historia SQL-a (1974) SEQUEL opracowany w Laboratoriach IBM w San Jose, później nazwany SQL (czesto wymawiany jako sequel ) SQL Structured Query Language Strukturalny język zapytań Prototypowy system uzywajacy SQL to SYSTEM R, rozwinięty później do DB2, SQL/DS i QMF systemy zarzadzania bazami danych dla IBM/370

18 SQL sposoby użycia Interaktywny zwykle wykorzystywany w systemach zarzadzania bazami danych (DBMS) wymaga interaktywnego wpisania polecenia i wynik zostaje wyprowadzony na standardowe wyjscie w domyslnym formacie (psql, mysql) Ukryty (embedded) kazde polecenie jest poprzedzone prefixem wyrozniajacym je spośród języka SQL np.: EXEC_SQL(...) - przykład używanie SQL w C Interfejs poziomu wywolan (CLI call-level interface) jezyk przegladarki implementuje serie wywolan, z kotorych kazde stanowi odpowiednik rozkazow SQL. (C, Perl, Php, Java)

19 STANDARDY SQL89 ISO/IEC 9075:1992 Informatyka- Jezyki baz danych-sql (SQL92) (w USA ANSI X ) SQL99 uaktualnienia nie dotycza rdzenia SQL SQL2003

20 SQL podstawowe komponenty DATA DEFINITION LANGUAGE DATA MANIPULATION LANGUAGE DATA QUERY LANGUAGE DATA CONTROLL LANGUAGE

21 Data Definition Language CREATE TABLE CREATE VIEW CREATE INDEX ALTER TABLE DROP TABLE DROP VIEW DROP INDEX

22 CREATE TABLE CREATE TABLE nazwatabeli ( nazwa_pola_1 typ_pola_1 atrybuty_dod_pola, nazwa_pola_2 typ_pola_2, nazwa_pola_n typ_pola_n )

23 Podst. Typy danych INTEGER liczba calkowita CHAR tablica znakow o stalym rozmiarze VARCHAR tablica znakow o zmiennym rozmiarze DATE - data NUMERIC liczby zmienno przec. NULL wartosc nieznana

24 Typy danych BLOB- duzy obiekt binarny BIT(n) tablica bitow o dlugosci n BITVARYING(n) NCHAR(n) tablica znakow narodowych BOOLEAN MONEY SERIAL - - automatycznie inkrementowana

25 Typy danych BLOB- duzy obiekt binarny BIT(n) tablica bitow o dlugosci n BITVARYING(n) NCHAR(n) tablica znakow narodowych BOOLEAN MONEY SERIAL - - automatycznie inkrementowana

26 Typy danych PostgreSQL Schema Name Description pg_catalog "SET" set of tuples pg_catalog "any" pg_catalog "char" single character pg_catalog "path" geometric path '(pt1,...)' pg_catalog "trigger" pg_catalog "unknown" pg_catalog abstime absolute, limited-range date and time (Unix system time) pg_catalog aclitem access control list pg_catalog anyarray pg_catalog anyelement pg_catalog bigint ~18 digit integer, 8-byte storage pg_catalog bit fixed-length bit string pg_catalog bit varying variable-length bit string pg_catalog boolean boolean, 'true'/'false' pg_catalog box geometric box '(lower left,upper right)' pg_catalog bytea variable-length string, binary values escaped pg_catalog character char(length), blank-padded string, fixed storage length pg_catalog character varying varchar(length), non-blank-padded string, variable storage length pg_catalog cid command identifier type, sequence in transaction id pg_catalog cidr network IP address/netmask, network address pg_catalog circle geometric circle '(center,radius)' pg_catalog cstring pg_catalog date ANSI SQL date pg_catalog double precision double-precision floating point number, 8-byte storage pg_catalog inet IP address/netmask, host address, netmask optional pg_catalog int2vector array of 32 int2 integers, used in system tables pg_catalog integer -2 billion to 2 billion integer, 4-byte storage pg_catalog internal pg_catalog <number> <units>, time interval pg_catalog language_handler pg_catalog line geometric line (not implemented)' pg_catalog lseg geometric line segment '(pt1,pt2)'

27 Typy danych PostgreSQL pg_catalog language_handler pg_catalog line geometric line (not implemented)' pg_catalog lseg geometric line segment '(pt1,pt2)' pg_catalog macaddr XX:XX:XX:XX:XX:XX, MAC address pg_catalog money monetary amounts, $d,ddd.cc pg_catalog name 63-character type for storing system identifiers pg_catalog numeric numeric(precision, decimal), arbitrary precision number pg_catalog oid object identifier(oid), maximum 4 billion pg_catalog oidvector array of 32 oids, used in system tables pg_catalog opaque pg_catalog point geometric point '(x, y)' pg_catalog polygon geometric polygon '(pt1,...)' pg_catalog real single-precision floating point number, 4-byte storage pg_catalog record pg_catalog refcursor reference cursor (portal name) pg_catalog regclass registered class pg_catalog regoper registered operator pg_catalog regoperator registered operator (with args) pg_catalog regproc registered procedure pg_catalog regprocedure registered procedure (with args) pg_catalog regtype registered type pg_catalog reltime relative, limited-range time interval (Unix delta time) pg_catalog smallint -32 thousand to 32 thousand, 2-byte storage pg_catalog smgr storage manager pg_catalog text variable-length string, no limit specified pg_catalog tid (Block, offset), physical location of tuple pg_catalog time with time zone hh:mm:ss, ANSI SQL time pg_catalog time without time zone hh:mm:ss, ANSI SQL time pg_catalog timestamp with time zone date and time with time zone pg_catalog timestamp without time zone date and time pg_catalog tinterval (abstime,abstime), time interval pg_catalog void pg_catalog xid transaction id (62 rows)

28 Atrybuty Wartosci ustalajace zachowanie sie nowo tworzonego pola np: NOT NULL pole w bazie MUSI byc wypelnione przy tworzeniu nowego rekordu DEFAULT mozliwosc przypisania wartosci domyslnej AUTO INCREMENT powoduje automatyczne zwiekszanie wartosci przy dodaniu nowego rekordu

29 CREATE VIEW CREATE VIEW nazwidoku ( nazwa_pola_1, nazwa_pola_2, nazwa_pola_n ) AS SELECT tab1.pol_1, tab2_pol_2, tab3.pol_n FROM tab1,tab2,tab3 WHERE (... )

30 CREATE INDEX CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( column [ ops_name ] [,...] ) [ WHERE predicate ] CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( func_name( column [,... ]) [ ops_name ] ) [ WHERE predicate ]

31 ALTER TABLE Command: ALTER TABLE Description: change the definition of a table Syntax: ALTER TABLE [ ONLY ] table [ * ] ADD [ COLUMN ] column type [ column_constraint [... ] ] ALTER TABLE [ ONLY ] table [ * ] ALTER [ COLUMN ] column { SET DEFAULT value DROP DEFAULT } ALTER TABLE [ ONLY ] table [ * ] ALTER [ COLUMN ] column SET STATISTICS integer ALTER TABLE [ ONLY ] table [ * ] RENAME [ COLUMN ] column TO newcolumn ALTER TABLE table RENAME TO new_table ALTER TABLE table ADD table_constraint_definition ALTER TABLE [ ONLY ] table DROP CONSTRAINT constraint { RESTRICT CASCADE } ALTER TABLE table OWNER TO new_owner

32 DROP Command: DROP TABLE Description: remove a table Syntax: DROP TABLE name [,...] Command: DROP INDEX Description: remove an index Syntax: DROP INDEX index_name [,...] Command: DROP VIEW Description: remove a view Syntax: DROP VIEW name [,...]

33 Data Manipulation Language INSERT UPDATE DELETE

34 INSERT Command: INSERT Description: create new rows in a table Syntax: INSERT INTO table [ ( column [,...] ) ] { DEFAULT VALUES VALUES ( expression [,...] ) SELECT query } Zalozmy nastepujaca tabele : CREATE TABLE osoba( imie varchar(20), nazw varchar(20), miasto varchar(20), id_osoba serial );

35 INSERT metoda prosta Wstawmy przykladowe dane: INSERT INTO osoba VALUES('Gustaw','Jelen','Ustron', 1); INSERT INTO osoba VALUES('Kos','Jan','Gdansk',2); INSERT INTO osoba VALUES('Wilno','Adam','Mickiewicz ',3);

36 INSERT INSERT INSERT WSZYSKIE DANE ZOSTALY ZAAKCEPTOWANE!!!!! 1 select * FROM osoba; imie nazw miasto id_osoba Gustaw Jelen Ustron 1 Kos Jan Gdansk 2 Wilno Adam Mickiewicz 3 Z formalnego punktu widzenia nie ma bledow, ale baza jest nielogiczna!!!! TAKIE WYWOLANIE INSTRUKCJI INSERT Jest bardzo niebezpieczne!!!

37 Lepsza forma INSERT INSERT INTO osoba(imie,nazw,miasto) VALUES('Gustaw','Jelen','Ustron'); INSERT INTO osoba(nazw,imie,miasto) VALUES('Kos','Jan','Gdansk'); INSERT INTO osoba(miasto,imie,nazw) VALUES('Wilno','Adam','Mickiewicz'); Metoda niewrazliwa na zmiany kolejnosci danych w tabelach patrz ALTER TABLE

38 Jeszcze inna metoda wykorzysania INSERT... INSERT INTO osoba SET imie='adam', nazw ='Bujnowski' (MySQL)

39 Metoda INSERT do wprowadzenia wiekszej ilosci danych INSERT INTO osoba(imie,nazw,miasto) VALUES('Gustaw','Jelen','Ustron'), ('Jan','Kos','Gdansk'), ('Adam','Mickiewicz','Wilno'); \copy osoba from 'osoba.txt' using delimiters '.' (MySQL) (PostgreSQL) LOAD DATA [LOCAL] INFILE plik INTO TABLE tabela [FIELDS [TERMINATED BY 'znak'][enclosed BY 'zn'] [ESCAPED BY 'zn' ]] [LINES TERMINATED BY 'zn'] [IGNORE n LINES][(kol1,kol2,kol3...)] (MySQL)

40 Wstawianie danych pomiedzy tabelami INSERT INTO table(field1, field2) SELECT fielda, fieldb FROM tableb WHERE cond. Wyobrazmy tabele : table(field1 varchar(20), field2 varchar(20)); oraz tableb(fielda varchar(20),fieldb varchar(20), fieldc varchar(20),fieldd varchar(20)) Wykonanie powyzszej informacji spowoduje przekopiowanie odpowiednich pol z tableb do table spelniajacych warunek.

41 Aktualizacja pol w tabeli Polecenie UPDATE Command: UPDATE Description: update rows of a table Syntax: UPDATE [ ONLY ] table SET col = expression [,...] [ FROM fromlist ] [ WHERE condition ] UPDATE osoba SET imie='ewa' WHERE nazw like 'Mickiewicz';

42 Kasowanie danych z tabeli DELETE Command: DELETE Description: delete rows of a table Syntax: DELETE FROM [ ONLY ] table [ WHERE condition ] DELETE FROM osoba skasuje wszystie dane z tabeli nalezy zawsze stosowac klauzule WHERE DELETE FROM osoba WHERE imie LIKE 'Adam';

43 OPERATORY w jezyku SQL Operatory arytmetyczne : + - dodawanie - - odejmowanie * - mnozenie / - dzielenie Operatory relacji = <> < <= > >=

44 OPERATORY w jezyku SQL Operatory BETWEEN i IN...WHERE id_osoby BETWEEN 2 AND 4... nazw BETWEEN 'A%' AND 'M%';... data BETWEEN ' ' AND ' '... id_osoby IN(1,4,5,16);... imie in ('Tomek','Kasia','Ola');

45 OPERATORY w jezyku SQL Operator LIKE Porownuje lancuchy znakow. Znaki specjalne: % - dowolny ciag znakow _ - dowolny 1 znak... WHERE nazw LIKE '%ski';... WHERE imie LIKE 'Bo_dan' (Bogdan, Bohdan) Co zrobic zeby znalezc % lub _ w tekscie? - uzycie klauzuli ESCAPE wyklad=# select * from osoba where imie like ESCAPE ' ; imie nazw miasto id_osoba (0 rows)

46 OPERATORY w jezyku SQL Operator IS Operator uzywany w przypadku NULL pesel IS NULL pesel IS NOT NULL Operatory logiczne AND i OR

47 Data Query Language SELECT uzywane do wykonania zapytania w algebrze relacyjnej. Umozliwia dodatkowo sortowanie, grupowanie oraz zapisywanie wynikow do innych kolumn.

48 SELECT SELECT [DISTINCT] <klauzula> FROM <klauzula> [WHERE <klauzula>] [GROUP BY <klauzula>] [HAVING <klauzula>] [UNION <subselect>] [ORDER BY <klauzula>] [SAVE TO TEMP <klauzula>]; SELECT <klauzula> podaje ktore kolumny z jakich tabel podantch w FROM maja byc uwzglednione w tabeli wynikowej DISTINCT uzyte informuje o tym, ze powtarzajace sie wiersze maja byc usuniete

49 SELECT FROM podaje z jakich tabel dane beda pobierane, gdy tabel jest > 1 SELECT wyznacza produkt kartezjanski WHERE podaje warunek (logiczny) ktory kazdy z wierszy powinien spelniac aby mogl zostac wyswietlony w tabeli wynikowej GROUP BY pozwala na polaczenie wielu wierszy w jeden wierdz, pogrupowany wg zadanej kolumny HAVING wybiera grupy pojawiajace sie jako rezultat GROUP BY (podobne do WHERE przy pojed. Wierszach) UNION odpowiada relacyjnemu operatorowi unii <subselect> jest zwyklum wywolaniem SELECT FROM WHERE...

50 SELECT ORDER BY powoduje porzadkowanie tabeli wynikowej wg podanej kolumny i zaleznosci (ASC, DESC) LIMIT n ogranicza liczb ę wyświetlanych krotek do n pierwszych OFFSET m powoduje wyświetlanie krotek począwszy od m- tej (głównie w połączeniu z LIMIT) SAVE TO TEMP pozwala na zapisanie wyniku w tabeli tymczasowej

51 Funkcje w SQL FUNKCJE AGREGACJI: COUNT(*) - COUNT(nazwa_kolumny) MIN(nazwa_kolumny) MAX(nazwa_kolumny) SUM(nazwa_kolumny) AVG(nazwa_kolumny) VARIANCE(nazwa_kolumny) STDDEV(nazwa_kolumny) \da w postgresql wyswietla wszystkie funkcje agregacji i mozliwe typy argumentow

52 Powiazania typu UNION SELECT miasto FROM koles UNION SELECT miasto FROM klient; Powyzsze zapytanie polaczy wynik zapytan w jedna tabele wynikowa, z usunieciem duplikatow Klauzula UNION ALL spowoduje nie usuwanie duplikatow WAZNE!!! - typy pol musza sie zgadzac!

53 Zapytania podrzedne Pozwalaja zna zagniezdzanie funkcji SELECT Zapytanie podrzędne ma miejsce wtedy kiedy tworzymy jeden (lub wiecej) warunków where instrukcji SELECT tabela item : produkt cena SELECT * FROM item WHERE cena>(select AVG(cena))

54 Zapytania podrzedne skorelowane Takie zapytanie podrzedne, gdzie istnieje zwiazek pomiedzy dwiema czesciami zapytania. Ogólna postać zapytania: SELECT ka from tab1 T1 WHERE T1.kB = (SELECT T2.kB FROM tabela2 T2 WHERE T2.kC = T1.kC) Jak widac istnieje wspolna tabela dla zapytania zewnętrznego i wewnetrznego

55 Zapytania z wielu tabel SELECT tab1.a, tab2.b, tab3.c FROM tab1,tab2,tab3 WHERE (warunek) Warunek powinien odzwierciedlic zalozona algebre realcyjną laczaca te tabele W przypadku kiedy ten warunek bedzie bledny lub zawsze 1 system BD zwroci iloczyn kartezjanski wszystkich tabel.

56 Zapytania z wielu tabel - c.d. SELECT kol FROM tab1 JOIN tab2 ON tab1.kol = tab2.kol tabele chronione SELECT kol FROM tab1 LEFT OUTER JOIN tab2 ON tab1.kol = tab2.kol

57 Polaczenia JOIN dla wielu tabel SELECT * FROM osoba JOIN poz ON osoba.id_osoba =poz.id_osob JOIN ksiazka ON ksiazka.id_ks=poz.id_ks

58 GRANT/REVOKE Grant przyznawanie uprawnien Revoke odbieranie uprawnien Command: GRANT Description: define access privileges Syntax: GRANT { { SELECT INSERT UPDATE DELETE RULE REFERENCES TRIGGER } [,...] ALL [ PRIVILEGES ] } ON [ TABLE ] objectname [,...] TO { username GROUP groupname PUBLIC } [,...] Command: REVOKE Description: remove access privileges Syntax: REVOKE { { SELECT INSERT UPDATE DELETE RULE REFERENCES TRIGGER } [,...] ALL [ PRIVILEGES ] } ON [ TABLE ] object [,...] FROM { username GROUP groupname PUBLIC } [,...]

59 DODATKOWE OPERACJE UTWORZENIE BAZY SKASOWANIE BAZY ADMINISTRACJA UZYTKOWNIKAMI PRAWA DOSTEPU

60 Języki dostępne S QL C Wewnętrzny język Inne definiowalne języki proceduralne

61 CREATE FUNCTION Name - nazwa funkcjiktórą chcemy stworzyć argname nazwa argumentów wejś ciowych. Niektóre języki (obecnie jedynie P L/pgS Q L) pozwalają używać nazwy w ciele funkcji. Dla inntch języków argument jest tylko dodatkową informacją. Argtype typ(y) danych dla argumentów wejściowych. Typy argumentów mogą być bazowe, złożone, z domen, lub mogą odzwierciedlać typ kolumny w tabeli. W zależnoś ci od języka może być również dozwolone użycie tzw pseudotypów (cstring). ay also be allowed to specify "pseudotypes" such as cstring. P s eudotypy oznaczają, że aktualny typ jeat bądź niekompletny bądź spoza typos ego zbioru typów daych S QL-a. Typ kolumny precyzujemy pisząc :tablename.columnname% TYPE. P ozwala to pisać funkcje niewrażliwe na zmianę typu argumentów (czas ami)

62 Create FUNCTION R ettype typ jaki funkcja zwraca. Typy argumentów mogą być bazowe, złożone, z domen,lub mogą odzwierciedlać typ kolumny w tabeli. W zależności od języka może być również dozwolone użycie tzw pseudotypów (cstring). Modyfikator S E TOF oznacza, że funkcja zwróci zbiór elementów, a nie pojedynczy element. Typ kolumny precyzujemy pisząc :tablename.columnname% TYPE.

63 CREATE FUNCTION IM M UTABLE S TABLE VO LATILE Te atrybuty informują system czy jest bezpieczne wykonanie wielokrotnego wywołania funkcji za pomocą pojedynczego wywołania, w celu optymalizacji czasu wywołania. Jeśli nie sprecyzowano inaczej domyślnie przyjmowana jest VOLATILE. IM M UTABLE oznacza, że funkcja zawsze zwraca taki sam wynik, na taki sam typ argumentu, to znaczy nie wykonuje ona przeglądania bazy danych lub inaczej mówiąc nie korzysta z innych informacji niż podane na wejąciu. Jeśli ta opcja jest podana każde wywołanie funkcji ze zbiorem argumentów wejściowych zwróci zbiór argumentów wyjąciowych.

64 CREATE FUNCTION S TABLE oznacza, że w pojedynczym skanie tabeli funkacja zwróci taki sam wynik dla takich samych argumentów wejściowych, ale wynik jej wykonania może ulec zmianie w wyniku wykonania polecenia S QL. To jest poprawny wybór dla funkcji których wynik zależy od dostępu do danych lub zmiennych sparametryzowanych (np strefa czasowa). R ównież zauważ, że fynkcje zwracające bieżący czas są kwalifikowane jako stable, ponieważ ich wartości nie zmieniają się wewnątrz transakcji. VOLATILE oznacza, że wartość funkcji może się zmienić nawet w pojedynczym skanie tabeli, więc nie można optymalizować jej wywołania. Jedynie kilka funkcji bazodanowych jest volatile w tym sensie np: random(), currval(), timeofday(). Zauważ, że każda funkcja która ma tzw side-effect musi być klasyfikowana jako volatile, nawet jeśli jej wynik jest przewidywalny ( setval() ).

65 CREATE FUNCTION C ALLE D ON NULL INPUT R E TUR NS NULL ON NULL INPUT S TR IC T C ALLE D ON NULL INPUT (domyślnie) oznacza, że funkcja będzie wywołana normalnie, nawet jeśli którykolwiek z argumentów wejściowych będzie NULL. Autor funkcji musi sam zadbać o odpowiednią interpretację i zachowanie funkcji w takich przypadkach. R E TUR NS NULL ON NULL INPUT or S TR IC T oznacza że funkcja zwróci NULL ilekroć którykolwiek z jej argumentów będzie NULL. Ilekroć na wejściu pojawi się NULL funkcja nie zostanie wykonana i na wyjściu funkcji pojawi się wartość NULL

66 CREATE FUNCTION [E XTE R NAL] S E C UR ITY INVOKE R [E XTE R NAL] S E C UR ITY DE FINE R S E C UR ITY INVOKE R (domyślnie) oznacza, że funkcja będzie wykonana z uprawnieniami użytkownika, który ją wywoła. S E C UR ITY DE FINE R oznacza, że funkcja zostanie wywołana z uprawnieniami użytkownika, który ją wywoła. S łowo kluczowe E XTE R NAL jest obecne w celach zgodności S QL ale jest opcjonalne, ponieważ nie jest aplikowalne do funkcji zewnętrznych. definition C iądn znaków definiujących;znaczenie zależne od języka. M oże być wewnętrzną nazwą funkcji,ścieżką do zbioru obiektowego, poleceniem S QL-a lub tekstem w języku proceduralnym.

67 CREATE FUNCTION obj_file, link_s ymbol Ta forma klauzuki AS jest używana dla dynamicznie ładowalnych funkcji w j. C jeśli nazwa funkcji w j. C nie jest taka sama jak w S QL-u. C iąg obj_file jest nazwą pliku zawierającego dynamiczie ładowany obiekt a link_symbol jest nazwą funkcji w języku C. Jeśli link_symbol nie występuje, nazwa wywoływanej funkcji jest taka sama jak jej definicja w S QL-u. attribute The historical way to specify optional pieces of information about the function. The following attributes may appear here: iss trict INPUT. E quivalent to S TR IC T or R E TUR NS NULL ON NULL IsC achable isc achable is an obsolete equivalent of IM MUTABLE ; it's still accepted for backwards-compatibility reasons. Attribute names are not case-sensitive.

68 Przykłady CREATE FUNCTION add(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT; CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$ BEGIN RETURN i + 1; END; $$ LANGUAGE plpgsql;

69 WYZWALACZE (triggers) Wyzwalacze (TRIGGER) s ą zdarzeniami, które można przypisa ć w określonym miejscu do tabeli. W przypadku wystąpienia warunku określonego do wyzwolenia triggera wywołana zostanie określona funkcja.

70 Tworzenie wyzwalaczy CREATE TRIGGER name { BEFORE AFTER } { event [ OR... ] } ON table [ FOR [ EACH ] { ROW STATEMENT } ] EXECUTE PROCEDURE funcname ( arguments )

71 przykład:

72 Komentarze COMMENT ON { TABLE object_name COLUMN table_name.column_name AGGREGATE agg_name (agg_type) CAST (sourcetype AS targettype) CONSTRAINT constraint_name ON table_name CONVERSION object_name DATABASE object_name DOMAIN object_name FUNCTION func_name (arg1_type, arg2_type,...) INDEX object_name LARGE OBJECT large_object_oid OPERATOR op (leftoperand_type, rightoperand_type) OPERATOR CLASS object_name USING index_method [ PROCEDURAL ] LANGUAGE object_name RULE rule_name ON table_name SCHEMA object_name SEQUENCE object_name TRIGGER trigger_name ON table_name TYPE object_name VIEW object_name } IS 'text'

73 ERD - Peter Chen w 1976 roku, inna notacja IDEF1X standaryzowana przez wojsko. Encja byt, konkretny i jednostkowy egzemplarz, to co istnieje (np. Kowalski). Atrybut cecha charakterystyczna encji (np. kolor oczu). Atrybut reprezentowany jest na diagramach ZE poprzez owal. Grupa/zbiór encji zgrupowane encje o tej samej charakterystyceatrybutach (np. studenci). Zbiór encji reprezentowany jest na diagramach ZE przez prostokąt. Klucz zbiór atrybutów, których wartości zapewniaj ą unikalność encji ograniczenie wartości atrybutów (key constraint). Klucz reprezentowany jest na diagramach ZE poprzez podkreślenie nazwy atrybutu/atrybutów. Zbiór zwią zków związki pomiędzy encjami, jeden-do-wielu; wiele-do- jednego; wiele-do-wielu.

74 ZAGADNIENIA PROJEKTOWANIA Baz Danych - etapy -Specyfikacja język naturalny, -Diagramy związków encji (ERD Entity-Relationship Diagrams), -Diagramy relacyjne (odwzorowanie ERD-DR), -Diagramy relacyjne a SQL.

75 Obszar analizy Ustalenie wymagan Wymagania Modelowanie koncepcyjne Model koncepcyjny Modelowanie logiczne Model logiczny Modelowanie fizyczne cel

76 Na czym polega dobry projekt BD? Zdolnosc przechowywania potrzebnych informacji Zdolnosc obslugi wymaganych zwiazkow Zdolnosc rozwiazywania problemow Zdolnosc do narzucanie integralnosci danych Zdolnosc narzucania wydajnosci w przetwarzaniu danych Zdolnosc uwzgledniania przyszlych zmian

77 ZAGADNIENIA PROJEKTOWANIA Baz Danych Zrozumienie problemu UPGRADE/ NOWY SYSYEM? Wywiad z potencjalnymi uzytkownikami systemu: Nie rozmawiaj z duza grupa osob (2-3 os. Wystarcza) Poprosic osoby o przygotowanie sie do rozmowy wyslanie glownych pytan Zorganizuj prowadzenie notatek Nie przedluzaj sesji rozmow, zapewnij odpowiednio szerokie poruszenie wszystkich zagadnien, gdy pwene szczegoly wymagaja dodatkowych informacji sprecyzuj czas na ich dostarczenie Sporzadz notatke ze spotkania, rozeslij rozmowcom i popros o ustosunkowanie sie w okreslonym czasie

78 ZAGADNIENIA PROJEKTOWANIA Baz Danych - j.naturalny -Zidentyfikowanie problemu krotka informacja na czym polega problem np kartoteka badan pacjentow zakladu radiologii AMG -Zdefiniowanie potrzebnych informacji /definiowanie obszaru problemu/ - w bazie danych powinnismy starac sie umieszczac tylko te informacje, ktore nas interesuja. -SKLADOWANIE INFORMACJI KOSZTUJE!!!!!

79 ZAGADNIENIA PROJEKTOWANIA Baz Danych projekt logiczny Okreslenie obiektow po zebraniu danych nalezy pokatalogowac je wg obiektow. Na poczatek nalezy skupic sie na glownych obiektach / obiektach kluczowych/ - mniej istotne obiekty pozostawiamy no pozniej. Definicja cech obiektow Przeksztalcenie obiektow w tabele

80 ZAGADNIENIA PROJEKTOWANIA Baz Danych relacje i krotnosci Majac zdefiniowane obiekty i ich ksztalt nalezy zdefiniowac zaleznosci miedzy relacjami Graficzna prezentacja struktury danych Diagram zwiazkow encji pracownikid pracowniknazwa pracownikadres oddzialnazwa budzet pracownik pracu je oddział

81 ZAGADNIENIA PROJEKTOWANIA Baz Danych Diagram zwiazkow encji Zero lub jeden Tabela Dokladnie jeden Tabela Zero lub wiele Tabela Jeden lub wiele Tabela

82 DZE przyklad zaleznosci i krotnosci student konto Student posiada zero lub wiecej kont pocztowych ale konto przypisane jest dokladnie do jednego studenta

83 pacjent rejestracja badanie aparat Gabinet badan badan Gabinet badan opis

84 imie p_id nazwisko pesel waga a_id nazwa pacjent badanie aparat data_badania p_id b_id a_id status rodzaj_b opis

85 pacjent imie varchar(20), nazwisko varchar(20), pesel char(11), waga int, p_id serial, aparat( nazwa varchar(20), a_id serial; badanie( p_id int, a_id int, data_badania date, status int, opis text, rodzaj_b varchar(50), b_id serial,

86 Create table pacjent( imie varchar(20), nazwisko varchar(20), pesel char(11), waga int, p_id serial, primary key (p_id)); Create table aparat( nazwa varchar(20), a_id serial primary key(a_id)); Create table badanie( p_id int, a_id int, data_badania date, status int, opis text, rodzaj_b varchar(50), b_id serial, primary key (b_id), foreign key (a_id) references aparat, foreign key (p_id) referencespacjent);

87 HIERARCHIA

88 Reguły składni diagramów ZE. Często weryfikowane przez narzędzia wspomagające projektowanie baz danych. 1. Każdy atrybut jest powiązany z dokładnie jednym zbiorem encji lub zbiorem związków. (Nie mogą istnieć odseparowane atrybuty, lub powiązane z wieloma zbiorami encji lub relacji). 2. Każdy zbiór relacji jest powiązany z co najmniej dwoma zbiorami encji. 3. Każdy zbiór encji jest pośrednio powiązany z każdym zbiorm encji diagramu. (Jeżeli diagram można podzielić na dwa rozłączne to modelują one dwa schematy a nie jeden schemat bazy danych.)

89 Reguły znaczeniowe (semantyczne) diagramów ZE. Konieczna znajomość specyfikacji bazy danych i jej przeznaczenia. 3. Każdy atrybut powinien mieć unikalną nazwę. (Nazwa powinna jednoznacznie wskazywać atrybut. Jeżeli dwa zbiory encji mają atrybuty o tej samej nazwie to należy je przekształcić dodając przedrostek w nazwie, np. nazwy zbioru encji). imie Imie lek imie lekimie lek pacj pacj bad bad

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Bardziej szczegółowo

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

Hurtownia Świętego Mikołaja projekt bazy danych

Hurtownia Świętego Mikołaja projekt bazy danych Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek

Bardziej szczegółowo

BAZA DANYCH SIECI HOTELI

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

Bardziej szczegółowo

Aspekty aktywne baz danych

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

Bardziej szczegółowo

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)

Bardziej szczegół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

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

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

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

Relacyjny model baz danych, model związków encji, normalizacje

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

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

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

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

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

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

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

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

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

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

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

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

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

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

Bazy danych 5. Samozłaczenie SQL podstawy

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

Bardziej szczegółowo

Bazy danych i usługi sieciowe

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

Bardziej szczegółowo

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

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

Systemowe aspekty baz

Systemowe aspekty baz Systemowe aspekty baz danych Deklaracja zmiennej Zmienne mogą być wejściowe i wyjściowe Zmienne w T-SQL można deklarować za pomocą @: declare @nazwisko varchar(20) Zapytanie z użyciem zmiennej: select

Bardziej szczegółowo

SQL :: Data Definition Language

SQL :: Data Definition Language SQL :: Data Definition Language 1. Zaproponuj wydajną strukturę danych tabela) do przechowywania macierzy o dowolnych wymiarach w bazie danych. Propozycja struktury powinna zostać zapisana z wykorzystaniem

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

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl)

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl) mysql relacyjna baza danych wstęp Materiały pomocnicze do laboratorium z przedmiotu: Techniki Informatyczne Stanisław Flaga () Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów

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

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

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

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

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

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

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

Monika Sychla 241858 Daniel Smolarek 241875. Projekt bazy danych

Monika Sychla 241858 Daniel Smolarek 241875. Projekt bazy danych Monika Sychla 241858 Daniel Smolarek 241875 Projekt bazy danych Naszym zadaniem było zaprojektowanie przykładowej bazy danych, w oparciu o zagadnienia jakie zostały wprowadzone w trakcie kursu z baz danych.

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

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

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

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

- 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

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

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

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegół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

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

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

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

Bardziej szczegółowo

Bazy danych i usługi sieciowe

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

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

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

Bardziej szczegółowo

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

Systemowe aspekty baz danych

Systemowe aspekty baz danych Systemowe aspekty baz danych Deklaracja zmiennej Zmienne mogą być wejściowe i wyjściowe Zmienne w T-SQL można deklarować za pomocą @: declare @nazwisko varchar(20) Zapytanie z użyciem zmiennej: select

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

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

NARZĘDZIA WIZUALIZACJI

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

Bardziej szczegółowo

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

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

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

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Wprowadzenie do JDBC z wykorzystaniem bazy H2 Wprowadzenie do JDBC z wykorzystaniem bazy H2 JDBC (ang. Java DataBase Connectivity). Biblioteka stanowiąca interfejs umożliwiający aplikacjom napisanym w języku Java porozumiewać się z bazami danych za

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Lab.8: Podstawy języka SQL.

Lab.8: Podstawy języka SQL. Lab.8: Podstawy języka SQL. SQL (Structured Query Language) jest językiem zapytań służącym do obsługi relacyjnych baz danych. Współcześnie każdy SZBD posiada własną implementację języka, opartą na wspólnym

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

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Obiektowe bazy danych Ćwiczenia laboratoryjne (?) Obiektowe bazy danych Ćwiczenia laboratoryjne (?) Tworzenie typów obiektowych 1. Zdefiniuj typ obiektowy reprezentujący SAMOCHODY. Każdy samochód powinien mieć markę, model, liczbę kilometrów oraz datę

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

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

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

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie

Bardziej szczegółowo