baza samochodów (komis)(1)

Wielkość: px
Rozpocząć pokaz od strony:

Download "baza samochodów (komis)(1)"

Transkrypt

1 baza samochodów (komis)(1) dane : nr_rejestracyjny, marka, rocznik, kolor, cena, właściciel (dane sprzedającego) 1) określenie cech obiektów istniejacych w rzeczywistości (przypisanie atrybutów) 2) zaprojektowanie odpowiednich tabel 3) określenie związków między tabelami 4) pozbycie się ewentualnych związków (m-n)

2 baza samochodów (komis)(2) samochód i właściciel są rozłącznymi obiektami istniejącymi w rzeczywistości. zarówno samochód jak i właściciel istnieją niezależnie od siebie w pierwszym przybliżeniu tworzymy dwie tabele: samochody i wlasciciele (IDsamochodu,nr_rej,marka,kolor,rocznik,cena) (IDwlasciciela,imie,nazwisko,kontakt) zanim określimy związki przyjrzyjmy się tabeli samochody

3 baza samochodów (komis)(3) (IDsamochodu,nr_rej,marka,kolor,rocznik,cena) nr_rej przypisanie jednoznaczne cena przypisanie jednoznaczne ( jeśli dwa auta maja tą sama cenę to zbieżność jest przypadkowa) rocznik kwestia umowy, jeśli bierzemy pod uwagę daty, jest to dana prawie ciągła, jeśli zaś rocznik to zbiór jest ograniczony typowy słownik kolor jest cechą samochodu, jednak wiele samochodów ma ten sam kolor, ponadto kolory tworzą zbiór przeliczalny niewielkich rozmiarów typowe dane słownikowe marka jest atrybutem związanym a nie cechą firmy ( marki) istnieją niezależnie od poszczególnych egzemplarzy wyróżnimy więc niezależne tabele : kolory, marki, roczniki

4 Schemat relacyjny

5 Student-przedmiot-prowadzący Związki wieloznaczne: Student studiuje wiele przedmiotów na jeden przedmiot uczęszcza wielu studentów Asystent prowadzi przedmioty jeden przedmiot prowadzi wielu asystentów Student uczy się u wielu asystentów jeden asystent uczy wielu studentów

6 tabela asocjacyjna asocjacje(id ID,IDstudenta,IDasystenta,IDprzedmiotu) dodatkowo w tabeli mogą wystąpić jej cechy (termin?) pole IDstudenta stanowi klucz obcy ( jest stroną wiele związku 1-n z tabelą studenci w tabeli studenci stanowi klucz główny ( jest stroną jeden związku pola IDasystenta, IDprzedmiotu stanowią analogiczne połączenia poprzez konstrukcję tabeli asocjacyjnej uniknęliśmy związków wiele-do-wiele

7 diagram związków studiowania

8 Diagram związków studiowania (2) Tabela asocjacyjna zawiera bardzo dużo wpisów w szczególności iloczyn liczby studentów, liczby asystentów i liczby przedmiotów Można zrezygnować z poprawnej postaci normalnej i połączyć asystentów z przedmiotami. Efektem niekorzystnym będzie redundancja w kolumnie przedmiot Takie podejście pozwala uprościć tabelę asocjacyjną

9 Diagram związków studiowania(2) Do przedmiotu dodano pole termin aby umożliwić prowadzenie jednego przedmiotu przez dwóch asystentów. W tabeli przedmioty pojawi się redundancja ten sam przedmiot jest wpisany tyle razy ilu asystentów go prowadzi

10 diagram związków dla linii lotniczej Pasażer leci rejsem - związek wieloznaczny (m-n) Piloci pilotują rejsy związek m-n Samolot obsługuje wiele rejsów związek 1-n Proponowane tabele : samoloty (IDsamolotu,nazwa) rejsy (Nr_Rejsu,skąd, dokąd, godz-odlotu, godz_przylotu) pasażerowie (IDpazazera, imie, nazwisko, adres, telefon) piloci ( IDpilota, imie, nazwisko) Proponowany układ tabel nie redukuje związków wieloznacznych

11 redukcja związku pasażer rejs Należy wprowadzić dodatkową tabelę Rezerwacje zawierającą jako klucze obce IDpasażera i Nr_Rejsu co rozwiąże problem : wielu pasażerów podróżuje wieloma samolotami

12 redukcja związku piloci rejsy Należy wprowadzić dodatkową tabelę Przydzialy zawierającą jako klucze obce IDpilota i IDsamolotu co rozwiąże problem: wielu pilotów lata wieloma rejsami

13 diagram bez związków wieloznacznych

14 MySQL silnik bazodanowy (DB engine) duża szybkość odstępstawa od standardu SQL brak obsługi transakcji w wersjach starszych niż 4.0 obsługa wielu platform: Linux (x86, S/390, IA64 (Itanium), Alpha, PowerPC, AMD64 / EM64T), Windows (x86), Solaris (SPARC,x86), FreeBSD (x86), MacOS X, HP-UX (PA-RISC, IA64) AIX (RS6000) QNX (x86), Novell Netware (x86), SGI, DEC OSF.

15 MySQL - cechy rodzaje obsługiwanych tablic : MyISAM domyślny, nie obsługuje transakcji, HEAP najszybszy, gdyż wszystko jest przechowywane wyłącznie w pamięci RAM. Posiada jednak kilka ograniczeń, między innymi nie przechowuje danych po wyłączeniu serwera MySQL, InnoDB obsługuje transakcje, Licencja : GPL, również wersje z licencjami zamkniętymi Wraz z serwerem Apache i parserem PHP zaimplementowanymi na platformie Linux stanowi popularne środowisko serwerowe LAMP Linux, Apache, MySQL, PHP

16 podstawy SQL (1) SQL Structured Query Language strukturalny język zapytań wszystkie wartości danych są typów prostych wszystkie dane zapisywane w dwuwymiarowych tablicach (relacjach) operacje są zdefiniowane logicznie, a nie przez pozycje wiersza w tabeli Wiersze posiadają unikalny klucz

17 podstawy SQL (2) w odróżnieniu od zwykłych języków programowania SQL określa raczej CO ma być zrobione a nie JAK to zrobić takie języki nazywamy DEKLARATYWNE Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych DBMS DBMS - Data Base Management System SZBD -System Zarządzania Bazą Danych SELECT * FROM osoby WHERE imie= Ola ; WYBIERZ wszystkie pola Z tabeli osoby DLA KTÓRYCH SPEŁNIONY JEST WARUNEK imie= Ola ; W 1986 roku SQL stał się oficjalnym standardem, wspieranym przez Międzynarodową Organizację Normalizacyjną (ISO) Standard obecnie obowiązujący to SQL92

18 podstawy SQL (3) ze względu na zastosowanie wyróżniamy trzy typy SQL: SQL interakcyjny (np. praca na konsoli z programem mysql) Statyczny kod SQL (Static SQL) stanowi na ogół niezmienną część aplikacji Embedded SQL (Osadzony SQL) (np. C++,Java) Język modułów w analogii do podprogramów) Dynamiczny kod SQL (Dynamic SQL) - generowany jest w trakcie pracy aplikacji

19 podstawy SQL (4) podział zapytań SQL DML (ang. Data Manipulation Language, czyli Język Manipulacji Danymi) SELECT - pobranie z bazy danych, INSERT - umieszczenie danych w bazie, UPDATE - zmiana danych, DELETE - usunięcie danych z bazy. SQL DDL (ang. Data Definition Language,, czyli Język Definicji Danych - struktur) CREATE (np. CREATE TABLE, CREATE DATABASE,...) DROP (np. DROP TABLE, DROP DATABASE,...) ALTER (np. ALTER TABLE ADD COLUMN...)

20 podstawy SQL (5) przykłady zapytań SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC; Wyświeta z tabeli pracownicy (FROM( pracownicy) ) wszystkie kolumny (*)( dotyczące tych pracowników, których pensja jest większa niż 2000 (WHERE( pensja > 2000) ) i sortuje wynik malejąco według stażu pracy (ORDER( BY staz DESC). INSERT INTO pracownicy (imie, nazwisko, pensja, staz) ) VALUES ('Jan' Jan', 'Kowalski' Kowalski', 5500, 1); UPDATE pracownicy SET pensja = pensja * 1.1 WHERE staz > 2; DELETE FROM pracownicy WHERE imie = 'Jan'' AND nazwisko = 'Kowalski'' Kowalski'; CREATE TABLE pracownicy (imie varchar(255), nazwisko varchar(255), pensja float, staz int); DROP TABLE pracownicy; ALTER TABLE pracownicy ADD COLUMN dzial varchar(255);

21 Podstawowe typy danych CHAR(M) Pole znakowe. Przechowuje teksty o ustalonej z góry długości. Ograniczone do 255 znaków. VARCHAR(M) Pole znakowe. Przechowuje taką długość tekstu, jaka jest używana. INT[(M)] [UNSIGNED] Pole liczb całkowitych. Przechowuje liczby z zakresu od do (z parametrem UNSIGNED - od 0 do ). DATE Pole daty przechowuje daty z zakresu od ' ' do ' '. BLOB/TEXT Pole tekstowe. Przechowuje dłuższe, wielowierszowe teksty do znaków. Przykład tworzenia tabeli: CREATE TABLE badania ( ID_badania INT NOT NULL auto_increment, badanie VARCHAR(15), PRIMARY KEY (id_badania) );

22 Funkcje agregujące Count() - zliczanie wynikowych wierszy Avg() średnia z pól podanej kolumny Max(),Min() maksimum/minimum w kolumnie Sum() suma wartości wszystkich pól w kolumnie Przykłady: SELECT max(cena) FROM produkty; SELECT sum(cena*ilosc) from produkty; SELECT count (ID) FROM produkty.

23 podstawy SQL (1) podział zapytań SQL DDL (ang. Data Definition Language,, czyli Język Definicji Danych - struktur) CREATE (np. CREATE TABLE, CREATE DATABASE,...) DROP (np. DROP TABLE, DROP DATABASE,...) ALTER (np. ALTER TABLE ADD COLUMN...) SQL DML (ang. Data Manipulation Language, czyli Język Manipulacji Danymi) SELECT - pobranie z bazy danych, INSERT - umieszczenie danych w bazie, UPDATE - zmiana danych, DELETE - usunięcie danych z bazy.

24 MySQL konto uzytkownika z poziomu administratora MySQL (root) należy stworzyć bazę u żytkownika: >create database naszabaza; oraz nadać uzytkownikowi prawa do niej : >GRANT ALL PRIVILEGES ON naszabaza.* TO IDENTIFIED BY 'haslo'; oznacza to nadanie wszystkich praw do wszystkich tabel w naszabaza użytkownikowi user podającemu haslo i łączącemu się z lokalnego serwera przywileje mogą być ograniczone do poszczególnych poleceń (SELECT, INSERT, UPDATE.) oraz do wybranych tabel : >grant SELECT on naszabaza.klienci to IDENTIFIED BY 'haslo';

25 MySQL nawiązanie połączenia nawiązanie połączenia terminalowego wymaga: posiadania konta na serwerze posiadania dostępu do bazy MySQL (konta MySQL) To są dwa INNE konta (często nazywają się tak samo dla ułatwienia) po zalogowaniu na serwer wpisujemy z konsoli: mysql u uzytkownik_bazy p password : ***** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is to server version: log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

26 MySQL nawigacja przegląd baz : show databases; wybranie bazy ( konieczne uprawnienia) >use naszabaza; database changed przegląd tabel : show tables; struktura tabeli: >describe nazwa; / >explain nazwa;

27 MySQL TYPY DANYCH liczbowe (całkowite i zmiennopozycyjne) tekstowe daty i czasu

28 MySQL LICZBY CAŁKOWITE BAJTÓW MIN MAX TINYINT SMALLINT MEDIUMINT INT BIGINT 8-2^63 2^63-1

29 MySQL liczby zmiennopozycyjne FLOAT(M,D) pojedyncza precyzja, zakres +/ E E+38 M- całkowita ilość cyfr D- ilość cyfr po przecinku dokładność ok. 7 cyfr znaczących DOUBLE(M,N) double precision E-308 do E+308 dokładność ok. 15 cyfr znaczących

30 MySQL data i czas DATE zakres : ' ' do ' ' DATETIME DATETIME zakres: ' :00:00' to ' :59:59' TIME zakres: -838:59:59' to '838:59:59' YEAR zakres

31 MySQL typy tekstowe CHAR (synonim CHAR(1)) jednoznakowy VARCHAR(M) łańcuch o zmiennej długości maksymalnie m-znaków BLOB - 65,535 (2^16 1) bytes MEDIUMBLOB 16,777,215 (2^24 1) LONGBLOB (4GB) (2^32 1) TEXT to samo co BLOB SET('value1','value2',...) jawnie wyspecyfikowane, max 64 elementy

32 MySQL specyfikacja pól not NULL zabroniony wpis null auto_increment jeśli w takie pole nie wpiszemy nic, lub wpiszemy 0, MySQL uzupełnia wpisem o 1 większym od ostatniego primary key / primary key(nazwa) wyspecyfikowanie klucza częste łączenie : ID int not null auto_increment primary key,

33 MySQL tworzenie tabeli create table elementy( ID int not null auto_increment primary key, element varchar(20), cena float )

34 MySQL wstawianie rekordów insert into elementy(id,nazwa,cena) values(0, srubka,10); skrócone: insert into elementy values(0, srubka,10); można ręcznie nadać ID ale na ogół jest to zbędne ( czasem szkodliwe!)

35 MySQL wybieranie rekordów SELECT nazwy_kolumn FROM nazwy_tabel WHERE warunek_logiczny; wybranie wszystkich: select * from elementy; wybranie niektórych kolumn z warunkiem: select nazwa,cena from elementy where cena < 100; SELECT DISTINC - usuwanie duplikatów ORDER BY nazwa sortowanie (na końcu)

36 MySQL zapytania łączące tabele select * from marki; IDmarki 1 2 marka fiat ford IDmodelu IDmarki model P select * from modele; Croma Bravo 4 2 Fiesta 5 2 Focus 6 2 Mondeo

37 MySQL zapytania łączące tabele złączenie kluczy w relacji 1-n jest tzw. złączeniem naturalnym i dla tego równoważnę są dwie instrukcje : select model,marka from modele,marki where marki.idmarki=modele.idmarki; select model,marka from modele natural join marki; select model,marka from modele join marki on marki.idmarki=modele.idmarki; ( w MySQL ta wersja nie działa)

38 MySQL zapytania łączące tabele złączenie lewostronne składa się z wierszy tablicy LEWA i pasujących wierszy z tablicy PRAWA. Gdy brak pasujących wierszy z prawej pojawi się NULL W naszym przypadku nie ma różnicy między złączeniem lewostronnym i naturalnym: select model,marka from marki left join modele on marki.idmarki=modele.idmarki; Jednak po dodaniu rekordu do tabeli marki, który nie ma jeszcze dodanego modelu : insert into marki(marka) values ( BMW ) model 125P Croma Bravo Fiesta Focus Mondeo model 125P Croma Bravo Fiesta Focus Mondeo NULL marka fiat fiat fiat ford ford ford marka fiat fiat fiat ford ford ford BMW

39 MySQL zapytania łączące tabele Wykorzystując złączenie lewostronne można uzyskać te wiersze z tabeli, które nie mają odpowiedników drugiej tabeli : select model,marka from marki left join modele on marki.idmarki=modele.idmarki WHERE model is NULL; model NULL marka BMW

40 MySQL zapytania łączące tabele Czy jest możliwe skrzyżowanie tabeli samej ze sobą? select marki,marki from marki,marki; błąd ERROR 1066: Not unique table/alias: 'marki słowo AS przechowuje tabelę w zapytaniu pod inną nazwą: select tab1.marka as marka1,tab2 tab2.marka as marka2 FROM marki AS tab1,, marki AS tab2; marka1 fiat ford BMW fiat ford BMW fiat ford BMW marka2 fiat fiat fiat ford ford ford BMW BMW BMW

41 MySQL zapytania łączące tabele przykład wykorzystania usuwanie duplikatów. zrobiono błędny wpis dodatkowy rekord o identycznej zawartości lecz innym ID: insert into marki values(4,'fiat'); i usunięto BMW delete from marki where marka= BMW ; interesują nas rekordy o tym samym wpisie lecz różnych ID więc modyfikujemy zapytanie dodając: select tab1.idmarki as ID1,tab1 tab1.marka as marka1, tab2.idmarki as ID2,tab2 tab2.marka as marka2 FROM marki AS tab1,, marki AS tab2 where marka1=marka2 and ID1<>ID2 ID1 marka1 1 fiat 2 ford 4 fiat 1 fiat 2 ford 4 fiat 1 fiat 2 ford 4 fiat ID1 marka1 4 fiat 1 fiat ID ID2 1 4 marka2 fiat fiat fiat ford ford ford fiat fiat fiat marka2 fiat fiat

42 MySQL przykłady klient składa zamówienia, na jednym może być wiele pozycji dostawca proponuje ofertę obiektami są towary wyszczególnione w tabeli

43 MySQL przykłady Insert into towary values(1,'laptop','toshiba','x100',3200,10); Insert into towary values(2,'laptop','hp','hp100',3600,10); Insert into towary values(3,'laptop','hp','hp200',3800,2); Insert into towary values(4,'laptop','compaq','cq999',2800,10); Insert into towary values(5,'laptop','compaq','cq222',1800,15); Insert into towary values(6,'laptop','compaq','cq123',5800,5);

44 MySQL przykłady insert into dostawcy values(1,'importer1','krakow'); insert into dostawcy values(2,'importer2','wieliczka'); insert into dostawcy values(3,'importer3','warszawa');

45 MySQL przykłady insert into klienci values(1,'sklep Hani','Krolewska 10','Krakow'); insert into klienci values(2,'sklep Oli','Dluga 1','Krakow'); insert into klienci values(3,'sklep Komputerek','Sliczna 32','Krakow'); insert into klienci values(4,'sklep Laptopik','Pawia 10','Wieliczka'); insert into klienci values(5,'hurtownia WW ','Kopalniana 1','Wieliczka'); insert into klienci values(6,'hurtownia Elektro','Aleje 12','Krakow');

46 MySQL przykłady -- dostawca 1 insert into oferty_dostawcow values(1,1,1,3000); insert into oferty_dostawcow values(2,1,2,3000); insert into oferty_dostawcow values(3,1,3,3300); insert into oferty_dostawcow values(4,1,4,2000); insert into oferty_dostawcow values(5,1,5,1000); insert into oferty_dostawcow values(6,1,6,5000);

47 MySQL przykłady -- dostawca 2 insert into oferty_dostawcow values(7,2,1,3100); insert into oferty_dostawcow values(8,2,2,3200); insert into oferty_dostawcow values(9,2,3,3000); insert into oferty_dostawcow values(10,2,4,1900); insert into oferty_dostawcow values(11,2,5,1200); insert into oferty_dostawcow values(12,2,6,5200);

48 MySQL przykłady --dostawca 3 insert into oferty_dostawcow values(13,3,1,3050); insert into oferty_dostawcow values(14,3,2,2900); insert into oferty_dostawcow values(15,3,3,3000); insert into oferty_dostawcow values(16,3,4,1800); insert into oferty_dostawcow values(17,3,5,1300); insert into oferty_dostawcow values(18,3,6,4500);

49 MySQL przykłady -- klient 1 ma 2 zamówienia insert into zamowienia values(1,' ',1); insert into zamowienia values(2,' ',1); -- klient 2 ma 1 zamówienie insert into zamowienia values(3,' ',2);

50 -- pozycje zamowienia klienta1 -- zam1 insert into pozycje_zamowien values(1,1,1,10); insert into pozycje_zamowien values(2,1,2,10); insert into pozycje_zamowien values(3,1,3,5); insert into pozycje_zamowien values(4,1,5,15); --zam2 insert into pozycje_zamowien values(6,2,1,5); insert into pozycje_zamowien values(7,2,3,10); insert into pozycje_zamowien values(8,2,4,15); insert into pozycje_zamowien values(9,2,5,5); insert into pozycje_zamowien values(10,2,6,2); -- pozycje zamowienia klienta2 -- zam3 insert into pozycje_zamowien values(11,3,1,20); insert into pozycje_zamowien values(12,3,2,30); insert into pozycje_zamowien values(13,3,3,20); insert into pozycje_zamowien values(14,3,4,2); insert into pozycje_zamowien values(15,3,5,2); insert into pozycje_zamowien values(16,3,6,2); MySQL przykłady

51 MySQL przykłady -zamowienia zlozone przez 'Sklep Hani' select Nr_zamowienia as zamowienia_hani from zamowienia natural join klienci where klienci.nazwa_firmy='sklep Hani';

52 MySQL przykłady -- policzyc ilosc zamowien klienta 'Sklep Hani select COUNT(Nr_zamowienia) as zamowienia_hani from zamowienia natural join klienci where klienci.nazwa_firmy='sklep Hani';

53 MySQL przykłady -- wyszczegolnic pozycje zamowienia 1( nazwy towarow i ich ceny sprzed) select model,cena_sprzed from zamowienia,pozycje_zamowien,towary where towary.nr_katalog_towaru=pozycje_zamowien.nr_katalog_towaru and pozycje_zamowien.nr_zamowienia=zamowienia.nr_zamowienia and zamowienia.nr_zamowienia=1;

54 MySQL przykłady ---- wartosci kolejnych zamowien select zamowienia.nr_zamowienia,klienci.nazwa_firmy,sum(cena_sprzed) from zamowienia,pozycje_zamowien,towary,klienci where zamowienia.nr_zamowienia=pozycje_zamowien.nr_zamowienia and pozycje_zamowien.nr_katalog_towaru=towary.nr_katalog_towaru and klienci.id_klienta=zamowienia.id_klienta group by zamowienia.nr_zamowienia;

55 MySQL przykłady -- zamowienia i porownaie ilosci dostepnej select model,sum(ilosc_w_mag),sum(ilosc_zam) from zamowienia,pozycje_zamowien,towary where towary.nr_katalog_towaru=pozycje_zamowien.nr_katalog_towaru and pozycje_zamowien.nr_zamowienia=zamowienia.nr_zamowienia group by model;

56 MySQL przykłady --oferty wg dostawcow select nazwa_firmy, cena, nazwa_producenta,model from towary,oferty_dostawcow,dostawcy where towary.nr_katalog_towaru=oferty_dostawcow.nr_katalog_towaru and oferty_dostawcow.id_dostawcy=dostawcy.id_dostawcy;

57 Jak uzyskać informację ----najtansze oferty wg modeli select nazwa_firmy, min(cena), nazwa_producenta,model from towary,oferty_dostawcow,dostawcy where towary.nr_katalog_towaru=oferty_dostawcow.nr_katalog_towaru and oferty_dostawcow.id_dostawcy=dostawcy.id_dostawcy group by model; NIE DZIAŁA!! wszystko co jest po SELECT powinno być uyte w klauzuli GROUP BY

58 create temporary table tmp select concat(nr_katalog_towaru,':',min(cena)) as test from oferty_dostawcow group by nr_katalog_towaru; 1:3000 2:2900 3:3000 4:1800 5:1000 6:4500 select nazwa_firmy,model,cena from dostawcy,towary,oferty_dostawcow,tmp where towary.nr_katalog_towaru=oferty_dostawcow.nr_katalog_towaru and dostawcy.id_dostawcy=oferty_dostawcow.id_dostawcy and concat(towary.nr_katalog_towaru,':',cena)=tmp.test ; test

59 PHP - wspomaganie programowania aplikacji internetowych PHP (Rasmus Lerdorf) - brak pętli, instrukcji warunkowych, struktur danych obsługa formularzy i dostęp do msql PHP3 (Zeef Suraski, Andi Gutmans) - strukturalna i obiektowa wersja języka PHP4 + moduł skryptowy ZEND Najnowsza wersja (PHP4) korzysta z potężnej platformy skryptowej Zend (http://( co zwiększa jej wydajność oraz może działać jako moduł serwera innego niż Apache. Kod źródłowy PHP jest powszechnie dostępny na zasadzie Open Source (http://(

60 Dlaczego PHP? - zalety (+) Prosta składnia zapożyczona z C, z elementami Perl a i skryptów powłoki (+) integracja z językiem HTML (+) naturalne połączenie warstwy baz danych z warstwą serwera WWW (+) zunifikowany interfejs do różnych baz danych

61 Dlaczego PHP? - zalety (+) bezpieczeństwo kodu - PHP wykonuje się po stronie serwera ( niezależność od przeglądarki) (+) bezpieczeństwo danych - wykorzystanie ssl i HTTPS (+) PHP jako moduł serwera WWW (+) generowanie HTML, GIF, JPG, PDF (+) dostępność kodu

62 Dlaczego PHP? - wady (-) język interpretowany więc wolny (-) brak systemu transakcji (-) brak STDIN - w Linuxie można obejść otwierając jawnie plik /dev/stdin

63 Dla kogo PHP? Administratorzy serwisów WWW autorzy dynamicznych stron WWW użytkownicy bez prawa do uruchamiania skryptów CGI projektanci aplikacji mają za darmo interfejs użytkownika (HTML)

64 Instalacja UNIX RH wystarczy wybrać odpowiednie pakiety instalacyjne (PHP + MySQL) W starszych wersjach PHP było dostarczane bez wkompilowanych funkcji do obsługi baz danych. Konieczna była ręczna kompilacja../configure --with-apache=/sciezka_do_zrodel_apache --withmysql=/sciezka_do_zainst_mysql make make install

65 Instalacja UNIX Podobnie kompilujemy serwer APACHE./configure --activate-module=src/modules/php3/libphp3 make make install w plikach konfiguracyjnych APACHE należy dodac wpisy: AddType aplication/x-httpd-php.php.php3 [.php4]

66 Instalacja WINDOWS Istnieje wersja na skróty pod system Windows o nazwie PHPTriad (PHP +APACHE +MySQL) (binaria) system można testować na lokalnym komputerze posługując się adresem - Plik index.html powinien znajdować się w c:\apache\htdocs, tam również skrypty PHP, konfiguracja w pliku c:\apache\conf\httpd.conf

67 literatura Craig Hilton, Jeff Willis PHP3 - internetowe aplikacje bazodanowe Marek Nowakowski PHP4 & MySQL dla webmastera Rasmus Lerdorf Leksykon PHP ; Strona tymczasowa, trochę polskojęzycznych informacji, kursy PHP i MySQL,

68 Umieszczanie PHP w dokumentach HTML Kod skryptu umieszczany jest bezpośrednio w kodzie HTML ujęty w parę znaczników: <?PHP...?> (skrócone <?...?> <HTML><BODY> <?PHP echo Jestem skryptem PHP <BR>`;?> </BODY></HTML> Skrypt niekoniecznie w sekcji BODY przeglądarka wyświetla stronę HTML i WYNIK skryptu PHP Przeglądarka ignoruje odstępy i znaki końców akapitu, trzeba je zastąpić odpowiednimi znacznikami HTML (&nbsp, <BR> itp.) plik skryptu powinien mieć jedno z akceptowanych rozszerzeń (.php), treść skryptu jest niedostępna dla użytkownika po stronie przeglądarki

69 Możliwości języka Dołączanie plików include ("filename.abc") zmienne tablice operatory i wyrażenia instrukcje (struktury sterujące) funkcje użytkownika integracja z bazami danych - ogromna ilość funkcji pomocniczych dedykowanych dla najpopularniejszych systemów (MySQL, ORACLE, PostgreSQL, Informix) funkcje obsługi :stringów, tablic, dat, URL, sieci, ODBC, grafiki i plików

70 PHP - Dołączanie plików include ("nazwapliku.php ); dołączanie plików jest nieodzownym mechanizmem zapewniającym przejrzystość kodu i zwiększającym bezpieczeństwo, wymagane jest aby w dołączanym pliku występowały znaczniki PHP Do standardowych metod należy definiowanie w osobnych plikach pewnych stałych elementów stron (np. nagłówków) i dołączanie ich do różnych stron Pliki dołączane muszą mieć odpowiednie atrybuty

71 PHP - zmienne W zmiennych odgrywa znaczenie wielkość liter PHP operuje następującymi typami danych: Liczby całkowite Liczby zmiennopozycyjne Łańcuchy znaków Tablice Zmienne tworzymy BEZ ich deklarowania w momencie pierwszego przypisania wartości: $x=1.234; $i=3; tab[0]='ala'; tab[]='ma kota';

72 PHP - operatory i wyrażenia Oper. logiczne <, <=, >, >=,!=, == #$x<=3; Oper. Przypisania = # $x=2*$y; Złożone $a++ ; #$a=$a+1; Wartości logiczne: FALSE - odpowiada "" {pusty napis} lub 0 TRUE - cokolwiek innego Każda zmienna jest skojarzona z wartością logiczną i tak np. pusta tablica - FALSE, zmienna jeszcze nie użyta - FALSE

73 PHP - instrukcje Instrukcja warunkowa - jeżeli... A jeżeli NIE... IF ($warunek) { instrukcja; } ELSE { instrukcja;} dopóki warunek powtarzaj instrukcję WHILE ($warunek) { instrukcja; } powtarzaj instrukcję dopóki warunek DO { instrukcja; } WHILE ($warunek;)

74 PHP - instrukcje FOR (instrukcja0;$warunek;instrukcja_sterująca) { instrukcja_w_pętli;} konstrukcja często stosowana przy ustalonej liczbie powtórzeń for($i=0;$i<10;$i++) {echo $i}; instrukcja wyboru: SWITCH ($x) case 0: instrukcja0; break; case 1: instrukcja1; break; DEFAULT : instrukcja_ani_1_ani_2; }

75 PHP - funkcje Funkcja jest konstrukcją programistyczną wykonująca określony algorytm i przyjmującą określoną wartość. Pozwala również dzielić złożone problemy na fragmenty, Wewnątrz funkcji powinna się znaleźć instrukcja RETURN definiująca wartość funkcji (zwracająca wartość) definicja przykładowa: function moja($a,$b) { return ($a+$b)/2; } użycie: echo moja(3,5); #wypisze wartość 4

76 PHP - funkcje - argumenty Przekazywanie przez wartość Z tą sytuacją mamy do czynienia gdy funkcja ma w odpowiedzi zwrócić pewną wartość ale NIE ZMIENIĆ wartości argumentów definicja przykładowa: function srednia($a,$b) { return ($a+$b)/2; } użycie: echo srednia(3,5); #wypisze wartość 4 Przekazywanie przez zmienną Z tą sytuacją mamy do czynienia gdy chcemy aby funkcja w efekcie swojego działania ZMIENIAŁA wartości argumentów definicja przykładowa: function zamiana(&$a, $a,&$b) $b) { $z=$a; $a=$b; $b=$z; return 0; #funkcja niczego nie liczy } użycie: $x=1;$y=2; $temp=zamiana($x,$y); echo $x,$y; wypisane zostanie 2 1 a nie 12 co oznacza że funkcja zmieniła swoje argumenty\

77 PHP - przekazywanie parametrów PHP udostępnia ciekawy mechanizm obsługujący sytuacje gdy chcemy w samym programie narzucić funkcji przekazanie parametru przez odwołanie: function zamiana($a,$b) { $z=$a; $a=$b; $b=$z; } użycie: $x=1;$y=2; $temp=zamiana(&$x, $x,&$y); $y); echo $x,$y; #wypisanie 2 1 użycie: $x=1;$y=2; $temp=zamiana($x,$y); echo $x,$y; #wypisanie 1 2

78 PHP- wartości domyślne funkcji i zasięg zmiennych Obsługa sytuacji gdy w wywołaniu nie podamy niektórych argumentów function opis($nazwisko="nieznany"){ return "Ten człowiek ma na nazwisko $nazwisko";} echo opis("nowak"); da w efekcie : Ten człowiek ma na nazwisko Nowak echo opis() ; da w efekcie : Ten człowiek ma na nazwisko NIEZNANY UWAGA!: zmienne z programu NIE są widoczne w funkcjach $x=1; function test1() { echo $x;} function test2() { global $x; echo $x;} test1();test2(); da w efekcie 1 ( a nie 11 gdyż wywołanie test1() nic NIE WYPISAŁO

79 PHP- obsługa plików (1) Korzystanie z plików wymaga następujących czynności : otwarcie pliku $fi=fopen("$nazwa_pliku","$tryb"); 'r' - Otwórz tylko do odczytu; ustawia wskaźnik pliku na początku pliku. 'r+' - Otwórz do odczytu i zapisu; ustawia wskaźnik pliku na początku pliku. 'w' - Otwórz tylko do zapisu; ustawia wskaźnik pliku na początku pliku i obcina plik (zeruje) do 0 długości. Jeśli plik nie istnieje to próbuje go utworzyć. 'w+' - Otwórz do odczytu i zapisu; ustawia wskaźnik pliku na początku pliku i obcina plik (zeruje) do 0 długości. Jeśli plik nie istnieje to próbuje go utworzyć. 'a' - Otwórz tylko do zapisu; ustawia wskaźnik pliku na końcu pliku. Jeśli plik nie istnieje to próbuje go utworzyć. 'a+' - Otwórz do odczytu i zapisu; ustawia wskaźnik pliku na końcu pliku. Jeśli plik nie istnieje to próbuje go utworzyć. $fi jest tzw. uchwytem pliku w nazwie pliku można używać oraz ftp:// gdy się coś nie powiedzie $fi=false przydatna funkcja file_exists("nazwa") typu logicznego

80 PHP- obsługa plików (2) Po prawidłowym otwarciu można z plikiem pracować zapisać coś do pliku fputs($fi,"ten tekst trafi do pliku \n"); odzcytać z pliku $linia=fgets($fi,100); # 100 znaków lub $znak=fgetc($fi); Przy tych operacjach znacznik pliku przesuwany jest o 1 do przodu plik należy zamknąć fclose($fi);

81 PHP- funkcje wbudowane Matematyczne - sin($x) obsługi stringów - ereg($wzorzec,$napis) - przeszukuje $napis z wykorzystaniem wyrażenia regularnego $wzorzec obsługi tablic - sort($tablica) - sortuje tablice od min do max obsługi sieci - mail($odbiorca,$temat,$wiadomosc,$d\odatkowe_nagłowki) graficzne - imagecreate($wysokosc,$szerokosc) - tworzy obrazek typu GIF obsługi plików - fopen($plik,$tryb) - otwiera plik i zwraca jego identyfikator obsługa dat i czasu - date($format) obsługi baz danych - mysql_connect($host,$user,$password) - otwiera połaczenie z baza MySQL

82 Połączenie PHP-MySQL (1) PHP zawiera wiele funkcji umożliwiających prace z bazą. Wymienię tylko kilka najczęściej używanych. INT mysql_connect( nazwa hosta, nazwa_użyt, hasło ); funcja zwraca identyfikator (numer) połączenia użycie: $link = mysql_connect("localhost", info", info") or die ("Nie można się połączyć"); połączenie zostaje zamknięte po użyciu funkcji: mysql_close(link);

83 Połączenie PHP-MySQL(2) Wybranie bazy: mysql_select_db ( moja_baza") or die ("Nie mozna wybrać bazy danych"); zapytanie SQL: $result = mysql_query ("SELECT * FROM adresy",$link) or die ("Zapytanie zakończone niepowodzeniem"); Nie trzeba podawac $link- wtedy domyślnie ostanio użyte połączenie $result jest identyfikatorem (int) zbioru wynikow przykład: $result = mysql_query ("SELECT * FROM adresy",$link); echo "w zbiorze jest ". mysql_num_rows($result). "rekordow" ;

84 Połączenie PHP-MySQL(3) mysql_fetch_array($result) - pobiera wiersz i zwraca go w postaci tabeli jeśli w zbiorze wyników nie ma już rekordów zwracane jest FALSE pozwala to używać konstrukcji: while ($osoba=mysql_fetch_array($result)){ echo $osoba["imie"]. $osoba["nazwisko"]. $osoba["adres"]. "<br>" ; }

85 przykład licznik w pliku tekstowym <?PHP $filename="/tmp/licznik"; # WSTAW TU SWOJA NAZWE $fp=fopen($filename,"r+"); $nr=fgets($fp,10); $nr++; fseek($fp,0); fwrite($fp,$nr,10); fclose($fp); echo "<h1> licznik = $nr </h1>";?>

86 przykład licznik i ciasteczko <? setcookie("licznik","1",time()+100);?> ustawia ciastko o nazwie licznik ważne 100 sekund <html> <body> = $_COOKIE['licznik']; //odczytanie wartości ciasteczka $filename=./licznik $plik = fopen($filename,"r"); $licz = fread($plik, 10); fclose($plik); if ($odwiedzony) { echo("jeste6 tu po raz ". $licz); } else { $licz++; echo("jeste6 tu po raz ". $licz); } $wczyt = fopen($filename,"w"); fwrite($wczyt,$licz); fclose($wczyt);?> </body> </html>

Dlaczego PHP? - zalety

Dlaczego PHP? - zalety Dlaczego PHP? - zalety (+) bezpieczeństwo kodu - PHP wykonuje się po stronie serwera ( niezależność od przeglądarki) (+) bezpieczeństwo danych - wykorzystanie ssl i HTTPS (+) PHP jako moduł serwera WWW

Bardziej szczegółowo

korzyści finansowe przewaga pomysłu nad kapitałem tworzenie nowych branż tworzenie mechanizmów pochodnych (np. serwis snip).

korzyści finansowe przewaga pomysłu nad kapitałem tworzenie nowych branż tworzenie mechanizmów pochodnych (np. serwis snip). E-BIZNES E-biznes :działalność gospodarcza oparta na rozwiązaniach teleinformatycznych pojęcie wprowadzone w 1995 przez IBM obejmuje m.in. wymianę informacji między producentami, dystrybutorami i odbiorcami

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

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

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

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

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

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

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

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

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

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

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

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

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 4 mysql MySQL - wstęp SZBD: komercyjne: Microsoft SQL Server, Oracle, DB2... darmowe: MySQL, PostgreSQL, Firebird... MySQL darmowy (użytek niekomercyjny) Wady: niska wydajność

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

Kurs. Podstawy MySQL

Kurs. Podstawy MySQL Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o

Bardziej szczegółowo

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Przetwarzanie i organizowanie danych : bazy danych Nr ćwiczenia 10 Temat Aplikacje

Bardziej szczegółowo

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

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables MYSQL 1 1. Sprawdzenie ustawień konfiguracyjnych Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables 2 2. Wstępna konfiguracja Po zainstalowaniu aplikacji należy przed uruchomieniem wykonać

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych. Technologie Informacyjne Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2010/2011 Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią

Bardziej szczegółowo

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Dostęp do baz danych z serwisu www - PHP Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK Bazy Danych I, 8 Grudzień 2009 Plan Trochę teorii Uwagi techniczne Ćwiczenia Pytania Trójwarstwowy

Bardziej szczegółowo

Wykład 2. SQL 1 Structured Query Lenguage

Wykład 2. SQL 1 Structured Query Lenguage Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Bazy danych 5. Samozłaczenie SQL podstawy

Bazy danych 5. Samozłaczenie SQL podstawy Bazy danych 5. Samozłaczenie SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Przykład kolejowy Tworzymy bazę danych zawierajac a (uproszczony) rozkład jazdy pociagów

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

MySQL. Darmowa baza danych. Æwiczenia praktyczne

MySQL. Darmowa baza danych. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOœCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREœCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1

Bardziej szczegółowo

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja Zagadnienia Konstrukcja bibliotek mysql i mysqli w PHP Dynamiczne generowanie stron Połączenie, zapytanie i sesja Podstawowe opakowanie dla zapytań SQL w PHP Zarządzania uŝytkownikami Włamania do mysql

Bardziej szczegółowo

Internetowe bazy danych

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

Bardziej szczegółowo

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007 1. Wstęp PHP jest to skryptowy język programowania wykonywany po stronie serwera (server-side) służący do generowania stron internetowych. Skrypty napisane w PHP po uruchomieniu nie są kompilowane do postaci

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0 Uprawnienia dla uż ytkowników MANIPULACJA UPRAWNIENIAMI Przechodzimy do cześci nadawania oraz odbierania uprawnie ń. Wszelkie zmiany dotyczące tabel w bazie mysql można przeprowadza ć za pomoc ą znanych

Bardziej szczegółowo

DECLARE typ [( )] [ NOT NULL ] [ { := DEFAULT } ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP Zad. 1 Dla każdego zamówienia wyznaczyć jego wartość. Należy podać numer zamówienia oraz wartość. select z.id_zamowienia, sum(ilosc*cena) as wartosc

Bardziej szczegółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

Bardziej szczegółowo

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

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

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika

Bardziej szczegółowo

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

Należy ściągnąć oprogramowanie Apache na platformę

Należy ściągnąć oprogramowanie Apache na platformę Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 2

Podstawy programowania III WYKŁAD 2 Podstawy programowania III WYKŁAD 2 Jan Kazimirski 1 Komunikacja z bazami danych 2 PHP i bazy danych PHP zapewnia dostęp do wielu popularnych baz danych. Kilka poziomów abstrakcji: Funkcje obsługujące

Bardziej szczegółowo

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)

Bardziej szczegółowo

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

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I Wydział Informatyki Politechnika Białostocka Plan wykładu Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I 1. MySQL 2. Powtórzenie SQL WYKŁAD 2: MySQL: podstawowe obiekty Powtórzenie

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a Laboratorium nr 1 Temat: Wprowadzenie do MySQL-a MySQL jest najpopularniejszym darmowym systemem obsługi baz danych rozpowszechnianym na zasadach licencji GPL. Jego nowatorska budowa pozwoliła na stworzenie

Bardziej szczegółowo

Bazy danych SQL Server 2005

Bazy danych SQL Server 2005 Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,

Bardziej szczegółowo

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

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl)

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl) mysql relacyjna baza danych wstęp Materiały pomocnicze do laboratorium z przedmiotu: Techniki Informatyczne Stanisław Flaga () Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów

Bardziej szczegółowo

W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów.

W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów. W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów. Logujemy się do bazy danych (jak pamiętamy, słuŝy do tego oprogramowanie klienta, czyli programik mysql). ZałóŜmy sobie przede wszystkim

Bardziej szczegółowo

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

Zarządzanie systemami informatycznymi. Zarządzanie internetową bazą danych MySQL Zarządzanie systemami informatycznymi Zarządzanie internetową bazą danych MySQL Bazy danych Koncepcja bazy danych Relacyjna baza danych Projektowanie internetowej bazy danych Koncepcja bazy danych Bazą

Bardziej szczegółowo

NARZĘDZIA WIZUALIZACJI

NARZĘDZIA WIZUALIZACJI Kurs interaktywnej komunikacji wizualnej NARZĘDZIA WIZUALIZACJI Andrzej Łachwa andrzej.lachwa@uj.edu.pl 3 4/8 Zobacz film: http://www.ted.com/talks/david_mccandless_the_beauty_of_dat a_visualization.html

Bardziej szczegółowo

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

SQL - DDL. 1 Tabele systemowe. 2 Typy danych SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,

Bardziej szczegółowo

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer

Bardziej szczegółowo

Podstawy programowania (PHP/Java)

Podstawy programowania (PHP/Java) Studia Podyplomowe Aplikacje i usługi internetowe Podstawy programowania (PHP/Java) Materiały pomocnicze do zajęć laboratoryjnych cz. II styczeń 2014 Opracował dr inż. Andrzej Jędruch 4. MySQL z poziomu

Bardziej szczegółowo

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

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

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

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010 Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Oracle11g: Programowanie w PL/SQL

Oracle11g: Programowanie w PL/SQL Oracle11g: Programowanie w PL/SQL OPIS: Kurs pozwala zrozumieć zalety programowania w języku PL/SQL. Studenci uczą się tworzyć bloki kodu wykonywanego po stronie serwera, który może być współużytkowany

Bardziej szczegółowo

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

BAZA DANYCH SIECI HOTELI

BAZA DANYCH SIECI HOTELI Paulina Gogół s241906 BAZA DANYCH SIECI HOTELI Baza jest częścią systemu zarządzającego pewną siecią hoteli. Składa się z tabeli powiązanych ze sobą różnymi relacjami. Służy ona lepszemu zorganizowaniu

Bardziej szczegółowo

5. Współpraca z bazą danych MySQL

5. Współpraca z bazą danych MySQL 5. Współpraca z bazą danych MySQL 5.1. Informacje ogólne Język PHP posiada obsługę wielu relacyjnych baz danych, jedną z najpopularniejszych jest baza MySQL. PHP pozwala na pełną współpracę z bazą. Praca

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo