Informatyka (1) Bazy danych

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

Download "Informatyka (1) Bazy danych"

Transkrypt

1 Informatyka (1) Bazy danych dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl

2 Bazy danych System bazy danych = Trwała pamięć zewnętrzna + System zarządzania (DBMS) + Język zapytań lata 60-te lata 70-te lata 80-te lata 90-te ok r. Systemy plików Hierarchiczne bazy danych Sieciowe bazy danych Relacyjne bazy danych Obiektowe bazy danych Obiektowo-Relacyjne bazy danych XML, Semistrukturalne bazy danych Projektowanie modelu logicznego i fizycznego danych przechowywanych w trwałej pamięci zewnętrznej Język zapytań SQL

3 Systemy plików Płaski plik (ang. flat file) dane zapisane w sposób liniowy analogicznie do taśmy magnetycznej (ang. streamer), brak relacji pomiędzy plikami Specyfikacja struktury pliku 1) Marka; Nr rejestracyjny; Opis $ Format CSV (ang. Comma Separated Values) ; - separator pola $ - separator rekordu Volvo; GA72345;opis samochodu...$fiat;wa98340;w stanie dobrym rok produkcji $ Mercedes;NR393939;po licznych naprawach... 2) Marka string(20), Nr rejestracyjny string(10), Opis string(255) 1x285 2x Volvo GA72345 opis samochodu... Fiat WA98340 w stanie dobrym rok produkcji Mercedes NR393939po licznych naprawach...

4 Systemy plików Obecne zastosowanie wymiana danych pomiędzy systemami

5 Przykład Rejestr systemu Windows Struktura drzewa Hierarchiczna baza danych

6 Struktura grafu Sieciowa baza danych Firma rekord Oddział Oddział zbiór Pracownik Pracownik Pracownik Pracownik Pracownik Maszyna Maszyna Maszyna

7 Rola DBMS Zapewnienie współbieżnego dostępu do danych Obsługa rozproszenia Ochrona danych kontrola uprawnień Zapewnienie integralności danych Bezpieczeństwo. Śledzenie zmian. Odtwarzanie po awarii.

8 Plan wykładu 1. Etapy wytwarzania oprogramowania 2. Specyfikacja wymagań 3. Diagram związków encji 4. Model relacyjny 5. Normalizacja 6. Schemat bazy danych

9 Inżynieria oprogramowania Analiza Metodyka AGILE ( zwinna ) Projektowanie Kodowanie Analiza Testowanie Projektowanie Kodowanie Fragment systemu Model kaskadowy (ang. waterfall) Testowanie System Analiza Testowanie Projektowanie Kodowanie Analiza Testowanie Projektowanie Kodowanie Model iteracyjny

10 Określenie wymagań (ang. requirements) Analiza Potrzeby Wymagania biznesowe Wymagania użytkownika Reguły biznesowe Atrybuty jakości Wymagania systemowe Wymagania funkcjonalne Zewnętrzne interfejsy Ograniczenia Specyfikacja wymagań

11 Przypadki użycia Załóż konto Pracownik Zaloguj Czytelnik Wyszukaj Weryfikuj tożsamość Diagramy UML Przypomnij Wypożycz System

12 Wymagania funkcjonalne: Specyfikacja wymagań System powinien umożliwić: 1. Założenie konta 2. Przeglądanie katalogu książek na podstawie następujących kryteriów: autor, tytuł, wydawnictwo itd. 3. Złożenie zamówienia dot. wypożyczenia książki 4. Sprawdzenie stanu konta Czytelnika 5. Automatyczne wygenerowanie przypomnień dot. zwrotu wypożyczonych książek. Reguły biznesowe, ograniczenia: 1. Czytelnik może wypożyczyć max. 5 książek 2. Przypomnienia generowane są po 2 miesiącach od wypożyczenia Poprawność Jednoznaczność Kompletność Spójność Uporządkowanie (priorytety) Weryfikowalność Modyfikowalność Powiązanie Wiek czytelnika >= 12 lat, stały adres zamieszkania na terenie województwa X,

13 Modelowanie ŚWIAT RZECZYWISTY Wymagania, Uproszczenia MODEL Diagram związków encji MODEL DANYCH Model relacyjny SCHEMAT BAZY DANYCH

14 Diagram związków encji (ERD) 1. Identyfikacja encji Książka Czytelnik Pracownik Konto Autor Tytuł ISBN Rok wydania. Imię Nazwisko Data ur Adres. PESEL 2. Identyfikacja atrybutów Imię Nazwisko Nr służbowy Stanowisko Data ur Adres. Login Hasło Data utworzenia Przypomnienie Data przygotowania Status 3. Identyfikacja kluczy Klucz główny, Klucz alternatywny PESEL Imię, Nazwisko, Data ur, Imię ojca

15 Diagram związków encji (ERD) cd. 3. Identyfikacja relacji i ich typów Czytelnik posiada 1:1 Czytelnik posiada 1:n Konto Konto 1:1 jeden do jeden 1:n jeden do wielu n:m wiele do wielu 1:0 1 1:0...n opcjonalność Czytelnik posiada 1:0 n Konto Książka wypożycza Czytelnik

16 Diagram związków encji (ERD) cd. Czytelnik posiada Konto wypożycza otrzymuje Książka dotyczy Przypomnienie Czytelnik posiada Konto Wypożyczenie dotyczy Przypomnienie Wypożyczenie Książka Data wypożyczenia Termin zwrotu

17 Reprezentacja relacji Czytelnik posiada Konto Wypożyczenie dotyczy Przypomnienie Tabela jest wygodną reprezentacją relacji: wiersze reprezentują rekordy (krotki) kolumny reprezentują atrybuty Książka Czytelnik PESEL Imię Nazwisko Data ur Adres Jan Nowak Gdańsk ul. Szeroka 2/ Janina Kowalska Gdynia ul. Dworcowa 3/3 Książka Model relacyjny ISBN Tytuł Rok wydania Autor Baśnie 2002 Jan Chrystian Andersen Problemy do rozwiązania Więcej niż jeden adres: Adres zamieszkania, Adres korespondencyjny. Więcej niż jeden Autor Atomowość atrybutów

18 Model relacyjny Czytelnik PESEL Imię Nazwisko Data ur Adres Jan Nowak Gdańsk ul. Szeroka 2/ Janina Kowalska Gdynia ul. Dworcowa 3/3 Klucz główny (primary key) Klucze obce (foreign key) Klucz sztuczny (główny) ID Ulica Adres Nr domu Nr lokalu Kod Miejsco wość Szeroka Gdańsk Dworcowa Gdynia Atomowość atrybutów Zielona 2A Braniewo Poczta Posiada_Adres ID PESEL ID_Adres u Typ adresu Zameldowania Korespondencyjny Zameldowania 1 ID_typu_adresu Typ_adresu_słownik ID Typ adresu 1 Zameldowania 2 Korespondencyjny 3 Zamieszkania 4 Pobytu

19 Książka Model relacyjny ISBN Tytuł Rok wydania ID_wydawnictwa Nr wydania Baśnie II Autor ID Imię Nazwisko 1 Jan Brzechwa 2 Jan Chrystian Andersen Posiada_autora ID ISBN ID_autora lp Wydawnictwo ID Nazwa 1 PWN 2 Helion

20 create database Biblioteka create table Ksiazka ( isbn char(30), tytul char(200), rok_wydania integer, nr_wydania char(10), id_wydawnictwa integer, PRIMARY KEY (isbn) ) Schemat bazy danych create table Autor ( ID integer, imie char(30), nazwisko char(60), PRIMARY KEY (ID) ) Wydawnictwo Autor Posiada_Autora Książka create table Wydawnictwo ( ID integer, nazwa char(200), PRIMARY KEY (ID) ) create table Posiada_autora ( ID integer, isbn char(30), id_autora integer, lp byte, PRIMARY KEY (ID) )

21 create table Ksiazka ( isbn char(30), tytul char(200), rok_wydania integer, nr_wydania char(10), id_wydawnictwa integer, Ograniczenia (constraints) create table Wydawnictwo ( ID integer, nazwa char(200), PRIMARY KEY (ID) ) IDENTITY (1,1) NULL / NOT NULL PRIMARY KEY (isbn), FOREIGN KEY (id_wydawnictwa) REFERENCES Wydawnictwo ON DELETE SET NULL ) ON UPDATE/DELETE CASCADE ON UPDATE/DELETE RESTRICT ON UPDATE/DELETE SET NULL Integralność danych Integralność referencyjna Wydawnictwo Książka Co ma się stać w przypadku modyfikacji / usuwania rekordu nadrzędnego Kaskadowa modyfikacja / usunięci epodrzędnego Zabronione Ustawienie na NULL klucza obcego w podrzędnym rekordzie

22 Autor ID Imię Nazwisko 1 Jan Brzechwa 2 Jan Chrystian Andersen 3 Zbigniew Zach 4 Henryk Czech 5 Karolina Lech Indeks Czytelnik create index Autor_Nazwisko on Autor(nazwisko) Wyświetl autorów Dodatkowa struktura zawierająca informacje o fizycznej lokalizacji na dysku kolejnych rekordów wg ustalonego porządku sortowania Cel : przyspieszenie odczytu danych Wyszukaj: Kowalski K > C K < L Nazwisko ID Andersen 2 Brzechwa 1 Czech 4 Lech 5 Zach 3 ID Tablice rozproszone Drzewa Adres fizycznej lokalizacji

23 Normalizacja (1NF) Postać normalna Klucz główny jednoznacznie identyfikujący każdą krotkę (rekord) encji (tabeli) Pierwsza postać normalna 1NF (1st Normal Form) Dekompozycja Atomowość atrybutów 1NF ID Adres Gdańsk ul. Szeroka 2/ Gdynia ul. Dworcowa 3/ Elbląg Al. Zielona 1 ID Ulica Nr dom u Nr lokal u Kod Miejscowość Poczta 1 ul. Szeroka Gdańsk Gdańsk 2 ul. Dworcowa Gdynia Gdynia 3 Al. Zielona Elbląg Elbląg Wprowadź adres ID Prze dro stek Ulica Nr dom u Nr lokal u Kod Miejscowość Poczta ##-### 1 ul. Szeroka Gdańsk Gdańsk 2 ul. Dworcowa Gdynia Gdynia 3 Al. Zielona Elbląg Elbląg

24 Druga postać normalna 2NF Normalizacja (2NF) Atrybuty niekluczowe są zależne od całego klucza głównego 2NF Imię Nazwisko Data ur Stanowisko Mechanik 20 Księgowy 50 Kierowca 15 Kierowca 15 Mechanik 20 Anomalie: przy wstawianiu przy modyfikacji (np. podwyżka stawek wymaga modyfikacji wielu rekordów ) przy usuwaniu (np. usunięcie pracownika powoduje usunięcie stawki) Stawka godz. Stanowisko Mechanik 20 Księgowy 50 Kierowca 15 Stawka Dekompozycja Likwidowanie redundancji danych (nadmiarowości) bez ich utraty Stanowisko Stawka Data od Data do Mechanik 20 Księgowy 50 Kierowca 15 Celem normalizacji jest uniknięcie redundancji i anomalii

25 Normalizacja (3NF) Trzecia postać normalna 1NF Atrybuty niekluczowe są zależne bezpośrednio od klucza głównego 3NF ID Ulica Kod Miejsc owość Poczta 1 Szeroka Gdańsk Gdańsk 2 Dworcowa Gdynia Gdynia 3 Zielona Elbląg Elbląg Kod wyznacza Pocztę Ulica Kod Miejsco wość Szeroka Gdańsk Dworcowa Gdynia Zielona Elbląg Kod Poczta Gdańsk Gdynia Elbląg

26 Normalizacja (BCNF, 4NF) Postać normalna Boyce a-codda (BCNF) Zależności funkcyjne spełniają regułę: X A A X X jest kluczem lub zawiera klucz 4 NF BCNF 3 NF 2 NF 1 NF ID Data wysłania Adresat Typ przesyłki Waga Nowak Jan zwykła 120g 5, Firma Usługowo Handlowa PROMYK 3 Opłata priorytet 200g 8,50 Naruszenie BCNF Czwarta, piata postać normalna (4NF i 5NF) Warunki dot. zależności wielowartościowych Typ przesyłki Waga od Waga do Opłata zwykła 150g 5,50 priorytet 151g 250g 8,50

27 Przykład normalizacji ID Adres Gdańsk ul. Szeroka 2/ Gdynia ul. Dworcowa 3/ Elbląg Al. Zielona 1 1NF ID Prze dro stek Ulica Nr dom u Nr lokal u Kod Miejscowość Poczta 1 ul. Szeroka Gdańsk Gdańsk 2 ul. Dworcowa Gdynia Gdynia 3 Al. Zielona Elbląg Elbląg Ulica Kod Miejscowość Szeroka Gdańsk Dworcowa Gdynia Zielona Elbląg 3NF Kod Poczta Gdańsk Gdynia Elbląg ID Prze dro stek 1 ul. 2 Plac 3 Al. ID ID_prze drostka Ulica Kod Miejsco wość 11 1 Szeroka Gdańsk 12 1 Dworcowa Gdynia 13 3 Zielona Elbląg Kod Poczta Gdańsk Gdynia Elbląg ID ID_ul icy Nr dom u Nr lokalu

28 ID Prze dro stek 1 ul. 2 Plac 3 Al. ID ID_prze drostka Ulica Kod Miejsco wość 11 1 Szeroka Gdańsk 12 1 Dworcowa Gdynia 13 3 Zielona Elbląg 14 1 Łódzka Gdańsk Kod Poczta Gdańsk Gdynia Elbląg Gdańsk ID ID_ul icy Nr dom u Nr lokalu ID ID_prze drostka Ulica Kod ID miejsco wości Szeroka Dworcowa Zielona Łódzka ID Poczta ID_powia tu 1 Gdańsk 2 Gdynia 3 Elbląg ID Miejscow ość 1 Gdańsk 1 2 Gdynia 2 3 Elbląg 3 4 Gronowo 3 ID_poczty Redukcja nadmiarowości Likwidacja anomalii Jakim kosztem? ID ID_ulicy Nr domu Nr lokalu

29 ID ID_ulicy Nr domu Nr lokalu Problem - Czas dostępu (złożoność wyszukania danych) Redukcja czasu dostępu ID Adres Gdańsk ul. Szeroka 2/ Gdynia ul. Dworcowa 3/ Elbląg Al. Zielona 1 Naruszenie 1NF brak atomowości atrybutu Adres ID Adres_linia1 Adres_linia2 1 ul. Szeroka 2/ Gdańsk 2 ul. Dworcowa 3/ Gdynia 3 Al. Zielona Elbląg 4 Pietrzyków Koźminek Naruszenie 1NF brak atomowości atrybutu ulica_nr ID Prze dro stek 1 ul. 2 Plac 3 Al. ID ID_przedr ostka Ulica_nr Kod Miejscowość Poczta 1 1 Szeroka 2/ Gdańsk Gdańsk 2 1 Dworcowa 3/ Gdynia Gdynia 3 3 Zielona Elbląg Elbląg 4 1 Łódzka 4/5 m Gdańsk Gdańsk 5 NULL Pietrzyków Koźminek

30 Baza danych ID Sklep Miasto ID Produkt Hurtownie danych Data Wartość Id_produktu Id_sklepu Redukcja czasu dostępu do zagregowanych danych Redundancja Źródło:

31 SELECT INSERT UPDATE DELETE Konto Transakcja Nr_konta Kwota BEGIN TRAN T1 Operacja przelewu z konta na konto update Konto set kwota = kwota where nr_konta= Awaria, odczyt niespójnych danych update Konto set kwota = kwota where nr_konta= END TRAN T1 COMMIT ROLLBACK Zatwierdzenie zmian Cofnięcie zmian

32 Struktury hierarchiczne Pracownik Imię Nazwisko PESEL Kierownik Imię Nazwisko PESEL PESEL Imię Nazwisko PESEL_kierownika Jan Nowak Karolina Kowalska NULL Edyta Fuk Karol Terc Karolina Kowalska Karol Terc Jan Nowak Edyta Fuk PESEL Imię Nazwisko Jan Nowak Karolina Kowalska Edyta Fuk Karol Terc PESEL PESEL_kierownika Pracownik Kierownik

33 Podsumowanie Tabela, rekord, krotka, wiersz Atrybut, kolumna, pole Atomowość atrybutu Klucz główny, alternatywny, obcy, sztuczny Integralność danych, integralność referencyjna Normalizacja Pierwsza postać normalna, Druga postać normalna, Trzecia postać normalna Redundancja danych Anomalia Indeks Hurtownia danych Transakcja

34 SQL Structured Query Language lata 70-te początki języka SQL 1986 pierwszy standard języka SQL Rozszerzenia: T-SQL (Microsoft), PL/SQL (Oracle), Inteligentne systemy wiedzy Narzędzia CASE, UML, systemy zarządzania bazami danych Generacja III.5 Środowiska programistyczne Języki wysokiego poziomu Asemblery Kod binarny SQL V IV III II I Generacje języków programowania

35 Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog, CLIPS opis warunków, które powinno spełniać rozwiązanie zamiast sekwencji kroków do wykonania (języki imperatywne) SQL: Data Definition Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL) CREATE ALTER DROP SELECT UPDATE DELETE INSERT GRANT REVOKE DENY

36 SQL DDL Kreator MS Access Utwórz pustą (nową) bazę danych Utwórz nową tabelę Wskazanie klucza głównego Modyfikuj istniejącą tabelę Usuń istniejącą tabelę Kreator odnośników Wymagalność Autonumerowanie Polecenie SQL create database Biblioteka create table Ksiazka ( isbn char(30), tytul char(200), rok_wydania integer, nr_wydania char(10), id_wydawnictwa integer, PRIMARY KEY (isbn) ) alter table Ksiazka drop table Ksiazka FOREIGN KEY (id_wydawnictwa) REFERENCES Wydawnictwo ON DELETE SET NULL NULL / NOT NULL IDENTITY (1,1)

37 Schemat bazy danych Klucze obce (foreign keys)

38 INSERT Import danych zewnętrznych Pliki xls XML HTML Pliki tekstowe INSERT INTO Czytelnik (pesel, imie, nazwisko, data_ur, , plec) VALUES ( , Jan, Kowalski, , kowalski@wp.pl,0) INSERT INTO Ksiazka (isbn,tytul,rok ) VALUES ( , Baśnie,2010, )

39 Tabele wynikowe Czytelnik PESEL Imie Nazwisko Data_ur Ple c Jan Nowak M Janina Kowalska K Karol Brewak M SELECT Nazwisko,Imie FROM Czytelnik Nowak Kowalska Brewak Jan Janina Karol SELECT Nazwisko,Imie Porządkowanie FROM Czytelnik ORDER BY Nazwisko ASC,Imie DESC Brewak Kowalska Nowak Karol Janina Jan Tabela wejściowa SELECT SELECT Nazwisko,Imie Selekcja FROM Czytelnik WHERE Data_ur < Kowalska Brewak Janina Karol SELECT Nazwisko,Imie FROM Czytelnik WHERE Nazwisko LIKE %wak Nowak Brewak SELECT * FROM Czytelnik Projekcja (rzutowanie) wybór podzbioru kolumn Jan Karol

40 SELECT Czytelnik PESEL Imie Nazwisko Data_ur Plec Jan Nowak M Janina Kowalska K Karol Brewak M Adres ID Ulica Nr_ domu ID PESEL ID_Adre su Nr_ lokalu Typ adresu Kod Zameldowania Korespondencyjny Zameldowania Zameldowania Miejscow ość 1 Szeroka Gdańsk 2 Dworcowa Gdynia 3 Zielona 2A Braniewo 4 Sienna Elbląg Czytelnik_Adres Czytelnik SELECT Nazwisko,Imie, Miejscowosc FROM Czytelnik, Adres Ile rekordów zostanie zwróconych? Czytelnik_Adres 3x4=12 SELECT Nazwisko,Imie, Miejscowosc FROM Czytelnik, Adres, Czytelnik_Adres 3x4x4=48 Złączenie zwraca iloczyn kartezjański zbiorów Adres!!

41 Czytelnik PESEL Imie Nazwisko Jan Nowak Janina Kowalska Karol Brewak Czytelnik_Adres ID PESEL ID_Adre su Typ adresu Zameldowania Korespondencyjny Zameldowania Zameldowania Adres ID Ulica Nr_ domu Nr_ lokalu Kod SELECT Miejscowo ść 1 Szeroka Gdańsk 2 Dworcowa Gdynia 3 Zielona 2A Braniewo SELECT Nazwisko,Imie, Miejscowosc FROM Czytelnik Czytelnik_Adres, Adres WHERE Czytelnik.PESEL = Czytelnik_Adres.PESEL AN Czytelnik_Adres.ID_Adresu = Adres.ID Nowak Jan Gdańsk Nowak Jan Braniewo Kowalska Janina Gdynia Brewak Karol Gdynia Wybierz czytelników z Gdyni: Kowalska Janina Gdynia Brewak Karol Gdynia Projekcja Złączenie Selekcja FROM Czytelnik JOIN Czytelnik_Adres ON Czytelnik.PESEL = Czytelnik_Adres.PESEL INNER JOIN Adres ON Czytelnik_Adres.ID_Adresu = Adres.ID WHERE Adres.Miejscowosc= Gdynia!

42 Czytelnik PESEL Imie Nazwisko Jan Nowak Janina Kowalska Karol Brewak Czytelnik_Adres ID PESEL ID_A dresu Typ adresu Zameldowania Korespondencyjny Zameldowania Zameldowania Wybierz czytelników, którzy nie posiadają żadnego adresu SELECT Nazwisko,Imie FROM Czytelnik WHERE Czytelnik.PESEL NOT IN ( SELECT PESEL FROM Czytelnik_Adres ) SELECT Wybierz czytelników, którzy nie posiadają adresu zameldowania SELECT Nazwisko,Imie FROM Czytelnik INNER JOIN Czytelnik_Adres ON Czytelnik.PESEL = Czytelnik_Adres.PESEL WHERE? Czytelnik_Adres.Typ_adresu <> Zameldowania Nowak Jan SELECT Nazwisko,Imie FROM Czytelnik WHERE Czytelnik.PESEL NOT IN ( ) SELECT PESEL FROM Czytelnik_Adres WHERE Typ_Adresu = Zameldowania Zapytania zagnieżdżone

43 JOIN Wybierz czytelników z ich adresami INNER JOIN - Złączenie wewnętrzne SELECT Nazwisko, Imię, Ulica, Miejscowosc FROM Czytelnik INNER JOIN Czytelnik_Adres ON Czytelnik.PESEL = Czytelnik_Adres.PESEL INNER JOIN Adres ON Czytelnik_Adres.ID_Adresu = Adres.ID PESEL Imie Nazwisko Data_ur Plec Jan Nowak M Janina Kowalska K Karol Brewak M Ile rekordów zostanie zwróconych? 2 ID PESEL ID_Adre su Typ adresu Zameldowania Korespondencyjny ID Ulica Nr_ domu Nr_ lokalu Kod Miejscowo ść 1 Szeroka Gdańsk 2 Dworcowa Gdynia 3 Zielona 2A Braniewo SELECT Nazwisko, Imię, Ulica, Miejscowosc FROM Czytelnik LEFT OUTER JOIN Lewostronne złączenie zewnętrzne LEFT OUTER JOIN Czytelnik_Adres ON Czytelnik.PESEL = Czytelnik_Adres.PESEL LEFT OUTER JOIN Adres ON Czytelnik_Adres.ID_Adresu = Adres.ID 4

44 SELECT SELECT Nazwisko, Imie, 3 (SELECT TOP 1 Ulica + + Miejscowosc FROM Czytelnik_Adres INNER JOIN Adres ON Czytelnik_Adres.ID_Adresu = Adres.ID WHERE Czytelnik.PESEL = Czytelnik_Adres.PESEL) as dane_adresowe FROM Czytelnik Wybierz czytelników, którzy wypożyczali książki wydawnictwa HELION SELECT Nazwisko, Imie FROM Czytelnik INNER JOIN wypozyczenie ON Czytelnik.PESEL = wypozyczenie.pesel INNER JOIN ksiazka ON wypozyczenie.id_ksiazki = ksiazka.id INNER JOIN wydawnictwo ON ksiazka.id_wydawnictwa = wydawnictwo.id WHERE wydawnictwo.nazwa= HELION

45 Literatura Garcia-Molina H., Ullman J., Widom J. Systemy baz danych. Kompletny podręcznik, Helion 2011 Sacha K. Inżynieria oprogramowania, Wydawnictwo Naukowe PWN, Warszawa 2010

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,

Bardziej szczegółowo

Informatyka (6) Widoki. Indeksy

Informatyka (6) Widoki. Indeksy Informatyka (6) Widoki. Indeksy dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Decimal(10,2) Szkoła posiada konto. Osoby dokonują

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

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

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

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Bardziej szczegółowo

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

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

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

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

LAB 3 (część 1 Projektu)

LAB 3 (część 1 Projektu) Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 3 (część 1 Projektu) Na zajęciach należy zaprojektować schemat bazy danych oraz przygotować dokument zawierający: Temat: Autor: 1. Opis 2.

Bardziej szczegółowo

Wstęp do relacyjnych baz danych. Jan Bartoszek

Wstęp do relacyjnych baz danych. Jan Bartoszek Wstęp do relacyjnych baz danych Jan Bartoszek Agenda 1. 2. 3. 4. 5. 6. 7. Po co i dlaczego? Bazy danych & DBMS Relacje i powiązania Redundancja i jak jej uniknąć Diagramy ERD SQL Podsumowanie Czym są są

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

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

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

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

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

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

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

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

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1 Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. 22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. Baza danych zbiór informacji opisujący wybrany fragment rzeczywistości. Właściwości baz

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

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

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

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

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

Projektowanie Systemów Informacyjnych

Projektowanie Systemów Informacyjnych Projektowanie Systemów Informacyjnych Wykład II Encje, Związki, Diagramy związków encji, Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Systemy baz danych. mgr inż. Sylwia Glińska

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

Bardziej szczegółowo

Bazy danych. Polecenia SQL

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

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J. Bazy Danych Wykład II Encja, atrybuty, klucze Związki encji Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło 1 Encja Byt pojęciowy

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

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej  fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 4 (Asocjacje,

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

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

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Bazy danych 6. Klucze obce. P. F. Góra

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

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

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

Wprowadzenie do baz danych

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

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

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

Bardziej szczegółowo

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

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

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017 Informatyka I BAZY DANYCH dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Plan wykładu Definicja systemu baz danych Modele danych Relacyjne bazy danych Język SQL Hurtownie danych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Bardziej szczegółowo

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

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model relacyjny Opracował: dr inż. Piotr Suchomski Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych operatory algebry relacyjnej, które

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

Relacyjne Systemy Baz Danych

Relacyjne Systemy Baz Danych Relacyjne Systemy Baz Danych Dr inż. Zbigniew Rudnicki Bazy danych jedna z głównych dziedzin zastosowań komputerów od początku ich istnienia, np.: - katalogi książek, - wykazy produktów, - rejestry sprzedaży,

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

Bardziej szczegółowo

Autor: Joanna Karwowska

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

Bardziej szczegółowo

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych Andrzej Bąk Wstęp Zarys Co to jest baza danych? Podstawy teorii baz danych Klasyfikacja baz danych Organizacja danych w relacyjnej

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

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Bazy danych. Informatyczne systemy zarządzania

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Bazy danych. Informatyczne systemy zarządzania Wydział Zarządzania AGH Katedra Informatyki Stosowanej Bazy danych Informatyczne systemy zarządzania Program wykładu Wprowadzenie Podstawowe pojęcia Systemy zarządzania bazami danych Cele bazy danych Architektury

Bardziej szczegółowo

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

mail: strona:   konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) 1 Organizacyjne Kwestie organizacyjne Kontakt: mail: olga.siedlecka@icis.pcz.pl strona: http://icis.pcz.pl/~olga konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) Zaliczenie wykładu -

Bardziej szczegółowo

Przykłady normalizacji

Przykłady normalizacji Przykłady normalizacji Nr faktury Za okres Nabywca Usługa Strefa czasowa od 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 21113332437 1.11.2007 30.11.2007 Andrzej Macioł,

Bardziej szczegółowo

Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro

Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Architektura Klient-Serwer Gruby klient Cienki klient

Bardziej szczegółowo

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 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 Funkcja agregująca

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

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia BAZY DANYCH LABORATORIUM Studia niestacjonarne I stopnia Gdańsk, 2011 1. Cel zajęć Celem zajęć laboratoryjnych jest wyrobienie praktycznej umiejętności tworzenia modelu logicznego danych a nastepnie implementacji

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

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

Normalizacja relacyjnych baz danych. Sebastian Ernst Normalizacja relacyjnych baz danych Sebastian Ernst Zależności funkcyjne Zależność funkcyjna pomiędzy zbiorami atrybutów X oraz Y oznacza, że każdemu zestawowi wartości atrybutów X odpowiada dokładnie

Bardziej szczegółowo

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access NORMALIZACJA BAZ DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

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

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Co to jest Baza Danych

Co to jest Baza Danych Co to jest Baza Danych Wielki, zintegrowany, zbiór r informacji Stanowi model świata rzeczywistego jednostki Entities (e.g., studenci ci, kursy, wykładowcy adowcy) relacje Relationships (e.g., Sławski

Bardziej szczegółowo

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne) Bazy danych 1 Wykład 5 Metodologia projektowania baz danych (projektowanie logiczne) Projektowanie logiczne przegląd krok po kroku 1. Usuń własności niekompatybilne z modelem relacyjnym 2. Wyznacz relacje

Bardziej szczegółowo