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 user@localhost 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 user@localhost 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 ( 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 (

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

Ć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

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

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

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

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

Bazy danych 7. SQL podstawy

Bazy danych 7. SQL podstawy Bazy danych 7. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny

Bardziej szczegółowo

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

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu

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

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

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 - 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

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

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

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

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

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

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

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

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

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

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

Bardziej szczegółowo

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

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować: Język SQL (Structured Query Language} służy do manipulowania danymi umieszczonymi w relacyjnych bazach danych. Jest językiem uniwersalnym, dzięki czemu praca na różnych systemach baz danych sprowadza się

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

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

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

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

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Składowane procedury i funkcje

Składowane procedury i funkcje Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.

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

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

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

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

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

Bardziej szczegółowo

Bazy danych 4. SQL podstawy. P. F. Góra

Bazy danych 4. SQL podstawy. P. F. Góra Bazy danych 4. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 SQL:2006 (dialekt) SQL:2008 (dialekt) SQL:2011 (dialekt)

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

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 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 Funkcja agregująca

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

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

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

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

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

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

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

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

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

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

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1 Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język

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

Podyplomowe Studium Programowania i Baz Danych

Podyplomowe Studium Programowania i Baz Danych Podyplomowe Studium Programowania i Baz Danych Wybrany system baz danych MySQL 15 godz. wykładu / 30 godz. laboratorium dr inż. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura P. DuBois,

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

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

Bardziej szczegółowo

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

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Bazy danych. dr Radosław Matusik. radmat

Bazy danych. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat Sortowanie tablic Do sortowania tablic służą funkcje: Sortowanie tablic Do sortowania tablic służą funkcje: sort($tablica) - sortowanie w porządku rosnącym bez kluczy; Sortowanie

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

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

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

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37 Aplikacje bazodanowe Laboratorium 1 Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 1 / 37 Plan 1 Informacje wst pne 2 Przygotowanie ±rodowiska do pracy 3 Poj cie bazy danych 4 Relacyjne

Bardziej szczegółowo

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

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

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 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 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

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

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

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

Bazy danych 6. Klucze obce. P. F. Góra Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:

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

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

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

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

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 <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

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

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Podyplomowe Studium Programowania i Baz Danych

Podyplomowe Studium Programowania i Baz Danych Podyplomowe Studium Programowania i Baz Danych Wybrany system baz danych MySQL 15 godz. wykładu / 30 godz. laboratorium dr inż. Paweł Syty, 413GB, pawel.syty@pg.edu.pl, http://sylas.info Literatura P.

Bardziej szczegółowo

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza

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