Home  |  Aktualności  |  e-Komunikacja  |  WWW  |  Bezpieczeństwo  |  Linux  |  Programy  |  GSM/UMTS  |  Rozrywka

Bazy Danych - MySQL

 Czym jest baza danych? Jak możemy je podzielić?

BAZA DANYCH - to każdy zbiór usystematyzowanych informacji przechowywanych przez użytkownika. 

BAZY DANYCH - STANDARDY PROGRAMOWANIA

Ogólnie dzielimy bazy na płaskie i relacyjne:

Płaska baza danych


- to np. pliki tekstowe, w których zastosowano odpowiedni klucz podziału na rekordy i pola. Najczęściej rekordy są osobnymi liniami pliku, a pola oddzielone są umownym znakiem, np. średnikiem, dwukropkiem, czy tabulatorem. Definiując długość poszczególnych pól; nie musimy ich oddzielać - wiadomo w którym miejscu zaczyna sie odpowiednie pole.
Uwaga: Warto pamiętać o tym, że znak separacji nie może występować w zawartości pól.

Poniższy przykład prezentuje płaską bazę danych:


1;Film; Tytuł; Reżyser;
2;Film1; Tytuł1; Reżyser1;
3;Filma2; Tytuł2; Rezyser2;


W przykładzie wyróżniamy trzy pola:
- numer pozycji (id),
- tytuł,
- reżysera.

Pola oddzielone zostały za pomocą średnika. Taki plik tekstowy jest najprostszym, niewydajnym rozwiązaniem.

Relacyjna baza danych


Relacyjne bazy obsługujemy za pomocą języka zapytań SQL. Relacyjne bazy danych składają się z kolumn i rekordów. Każda kolumna ma swoją nazwę, a każdy rekord przechowuje inną pozycję. Pola są określonego typu, dlatego można w nich łatwo przechowywać teksty, liczby, daty czy obrazki. Klucze podstawowe umożliwiają jednoznaczną identyfikację danego rekordu.

W poprzednim przykładzie takim kluczem byłoby pole zawierające numer pozycji (id). W relacyjnych bazach danych kolejność rekordów nie ma znaczenia, ponieważ za pomocą języka SQL można nie tylko wybrać dowolne rekordy, i dowolnie je sortować.
---

CZYM JEST MySQL?


MySQL jest szybkim, wielowątkowym serwerem baz danych obsługującym język zapytań SQL. Pracuje z wieloma użytkownikami i doskonale nadaja się do wykorzystania razem z PHP jako darmowa platforma aplikacji internetowych.

W MySQL-u możesz między innymi tworzyć nowe bazy danych, a w nich tabele, dodawać nowe rekordy, edytować je lub usuwać. Masz do dyspozycji możliwość zarządzania użytkownikami, w tym również dokładnego określania praw dostępu do określonego pola w bazie danych.

W danym momencie z bazy danych może korzystać nieograniczona liczba osób; zależy to jedynie od zasobów fizycznych serwera.

Wszystkie przykłady obsługi MySQL-a w tym kursie będąopierać się na lokalnej bazie danych, zainstalowanej pod systemem Windows.
---


LOGOWANIE


Pierwszą rzeczą, jaką chciałbyś zrobić jest pewnie "zobaczenie" MySQL-a. Musisz się do niego najpierw zalogować. W okienku DOS-a przejdź do katalogu z binariami MySQL-a. Domyślnie jest to katalog c:\apache\mysql\bin:

c:\windows>cd ..

c:\>cd apache\mysql\bin

c:\apache\mysql\bin>

Następnie wpisz mysql z parametrami -u (użytkownik) oraz jeśli wymagane jest hasło to również -p:

c:\apache\mysql\bin>mysql -u root -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 24 to server version 3.23.22-beta-debug

Type 'help' for help.

mysql>

MySQL wypisuje zarówno informacje na temat serwera bazy danych, jak i numer identyfikacyjny połączenia z bazą danych. Mamy również do dyspozycji znak zachęty MySQL-a (mysql>).

Jeśli instalowałeś pakiet PHP Triad, to MySQL nie ma jeszcze ustawionego hasła dla użytkownika root i nie ma potrzeby jego podawania.

Składnia wywołania mysql przedstawia się następująco:

mysql [-h adres_hosta] [-u nazwa_użytkownika] [-p twoje_haslo]

Adres hosta to adres komputera, na którym znajduje się serwer bazy danych. Domyślnie jest to adres komputera lokalnego (localhost). MySQL domyślnie loguje właśnie do tego hosta.
---

WYŚWIETLANIE ISTNIEJĄCYCH BAZ DANYCH


Z pewnością chciałbyś wiedzieć, jakie bazy danych są dostępne, zanim zazcniesz tworzyć nowe, własne bazy. Aby wyświetlić listę dostępnych baz danych posłużmy się poleceniem show databases. Zaloguj się do MySQL-a (jak to zrobić) i wydaj polecenie show databases;:

mysql> show databases;

+----------+
| Database |
+----------+
| mysql    |
| test       |        
+----------+


2 rows in set (0.00 sec)

mysql>

Jak już pewnie zauważyłeś, polecenie show databases zostało zakończone znakiem średnika (podobnie jak w PHP). SQL wymaga kończenia zapytań średnikiem, co pozwala na zapisywanie jednej instrukcji w wielu liniach. Spójrzmy na przykład:

mysql> show databases
    -> ;

+----------+
| Database |
+----------+
| mysql    |
| test       |
+----------+


2 rows in set (0.00 sec)

mysql>

Zwróć uwagę, że nie został podany średnik po poleceniu i MySQL czeka na kolejne dane. Dopiero kiedy zakończysz linię średnikiem, polecenie zostanie wykonane.

Jak widać, w systemie mamy utworzone dwie bazy danych, mysql i test. Pierwsza to baza o specjalnym znaczeniu; to w niej MySQL przechowuje wszystkie dane na temat użytkowników i ich uprawnień. Druga to specjajnie utworzona, pusta baza danych do testów.

NOWA BAZA DANYCH


Utwórzmy najpierw naszą pierwszą, przeznaczoną do testów bazę danych. Tworzenie zarówno tabel, jak i baz odbywa się za pomocą polecenia create z odpowiednimi argumentami, w poniższym przypadku database i nazwą bazy, którą chcemy utworzyć:

mysql> create database nasza_baza;
Query OK, 1 row affected (0.06 sec)

mysql>

Właśnie utworzyliśmy nową bazę danych o nazwie nasza_baza. MySQL poinformował nas o powodzeniu i czasie wykonania polecenia. Spójrzmy zatem na listę dostępnych baz danych:

mysql> show databases;

+------------+
| Database   |
+------------+
| mysql         |
| test            |
| nasza_baza |
+------------+


3 rows in set (0.00 sec)

mysql>

Jak widać pojawiła się tam nowa pozycja - tytuł: nasza_baza.
---

USUWANIE BAZY DANYCH


Ponieważ utworzyliśmy własną bazę danych do testów, nie jest już nam potrzebna baza test. Usuńmy ją za pomocą polecenia drop z odpowiednimi argumentami (w tym przypadku databases i nazwą bazy, którą chcemy usunąć):

mysql>drop database test;
Query ok, 0 rows affected (0.00 sec)

mysql>

Sprawdźmy, jakie bazy są teraz dostępne:

mysql> show databases;

+------------+
| Database    |
+------------+
| mysql         |
| nasza_baza |
+------------+


2 rows in set (0.00 sec)

mysql>

Jak widać pozycja test nie jest wyświeltana, ponieważ została usunięta wraz z danymi, które mogły się tam znajdować.
---

WYBIERANIE BAZY DANYCH


Aby możliwe było zarządzanie tabelami (tworzenie, edycja bądź edytowanie) musimy najpierw "powiedzieć" MySQL-owi, nad którą bazą danych mamy zamiar pracować. Można to zrobić na dwa sposoby:

* podając ścieżkę do tabeli w notacji <nazwa_bazy&gt.<nazwa_tabeli>
* lub wywołując komendę use <nazwa_bazy>. Wtedy nie musimy już podawać przed nazwą tabeli nazwy bazy, ponieważ domyślnie to w niej MySQL szuka podanej tabeli.

Spójrzmy na przykład z zastosowaniem komenty use:

mysql> use nasza_baza
Database changed

mysql>
---

WYŚWIETLANIE ISTNIEJĄCYCH TABEL


Kiedy baza została już wybrana (w tym przypadku nasza_baza), możemy przystąpić do wyświetlania tabel. Do tego celu służy poznana wcześniej komenda show z argumentem tables:

mysql> show tables
Empty set (0.00 sec)

mysql>

Zwrócony komunikat świadczy o tym, że baza nasza_baza jest pusta. Teraz spróbujemy wyświetlić tabelę w bazie mysql; wcześniej jednak skorzystamy z komendy use, aby zmienić bazę, nad którą chcemy pracować:

mysql> use mysql
Database changed

mysql> show tables;

+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv     |
| db                    |
| host                  |
| tables_priv        |
| user                  |
+-----------------+


5 rows in set (0.00 sec)

mysql>

Jak widać, w bazie mysql znajduje się pięć tabel: columns_priv, db, host, tables_priv oraz user.
---

cdn / część 1