Podstawowe informacje o bazach danych

Podobne dokumenty
Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych. Technologie Informacyjne

Projektowanie systemów baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Wykład I. Wprowadzenie do baz danych

Bazy danych i usługi sieciowe

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

Relacyjne Systemy Baz Danych

010 BAZY DANYCH. Prof. dr hab. Marek Wisła

P o d s t a w y j ę z y k a S Q L

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

Bazy danych. Dr inż. Paweł Kasprowski

Język SQL, zajęcia nr 1

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

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

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Ref. 7 - Język SQL - polecenia DDL i DML

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Baza danych. Modele danych

Bazy danych - wykład wstępny

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

Relacyjne bazy danych

Autor: Joanna Karwowska

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

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

Technologia informacyjna

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

WPROWADZENIE DO BAZ DANYCH

Alicja Marszałek Różne rodzaje baz danych

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

Relacyjne bazy danych. Podstawy SQL

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Paweł Rajba

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Przestrzenne bazy danych Podstawy języka SQL

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

KURS ACCESS 2003 Wiadomości wstępne

Wstęp do relacyjnych baz danych. Jan Bartoszek

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Administracja bazami danych. dr inż. Grzegorz Michalski

Bazy danych. Polecenia SQL

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do Hurtowni Danych

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

RELACYJNE BAZY DANYCH

Wprowadzenie do baz danych

Pojęcie bazy danych. Funkcje i możliwości.

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

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

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Systemy GIS Tworzenie zapytań w bazach danych

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

Język SQL podstawy zapytań

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

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

Bazy danych 2. Wykład 1

Wykład 8. SQL praca z tabelami 5

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Wprowadzenie do baz danych

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

Co to jest Baza Danych

Wykład 5. SQL praca z tabelami 2

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Komunikacja z bazą danych psql


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

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

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

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

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

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

Adam Cankudis IFP UAM

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Baza danych. Baza danych to:

Instalacja MySQL.

Technologia informacyjna

Struktura drzewa w MySQL. Michał Tyszczenko

Oracle11g: Wprowadzenie do SQL

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Wykład 05 Bazy danych

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

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

Wykład 2. Relacyjny model danych

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Dr Michał Tanaś(

Jerzy Nawrocki, Wprowadzenie do informatyki

Database Connectivity

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Bazy danych Ćwiczenia projektowe

Wykład 5: PHP: praca z bazą danych MySQL

Programowanie w Ruby

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Transkrypt:

Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2013/14

Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią Systemy bankowe, ubezpieczeniowe Systemy rezerwacji miejsc Systemy obsługi administracji (ZUS, NFZ) Powszechny Elektroniczny System Ewidencji Ludności PESEL(od 1979) 2 dr inż. Michał Michna PG, WEiA, 2013/14

Przykłady systemów baz danych Systemy wspomagania projektowania CAD/CAM Magazyny (hurtownie) danych Systemy wspomagania inżynierii oprogramowania CASE Systemy z bazami wiedzy Systemy medyczne Systemy kartograficzne GIS 3 dr inż. Michał Michna http://www.ncddc.noaa.gov/technology/gis/view PG, WEiA, 2013/14

CAP CAD CAE Systemy wspomagania projektowania CAx STEP STandard for the Exchange of Product data (1995) ISO 10303 CAM STEP CAQ Określa zasady modelowania produktu i procesów jego wytwarzania za pomocą technik CAx PPC 4 dr inż. Michał Michna PG, WEiA, 2013/14

Projekt MES Lista kompletacyjna dokumentacja Kinematyka Proces wytwórczy Środki produkcji Programy NC Wytwarzanie Kontrola jakości Systemy wspomagania projektowania CAD/CAM Standard STEP protokół AP214 Dane organizacyjne i strukturalne Dane technologiczne Dane geometryczne i obliczeniowe Zapis formalny cech produktu Struktura produktu Dokumenty zewnętrzne Własności materiałów i komponentów Tolerancje obiekty geometryczne (technologiczne) Dane wymiarowe Cechy powierzchni elementów Kinematyka MES Geometria Prezentacja Zapis formalny 5 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne Bazy sekwencyjne flat files płaski plik pliki nie są ze sobą połączone dane przechowywane w sposób liniowy znalezienie danych wymaga przeglądania pliku od początku nośnik danych taśma magnetyczna Złożone typy danych 6 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne BDAM Basic Direct Access Method Metoda ta, w przeciwieństwie do plików sekwencyjnych, wykorzystuje algorytm mieszający (ang. hashing algorithm) w celu określenia adresu konkretnego rekordu na dysku Złożone typy danych 7 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne ISAM Indexed Sequential Access Method Działanie tej metody opiera się na istnieniu pliku z indeksami. W najprostszej postaci indeks składa się z dwóch pól. pierwsze pole jest symbolicznym kluczem, natomiast drugie pole zawiera adres dyskowy powiązanego z tym kluczem rekordu Złożone typy danych 8 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne wady dostęp do danych przez kilka aplikacji duplikowanie informacji zmiana struktury plików wymaga aktualizacji wszystkich programów brak mechanizmów zabezpieczających brak jednolitego formatu przechowywania danych Złożone typy danych 9 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne 1960 IBM wprowadza prototyp komputerowej IMS Information Management System System Zarządzania Informacją Złożone typy danych 10 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne zalety łatwość zastosowania modelu hierarchicznego dostęp do danych przez kilka programów pisanych w różnych językach obsługa przez wielu użytkowników jednocześnie bardzo duża szybkość działania systemy są nadal wykorzystywane Złożone typy danych 11 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne wady ścisłe reguły dotyczące relacji, wstawianie i kasowanie danych może okazać się bardzo skomplikowane, dostęp do niższych warstw jest możliwy tylko poprzez warstwy nadrzędne, trudności w modelowaniu relacji typu wiele-do-wielu Złożone typy danych 12 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne Złożone typy danych CODASYL Conference On Data Systems Languages sieciowy system zarządzania bazą danych język kontroli urządzeń DMCL (Device Media Control Language) język manipulacji danymi DML (Data Manipulation Language) języka definiowania danych DDL (Data Definition Language) Struktura danych tworzy graf, czyli sieć 13 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne relacyjny model danych 1970 dr Edgar Ted Codd (IBM) dane przechowywane w tabelach - relacje język SQL w celu ułatwienia dostępu do danych i ich modyfikacji niezależność danych klucz główny prostota Złożone typy danych 14 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjno-obiektowe Strumieniowe Temporalne Manifesty baz danych dwanaście reguł prawdziwego systemu relacyjnego 1989 The Object-Oriented Database System Manifesto Obiektowa baza danych jest zbiorem obiektów, których zachowanie się i stan oraz związki są określone zgodnie z obiektowym modelem danych Złożone typy danych 15 dr inż. Michał Michna PG, WEiA, 2013/14

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne Złożone typy danych bazy relacyjno obiektowe relacyjna baza danych zapisanych w strukturach obiektowych, strumieniowe bazy danych dane są przedstawione w postaci zbioru strumieni danych, temporalne bazy danych odmiana bazy relacyjnej, w której każdy rekord posiada stempel czasowy, określający czas w jakim wartość jest prawdziwa. 16 dr inż. Michał Michna PG, WEiA, 2013/14

Historia i rozwój baz danych http://www.computerhistory.org/revolution/memorystorage/8/265/2207 IBM System/360 Model 30 computer foto. Richards, Mark 17 dr inż. Michał Michna PG, WEiA, 2013/14

Bazy danych Zbiór danych opisujący pewien wybrany fragment rzeczywistości odzwierciedlają rzeczywistość w sposób z nią zgodny (prawidłowy) są zorganizowane w specyficzny sposób, zgodnie z tzw. modelem danych Baza danych jest zarządzana przez tzw. system zarządzania bazą danych Z systemem bazy danych współpracują programy przetwarzające dane 18 dr inż. Michał Michna PG, WEiA, 2013/14

Systemy baz danych (SBD) System informatyczny wyspecjalizowany w kierunku wprowadzania przechowywania przetwarzania udostępniania Baza danych zbiór informacji zapisanych w ściśle określony sposób (DataBase) System zarządzania bazą danych program do przetwarzania, zarządzania bazą danych (DataBase Management System) 19 dr inż. Michał Michna PG, WEiA, 2013/14

Cechy funkcjonalne SBD gwarantowanie trwałości i spójności danych w bazie danych zapewnienie współbieżnego dostępu do danych autoryzacja dostępu do bazy danych efektywny dostęp do danych w środowisku scentralizowanym i rozproszonym 20 dr inż. Michał Michna PG, WEiA, 2013/14

Architektura baz danych Architektura klient-serwer dwuwarstwowa Serwer bazy danych wykonujący np. wyrażenia SQL Klient wysyłających żądania do serwera 21 dr inż. Michał Michna PG, WEiA, 2013/14 21

Architektura baz danych Architektura trzywarstwowa interfejs użytkownika zapytanie logika przetwarzania Internet baza danych Klient Przeglądarka WWW odpowiedź Serwer WWW Apache odpowiedź podaj dane Skrypt PHP wykonaj Dokument HTML Serwer baz danych MySQL 22 dr inż. Michał Michna PG, WEiA, 2013/14 22

Relacyjne bazy danych Podstawy, model danych, przykłady 24 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych Relacje - podstawowa struktura danych przedstawiana w postaci tabeli atrybut (kolumna) PESEL Imię Nazwisko Wykształcenie krotka rekord (wiersz) 72030400264 Adam Kowalski Podstawowe 65083104569 Marcin Kowalski Średnie 71123108664 Marcin Dąbrowski Wyższe 85041406333 Anna Kowalska Podstawowe 46111006545 Anna Dąbrowska Wyższe pole wartość 25 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - wiersze Wiersze są unikalne Każdy wiersz posiada te same atrybuty Nie ma znaczenia kolejność wierszy Wiersze są dynamiczne mogą być dopisywane, usuwane, modyfikowane Wiersze powinny być identyfikowane przez pola kluczowe (klucz podstawowy) 72030400264 Adam Kowalski P 26 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - kolumny Kolumny są unikalne PESEL 72030400264 65083104569 71123108664 85041406333 46111006545 Każdej kolumnie przypisany jest typ danych (liczba, data, godzina, ciąg znaków, znak) Nie ma znaczenia kolejność kolumn Wartości pól są atomowe Każda kolumna ma swoją nazwę Rzadko dodaje się lub kasuje kolumny 27 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych klucz podstawowy Klucze wykorzystuje się do tworzenia powiązań (relacji) pomiędzy kilkoma oddzielnymi tabelami klucz podstawowy atrybut lub zbiór atrybutów, którego wartość jednoznacznie identyfikuje krotkę relacji Z definicji, wartość atrybutu, który zdefiniowano jako klucz podstawowy jest unikalna w obrębie całej relacji i jest niepusta Przykłady: NIP, PESEL, nr dowodu, nr paszportu 28 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - klucze KlientID Imię Nazwisko Adres 101 Joanna Kowalska Wierzbowa 25 103 Anna Kowalska Narcyzowa 1 104 Anna Dąbrowska Fiołkowa 11 Klucz podstawowy Klienci Zamowienia ZamowienieID KlientID Wartość Data 302 101 255,2 2006-01-12 303 103 1651,1 2006-01-12 304 101 12,25 2006-01-14 305 101 1321,1 2006-01-14 29 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych klucz obcy Klucze wykorzystuje się do tworzenia powiązań (relacji) pomiędzy kilkoma oddzielnymi tabelami klucz obcy jest atrybutem lub zbiorem atrybutów, który wskazuje na klucz podstawowy w innej relacji służy do reprezentowania powiązań między danymi (łączenia relacji) 30 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - klucze Klienci KlientID Imię Nazwisko Adres 101 Joanna Kowalska Wierzbowa 25 103 Anna Kowalska Narcyzowa 1 104 Anna Dąbrowska Fiołkowa 11 Klucz podstawowy Klucz obcy Zamowienia ZamowienieID KlientID Wartość Data 302 101 255,2 2006-01-12 303 103 1651,1 2006-01-12 304 101 12,25 2006-01-14 305 101 1321,1 2006-01-14 31 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - relacje Jeden-do-Jednego każdy wiersz w tabeli A może mieć tylko jeden dopasowany wiersz z tabeli B, i tak samo każdy wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A Klienci KlientID Imię Nazwisko 101 Joanna Kowalska 103 Anna Kowalska 104 Anna Dąbrowska Adresy KlientID Ulica Miasto 101 Wierzbowa 25 Gdynia 103 Narcyzowa 1 Sopot 104 Fiołkowa 11 Gdynia 32 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - relacje Jeden-do-Wielu wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, lecz wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A Klienci KlientID Imię Nazwisko Adres 101 Joanna Kowalska Wierzbowa 25 Zamowienia ZamowienieID KlientID Wartosc Data 302 101 255,2 2006-01-12 304 101 12,25 2006-01-14 305 101 1321,1 2006-01-14 33 dr inż. Michał Michna PG, WEiA, 2013/14

Relacyjne bazy danych - relacje Wiele-do-Wielu każdy wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, i tak samo każdy wiersz w tabeli B może mieć wiele dopasowanych wierszy z tabeli A Zamowienia ZamID KlientID 302 101 304 101 305 101 OpisZamowienia ZamID ProduktID 302 202 302 204 302 205 305 204 305 205 304 204 Produkty ProuktID Nazwa Cena jedn 202 Chleb 1,60 204 Mleko 1,80 205 Masło 3,50 34 dr inż. Michał Michna PG, WEiA, 2013/14

Język zapytań SQL Podstawy, przykłady zastosowań 35 dr inż. Michał Michna PG, WEiA, 2013/14

SQL Structured Query Language Wykorzystywany w bazach: IBM (DB2), Oracle, MySQL, Inter-Base, Paradox, dbase, Caché, Firebird, First SQL, HSQL, Ingres, Informix, MaxDB, Microsoft Access, Microsoft Jet, Microsoft SQL Server, Mimer SQL, msql, OpenLink Virtuoso, PostgreSQL, SQL/DS, SQLite, Sybase Składnia SQL: DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language) 36 dr inż. Michał Michna PG, WEiA, 2013/14

DDL podstawowe komendy CREATE (DATABASE, TABLE, INDEX...) utworzenie ALTER (DATABASE, TABLE...) zmiana struktury DROP (DATABASE, TABLE, INDEX...) usunięcie RENAME (DATABASE, TABLE) zmiana nazwy CREATE TABLE klienci ( klientid int NOT NULL AUTO_INCREMENT, imie varchar(50), nazwisko varchar(100), adres varchar(255) PRIMARY KEY (klientid ) ); ALTER TABLE klienci ADD COLUMN oddzial varchar(255); 37 dr inż. Michał Michna PG, WEiA, 2013/14

DML - podstawowe komendy SELECT pobranie danych z tabel UPDATE uaktualnianie danych w tabeli DELETE usunięcie danych w tabeli INSERT dodanie danych do tabeli INSERT INTO klienci (imie, nazwisko, adres) VALUES ('Jan', 'Kowalski', Sporna 1 ); SELECT * FROM zamowienia WHERE wartosc > 200 ORDER BY data DESC; 38 dr inż. Michał Michna PG, WEiA, 2013/14

DCL - podstawowe komendy GRANT przyznanie praw REVOKE -odebranie wszystkich praw do tabeli użytkownikowi DENY. GRANT ALL PRIVILEGES ON EMPLOYEE TO PIOTR WITH GRANT OPTION 39 dr inż. Michał Michna PG, WEiA, 2013/14

Literatura R. Gawron, P. Ostrowski, T. Baniak Microsoft Access - jako narzędzie konstrukcji baz danych http://web.pertus.com.pl/~stanley/access_pigulka/spis_tre sci.htm Bazy danych (materiały dydaktyczne MIMUW na studia informatyczne I stopnia) http://wazniak.mimuw.edu.pl/index.php?title=bazy_danych 40 dr inż. Michał Michna PG, WEiA, 2013/14