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

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

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

Technologie baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

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

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

Przestrzenne bazy danych Podstawy języka SQL

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

Systemy GIS Tworzenie zapytań w bazach danych

Wprowadzenie do języka SQL

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

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

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

Projektowanie systemów baz danych

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

Bazy danych. Dr inż. Paweł Kasprowski

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

Język SQL. Rozdział 2. Proste zapytania

PRZEWODNIK PO PRZEDMIOCIE

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Bazy danych 2. Wykład 1

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

Relacyjne bazy danych. Podstawy SQL

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

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

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

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

Język SQL, zajęcia nr 1

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

Oracle11g: Wprowadzenie do SQL

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do baz danych

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

BAZY DANYCH Podstawowe pojęcia

SZKOLENIE: Administrator baz danych. Cel szkolenia

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Paweł Rajba

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

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

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

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

Wykład I. Wprowadzenie do baz danych

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

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

Bazy danych i usługi sieciowe

Komunikacja z bazą danych psql

SQL (ang. Structured Query Language)

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wykład 8. SQL praca z tabelami 5

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

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

1 Wstęp do modelu relacyjnego

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Wykład 5. SQL praca z tabelami 2

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

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

Tworzenie aplikacji bazodanowych

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

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

Bazy danych. Polecenia SQL

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

Wprowadzenie do Hurtowni Danych

SIECI KOMPUTEROWE I BAZY DANYCH

Podstawowe zapytania SELECT (na jednej tabeli)

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Baza danych. Baza danych to:

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

Bazy danych Wykład zerowy. P. F. Góra

Wstęp do relacyjnych baz danych. Jan Bartoszek

PRZEWODNIK PO PRZEDMIOCIE

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Wykład :45 BD-1 W_3

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

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

KARTA PRZEDMIOTU 1,5 1,5

Technologia informacyjna

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

WPROWADZENIE DO BAZ DANYCH

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

Dr Michał Tanaś(

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

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Transkrypt:

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 do baz danych Normalizacja Fizyczna organizacja baz danych Indeksy Transakcje SQL Pracownia specjalistyczna SQL 2

Literatura Ullman J.D., Widom J., Podstawowy wykład z baz danych, WNT 1999 Garcia-Molina H., Ullman J.D. Widom J., Systemy baz danych. Pełny wykład, WNT, 2006 Banachowski L., Chądzyńska A., Mrówka-Matejewska E., Matejewski K., Stencel K., Bazy danych. Wykłady i ćwiczenia, Wydawnictwo PJWSTK, 2003 Beynon-Davies P., Systemy baz danych, WNT, 1998 Elmasri R., Navathe S.B., Wprowadzenie do systemów baz danych, Helion, 2005 Kyte T., Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions, 2nd edition, APress 2010 Connolly T., Begg C., Database Systems: A Practical Approach to Design, Implementation and Management, 4th edition, Addison Wesley, 2005 3

Materiały do wykładu Centrum Edukacji Zdalnej: http://cez2.wi.pb.edu.pl/moodle/ Klucz dostępu podany na pracowni 4

Plan wykładu System bazy danych Baza danych Model danych System zarządzania bazą danych (SZDB) Architektura klient-serwer Relacyjne bazy danych Zapytania proste SQL 5

System bazy danych Składniki systemu baz danych Baza danych Model danych System zarządzania bazą danych (SZBD) Scenariusze powstawania systemu bazy danych przyrostowo ( kawałek-po-kawałku ) system zintegrowany 6

Tworzenie baz danych

Przykład systemu zintegrowanego Supermarket Baza danych produktów Aktualizacja informacji o sprzedaży Kasy: skanowanie kodów na paskach magnetycznych Automatyczna aktualizacja inf. o poziomie zapełnienia półek w sklepie ilość < min. poziom Raport o uzupełnieniu półek w sklepie z magazynu Automatyczna aktualizacja inf. o zapasie produktu w magazynie ilość < min. poziom Generowanie zamówienia do działu dostaw Informacje ze sprzedaży, ilości towarów na półkach i w magazynie są wykorzystywane przez kierownictwo sklepu do podejmowania decyzji do do strategii marketingowych 8

Pojęcie bazy danych Baza danych Definicja: baza danych (ang. database, DB) to zbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych strukturalizacja zarządzania informacją (zgodność z rzeczywistością) zbiór danych istniejący przez długi czas Właściwości bazy danych Współdzielenie danych współbieżny dostęp do danych przez wielu użytkowników Kontrolowanie replikacji danych baza jest zbiorem danych bez niepotrzebnie powtarzających się lub zbędnych informacji Spójność reprezentacji danych reprezentacja w oparciu o jeden model danych Abstrakcja danych baza nie jest dokładnym modelem rzeczywistości, a jedynie jej wycinkiem Bezpieczeństwo danych Niezależność danych celem jest sytuacja, w której organizacja danych jest niewidoczna dla użytkowników i programów korzystających z danych 9

Model danych Model danych jako architektura - zbiór zasad posługiwania się danymi: Definicja danych -zbiór reguł określających, jaka jest struktura danych. Operowanie danymi - zbiór reguł określających, jak operuje się danymi. Integralność danych - zbiór reguł określających, które stany bazy danych są poprawne. Typy modeli Proste modele danych - struktury rekordów zgrupowanych w strukturach plików Klasyczne modele danych: hierarchiczne, sieciowe, relacyjne Semantyczne modele danych Obiektowe modele danych 10

11 Hierarchiczny model danych

12 Sieciowy model danych

System zarządzania bazą danych (SZBD) Database management system (DBMS) Zorganizowany zbiór narzędzi umożliwiający dostęp i zarządzanie jedną lub większą liczbą baz danych. SZBD jest powłoką, która otacza bazę danych i za pomocą której dokonują się wszystkie operacje na bazie danych. Funkcje SZBD: Umożliwienie utworzenia nowej bazy i określenie jej schematu Przechowywanie danych Obsługa zapytań (ang. query) Zapewnienie wielodostępności Ochrona i zapewnienie integralności danych 13

Architektura klient-serwer 14 serwer klienci Typowe funkcje strony serwera aplikacji: - przechowywanie i organizacja dostępu do danych - wykonywanie instrukcji języka SQL - sprawowanie kontroli nad spójnością danych - zarządzanie zasobami bazy danych, w tym kontami użytkowników Typowe funkcje aplikacji po stronie klienta: kontakt z użytkownikiem: przyjmowanie od niego zleceń na operacje, wykonywanie tych zleceń lub przesyłanie ich w postaci instrukcji języka SQL do serwera bazy danych

Użytkownicy bazy danych Administratorzy baz danych Baza danych Programiści Użytkownicy końcowi

Administrator bazy danych Instalowanie, aktualizowanie i konfigurowanie oprogramowania systemu Zakładanie baz danych oraz kontrolowanie do nich dostępu Tworzenie i modyfikowanie podstawowych struktur baz danych Dostrajanie baz danych w celu uzyskania maksymalnej efektywności Archiwizowanie i odtwarzanie baz danych 16

Programista, użytkownik końcowy Programista Projektowanie obiektów baz danych Projektowanie i implementacja aplikacji bazodanowej Współpraca z administratorem bazy w celu poprawnej integracji aplikacji z bazą danych Użytkownik końcowy Wprowadzanie, modyfikacja danych Generowanie raportów 17

Relacyjne bazy danych (1970, Codd) umożliwienie prezentowania użytkownikowi danych w postaci dwuwymiarowych tabel, nazywanych relacjami użytkownik nie musi nic wiedzieć o wewnętrznej, często skomplikowanej, strukturze wewnętrznej zapytania można wyrażać w języku wysokiego poziomu, co podnosi wydajność programistów baz danych Przykład: Tabela Konta Atrybuty Nr konta Bilans Typ 12345 1000,00 oszczędnościowy 87654 3567,00 rozliczeniowy......... Krotki 18

Podstawy modeli relacyjnych Schemat relacji - nazwa relacji oraz jej zbiór atrybutów Film (tytuł, rok, czas, rodzaj) W modelu relacyjnym projekt składa się z jednego lub kilku schematów relacji. Zbiór schematów relacji jest określany schematem relacyjnym bazy danych lub schematem bazy danych. Krotki - wiersze relacji, poza wierszem nagłówka, zawierającym atrybuty relacji W krotce każdy atrybut ma swój odpowiednik w postaci składowej krotki Przykład: (Gwiezdne wojny, 1977, 124, kolor) Jedna krotka nie może wystąpić w relacji więcej niż jeden raz.

Podstawy modeli relacyjnych Dziedziny - pewien określony typ elementarny, powiązany z każdym atrybutem relacji W modelu relacyjnym każda składowa każdej relacji musi mieć określony typ atomowy (elementarny) np. typ całkowity, znakowy. Wartość atrybutu nie może być ani rekordem, ani listą, ani zbiorem... Klucz zbiór atrybutów jednoznacznie identyfikujący rekordy w relacji Instancja relacji - zbiór krotek danej relacji Instancja bieżąca - zbiór krotek, które są w relacji teraz Liczność związku 1-1; 1-N 20

Przykład Utworzyć relacyjny schemat bazy z następujących atrybutów: Id_klienta Imię Nazwisko Id_filmu Tytuł Rok produkcji Data_wypożyczenia Data_zwrotu 21

Przykład schematu bazy danych 22

Tabele Pracownik, Departament

SQL 24 SQL (ang. Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania danych z baz danych. Typy zapytań SQL: DML (ang. Data Manipulation Language) język manipulowania danymi DDL (ang. Data Definition Language) język definiowania danych DCL (ang. Data Control Language) język kontroli na danymi

DML 25 DML (ang. Data Manipulation Language) służy do wykonywania operacji na danych do ich umieszczania w bazie, usuwania, przeglądania oraz dokonywania zmian. Najważniejsze polecenia: INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy, SELECT wydobywanie danych (czasem umieszczany w oddzielnym typie zapytań DQL (ang. Data Query Language) język formułowania zapytań

DDL 26 DDL (ang. Data Definition Language) pozwala na operowanie na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia: CREATE (np. CREATE TABLE, CREATE DATABASE,...) utworzenie bazy, tabeli, indeksu itp., DROP (np. DROP TABLE, DROP DATABASE,...) usuwanie, ALTER (np. ALTER TABLE ADD COLUMN...) zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli).

DCL 27 DCL (ang. Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia: GRANT - służy do nadawania uprawnień do pojedynczych obiektów lub globalnie konkretnemu użytkownikowi REVOKE służy do odbierania wskazanych uprawnień konkretnemu użytkownikowi

Zapytania proste SELECT [ALL DISTINCT] wyrażenie [[AS] alias],... FROM nazwa_tabeli,... [WHERE warunek] [ORDER BY wyrażenie ASC DESC],...]; 28

Zapytania proste SELECT [ALL DISTINCT] wyrażenie [[AS] alias],... FROM nazwa_tabeli,... ALL- pokazuje wszystkie wiersze (domyślny) DISTINCT - eliminuje powtarzające się wiersze wyrażenie - nazwa kolumny lub wyrażenie zawierające nazwy kolumn, zamiast wyrażenia może wystąpić znak '* oznaczający wszystkie kolumny alias - nazwa nadana wyrażeniu na liście SELECT, może mieć postać identyfikatora prostego (napis złożony z liter, cyfr i znaków podkreślenia) lub złożonego (dowolny napis ograniczony podwójnymi cudzysłowami, np. zawierający spacje), 29

Przykład SELECT * FROM pracownik; 30

Przykład select stanowisko from pracownik; select distinct stanowisko from pracownik;

Przykład select nazwisko, pensja*12 as pensja roczna from pracownik; select nazwisko, pensja*12 as pensja roczna from pracownik order by nazwisko; 32

Zapytania proste [WHERE warunek] Operatory logiczne: =; <; >; >=; <= Operatory SQL: BETWEEN... AND... - między dwiema wartościami (włącznie z nimi) IN (lista) - zgodnie z jednym elementów listy LIKE - zgodnie z zadanym wzorcem (interpretacja znaków typu "wildcard": % Zastępuje ciąg znaków, - zastępuje jeden znak) IS NULL - jest wartością NULL Operator negacji: NOT (NOT nazwa_kolumny =...; NOT BETWEEN; NOT IN; NOT LIKE; IS NOT NULL) Kryteria złożone: AND (i) OR (lub) 33

Przykład Wypisać nazwiska pracowników, którzy zarabiają powyżej 1 500 zł select nazwisko, pensja from pracownik where pensja>1500; 34

Przykład Wypisać pracowników pracujących na stanowisku sprzedawcy lub analityka select nazwisko, stanowisko from pracownik where stanowisko in ( SPRZEDAWCA, ANALITYK ); 35

Przykład Wypisać pracowników, którzy nie dostają prowizji. Select nazwisko from pracownik where premia=null; Select nazwisko, premia from pracownik where premia is NULL;

Przykład Wypisać pracowników, których nazwiska zaczynają się na literę S. select nazwiso from pracownik where nazwisko like S% ; Wypisać pracowników, których nazwiska mają 4 litery select nazwisko from pracownik where nazwisko like ; 37