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



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

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

Język SQL, zajęcia nr 1

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

Projektowanie systemów baz danych

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

Wykład 8. SQL praca z tabelami 5

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

NARZĘDZIA WIZUALIZACJI

Wykład 05 Bazy danych

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Bazy danych i usługi sieciowe

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

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

NARZĘDZIA WIZUALIZACJI

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

Bazy danych. Dr inż. Paweł Kasprowski

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

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

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

Autor: Joanna Karwowska

Wykład 2. SQL 1 Structured Query Lenguage

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy Danych i Usługi Sieciowe

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

Bazy danych i usługi sieciowe

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Podyplomowe Studium Programowania i Baz Danych

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

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Instalacja MySQL.

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

NARZĘDZIA WIZUALIZACJI

Bazy danych 7. SQL podstawy

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

Wykład 4. SQL praca z tabelami 1

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

Paweł Rajba

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

Bazy danych. Polecenia SQL

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Tworzenie aplikacji bazodanowych

Bazy danych - Materiały do laboratoriów VIII

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Hurtownia Świętego Mikołaja projekt bazy danych

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

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

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Wykład 5. SQL praca z tabelami 2

Podyplomowe Studium Programowania i Baz Danych

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

Relacyjne bazy danych. Podstawy SQL

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

Oracle11g: Wprowadzenie do SQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

Język zapytań SQL- język relacyjnych baz danych

CREATE USER

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

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

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

Tworzenie baz danych i tabel

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

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

Relacyjne bazy danych. Podstawy SQL

Zaawansowane bazy danych i hurtownie danych semestr I

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

BAZA DANYCH SIECI HOTELI

2. Podstawy języka SQL

Bazy danych 10. SQL Widoki

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Bazy danych 5. Samozłaczenie SQL podstawy

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

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Semestr Wykład Ćwiczenie Laboratorium Projekt Seminarium Łącznie. V Forma zaliczenia Liczba punktów ECTS

Uprawnienia, role, synonimy

SIECI KOMPUTEROWE I BAZY DANYCH

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Spis treści. Przedmowa

Administracja i programowanie pod Microsoft SQL Server 2000

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

Wykład :45 BD-1 W_3

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Internetowe bazy danych

Zaawansowane bazy danych i hurtownie danych

Transkrypt:

Ważne informacje Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych studia niestacjonarne II stopnia, sem. I aragorn.pb.bialystok.pl/~gkret: Materiały do wykładów, literatura WYKŁAD 1: Plan wykładu, wprowadzenie do aplikacji bazodanowych, Agnieszka Oniśko, Małgorzata Krętowska Wprowadzenie, 1/48 Wprowadzenie, 2/48 Typy rozproszonych baz danych Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza danych (kilka serwerów, jeden system zarządzania bazą danych) Niejednorodna rozproszona baza danych (różne oprogramowanie) Federacyjny system baz danych Systemy klient-serwer Serwer Baza danych Zarządzanie danymi Zarządzanie regułami Logika aplikacji Logika prezentacji Komunikacja Komunikacja Wprowadzenie, 3/48 Wprowadzenie, 4/48

-serwer: Przykład Relacyjny SZBD: ORACLE Serwer Baza danych Wynik T1: tak lub nie Wynik T2: tak lub nie T1: sprawdź podany identyfikator T2: aktualizuj stan konta Pierwszy komercyjny SZBD (1977) Etapy rozwoju ORACLE 1978: wersja 1.0 (128kB) 1986: wersja z funkcjami bazy rozproszonej 1993: implementacja hurtowni danych, wersja pod Linux a 1997: wersja 8.x - relacyjno-obiektowa (Java) 2000: wersja 9i 2004: wersja 10g 2007: wersja 11g Wprowadzenie, 5/48 Wprowadzenie, 6/48 Środowisko ORACLE Użytkownicy bazy danych ORACLE Forms ORACLE Reports Pro*SQL Administratorzy baz danych SQL*Plus PL/SQL Jądro SZBD SQL*DBA Baza danych ORACLE Graphics ORACLE TextRetrieval Programiści Użytkownicy końcowi Wprowadzenie, 7/48 Wprowadzenie, 8/48

Aplikacja bazodanowa Plan przedmiotu Serwer Aplikacja klienta Serwer Aplikacja klienta Baza danych Sesja klienta Baza danych Sesja klienta ORACLE MS SQL Server Progress... PHP ADO.NET Visual C++ Pyton MS SQL Server PHP ADO.NET Część I wykładu: Linux/Windows, Apache,, PHP Część II wykładu: MS SQL Server, ADO.NET, ASP.NET Część III wykładu: hurtownie danych Wprowadzenie, 9/48 Wprowadzenie, 10/48 Plan przedmiotu: Szczegóły Technologia LAMP 1. Wprowadzenie: Przegląd technologii 2. LAMP/WAMP 3. MS SQL Server ADO.NET LAMP akronim określający zestaw oprogramowania typu open source stanowiący popularną platformę serwerową dynamicznych stron WWW: Linux: system operacyjny; Apache: serwer WWW; : serwer bazy danych; Perl, PHP (ew. Python, Primate (mod mono)): interpreter języka skryptowego. 4. Hurtownie danych Wprowadzenie, 11/48 Wprowadzenie, 12/48

Technologia WAMP WAMP akronim określający zestaw oprogramowania typu open source stanowiący popularną platformę serwerową dynamicznych stron WWW: Windows: system operacyjny; Apache: serwer WWW; : serwer bazy danych; Perl, PHP, (ew. Python, Primate (mod mono)): interpreter języka skryptowego. Inne technologie MAMP Macintosh: system operacyjny; Apache: serwer WWW; : serwer bazy danych; Perl, PHP, (ew. Python, Primate (mod mono)): interpreter języka skryptowego. BAMP BSD: system operacyjny; Apache: serwer WWW; : serwer bazy danych; Perl, PHP, (ew. Python, Primate (mod mono)): interpreter języka skryptowego. Wprowadzenie, 13/48 Wprowadzenie, 14/48 : zakres materiału 1. Podstawowe obiekty w 2. a PHP 3. Zaawansowane obiekty : funkcje, procedury, wyzwalacze Wprowadzenie, 15/48 Wprowadzenie, 16/48

: Dokumentacja on-line ogólne informacje http://dev.mysql.com/doc/ : system relacyjnej bazy danych (RDBMS) : serwer bazy danych Właścicielem jest ORACLE Program jest dostępny w ramach licencji GPL (General Public License) Wprowadzenie, 17/48 Wprowadzenie, 18/48 Platformy (SO) dla : Historia AIX, BSDi, FreeBSD, HP-UX, i5/os, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, ecomstation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Vista. 1995 - pierwsza wersja (Linux) - stworzony i rozwijany przez szwedzką firmę AB 1998 - pierwsza wersja pod Windows 96/NT 2004 - wersja 4.1 (zaimplementowane R-drzewa i B- drzewa, podzapytania) 2005 - wersja 5.0 (kursory, procedury składowane, wyzwalacze, perspektywy, transakcje) 2008 - wersja 5.1 (partycjonowanie, replikacje) Od lutego 2008 AB jest częścią Sun Microsystems Od stycznia 2010 roku właścicielem jest Oracle Wprowadzenie, 19/48 Wprowadzenie, 20/48

a API : Zalety Serwer Sesja klienta Connector/NET Connector/C++ Aplikacja klienta.net API, ADO.NET C++ API Dostępny w ramach licencji GPL (General Public License). Dostępny dla ponad 20 różnych systemów operacyjnych. Możliwość połączenia do API implementowanych za pomocą różnych narzędzi (PHP,.NET, C++, Java, etc...). Connector/J Connector/MXJ Connector/PHP Connector/ODBC Java API PHP API Perl API Python API np. Microsoft Connector/OpenOffice.org OpenOffice Wprowadzenie, 21/48 Wprowadzenie, 22/48 : Krytyka : Instalacja Najnowsza wersja (wersja 5.1 z 2008) ma 20 różnych błędów (włącznie z 35 błędami z wersji 5.0). Zdarza się, że błędy krytyczne nie są usuwane przez długi okres czasu (do tej pory jeden z błędów z wersji z 2003 nie został usunięty) : słabe osiągi w hurtowniach danych Instalacja dostępna na stronie: http://dev.mysql.com/downloads/ Wybór wersji Alpha Beta Gamma Production Wybór systemu operacyjnego Wybór instalacji binarna ze źródłami Wprowadzenie, 23/48 Wprowadzenie, 24/48

: Instalacja Bazy mysql i test Utworzenie bazy systemowej mysql Utworzenie bazy testowej test Utworzenie użytkownika systemowego root mysql test Baza systemowa mysql Zawiera 23 tabele systemowe Tabele systemowe przechowują informacje na temat: użytkowników bazy uprawnień przydzielonych użytkownikom bazy Baza testowa test Nie zawiera żadnych tabel Wprowadzenie, 25/48 Wprowadzenie, 26/48 : Workbench (GUI) Narzędzie Server Administration SQL Development (posiada elementy wcześniejszego Query Browser) Data Modeling Server Administration (wcześniej Administrator) Zarządza połączeniami z bazą danych Pozwala na eksport i import danych Umożliwia tworzenie obiektów bazy danych Pozwala na nadawanie uprawnień użytkownikom bazy Wprowadzenie, 27/48 Wprowadzenie, 28/48

Narzędzie SQL Development Narzędzie Data Modeling Pozwala na tworzenie i wykonywanie zapytań do bazy danych Umożliwia tworzenie perspektyw Edytor generowania zapytań Mozliwość graficznej reprezentacji schematu bazy danych Możliwość tworzenia digramów EER Możliwoć edycji tabeli, indeksów, wyzwalaczy Wprowadzenie, 29/48 Wprowadzenie, 30/48 SQL: Data Definition Language Data Manipulation Language Data Query Language Proceduralny SQL w : Funkcje, Procedury Wyzwalacze : Tworzenie i modyfikacja obiektów bazy danych CREATE TABLE, DATABASE, FUNCTION, PROCEDURE, INDEX, TRIGGER, VIEW,.. ALTER TABLE, DATABASE, FUNCTION, PROCEDURE, INDEX, TRIGGER, VIEW,.. DROP TABLE, DATABASE, FUNCTION, PROCEDURE, INDEX, TRIGGER, VIEW,.. RENAME TABLE, DATABASE Wprowadzenie, 31/48 Wprowadzenie, 32/48

: Tworzenie tabeli : Tworzenie tabeli Transakcja DVD Pracownik CREATE TABLE ( klient_id SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY, imie VARCHAR(30) NOT NULL, nazwisko VARCHAR(40) NOT NULL, email VARCHAR(30) ); Wprowadzenie, 33/48 Wprowadzenie, 34/48 : Tworzenie tabeli : Tworzenie tabeli CREATE TABLE Pracownik ( pracownik_id SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY, imie VARCHAR(30) NOT NULL, nazwisko VARCHAR(40) NOT NULL, adres VARCHAR(30) ); CREATE TABLE DVD ( dvd_id SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY, tytul VARCHAR(30) NOT NULL, rok_prod VARCHAR(4), rezyser VARCHAR(35) ); Wprowadzenie, 35/48 Wprowadzenie, 36/48

: Tworzenie tabeli : Modyfikacja tabeli CREATE TABLE Transakcja ( transakcja_id SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY, dvd_id SMALLINT, klient_id SMALLINT, pracownik_id SMALLINT, data_wypozyczenia DATE, data_zwrotu DATE, FOREIGN KEY (dvd_id) REFERENCES DVD (dvd_id) ); ALTER TABLE Transakcja ( ADD CONSTRAINT fk_klient FOREIGN KEY (klient_id) REFERENCES (klient_id), ADD CONSTRAINT fk_pracownik FOREIGN KEY (pracownik_id) REFERENCES Pracownik (pracownik_id) ); Wprowadzenie, 37/48 Wprowadzenie, 38/48 Manipulowanie danymi: INSERT INSERT: Przykład INSERT [LOW_PRIORITY DELAYED HIGH_PRIORITY] [IGNORE] [INTO] nazwa_tabeli [(nazwa_kol,...)] {VALUES VALUE} ({wyraż DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE nazwa_kol = wyraż [, nazwa_kol = wyraż ]... ] INSERT INTO DVD (tytul, rok_prod, rezyser ) VALUES ( Niebo, 2002, Tom Tykwer ), ( Good Bye Lenin!, 2003, Wolfgang Becker ), ( Babel, 2006, Alejandro Gonzalez Inarritu ); Wprowadzenie, 39/48 Wprowadzenie, 40/48

Manipulowanie danymi: UPDATE Manipulowanie danymi: DELETE UPDATE [LOW_PRIORITY] [IGNORE] tabele SET nazwa_kolumny1 = {wyraż1 DEFAULT} [, nazwa_kolumny2 = {wyraż2 DEFAULT}] [WHERE warunek] [ORDER BY...] [LIMIT liczba_wierszy]; lub UPDATE [LOW_PRIORITY] [IGNORE] tabele SET nazwa_kolumny1 = {wyraż1 DEFAULT} [, nazwa_kolumny2 = {wyraż2 DEFAULT} [WHERE warunek]; DELETE [LOW_PRIORITY] [QUICK] [IGNORE] nazwa_tabeli[.*] [, nazwa_tabeli[.*]]... FROM tabele [WHERE warunek]; lub DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM nazwa_tabeli[.*] [, nazwa_tabeli[.*]]... USING tabele [WHERE warunek]; Wprowadzenie, 41/48 Wprowadzenie, 42/48 DELETE: Przykład DELETE * FROM Transakcja, WHERE Transakcja.klient_id =.klient_id AND.nazwisko = Kowalski ; Wprowadzenie, 43/48