Internetowe bazy danych



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

Przestrzenne bazy danych Podstawy języka SQL

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Projektowanie systemów baz danych

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

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

Bazy danych i usługi sieciowe

CREATE USER

Administracja bazami danych. dr inż. Grzegorz Michalski

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

Bazy danych. Dr inż. Paweł Kasprowski

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

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

Bazy danych 2. Wykład 1

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

Systemy GIS Tworzenie zapytań w bazach danych

Język SQL, zajęcia nr 1

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Instalacja MySQL.

Relacyjne bazy danych. Podstawy SQL

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

Wykład 8. SQL praca z tabelami 5

Bazy Danych i Usługi Sieciowe

Zarządzanie systemami informatycznymi. Zarządzanie internetową bazą danych MySQL

Wykład :45 BD-1 W_3

Relacyjne bazy danych

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

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

Oracle11g: Wprowadzenie do SQL

Relacyjne bazy danych. Podstawy SQL

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

Bazy danych i usługi sieciowe

Bazy danych 7. SQL podstawy

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

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Wykład 2. Relacyjny model danych

SQL 4 Structured Query Lenguage

Paweł Rajba

Wstęp do relacyjnych baz danych. Jan Bartoszek

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

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

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

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

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

Przykładowa baza danych BIBLIOTEKA

Wykład I. Wprowadzenie do baz danych

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

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

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

SIECI KOMPUTEROWE I BAZY DANYCH

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Podyplomowe Studium Programowania i Baz Danych

Administracja bazami danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

Model relacyjny. Wykład II

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

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

Oracle PL/SQL. Paweł Rajba.

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

1 Wstęp do modelu relacyjnego

Rozkład materiału Specjalizacja: Systemy baz danych

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

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

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

Bazy danych - wykład wstępny

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

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

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

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

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

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

Transkrypt:

Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 1 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl

Cel Kursu przedstawienie zasad projektowania i programowania relacyjnych baz danych o architekturze klient/serwer wykorzystujących sieć Internet Wykład zagadnienia komunikacji pomiędzy serwerem a klientami bazy za pomocą wyrażeń standardowego języka SQL osadzanych w skryptach HTML, PHP Laboratorium praktyczne zapoznanie się z budową i wykorzystaniem języka SQL - interakcyjny dostęp do przykładowych baz danych oraz samodzielne przygotowanie przykładowej strony WWW udostępniającej dane w przykładowej bazie. Do wykonania tych zadań: język skryptów PHP

Szczegółowy program pojęcia: model danych, baza danych, system zarządzania bazą danych, relacyjna baza danych, system bazy danych o architekturze klient/serwer, model bazy w postaci zbioru tabel, klucze główne i obce przeznaczenie, składnia, semantyka SQL, podzbiory DDL, DML i DCL odczyt danych z jednej i wielu tabel bazy, selekcja i projekcja danych ochrona bazy przed nieuprawnionym dostępem użytkownicy, prawa dostęp do baz danych charakterystyka języka PHP, struktura i składnia skryptów wybrane przykłady skryptów PHP udostępniających dane w bazie skrypt DBI, osadzanie zapytań SQL w skryptach Perla i ich wykonywanie wykorzystanie skryptów DBI Perla oraz PHP do budowy stron WWW umożliwiających dostęp do baz danych

Literatura Beynon-Davies P. Systemy baz danych WNT Warszawa 1998 Date C.J., Darwen H., SQL. Omówienie standardu języka, WNT, Warszawa, 2000 DuBois P., MySQL, Wyd. MIKOM, Warszawa,2000 Grochala M., Java, aplikacje bazodanowe, Wyd. Helion, 2001 Hilton C., Wilis J., PHP3. Internetowe aplikacje bazodanowe, Wyd. Helion, 2000 Meloni J.,C., PHP. Podręcznik tworzenia stron WWW, Wyd. MIKOM, 2000 Welling L., Thomson L., PHP i MySQL. Tworzenie stron WWW, Wyd. Helion, 2002...

Wprowadzenie Bazą Danych nazywamy zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku pamięciowym komputera, mogący zaspokoić potrzeby wielu użytkowników korzystających z niego w sposób selektywny w dogodnym dla siebie czasie - C. Delobel, M. Adiba System Bazy Danych - baza danych wraz ze środkami programowymi umożliwiającymi współbieżne operowanie na niej Model Danych - zbiór abstrakcyjnych pojęć umożliwiających prezentację określonych własności świata Schemat Bazy Danych - zbiór tych pojęć użyty do opisu własności fragmentu świata rzeczywistego istotny z punktu widzenia danego zastosowania

Podział modeli danych konceptualne zbliżone do sposobu analizy modelowanej rzeczywistości, obiektów i zależności między nimi: encje, atrybuty, związki implementacyjne reprezentacja określonych encji, atrybutów, związków w określonym systemie bazy danych: model relacyjny System zarządzania bazą danych (SZBD) zbiór programów umożliwiających tworzenie i eksploatację bazy danych

Funkcje SZBD optymalizacja zapytań - takie przekształcanie zapytań kierowanych do bazy przez jej użytkowników aby czas oczekiwania na odpowiedź był możliwie najkrótszy zapewnienie integralności danych - uniemożliwienie przejścia bazy do stanu, który nie istnieje w modelowanej rzeczywistości zarządzanie współbieżnym dostępem - wielu użytkowników w taki sposób aby każdy z nich był niewidoczny dla innych użytkowników odporność na awarie - niezawodność bazy danych - możliwość odtworzenia poprawnego stanu bazy danych sprzed awarii ochrona danych - uniemożliwienie dostępu nieuprawnionych użytkowników do poufnych danych innych użytkowników

Struktura Systemu Bazy Danych (1) użytkownicy transakcje S Z B D Zarządzanie transakcjami Dostęp do danych System Bazy Danych Schemat bazy danych Baza danych

Struktura Systemu Bazy Danych (2) transakcja elementarna jednostka pracy, baza danych przed i po jej wykonaniu jest w stanie spójnym, ciąg akcji elementarnych akcja elementarna = 1 odwołanie do SZBD moduł zarządzania transakcjami umożliwia jednoczesne korzystanie z bazy danych wielu użytkownikom moduł zarządzania dostępem do danych umożliwia interpretację, wprowadzanie, modyfikację, aktualizację danych schemat bazy danych opis formatu przechowywanych danych oraz ich powiązań, wyciąganie z bazy informacji

Cechy charakterystyczne Baz Danych niezależność aplikacji i danych dane wprowadza się do bazy bez modyfikacji korzystających z nich programów, modyfikacja aplikacji niezależnie od stanu bazy abstrakcyjna reprezentacja danych użycie deklaratywnych języków programowania, pytanie: co zrobić, a nie jak zrobić różnorodność sposobów widzenia danych filtry nakładane na dane pod kątem różnych użytkowników fizyczna i logiczna niezależność danych rozbudowa sprzętu nie narusza danych w bazie, nowe dane nie deaktualizują starych, dane bez powiązań można usuwać niezależnie od siebie

Projektowanie systemów Baz Danych konstrukcja modelu konceptualnego diagramy związków i encji diagramy EER (Extended Entity Relationship) określenie wymagań z punktu widzenia zamawiającego diagram związków i encji informacja o obiektach i ich związkach określenie hierarchii funkcji realizowanych w systemie model konceptualny model relacyjny = schematy relacji relacje encji relacje encji z zagnieżdżonym kluczem obcym relacje związków zawierające klucze obce wszystkich encji należących do związku normalizacja modelu relacyjnego relacje znormalizowane schematy relacji posiadają pożądane właściwości eksploatacyjne wybór struktur fizycznych i określenie ścieżek dostępu strojenie systemu

Model konceptualny Bazy Danych (1) ENCJA obiekt odwzorowany w bazie danych (entity-jednostka) rozróżnianie tożsamość rzeczywistych obiektów nazwa jednoznacznym określeniem encji i zbioru encji sama w sobie nie niesie żadnej informacji zbiory encji grupowanie encji tego samego typu definiowanie zbiorów encji: ekstensjonalne: {męski, żeński} intecjonalne: {x Osoba płeć(x)=męska} iloczynem kartezjańskim: X Y Z operatorami sumy, przecięcia, różnicy zbiorów POWIĄZANIA relacje 2-członowe na zbiorach encji X oraz Y X Y F G F, G odwzorowania wielowartościowe odwrotne względem siebie X zbiór źródłowy odwzorowania F Y zbiór docelowy odwzorowania F

PRACOWNICY NABYWCY TOWAR ZAMÓWIENIA ZAMÓWIENIA - DETALE ODDZIAŁ FIN-KOD FIN-DATA KONTAKTY HURTOWNIE Model konceptualny Bazy Danych (2) Odwzorowania F i G cechy charakterystyczne: jednowartościowe lub wielowartościowe całkowite lub częściowe o określonej liczności minimalnej i maksymalnej zbioru wartości Etapy opisu dowolnego systemu informacji określenie zbiorów encji składających się na dany system określenie powiązań między zbiorami encji określenie warunków dotyczących powiązań Przykładowe zbiory encji firmy realizującej dostawy towaru

Relacyjny model n-członowy (1) Relacja podzbiór iloczynu kartezjańskiego określonego na zbiorach wartości nazywanych dziedzinami relacji Dziedzina zbiór wartości zbiór encji Relacja n-członowa R podzbiór iloczynu: D 1 D 2... D n D 1, D 2,..., D n -uporządkowany ciąg dziedzin niekoniecznie różnych Krotka element relacji o n członach krotka(d 1, d 2,..., d n ) gdzie d i D i Atrybut X zmienna w teorii modeli relacyjnych Definicja relacji R dla i = 1, 2,..., n R = { X:=a R( X:=a ) = prawda}

Relacyjny model n-członowy (2) Definicja relacji R podanie zbioru atrybutów relacji: X = { X 1, X 2,..., X n } przypisanie każdemu z atrybutów X i dla i =1,2,..., n dziedziny D i określenie predykatu relacji - funkcji zdaniowej, która przy każdym z przypisań X: = a zgodnym z przypisanymi atrybutom dziedzinami przyjmuje jedną z dwóch wartości logicznych: P, F Model graficzny relacji n-członowej tabela, wiersz - krotka relacji, kolumna - atrybut relacji Klucz relacji to minimalny podzbiór zbioru atrybutów, taki ze kombinacja ich wartości jednoznacznie identyfikuje krotkę relacji Schematy relacji intensja relacji ekstensja relacji

Języki stosowane w Bazach Danych Data Definition Language DDL język definiowania danych Data Manipulation Language DML język manipulowania danymi Query Language język zapytań SQL - język operacji na bazach danych Structured Query Language - składnia i znaczenie określone odpowiednimi standardami międzynarodowymi wyrażenia w SQL są w większości SZBD są zapisywane (nawet bez wiedzy użytkownika) polecenia (tzw. zapytania) do serwera bazy danych

Zalety systemu MySQL szybkość MySQL to najszybszy, dostępny SZBD łatwość użycia - względnie prosty nieskomplikowana instalacja koszt bezpłatna dystrybucja systemu via Internet obsługa języka zapytań do komunikacji pomiędzy klientem a serwerem wykorzystuje SQL dostęp do baz również poprzez ODBC (Open Database Connectivity) możliwości równoczesne łączenie się wielu klientów z serwerem możliwość równoczesnej pracy z wieloma bazami danych wykorzystanie sieci i bezpieczeństwo w pełni sieciowy produkt zapewniający dostęp do baz danych z każdego miejsca w sieci WWW; wbudowane mechanizmy kontroli dostępu przenośność działa na różnych platformach systemowych i sprzętowych

Dystrybucja systemu MySQL serwer SQL programy klienta - udostępniają zasoby serwera biblioteka klienta - umożliwia pisanie własnych programów (napisana w C) isamchk, myisamchk - tabele, klucz, indeksy myisampack, pack_isam - skompresowane tabele read-only mysql - wysyłanie zapytań do serwera MySQL mysqlaccess - testowanie uprawnień dostępu mysqladmin - przeprowadzanie czynności administracyjnych mysglbug - generowanie raportów o błędach mysqld - serwer MySQL mysqldump - składowanie zawartości tabel bazy danych mysqlimport - masowe ładowanie danych do tabel mysqlshow - informacje o bazach danych i tabelach safe_mysqld - uruchamianie i monitorowanie serwera MySQL

Podstawy instalacji MySQL setup.exe po tymczasowym umieszczeniu plików C:\mysql domyślna kartoteka D:\prog\mysql\bin\mysqld basedir D:\prog\mysql system przeniesiony do: D:\prog\mysql mysqld pełne info dla debuggera automatyczna alokacja pamięci mysqld-opt optymalizacja dla Pentium Win 95/98/Me w tle: - start: C:\mysql\bin\mysqld-opt - stop: C:\mysql\bin\mysqladmin u root shutdown Win NT/2000/XP usługa: - instalacja: C:\mysql\bin\mysqld-nt install - start: NET START mysql - stop: NET STOP mysql

Pierwsze kroki z MySQL (1) logowanie mysql h komp u user -p p wymaganie hasła, serwer o nie zapyta tworzenie bazy mysql> create database nazwa_bazy; każde polecenie musi kończyć się średnikiem wskazanie bazy aktywnej mysql> use nazwa_bazy po instalacji MySQL dostępne są 2 bazy: mysql systemowa i test - testowa przywileje GRANT przywileje [kolumny] ON obiekt TO ident-user [IDENTIFIED BY hasło ] [WITH GRANT OPTION] REVOKE przywileje ON obiekt FROM ident-user

Pierwsze kroki z MySQL (2) nowy użytkownik use mysql; insert into user (host, user, password) values ( localhost, ident, hasło ); grant all on *.* to ident@... identified by hasło with grant option; flush privileges; tworzenie tabeli danej bazy danych create table nazwa_tabeli (kolumny); create table książki (isbn char(13),autor char(30),tytul char(60),cena float(4,2)); prezentacja konstrukcji mysql> show tables; mysql> show databases; mysql> describe nazwa_tablicy; Usunąć: reload, shutdown, process, file

Pierwsze kroki z MySQL (3) zapisywanie danych do bazy insert into nazwa_tabeli (kl1, kl2,...) values (wr1, wr2,...); insert into klienci values (NULL, Adam Małysz, Skoczków 2A, Wisła ); insert into klienci (nazwisko, adres, miasto) values ( Adam Małysz, Skoczków 2A, Wisła ); insert into klienci set nazwisko = Adam Małysz, adres = Skoczków 2A, miasto = Wisła ; select pozycje from nazwy_tabel [where warunek] [group by rodzaj_grupowania] [having wartość_funkcji] [order by porządek_sortowania] [limit granica]; wyszukiwanie danych w bazie

Pierwsze kroki z MySQL (4) select nazwisko, miasto from klienci; select * from klienci; select * from klienci where label=5; select nazwisko from klienci limit 2, 3; select avg(wartość) from zamówienia; select klientid, avg(wartość) from zamówienia group by klientid; wyszukiwanie danych w bazie - przykłady select nazwisko, miasto from klienci having avg(wartość)>50; select nazwisko, miasto from klienci group by klientid; select * from klienci order by imie asc; select * from klienci order by imie desc;

Pierwsze kroki z MySQL (5) usuwanie rekordów z bazy delete from nazwa_tabeli [where warunek] [limit ilość]; usuwanie całej tabeli, całej bazy danych zmiana zawartości rekordu update nazwa_tabeli set kol1=wyr1, kol2=wyr2,... [where warunek] [limit ilość]; zmiana struktury tabeli drop table nazwa_tabeli; drop database nazwa_bazy; update książki set cena=cena*1.2; alter table klienci modify nazwisko char(45); alter table zamówienia add podatek float(6,2) after wartość; alter table zamówienia drop podatek;