Aplikacje bazodanowe Laboratorium 1 Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 1 / 37
Plan 1 Informacje wst pne 2 Przygotowanie ±rodowiska do pracy 3 Poj cie bazy danych 4 Relacyjne bazy danych Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 2 / 37
Informacje wst pne Warunki zaliczenia Obecno± na zaj ciach laboratoryjnych - dopuszczalne s maksymalnie 2 nieusprawiedliwione nieobecno±ci Kolokwium Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 3 / 37
Apache Przygotowanie ±rodowiska do pracy Obsªuga stron tworzonych w j zyku PHP wymaga serwera Apache obsªuguj cy PHP oraz baz danych MySQL. W praktyce mo»emy skorzysta z darmowego lub pªatnego hostingu lub lokalnego serwera na naszym komputerze. Apache HTTP Server jest ±rodowiskiem dla lokalnej bazy danych. Przykªadem takiego ±rodowiska jest darmowy pakiet XAMPP. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 4 / 37
Przygotowanie ±rodowiska do pracy Plik instalacyjny Instalator znajduje si na stronie apachefriends.org. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 5 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 6 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 7 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 8 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 9 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 10 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 11 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 12 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 13 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 14 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 15 / 37
Przygotowanie ±rodowiska do pracy Instalacja XAMPP Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 16 / 37
Poj cie bazy danych Podstawowe informacje Baza danych to zbiór danych zapisanych przy uwzgl dnieniu konkretnych reguª. Ka»da baza danych jest zbiorem tabel. Najprostszym przykªadem bazy jest jedna tabela. Zastosowania baz danych Banki Lotniska Kartoteki Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 17 / 37
Poj cie bazy danych Podstawowe informacje Tabela jest zªo»ona z kolumn i wierszy (nazywanych rekordami). Rekordy w ka»dej tabeli s ponumerowane. Ka»da kolumna w tabeli musi mie z góry zadeklarowany typ. Wyró»niamy kilka typów numeryczne (TINYINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE, REAL...) data i czas (DATE, DATETIME, TIME, YEAR...) ci g (CHAR, VARCHAR, BINARY, BLOB...) przestrzenne (GEOMETRY, POINT, MULTIPOINT...) Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 18 / 37
Poj cie bazy danych Podstawowe informacje Przykªad DVD(tytul,gatunek,rok) DVD(tytul:string,gatunek:string,rok:year) Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 19 / 37
Poj cie bazy danych Tworzenie bazy danych CREATE DATABASE wypozyczalnia; Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 20 / 37
Tworzenie tabeli Poj cie bazy danych CREATE TABLE DVD (tytul VARCHAR(20) PRIMARY KEY, gatunek VARCHAR(20), rok YEAR) ENGINE = InnoDB;; Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 21 / 37
Poj cie bazy danych Dodawanie rekordów INSERT INTO `DVD` VALUES ('La La Land','musical',2016); Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 22 / 37
Zadanie 1 Poj cie bazy danych Utwórz nast puj ce tabele (po zaprojektowaniu struktury) w jednej bazie o nazwie "zadanie1" ZOO FILM Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 23 / 37
Zadanie 2 Poj cie bazy danych Usu«tabel ZOO za pomoc polecenia USU. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 24 / 37
Zadanie 3 Poj cie bazy danych Usu«tabel FILM za pomoc konsoli. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 25 / 37
Zadanie 3 Poj cie bazy danych Usu«baz danych "zadanie1". Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 26 / 37
Zadanie 4 Poj cie bazy danych Zaproponuj wªasn struktur bazy "SKLEP". Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 27 / 37
Klucze Relacyjne bazy danych Klucz to kolumna (inaczej atrybut) posiadaj ca okre±lone wªa±ciwo±ci. Klucz podstawowy kolumna jednoznacznie identykuj c ca ka»dy wiersz. Ka»da tabela mo»e mie tylko jeden taki klucz i dobr zasad jest stosowanie najkrótszego (mo»liwie) klucza. Klucz podstawowy jest oznaczany poprzez wizualizacj klucza. Przykªadem mo»e by NIP lub REGON, a PESEL? Klucz obcy zwi zek (lub relacja) pomi dzy dwoma tabelami (inaczej kolumna wskazuj ca na klucz gªówny w innej tabeli). Klucz obcy jest oznaczany poprzez wizualizacj symbolu niesko«czono±ci. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 28 / 37
Denicja relacji Relacyjne bazy danych Relacj nazywamy logiczne poª czenie pomi dzy tabelami realizowane poprzez zastosowanie klucza podstawowego i obcego. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 29 / 37
1:1 Relacyjne bazy danych Zaªó»my,»e mamy 2 tabele o nazwach A i B. Zwi zek 1:1 oznacza,»e ka»dy wiersz z tabeli A mo»e mie tylko jednego odpowiednika w tabeli B (i odwrotnie). W praktyce jest to podzielenie tabeli na dwie inne. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 30 / 37
1:1 przykªad Relacyjne bazy danych Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 31 / 37
1:n Relacyjne bazy danych Zaªó»my,»e mamy 2 tabele o nazwach A i B. Zwi zek 1:n oznacza,»e ka»dy wiersz tabeli A mo»e by powi zany z kilkoma wierszami w tabeli B. Jest to najcz ±ciej spotykana relacja w praktyce. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 32 / 37
1:n przykªad Relacyjne bazy danych Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 33 / 37
n:m Relacyjne bazy danych Zaªó»my,»e mamy 2 tabele o nazwach A i B. Zwi zek n:m oznacza,»e tabele A i B s powi zane ze sob dzi ki innej tabeli C (nazywan ª cznikow lub ª cz c ). Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 34 / 37
n:m przykªad Relacyjne bazy danych Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 35 / 37
Relacyjne bazy danych Nadawanie kluczy W phpmyadmin - klucze publiczne s nadawane podczas tworzenia tabeli, a klucze obce poprzez widok relacji w strukturze tabeli. Klucz podstawowy CREATE TABLE `test`.`t1` ( `id` INT NOT NULL AUTO_INCREMENT, `idinnabaza` INT NOT NULL, `title` VARCHAR(150) NOT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB; Klucz obcy ALTER TABLE `test`.`t2` ADD FOREIGN KEY (`idinnabaza`) REFERENCES `t1`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 36 / 37
Relacyjne bazy danych Dzi kuj za uwag ;) Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 37 / 37