• Nie Znaleziono Wyników

MySQL (by XAMPP) Obsługa środowiska XAMPP oraz tworzenie tabel z wykorzystaniem graficznego kreatora.

N/A
N/A
Protected

Academic year: 2021

Share "MySQL (by XAMPP) Obsługa środowiska XAMPP oraz tworzenie tabel z wykorzystaniem graficznego kreatora."

Copied!
48
0
0

Pełen tekst

(1)

MySQL (by XAMPP)

Obsługa środowiska XAMPP oraz tworzenie tabel z wykorzystaniem graficznego kreatora.

(2)

Uruchamianie środowiska XAMPP do pracy z MySQL

(3)

UWAGA!!!

Do działania MySQL wystarczy uruchomid moduł MySQL, jednak chcąc zarządzad BD za pomocą phpMyAdmin (środowiska napisanego w PHP do

obsługi MySQL) należy uruchomid również moduł Apatche…

Należy zwrócid uwagę by oba moduły wystartowały (status zielony)

Jeśli tak nie jest trzeba się upewnid czy posiadamy dostateczne uprawnienia do folderu gdzie zapisany jest pakiet XAMPP oraz czy

w zaporze systemowej są dodane wyjątki dla Apatche i MySQL.

(4)

Pierwszy raz z XAMPP

W przeglądarce wpisujemy adres:

(5)

Dalej należy odszukad na stronie startowej XAMPP link do phpMyAdmin…

Po kliknięciu zostaniemy przekserowani do narzędzia phpMyAdmin służącego do zarządzania MySQL.

(6)

W zależności od wersji wygląda ono tak:

(7)

Wybór bazy danych

MySQL pozwala na stworzenie i użytkowanie w tym samym czasie wielu baz danych.

Panel po prawej umożliwia wybór bazy z którą chcemy pracowad.

W szczególności jest tu kilka baz danych, w których MySQL przechowuje dane istotne z punktu widzenia działania systemu. Tych baz

danych, których nie znamy lub nie jesteśmy autorami lepiej nie ruszad…

(8)

Po wybraniu żądanej BD zobaczymy pozycja się rozwija i można zacząd prace z tą BD.

My jednak zaczniemy od początku – czyli od sytuacji, gdy samą bazę danych musimy sobie dopiero stworzyd…

(9)

W tym celu wybieramy z menu pozycję BAZY DANYCH:

(10)

W zakładce BAZY DANYCH mamy możliwośd stworzenia nowej bazy danych. W tym celu należy wpisad jej nazwę oraz wybrad metodę porównywania napisów (tą pozycję można zostawid bez

zmian):

Następnie wystarczy kliknąd na opcję UTWÓRZ i baza danych zostanie stworzona…

UWAGA: nazwy bazy danych, tabel jak i atrybutów powinny byd pozbawione polskich liter i najlepiej bez spacji!

(11)

O fakcie utworzenia nowej bazy danych zostaniemy poinformowani odpowiednim komunikatem:

Komunikat o błędzie oznacza, że coś robimy nie tak (np.

próbujemy utworzyd bazę o nazwie jaka już została wykorzystana)…

Po utworzeniu nowej bazy pojawia się ona również w panelu poprawej:

(12)

Do pozostałych funkcji dostępnych z poziomu panelu głównego phpMyAdmina jeszcze wrócimy.

(13)

Teraz stworzymy przykładową tabelę w naszej bazie z poziomu interfejsu phpMyAdmin. W tym celu klikamy na ‘węzeł’ naszej bazy danych -> Powinno pojawid się menu dostępne dla tej bazy

danych:

->

(14)

Jak widad pojawia się nowa pozycja (która zastępuje pozycję BAZY DANYCH) – ta pozycja to STRUKTURA.

Umożliwia ona tworzenie tabel w bazie danych. Wystarczy podad nazwę tabeli oraz ilośd kolumn:

Następnie klikamy na pozycję WYKONAJ

(15)

Pojawia się okno gdzie należy doprecyzowad jak mają się nazywad poszczególne atrybuty (kolumny), jaki mają przechowywad typ

danych oraz inne informacje związane ze strukturą tabeli…

(16)

Typy danych:

Omówię tylko najważniejsze typy (pełny spis i opis typów można znaleźd m.in. w manualu do MySQL):

(17)

INT – typ całkowitoliczbowy. Odmiany o mniejszej lub większej pojemności: TINYINT, SMALLINT, BIGINT…

FLOAT – typ liczbowy rzeczywisty (pozwala zapisad liczby z

wartością po przecinku). Posiada ograniczoną precyzję i wszystkie wady liczb rzeczywistych zapisywanych w komputerach (potrafi zniekształcad wartości).

DECIMAL – typ liczbowy, pozwalający zapisywad wartości z częścią ułamkową z określoną precyzją (np. 2 miejsca po przecinku).

Stosowany m.in. do przechowywania informacji o cenach itp. (nie zniekształca danych)

(18)

VARCHAR – typ znakowy o określonej maksymalnej długości znaków. Doskonały do danych typu imię, nazwisko, nazwa towaru, hasło, itd…

TEXT – typ znakowy jednak bez określania maksymalnej długości znaków (dobry tam, gdzie będą zbierane informacje, co do

których długości nie jesteśmy pewni). Bardziej kosztowny od VARCHAR dlatego trzeba go używad z głową i oszczędnie.

(19)

BOOLEAN – w zasadzie typ liczbowy jednak pozwala zapisad wartością logiczną FALSE/TRUE (1/0). Doskonały do zapisania informacji no charakterze TAK/NIE.

DATE/DATETIME – typ data/data-czas pozwalający zapisad daty lub daty i godziny w systemie.

(20)

Pozycja Długośd/Wartośd

Pozwala określid precyzję formatu liczbowego, lub maksymalną długośd łaocucha znaków…

(21)

Ustawienia domyślne – pozwala określid domyślną wartośd danego atrybutu:

-brak – brak wartości domyślnej -NULL – wartośd pusta

CURRENT_TIMESTAMP – znacznik czasowy (doczytad)

Przydatne w momencie, gdy dopuszczamy np. wartośd pustą jakiegoś atrybutu. Wówczas jeśli użytkownik nie poda wartości tego atrybutu wprowadzając dane do BD, ta sama uzupełni jego wartośd o NULL. Jeśli nie określamy wartości domyślnej

wybieramy BRAK…

(22)

Metoda porównywania napisów

Standardowo najlepiej nie ruszad tej pozycji i zdefiniowad metodę porównywania dla całej bazy danych na etapie jej tworzenia…

(23)

Atrybuty

Pozycja powala określid dodatkowe atrybuty pola.

Szczególnie przydatne do typów liczbowych jeśli chcemy przechowywad liczby dodatnie (z zerem lub bez zera / odpowiednio pozycja

UNSIGNED ZEROFILL lub UNSIGNED).

(24)

NULL

Bardzo przydatna i ważna opcja – pozwala określid czy w danym atrybucie można przechowywad wartośd NULL, co przekłada się na to czy dany atrybut jest OBLIGATORYJNY – brak zaznaczonej

opcji Null, lub czy dany atrybut jest OPCJONALNY – zaznaczona opcja Null.

Należy pamiętad, że:

-dla atrybutów z zaznaczoną opcją Null, BD nie będzie wymagała podawania wartości,

-atrybuty ważne, których wartości wymagamy nie mogą posiadad zaznaczonej opcji Null,

-atrybuty będące PRYMARY KEY nie mogą mied zaznaczonej opcji Null.

(25)

Indeks

Indeks to ważna pozycja po pozwala z poziomu

phpMyAdmin określid klucz główny (PRIMARY KEY) w tabeli. Ale przede wszystkim jest to też opcja, która odpowiada za założeniu indeksu na danym atrybucie – to z kolei może byd istotne w

wyszukiwaniu danych w BD po wartościach danego atrybutu, etc.

--- oznacza brak indeksu

PRIMARY oznacza indeks i jednocześnie PK tabeli

UNIQUE oznacza indeks i wymuszenie unikalności wartości atrybutu (przydatne np. do przechowywania loginu, etc)

INDEX zakłada indeks dla atrybutu (kwestie wyszukiwania)

(26)

A_I

Czyli Auto Increment – oznacza, że wartości danego atrybutu będzie w sposób AUTOMATYCZNY generowana przez BD. Jeśli dla

danego atrybutu zaznaczamy te opcję to nie należy jego wartości podawad w trakcie wprowadzania danych do BD.

Opcja przydatna wszędzie tam, gdzie chcemy mied gwarancję, że każda kolejna wartośd będzie inna niż poprzednia (z zachowaniem unikalności). Świetne do

generowania np. identyfikatorów (PK).

UWAGA: działa tylko dla typów całkowitoliczbowych…

(27)

Pozostałe dane opisujące strukturę nie są już dla nas tak ważne (dla chętnych warto zajrzed do MANUALa MySQL)

UWAGA: Warto zauważyd, że nie wszystkie opcje są możliwe do jednoczesnego wybrania (np. jeśli decydujemy się na atrybut typu

PRIMARY nie możemy wybrad dla niego opcji NULL). Niektóre opcję są też nierozerwalne, np. atrybut typu VARCHAR wymaga

podania maksymalnej długości pola.

(28)

Przykładowa struktura tabeli Osoba:

(29)

Przykładowa tabela Produkt

Cena – pozycja typu DECIMAL (6 cyfr, z czego dwie po przecinku)

NaStanie – określa czy dany produkt jest na staniemagazynowym – wartośd domyślna tego pola zdefiniowana jest na 0 (czyli logiczne NIE).

(30)

Inne ważne parametry tabeli:

Silnik składowania – do wyboru jest kilka opcji, jednak najlepiej wybrad InnoDB (to silnik w pełni relacyjny). Inne pozycje mogą byd

przydatne w specyficznych zastosowaniach, ale mogą posiadad szereg ograniczeo etc. (szczegóły w manualu).

(31)

Po dodaniu tabeli do BD pojawia się ona w strukturze danej bazy oraz na liście:

W ten sposób można tworzyd kolejne tabele… ale co w wypadku gdy zorientujemy się, że wkradł się błąd (zapomnieliśmy o jakimś

atrybucie lub chcemy jakiś inny usunąd etc).

(32)

Jeśli określiliśmy jedynie strukturę BD, ale jeszcze nie zostały do niej dodane żadne dane to można spokojnie zmieniad jej strukturę

bez większych ograniczeo – jeśli dane w tabelach już są należy pamiętad, że może to byd znacznie utrudnione.

Np. jeśli w tabeli są już dane i nagle chcemy dodad do jej struktury nowy atrybut, który jest obowiązkowy, będzie to problem,

ponieważ jak BD ma uzupełnid jego wartośd dla już istniejących danych….

(33)

Jeśli jednak nic nas nie ogranicza to modyfikacja struktury z poziomy graficznego jest prosta:

Wystarczy na liście przy wybranej tabeli wybrad opcję STRUKTURA Pojawi się okno edycji, w którym możemy zmienid nazwy, typ i

inne parametry już istniejących atrybutów, lub je usuwad:

(34)

Można również dodad nowy/nowe atrybut/atrybuty:

Możemy tutaj,

jednocześnie dodad kilka atrybutów,

decydując

jednocześnie, gdzie mają zostad dodane (w praktyce miejsce wstawienia nie ma znaczenia z punktu widzenia działania BD – jedynie kwestie wizualne).

(35)

Warto zauważyd, że na tym poziomie nie informowaliśmy BD o związkach jakie mogą zachodzid pomiędzy tabelami.

(36)

Przykładowa sytuacja:

Dostawca może dostarczad

wiele produktów, ale produkt musi byd dostarczany przez jednego dostawcę.

Warto zauważyd, że zgodnie z zasadami, identyfikator dostawcy będzie przechowywany przez produkt, który dostawca dostarcza w postaci klucza obcego. Na diagramie nie ma tego ponieważ, można to wyczytad ze związku, który jest pomiędzy dostawcą i produktem.

(37)

Można by zatem rozszerzyd powyższy diagram o dodatkową pozycję:

(38)

Zatem w pierwszej kolejności nasz produkt trzeba poszerzyd o dodatkowy atrybut.

UWAGA: typ i długośd atrybutu KLUCZA OBCEGO (FOREIGN KEY) w jednej tabeli musi byd zgodny z typem i długością

odpowiadającemu mu KLUCZOWI GŁÓWNEMU (PRIMARY KEY) w drugiej tabeli!!!

(39)

Niestety samo dodanie do tabeli dodatkowego atrybutu nie oznacza jeszcze, że pełni on rolę KLUCZA OBCEGO…

Aby informacja o związku pomiędzy tabelami była widoczna należy skorzystad z funkcji WIDOK PROJEKTU

Pozwala ona wyświetlid w sposób graficzny tabele oraz związki pomiędzy nimi.

(40)

Korzystając z funkcji Dodaj Związek, możemy połączyd dwie tabele ze sobą.

Jednak ta opcja nie zawsze zadziała. Dlatego by dodawad tabele do BD i związki pomiędzy nimi najlepiej skorzystad z kody SQL i

zrobid to w sposób opisany w innej prezentacji.

(41)

Graficzne metody projektowania Tabel i Związków nie zawsze działają tak jak powinny i nie dają pełnej kontroli nad tym co się

dzieje – to tak samo jak edytory WYSIWYG do tworzenia stron internetowych – zawsze lepszą kontrolę nad stroną mamy pisząc

ją ręcznie…

(42)

Inne funkcje phpMyAdmina:

(43)

Dodawanie danych do tabeli

(44)

Przeglądanie istniejących danych w tabeli

(45)

Usuwanie / Edycja istniejących rekordów

I wiele innych…

(46)

ALE NAJWAŻNIEJSZĄ Z ZAKŁADEK (FUNKCJI)

phpMyAdmin jest zakładka SQL dostępna

zarówno z poziomu poszczególnych tabel jak i z poziomy całej bazy danych:

(47)

SQL

to funkcja umożliwiająca wykonywanie w bazie danych poleceo (zapytao) języka SQL, który jak wiadomo, daje

nieograniczone możliwości operowania strukturą oraz danymi z bazie danych…

Dlatego niewątpliwie jest to najpotężniejsze narzędzie, które warto poznad…

(48)

K O N

IEC

Cytaty

Powiązane dokumenty

Perspektywa naturalistyczna pojawiła się w drugiej połowie XX wieku jako sprzeciw wobec metodologii scjentystycznej i filozofii analitycznej.. Ta

Zastanów się, jaka jest różnica między chwaleniem a przechwalaniem.. W tym celu

INSERT INTO osoba (id_osoby, id_miasta, nazwisko, adres, wiek, zawod) SELECT empno, 1, ename, NULL, 30, job FROM emp;... Utworzyć perspektywę „niepełnoletni”, wybierającą

znajduje się klucz obcy w postaci atrybutu customer_id odwołujący się do tabeli customer.. POMYŁKA – jak

§ 2. Jeżeli małżonkowie zajmują wspólne mieszkanie, sąd w wyroku rozwodowym orzeka także o sposobie 

Pojęcie to zrodziło się na gruncie historii, której częścią jest historia wychowania, i oznacza tematy nie przeanalizowane naukowo przez przedstawicieli wymienionych

Jeśli wiadomo, że wszystkich kuponów jest 185 250 786, to aby dowiedzieć się ile one wszystkie kosztują należy ich ilość pomnożyć przez cenę jednego kuponu; 4

{VARCHAR – łańcuch znaków o zmiennej długości (do 20 znaków), UNIQUE – unikatowy, NOT NULL – pole nie może być puste}.. pensja DECIMAL(7,2)