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 systemu zarządzania bazą danych. Dzięki temu językowi możliwe jest tworzenie poleceń, które nakazują DBMS odnaleźć potrzebne przez nas dane w bazie danych, jak również poleceń, dzięki którym można składowane dane zmodyfikować, wstawić nowe dane, bądź je usunąć. Dzięki temu językowi możliwe jest również definiowanie, modyfikacja i usuwanie struktur danych, w których dane są składowane. Język SQL pozwala również na zarządzanie transakcjami i mechanizmami autoryzacji dostępu do danych. 4. Projektowanie DBMS 2
SQL W języku SQL można wyróżnić trzy grupy poleceń: DML (Data Manipulation Language) język manipulacji danymi pozwalający na odczytywanie danych z relacji (polecenie SELECT) oraz na wstawianie, modyfikację i usuwanie danych z relacji (polecenia: INSERT, UPDATE, MERGE i DELETE). DDL (Data Definition Language) język definicji danych pozwalający na tworzenie, modyfikację i usuwanie relacji (polecenia CREATE, ALTER i DROP). DCL (Data Control Language) język kontroli danych pozwalający na zapewnienie autoryzacji dostępu do danych oraz zarządzanie transakcjami. Najważniejsze polecenia to GRANT i REVOKE 4. Projektowanie DBMS 3
SQL W języku SQL nie rozróżnia się dużych i małych liter. Wszystkie słowa kluczowe i nazwy (np. relacji i atrybutów) w języku SQL można pisać zarówno dużymi jak i małymi literami. Przykładowo, wyrażenia: nazwisko, Nazwisko i NAZWISKO są identyczne. W poleceniach SQL ignorowane są znaki końca linii. Wszystkie słowa kluczowe i wyrażenia w języku SQL można rozdzielać zarówno spacjami jak i znakami końca linii. W rezultacie dowolne polecenie SQL można sformatować w dowolny sposób (może ono zajmować jeden długi wiersz, lub kilka krótszych wierszy). Każde polecenie SQL powinno być zakończone średnikiem. 4. Projektowanie DBMS 4
XAMPP - instalacja XAMPP - darmowy wieloplatformowy pakiet, składającym się m.in. z serwera Apache, bazy danych MySQL i interpreterów dla skryptów napisanych w PHP i Perlu. Nazwa XAMPP jest akronimem dla X (Crossplatform), Apache, MySQL, PHP, Perl. 4. Projektowanie DBMS 5
XAMPP - instalacja http://www.apachefriends.org/en/xampp.h tml 4. Projektowanie DBMS 6
Dostęp 1. programy terminal 2. ssh student@[adres serwera] 3. 193.0.122... 3. hasło 4. mysql -u student 5. mysql>_
MySQL Wyświetlenie istniejących baz show databases; 4. Projektowanie DBMS 8
MySQL Tworzenie nowej bazy danych create database [nazwa bazy] create database osoby; create database ksiazki; create database [nazwiskopesel]; show databases; 4. Projektowanie DBMS 9
MySQL Usuwanie bazy danych drop database ksiazki; 4. Projektowanie DBMS 10
MySQL Wybieranie bazy danych use osoby; use nazwiskopesel; (database changed) 4. Projektowanie DBMS 11
MySQL Wyświetlanie istniejących tabel show tables; 4. Projektowanie DBMS 12
MySQL - tworzenie tabeli 1. Nazwa bazy danych 2. Nazwa tabeli 3. Definicja pól 4. Projektowanie DBMS 13
MySQL typy pól VARCHAR(20) pole znakowe. INT pole liczb całkowitych DATE pole daty BLOB pole tekstowe 65535 znaków 4. Projektowanie DBMS 14
MySQL baza i tabela create database moja; use moja; CREATE TABLE osoby ( id INT NOT NULL auto_increment, imie VARCHAR(20), nazwisko VARCHAR(30), PRIMARY KEY (id) ); 4. Projektowanie DBMS 15
MySQL struktura tabeli describe osoby; (pokaż strukturę tabeli) show columns from osoby; 4. Projektowanie DBMS 16
MySQL edycja tabeli ALTER TABLE osoby ADD adres_email VARCHAR(40); (dodajemy adres_email) ALTER TABLE osoby CHANGE adres_email email VARCHAR(40); (zmieniamy nazwę pola) ALTER TABLE osoby MODIFY email VARCHAR(50); (zmieniamy długość) ALTER TABLE osoby DROP COLUMN nazwisko; (kasujemy pole nazwisko) ALTER TABLE osoby ADD telefon VARCHAR(15) AFTER adres; (dodajemy pole telefon po polu adres) 4. Projektowanie DBMS 17
MySQL edycja tabeli ALTER TABLE osoby RENAME tabela_osobowa; (zmiana nazwy tabeli) DROP TABLE tabela_osobowa; (kasowanie tabeli) 4. Projektowanie DBMS 18
MySQL USE [nazwa_bazy]; - operacje na tebeli. lub ścieżka do tabeli: SHOW COLUMNS FROM numerindeksu.osoby; 4. Projektowanie DBMS 19