Część VI Baza danych MySQL i PHP

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

Download "Część VI Baza danych MySQL i PHP"

Transkrypt

1 Koncepcje relacyjnych baz danych Jedną z najwaŝniejszych cech nowoczesnych języków programowania lub narzędzi programistycznych jest zdolność współpracy z bazą danych. Jest to spowodowane tym, Ŝe systemy zarządzania bazami danych posiadają wiele bardzo wydajnych i niezwykle uŝytecznych mechanizmów zarządzania danymi, jak na przykład indeksowanie, relacje pomiędzy danymi, obsługa transakcji, kaskadowe operacje wykonywane na danych i wiele innych. PHP pozwala na dostęp do danych przy uŝyciu bogatego zestawu funkcji związanych z bazami danych. Przez bazę danych (w uproszczeniu) rozumiemy uporządkowany zbiór danych, a przez system bazy danych bazę danych oraz oprogramowanie umoŝliwiające operowanie na niej. Baza danych jest przechowywana na nośnikach komputerowych. Z punktu widzenia informatyki baza danych jest abstrakcyjnym modelem wybranego fragmentu rzeczywistości (często nazywanym miniświatem ).

2 Relacyjne bazy danych są obecnie najczęściej wykorzystywanym typem baz danych. Opierają się na teoretycznych podstawach algebry relacyjnej. Relacyjne bazy danych składają się z relacji, zwanych zwyczajowo tabelami danych lub po prostu tabelami. Tabela 1. Klienci KlientID Nazwisko i imię Adres Miejscowość 1 Kowalski Jan Leśna 12 Kluczbork 2 Bielska Barbara Krzywa 2 Olesno 3 Warszawski Paweł Krótka 1 Opole KaŜda kolumna tabeli Klienci posiada wyróŝniającą ją nazwę i zawiera inny rodzaj danych (przypisany inny typ). Kolumny nazywane są czasami polami lub atrybutami. Natomiast kaŝdy wiersz tabeli odpowiada innemu klientowi. KaŜdy wiersz w tabeli ma te same atrybuty. Wiersze nazywa się rekordami albo krotkami.

3 KaŜdy wiersz tabeli zawiera zbiór pojedynczych wartości odpowiadających kolumnom. KaŜda z tych wartości musi być tego samego typu, jak przypisano kolumnie. Aby odnaleźć poszczególnego klienta w tabeli, konieczne staje się znalezienie sposobu jego jednoznacznej i skutecznej identyfikacji, np. dlatego, Ŝe osób o nazwisku Kowalski moŝe być kilka. W tym celu naleŝy w tabeli umieścić unikalne pole identyfikujące klienta. W powyŝszym przypadku pole to nazywa się KlientID. Ty samym sztucznie nadany numer identyfikacyjny gwarantuje unikalność poszczególnych rekordów. Pole identyfikujące poszczególne rekordy nazywa się kluczem podstawowym lub po prostu kluczem. Klucz moŝe się teŝ dać z kilku pól, np. Nazwisko i Adres -> Kowalski Jan z ulicy Leśnej 12, co i tak nie gwarantuje unikalności. Bazy danych składają się często z kilku tabel i wykorzystują klucze do uwidocznienia odwołań między dwiema oddzielnymi tabelami. Do naszej bazy danych dołączamy drugą tabelę zawierającą informację o np. wypoŝyczonych przez klientów filmach z wypoŝyczalni DVD.

4 KaŜdy wiersz tabeli WypoŜyczenia odpowiada jednemu wypoŝyczeniu dokonanemu przez klienta. Tabela ta zawiera równieŝ kolumnę KlientID, dzięki czemu wiemy, kim jest klient, który wypoŝyczył film. Tabela 1. Klienci KlientID Nazwisko_i_imię Adres Miejscowość 1 Kowalski Jan Leśna 12 Kluczbork 2 Bielska Barbara Krzywa 2 Olesno 3 Warszawski Paweł Krótka 1 Opole Tabela 2. WypoŜyczenia WypoŜyczenieID KlientID Opłata Data Analizując teraz wypoŝyczenia np., dla którego WypoŜyczenieID jest równe 2, wiemy, Ŝe zostało zrealizowane przez klienta, którego KlientID jest równe 1, czyli Kowalskiego Jana (tabela Klienci).

5 PowyŜszą relację określa się mianem klucza obcego. KlientID jest w tabeli Klienci - kluczem podstawowym, ale jeśli to pole pojawi się w innej tabeli (tu WypoŜyczenia), to nosi nazwę klucza obcego. Zbiór projektów wszystkich tabel, wchodzących w skład bazy danych nazywa się schematem bazy danych. Schemat powinien zawierać: - projekty tabel z oznaczeniami kolumn, - typy danych przypisanych kaŝdej kolumnie, - wyróŝnione klucze podstawowe i klucze obce Schematy baz danych mogą mieć formę diagramów (encji i relacji) lub formę tekstową, np.: Klienci(KlientID, Nazwisko_i_imię, Adres, Miejscowość) WypoŜyczenia(WypoŜyczenieID, KlientID, Opłata, Data) Podkreślenie w powyŝszym schemacie nazwy kolumny oznacza wyróŝnienie klucza podstawowego tabeli, natomiast zacienionym tekstem podkreślone są te kolumny, w których zapamiętane będą klucze obce.

6 PowyŜsza relacja określa związek pomiędzy konkretnym wierszem tabeli WypoŜyczenia i określonym wierszem tabeli Klienci. Teoria relacyjnych baz danych uwzględnia istnienie trzech typów relacji, klasyfikujących liczbę wartości po kaŝdej ze stron relacji. I tak wyróŝnia się relacje: - jeden do jednego, - jeden do wielu, - wiele do wielu Relacja jeden do jednego po kaŝdej stronie moŝe występować tylko jedna wartość. Tak by było, gdyby z tabeli Klienci wydzielić odrębną tabelę zawierającą adresy. Wówczas tabela Klienci mogłaby posiadać klucz obcy z tabeli Adresy. Krótko mówiąc: oznacza to, Ŝe jeden wiersz jednej tabeli połączony jest kluczem z jednym wierszem innej tabeli. Relacja jeden do wielu jeden wiersz tabeli połączony jest z jednym lub wieloma wierszami drugiej tabeli. W analizowanym przykładzie WypoŜyczalni, jeden klient moŝe zrealizować klika wypoŝyczeń. Tak teŝ zrobiła Barbara Bielska. W tym przypadku tabela z wieloma wierszami (tabela

7 WypoŜyczenia) zawiera kolumnę z kluczem obcym pochodzącym z tabeli z jednym wierszem (tj. tabeli Klienci z wierszem zawierającym identyfikator KlientID). Dlatego teŝ w tabeli WypoŜyczenia umieszczono kolumnę KlientID, w celu zastosowania tej relacji. Relacja wiele do wielu wiele wierszy jednej tabeli jest połączonych z wieloma wierszami innej. Gdyby na przykład powstały dodatkowo dwie tabele Filmy i Aktorzy, mogłaby zaistnieć sytuacja, w której w jednym z filmów grałoby dwóch aktorów, przy czym kaŝdy z nich mógłby grać jeszcze w innych filmach (patrz Radosław Pazura). Wówczas tego typu relacje są zwykle upraszczane poprzez utworzenie trzeciej tabeli: Filmy_Aktorzy. Tabela ta zawierałaby tylko pary kluczy obcych, pochodzących z dwóch pozostałych tabel i określałaby, który z aktorów (sam lub z innym aktorem) grał w danym filmie.

8 Tworzenie internetowej bazy danych Tworzenie bazy danych MySQL przeznaczonej do udostępniania na stronach WWW przebiega etapami: Utworzenie bazy danych (podanie nazwy); Zarejestrowanie uŝytkowników i nadanie im przywilejów; Prowadzenie do systemu przywilejów MySQL; Utworzenie tabel w bazie danych; Określenie typów kolumn w tabelach; Nadanie wstępnych wartości w komórkach tabel Jako przykład przy tworzeniu bazy danych MySQL posłuŝy np. księgarnia internetowa KsiąŜkorama. Schemat takiej bazy danych przedstawia się następująco: Klienci(KlientID, Nazwisko, Adres, Miejscowosc) Zamowienia(ZamowienieID, KlientID, Wartość, Data) KsiąŜki(ISBN, Autor, Tytul, Cena) Pozycje_zamowione(ZamowienieID, ISBN, Ilosc) Recenzje_ksiazek(ISBN, Recenzja) Nazwy pól będącymi kluczami podstawowymi są podkreślone linią ciągłą, obce klucze są zacienione.

9 Logowanie do serwera MySQL (monitor) W celu zalogowania się do serwera MySQL naleŝy przejść do wiersza poleceń systemu operacyjnego i wpisać komendę: > mysql h nazwa_hosta(komputera) u uŝytkownik p Znak zachęty moŝe wyglądać inaczej w zaleŝności od systemu operacyjnego i powłoki, na której się pracuje. Opcji h uŝywa się w celu wskazania komputera, do którego ma nastąpić połączenie (na którym zainstalowano serwer MySQL). Opcja u stosowana w celu wskazania identyfikatora uŝytkownika. Opcja p informuje serwer o logowaniu z uŝyciem hasła. Jeśli polecenie mysql zostanie zrealizowane prawidłowo powinien się uruchomić monitor MySQL oraz wyświetlić komunikat podobny do poniŝszego: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 759 to server version: Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

10 Tworzenie baz danych System baz danych MySQL jest w stanie obsługiwać wiele baz danych jednocześnie. Zazwyczaj jedna aplikacja współpracuje z jedna bazą danych. Polecenie tworzące bazę danych w wierszu poleceń MySQL (w monitorze) jest następujące: mysql> create database nazwa_bazy; Querry OK, 1 row affected (0.06 sec) Oznacza to bezbłędne wykonanie operacji. W przypadku niepojawienia się napisu naleŝy upewnić się czy na końcu polecenia wpisano ; (średnik). Znak ten informuje serwer MySQL o zakończeniu! wpisywania polecenia i konieczności jego wykonania. UŜytkownicy i ich przywileje System MySQL moŝe obsługiwać wielu uŝytkowników. UŜytkownik root wykorzystywany jest wyłącznie do administracji systemu (względy bezpieczeństwa). Dla kaŝdego uŝytkownika systemu MySQL administrator przyznaje konto oraz nadaje hasło dostępu, które nie muszą być takie same jak login i hasło przy logowaniu się do systemu operacyjnego.

11 Przywileje Jedną z najwaŝniejszych cech MySQL jest obsługa specyficznego systemu przywilejów, a więc posiadanie przez uŝytkownika prawa do wykonywania określonych operacji na zasobach bazy danych. Idea przywilejów zbliŝona jest do koncepcji określania praw dostępu do plików. Rejestrując nowego uŝytkownika MySQL administrator nadaje mu odpowiednie przywileje, w celu wyszczególnienia czynności, które będzie wykonać na zasobach bazy danych. W celu zwiększenia bezpieczeństwa systemu stosowana jest zasada najmniejszego przywileju. Brzmi ona następująco: UŜytkownik lub proces powinien posiadać minimalny zbiór przywilejów potrzebnych do wykonania przypisanego mu zadania. Na przykład do wysłania zapytania do bazy danych ze strony WWW uŝytkownik nie potrzebuje wszystkich przywilejów, którymi dysponuje uŝytkownik root. NaleŜy więc utworzyć nowego uŝytkownika i nadać mu tylko przywileje niezbędne do uzyskania dostępu do bazy danych.

12 Rejestrowanie uŝytkownika: polecenie GRANT Polecenia GRANT i REVOKE słuŝą do nadawania i odbierania uŝytkownikom MySQL praw na czterech poziomach uprzywilejowania: Globalny Baza danych Tabela Kolumna Polecenie GRANT słuŝy do tworzenia nowych uŝytkowników i nadawania im przywilejów. Składnia Składnia polecenia GRANT jest następująca: GRANT przywileje [kolumny] ON obiekt TO identyfikator_uzytkownika [IDENTIFIED BY haslo ] [WITH GRANT OPTION] Klauzule w nawiasach są opcjonalne. Polecenie przywileje ma postać listy przywilejów oddzielonych przecinkami.

13 Opcjonalny parametr kolumny uŝywa się w celu wskazania kolumny lub listy kolumn, do których podane przywileje zostaną zastosowane. Parametr obiekt wskazuje bazę lub tabelę, do której zastosowane zostaną wyróŝnione przywileje. W celu nadania przywilejów na wszystkie bazy danych parametr obiekt powinien przyjąć wartość *.*. Wówczas wszystkie przywileje są nadane na poziomie globalnym. MoŜna teŝ wskazać wszystkie tabele w danej bazie: nazwa_bazy.* albo nazwę konkretnej tabeli nazwa_bazy.nazwa_tabeli. Parametr nazwa_uzytkownika powinien wskazywać identyfikator, za pomocą którego uŝytkownik loguje się do serwera MySQL. Wartością parametru hasło jest hasło dostępu, którym powinien posługiwać się wskazany uŝytkownik w trakcie logowania do serwera MySQL. Dodanie opcji WITH GRANT OPTION spowoduje, Ŝe uŝytkownik będzie mógł nadawać innym uŝytkownikom takie przywileje, jakie on sam posiada.

14 Informacje dotyczące nadanych przywilejów zapamiętywane są w czterech tabelach systemowych znajdujących się w bazie danych o nazwie mysql. Tabele te to: mysql.user, mysql.db, mysql.tables_priv, mysql.columns_priv, dzięki którym moŝna zmieniać przywileje bezpośrednio w nich, zamiast polecenia GRANT. Typy i poziomy przywilejów MySQL posiada trzy typy przywilejów: Przywileje nadawane zwykłym uŝytkownikom; Przywileje dla administratorów; Przywileje specjalne. Przywileje przeznaczone dla zwykłych uŝytkowników odwołują się bezpośrednio do konkretnych rodzajów poleceń języka bazodanowego SQL i określają tryb wykonania. Przywileje dla uŝytkowników Przywilej Zastosowanie Opis SELECT tabele, kolumny Wyszukuje wiersz (rekord) z tabel. INSERT tabele, kolumny Wstawia nowy wiersz do tabel. UPDATE tabele, kolumny Zmienia wartość wierszy w tabelach. DELETE tabele Usuwanie z tabeli istniejących wierszy. INDEX tabele Tworzy i usuwa indeksy w tabelach. ALTER tabele Dokonuje zmian w strukturze istniejących tabel (np. zmiana nazwy). CREATE baza, tabele Tworzenie nowych baz danych i tabel. DROP baza, tabele Pozwala na usuwanie baz lub tabel.

15 Przywilej ALTER moŝe być uŝywany do obchodzenia systemu przywilejów przez zmianę nazw tabel, choć jest on potrzebny większości uŝytkownikom. Administrator powinien samodzielnie podejmować decyzję o nadaniu, lub nie, tego przywileju uŝytkownikom. W poniŝszej tabeli przedstawiono przywileje przeznaczone dla administratorów. Przywileje dla administratorów Przywilej Opis Pozwala na powtórne załadowanie tabel zawierających informacje na temat praw dostępu oraz na odświeŝanie RELOAD przywilejów, listy nazw łączących się komputerów, dziennika zdarzeń i tabel. SHUTDOWN UmoŜliwia zakończenie serwera MySQL. Pozwala na śledzenie procesów wykonywanych przez PROGRESS serwer i ich przerywanie. Pozwala na wczytywanie danych z plików do tabel i FILE odwrotnie. Istnieje moŝliwość nadania opisanych przywilejów uŝytkownikom nie mającym statusu administratora, jednak naleŝy tego dokonać z zachowaniem najwyŝszej ostroŝności. Zwykłemu uŝytkownikowi nie powinno się zwłaszcza nadawać przywilejów RELOAD, SHUTDOWN i PROCESS.

16 Przywilej FILE jest bardzo waŝny dla uŝytkowników, gdyŝ daje moŝliwość wstawiania danych bezpośrednio z plików do tabel, co pozwala zaoszczędzić czas, konieczny na ręczne wpisywanie kolejnych wartości. Przywilej FILE moŝe takŝe zostać wykorzystany do załadowania wszelkich plików, które widzi serwer MySQL, np. pliku bazy naleŝącej do innego uŝytkownika czy pliku zawierającego hasła dostępu. MySQL posiada takŝe dwa specjalne przywileje, przedstawione poniŝej: Przywileje specjalne Przywilej Opis Nadaje wszystkie przywileje opisane w tabelach ALL przywilejów dla uŝytkowników i administratorów. Jest on równowaŝny przywilejowi ALL PRIVILEGES. Nie nadaje Ŝadnych przywilejów. Powoduje zarejestrowanie uŝytkownika i pozwala mu na USAGE załogowanie się, lecz jakiekolwiek inne czynności są dla niego niedostępne. Odpowiednie przywileje nadawane są zwykle później.

17 Przeciwieństwem polecenia GRANT jest polecenie REVOKE, uŝywane w celu odebrania uŝytkownikowi określonych przywilejów. Jego składnia jest bardzo podobna do składni polecenia GRANT: REVOKE przywileje [kolumny] ON obiekt FROM identyfikator_uzytkownika JeŜeli do polecenia GRANT dołączono opcję WITH GRANT OPTION, wówczas przywilej ten moŝna cofnąć w następujący sposób: REVOKE GRANT OPTION ON obiekt FROM identyfikator_uzytkownika Przykłady uŝycia poleceń GRANT i REVOKE. Aby zarejestrować uŝytkownika mającego status administratora naleŝy w monitorze MySQL wpisać: mysql> grant all -> on * -> to Fred identified by Sq14aQ -> with grant option; Polecenia te spowodują nadanie wszystkich przywilejów na wszystkie bazy danych uŝytkownikowi o identyfikatorze Fred, posługującemu się hasłem Sq14aQ oraz umoŝliwi nadanie dowolnego przywileju innym uŝytkownikom.

18 W przypadku konieczności wyeliminowania tego uŝytkownika, naleŝy to zrobić w następujący sposób: mysql> revoke all -> on * -> from Fred; Zarejestrowanie uŝytkownika, który nie będzie posiadał Ŝadnych przywilejów: mysql> grant usage -> on ksiazki.* -> to zosia identified by magic123 ; Po rozmowie z Zosią wiadome jest, Ŝe będzie ona korzystać z bazy danych, moŝna jej nadać odpowiednie przywileje: mysql> grant select, insert, update, delete, index, create, alter, drop -> on ksiazki.* -> to zosia; Kiedy Zosia nie będzie juŝ potrzebowała dostępu do bazy danych, moŝna jej odebrać wszystkie przywileje: mysql> revoke all -> on ksiazki.* -> from zosia;

19 Rejestrowanie uŝytkownika łączącego się z Internetu Czasem staje się konieczne zarejestrowanie uŝytkownika, który łączy się z bazą danych poprzez stronę WWW zawierającą skrypty PHP. RównieŜ tutaj naleŝy stosować metodę najmniejszego przywileju. Trzeba więc rozstrzygnąć, jakie operacje ma wykonywać skrypt PHP. W większości przypadków wystarczą przywileje SELECT, INSERT, UPDATE i DELETE wg poniŝszego przykładu: mysql> grant select, insert, update, delete -> on ksiazki.* -> to ksiazkorama identified by haslo ; Wylogowanie się uŝytkownika Wylogowanie się uŝytkownika z serwera MySQL jest dokonywane za pomocą polecenia quit;. Zalecane jest ponowne załogowanie się jako uŝytkownik internetowy i sprawdzenie poprawności działania bazy danych.

20 UŜywanie odpowiedniej bazy danych Po zalogowaniu przez uŝytkownika do serwera MySQL, pierwszą czynnością, jaką naleŝy wykonać jest wskazanie bazy danych, która zostanie wykorzystana. Stosuje się wówczas polecenie: mysql> use nazwa_bazy; Tę samą operację moŝna wykonać juŝ podczas logowania się do serwera: > mysql nazwa_bazy h nazwa_komp u uzytkownik -p W omawianym przykładzie księgarni internetowej będzie to baza Ksiazki: mysql> use ksiąŝki; Po wykonaniu tego polecenia MySQL zwróci następujący komunikat: Database changed Jeśli przed przystąpieniem do pracy nie zostanie wybrana Ŝadna baza danych, serwer wyświetli komunikat o błędzie: ERROR 1046: No Database Selected

21 Tworzenie tabel bazy danych Jednym z etapów tworzenia bazy danych jest konstrukcja tabeli. W tym celu stosuje się polecenie CREATE TABLE o składni: mysql> CREATE TABLE nazwa_tabeli(kolumny); Parametr nazwa_tabeli powinien określać nazwę tabeli, która ma zostać utworzona. Parametr kolumny powinien mieć postać listy kolumn oddzielonych przecinkami, jakie będzie zawierać nowa tabela. KaŜda kolumna musi być określona przez podanie jej nazwy i typu danych. Przykład tworzenia tabeli Klienci: mysql> create table klienci -> (klientid int unsigned not null auto_increment primary key, -> nazwisko char(30) not null, -> adres char(40) not null, -> miejscowosc char(20) not null -> ); Query OK, 0 rows affected (0.00 sec)

22 Przedstawione polecenia (za pomocą języka SQL), tworzące tabele bazy danych mogą być zawarte w pliku nazwa_pliku.sql (zakłada się, Ŝe nazwa_pliku.sql ma tę samą lokalizację, co aplikacja mysql). Wówczas utworzenia tabeli moŝna równieŝ dokonać podczas logowania do serwera: > mysql h nazwa_komp u uŝytkownik D nazwa_bazy p < nazwa_pliku.sql Znaczenie dodatkowych atrybutów jest następujące: NOT NULL oznacza, Ŝe pole, przy którym stoi ten atrybut musi mieć w kaŝdym wierszu jakąś wartość; jeśli atrybut został pominięty, pola tego wiersza mogą być puste. AUTO_INCREMENT atrybut nadawany kolumnom, które muszą być indeksowane automatycznie. PRIMARY KEY oznacza, Ŝe wskazana kolumna jest kluczem podstawowym tabeli i posiada unikalne wartości, i to właśnie dzięki automatycznie indeksującemu atrybutowi AUTO_INCREMENT. Atrybut UNSIGNED wpisany za identyfikatorem typu całkowitoliczbowego oznacza, Ŝe kolumna moŝe zawierać dane tylko nieujemne.

23 Typy danych w kolumnach W MySQL rozróŝnia się trzy typy danych: liczbowy, czasu i daty oraz łańcuchowy. Typy te posiadają takŝe szereg podtypów. Typy liczbowe dzielą się na całkowitoliczbowe i zmiennoprzecinkowe. Typy całkowitoliczbowe (M zakres max. szerok. wyświetlania) Typ Zakres Bajty Opis TINYINT[(M)] lub Bardzo małe liczby całkowite BIT Synonim TINYINT BOOL Synonim TINYINT SMALLINT[(M)] lub Małe liczby całkowite MEDIUMINT[(M)] lub Średnie liczby całkowite INT[(M)] lub Zwykłe liczby całkowite INTEGER[(M)] Synonim INT BIGINT[(M)] lub DuŜe liczby całkowite

24 Typy zmiennoprzecinkowe (D to min(30,m-2)); 2, bo, i znak dla całkowitej części danej liczby Typ Zakres Bajty Opis FLOAT(precyzja) FLOAT[(M, D)] DOUBLE[(M, D)] DOUBLE PRECISSION[(M, D)] REAL[(M, D)] ZaleŜny od precyzji ± E-38 ± E+38 4 lub 8 ± E-308 ± E j.w. j.w. DECIMAL[(M, D)] róŝny M+2 4 Pojedyncza lub podwójna precyzja Pojedyncza precyzja=float(4) Podwójna precyzja=float(8) Synonim DOUBLE[(M, D)] Synonim DOUBLE[(M, D)] Liczba przecinkowa jako zmienna typu CHAR, M szerokość wyświetlania NUMERIC[(M, D)] j.w. Synonim DECIMAL DEC[(M, D)] j.w. Synonim DECIMAL Typy daty i czasu. Typy daty i czasu Typ Zakres Opis DATE do Format: RRRR-MM-DD TIME -838:59:59 do -838:59:59 Format: GG:MM:SS DATETIME :00:00 do Format: RRRR-MM-DD :59:59 GG:MM:SS TIMESTAMP[(M)] :00:00 do Typ przydatny przy roku 2037 transakcjach YEAR[(2 4)] 70-69(czyli ) Rok w formie 2 lub 4 lub cyfrow. (inny zakres)

25 Format wyświetlania typu TIMESTAMP Typ Format wyświetlania TIMESTAMP RRRRMMDDGGMMSS TIMESTAMP(14) RRRRMMDDGGMMSS TIMESTAMP(12) RRMMDDGGMMSS TIMESTAMP(10) RRMMDDGGMM TIMESTAMP(8) RRRRMMDD TIMESTAMP(6) RRMMDD TIMESTAMP(4) RRMM TIMESTAMP(2) RR Typy łańcuchowe dzielą się na trzy grupy: zwykłe typy łańcuchowe (o stałej i zmiennej długości łańcucha), typy TEXT i BLOB (duŝe teksty i duŝe bloki binarne, np. dźwięki, obrazy) oraz typy SET i ENUM (zawęŝanie zbioru i typ wyliczeniowy). Zwykłe typy łańcuchowe Typ Zakres Opis [NATIONAL] CHAR(M) [BINARY] znaków Łańcuch o stałej długości M (1..255). NATIONAL wymusza uŝycie domyślnego zbioru znaków w standardzie ANSI MySQL; BINARY wyłącza rozpoznawanie wielkości liter CHAR 1 Synonim CHAR(1) [NATIONAL] VARCHAR(M) [BINARY] znaków Łańcuch znaków o róŝnej długości, reszta jak wyŝej

26 Typy TEST i BLOB Typ Długość (znaki ) Opis TINYBLOB 255 Mały obiekt BLOB TINYTEXT 255 Krótkie pole tekstowe BLOB Zwykły obiekt BLOB TEXT Pole tekstowe o zwykłej długości MEDIUMBLOB Średni obiekt BLOB MEDIUMTEXT Pole tekstowe o średniej długości LONGBLOB DuŜy obiekt BLOB LONGTEXT Długie pole tekstowe Typy SET i ENUM Typ Max. ilość wartości w zbiorze ENUM( wartosc1, wartosc 2,..) SET( wartosc1, wartosc 2,..) 64 Opis W kolumnie tego typu moŝe znajdować się tylko jedna wartość ze zbioru wartości dopuszczalnych lub NULL W kolumnie tego typu moŝe znajdować się podzbiór wartości dopuszczalnych lub NULL

27 Praca z bazą danych Polecenia SHOW i DESCRIBE pozwalają na sprawdzenie, jakie tabele wchodzą w skład bazy, jakie bazy danych mamy do dyspozycji oraz wyświetlają szczegółowe informacje na temat konkretnej bazy. Przykłady: mysql> show tables; Tables_in_ksiazki klienci ksiazki pozycje_zamowione recenzje_ksiazek zamowienia rows in set (0.00 sec) mysql> show databases; Database ksiazki witryny rows in set (0.01 sec)

28 mysql> describe ksiazki; Field Type Null Key Default Extra isbn char(13) PRI autor char(30) YES NULL tytul char(60) YES NULL cena float(4,2) YES NULL rows in set (0.00 sec) Stosowane dotychczas polecenia opierają się o język SQL. SQL (ang. Structured Query Language) to strukturalny język zapytań. Jest to najbardziej rozpowszechniony standaryzowany język dostępu do systemów zarządzania relacyjnymi bazami danych (RDBMS). SQL słuŝy do zapisywania i pozyskiwania danych do i z bazy. Język ten rozpoznawalny jest przez niemal wszystkie systemy baz danych, m.in. MySQL, Oracle, PostgreSQL, Sybase, Microsoft SQL Server. Podstawowym standardem języka SQL jest ANSI, obsługiwany przez mysql. Wszelkie róŝnice w standardach SQL moŝna znaleźć na stronie internetowej:

29 Zapisywanie danych do bazy Przed przystąpieniem do pracy z bazą naleŝy zapisać do niej jakieś dane. Dokonuje się tego najczęściej za pomocą polecenia SQL INSERT, które umoŝliwia zapisanie do bazy wiersza danych: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,..)] VALUES (wartosc1, wartosc2,..) Na przykład w celu wstawienia nowego rekordu do bazy danych księgarni KsiąŜkorama naleŝy wpisać: INSERT into klienci VALUES (NULL, Julia Kowalska, Wierzbowa 25, Warszawa ); Czasem wystarczy wypełnić danymi tylko niektóre kolumny, nawet w róŝnej kolejność, zwłaszcza gdy brakuje danych do zapełnienia całego rekordu: INSERT into klienci (nazwisko, adres, miejscowosc) VALUES ( Maria Jankowska, Kolejowa 15, Katowice ); lub INSERT into klienci set nazwisko= Maria Jankowska, adres= Kolejowa 15, miejscowosc= Katowice ;

30 Wyszukiwanie danych w bazie Poleceniem (chyba najwaŝniejszym) słuŝącym do wyszukiwania bazie danych tych wierszy z tabel, które spełniają określone kryteria jest polecenie SELECT o składni: SELECT pozycje FROM nazwy_tabel [WHERE warunek] [GROUP BY rodzaj_grupowania] [HAVING wartosc_funkcji] [ORDER BY porzadek_sortowania] [LIMIT limit] Wykonanie poniŝszego polecenia spowoduje wyświetlenie zawartości kolumn nazwisko, miejscowosc w tabeli klienci: mysql> select nazwisko, miejscowosc from klienci; nazwisko miejscowosc Julia Kowalska Warszawa Adam Pawlak Szczecin Michalina Nowak Gliwice rows in set (0.00 sec)

31 Aby wyszukać wartości wszystkich pól wszystkich rekordów przechowywanych w tabeli Pozycje_zamowione: mysql> select * from pozycje_zamowione; zamowienieid isbn ilosc rows in set (0.00 sec) Wyszukiwanie danych w bazie W celu ograniczenia liczby wyświetlanych wierszy naleŝy określić kryteria wyszukiwania. Dokonuje się tego za pomocą opcji WHERE o składni: mysql> select * from zamowienia where klientid=3; zamowienieid klientid wartosc data rows in set (0.00 sec)

32 MySQL Szeregowanie danych w określonym porządku W celu uszeregowania wyszukiwanych wierszy w określonym porządku naleŝy opcji ORDER BY polecenia SELECT: mysql> select nazwisko, adres from klienci order by nazwisko; nazwisko adres Adam Pawlak Szeroka 1/47 Julia Kowalska Wierzbowa 25 Michalina Nowak Zachodnia rows in set (0.00 sec) Grupowanie i agregowanie danych Przykładem agregacji niech będzie wyznaczenie średniej wartości złoŝonych zamówień AVG: mysql> select avg(wartosc) from zamowienia; avg(wartosc) row in set (0.00 sec)

33 Przykładem grupowania niech będzie zapytanie SQL wyznaczające wartość średnią zamówień złoŝonych przez kaŝdego klienta GROUP BY: mysql> select klientid, avg(wartosc) from zamowienia group by klientid; klientid avg(wartosc) rows in set (0.00 sec) Przytoczone zapytanie moŝna rozszerzyć tak, aby wyszukać klientów, który złoŝyli zamówienia o przeciętnej wartości co najmniej 50 złotych: mysql> select klientid, avg(wartosc) from zamowienia group by klientid having avg(wartosc)>50; klientid avg(wartosc) row in set (0.00 sec)

34 Wskazanie wierszy, które mają być wyświetlone Polecenie SELECT posiada opcję LIMIT, słuŝącą do określenia, które wiersze z tabeli mają być wyświetlone, podając numer wiersza oraz liczbę wierszy, które mają być wyświetlone: mysql> select nazwisko from klienci limit 2,3; Dokonywanie zmian rekordów w bazie danych Oprócz wyszukiwania danych w bazie często istniej potrzeba ich zmiany. W taki celu naleŝy posłuŝyć się poleceniem UPDATE o składni: UPDATE nazwa_tabeli SET kolumna1=wyrazenie1, kolumna2=wyrazenie2,.. [WHERE warunek] [LIMIT limit] Przykład. W celu podniesienia cen wszystkich ksiąŝek o 10% naleŝy uŝyć polecenia UPDATE bez opcji WHERE: mysql> update ksiazki set cena=cena*1.1;

35 Przykład. W przypadku zmiany tylko jednego wiersza, np. naleŝy uaktualnić adres klienta, naleŝy wpisać: mysql> update klienci set adres= Olkuska 230 where klientid=4; Usuwanie rekordów z baz danych Usuwanie danych z bazy jest bardzo proste. Słuzy temu polecenie DELETE o składni: DELETE FROM nazwa_tabeli [WHERE warunek] [LIMIT limit] Aby usunąć wszystkie wiersze z tabeli naleŝy wpisać: mysql> DELETE FROM nazwa_tabeli; Aby usunąć określony wiersz z tabeli naleŝy wpisać: mysql> delete from klienci where klientid=5; Opcja LIMIT określa maksymalną liczbę wierszy, które mogą być usunięte.

36 Usuwanie tabel z baz danych W celu usunięcia tabeli z bazy danych naleŝy uŝyć polecenia DROP TABLE o składni: DROP TABLE nazwa_tabeli; Usuwanie baz danych W celu bazy danych naleŝy uŝyć polecenia DROP DATABASE o składni: DROP DTATBASE nazwa_bazy; Wykład zrealizowany w oparciu o literaturę: Luke Welling, Laura Thomson PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydawnictwo HELION 2003

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

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

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

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

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

Ć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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

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

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

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

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

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

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

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

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

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

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

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

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

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

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 instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest Autor: J. Karwowska 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ść nadania go. Użytkownik

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

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

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

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

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

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

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

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

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

Ćwiczenie 14 autoryzacja

Ćwiczenie 14 autoryzacja Bazy Danych Ćwiczenie 14 autoryzacja Uwierzytelnianie i autoryzacja uŝytkowników bazy danych Ćwiczenie 14 autoryzacja Niniejsze ćwiczenie zaprezentuje zagadnienia związane z systemem bezpieczeństwa bazy

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

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

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

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 DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

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

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

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

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

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

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

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

Projektowanie internetowej bazy danych część 1

Projektowanie internetowej bazy danych część 1 Projektowanie internetowej bazy danych część 1 Znając podstawy PHP możemy przystąpić do łączenia skryptów z bazą danych. Jak pamiętamy, w rozdziale 2. pt. "Przechowywanie i wyszukiwanie danych" przedstawiono

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

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH

Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH Konfigurowanie serwera Domyślnym folderem instalacyjnym serwera MySQL jest XAMPP\MySQL\... Istotne z punktu widzenia administratora

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

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

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

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

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

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

Uprawnienia, role, synonimy

Uprawnienia, role, synonimy Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac 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: 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

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych. Wrocławska WyŜsza Szkoła Informatyki Stosowanej Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych. Dr inŝ. Krzysztof Pieczarka Email: krzysztof.pieczarka@up.wroc.pl Tradycyjne bazy danych

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

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID

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

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

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

Połączenie z bazą danych : mysql h u root -p Enter password: *******

Połączenie z bazą danych : mysql h u root -p Enter password: ******* Połączenie z bazą danych : mysql h 127.0.0.1 -u root -p Enter password: ******* wyświetlenie istniejących baz danych: show databases; Database mysql test Uwaga ważny średnik na końcu każdej linii. Tworzenie

Bardziej szczegółowo

Internetowe bazy danych

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

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

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

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99 Plan ćwiczenia Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych UŜytkownicy i schematy bazy danych. Uwierzytelnianie i autoryzacja. Przywileje systemowe i obiektowe. Role. Synonimy. Uprawnienia,

Bardziej szczegółowo

TEST E.14 BAZY DANYCH

TEST E.14 BAZY DANYCH TEST E.14 BAZY DANYCH 1 CZAS PRACY: 45 MINUT 1. W celu dodania rekordu do tabeli Pracownicy należy użyd polecenia SQL a. INSERT INTO Pracownicy VALUES ("Jan", "Kowalski"); b. INSERT VALUES (Jan; Kowalski)

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

Krótki przegląd zapytań

Krótki przegląd zapytań Krótki przegląd zapytań NajwaŜniejszą rzeczą jest uświadomienie sobie, Ŝe baza danych to generalnie zestaw tabel a więc stosunkowo prostych obiektów, składających się z wierszy i kolumn. Wszelkie operatory,

Bardziej szczegółowo

Instrukcja CREATE TABLE

Instrukcja CREATE TABLE Podstawy języka SQL 2 Instrukcja CREATE TABLE CREATE TABLE tabela (pole_1 typ [(rozmiar)] [NOT NULL] [indeks_1] [, pole_2 typ [(rozmiar)] [NOT NULL] [indeks_2] [,...]] [, CONSTRAINT indeks_wielopolowy

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

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH Akademia Górniczo-Hutnicza Wydzia ł Inżynierii Mechanicznej i Robotyki Katedra Robotyki i Dynamiki Maszyn SIECI KOMPUTEROWE I BAZY DANYCH ĆWICZENIE NR 7 Temat: TWORZENIE I ZARZĄDZANIE INTERNETOWĄ BAZĄ

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

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Wyzwalacze (triggery) Przykład

Wyzwalacze (triggery) Przykład Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany

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

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

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

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo