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