4. Projektowanie systemów baz danych
Transkrypt
4. Projektowanie systemów baz danych
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 1 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 2 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 3 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. Nazwa XAMPP jest akronimem dla X (Cross-platform), Apache, MySQL, PHP, Perl. 4. Projektowanie DBMS 4 XAMPP - instalacja http://www.apachefriends.org/en/xampp.html 4. Projektowanie DBMS 5 Dostęp 1. Klient SSH Putty – http://www.putty.org/. Bezpośrednio: Currently this is 0.68, released on 2017-02-21 Klient 32-bit: https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe Klient 64-bit: https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe _ Dostęp2 2. Adres serwera: 193.0. . . 3. Nazwa użytkownika: st....... 4. Hasło: st..... 5. mysql -p 6. Hasło: st..... 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 Wybieranie bazy danych use Kowalski; use Samochody; (database changed) 4. Projektowanie DBMS 10 MySQL Wyświetlanie istniejących tabel show tables; 4. Projektowanie DBMS 11 MySQL - tworzenie tabeli Nazwa bazy danych 2. Nazwa tabeli 3. Definicja pól 1. 4. Projektowanie DBMS 12 MySQL – typy danych W języku SQL można wyóżnić następujące typy danych: - ciągi znaków (string), - liczby, - wartości szesnastkowe, - wartości logiczne, - wartości NULL. 4. Projektowanie DBMS 13 MySQL – typy danych2 CHAR[Length] Length bajtów Pole o stałej długości, przechowuje od 0 do 255 znaków VARCHAR[Length] Długość łańcucha + 1 bajt Pole tekstowe o zmiennej długości LONGTEXT[Length] Długoś ć łańcucha + 4 bajtyŁańcuch o maksymalnej długości 4294967295 znaków INT[Length] 4 bajty Liczby z zakresu od -2147483648 do 2147483647 lub liczby dodatnie od 0 do 4294967295 DECIMAL[Length, Decimals] Length + 1 lub Length + 2 bajtów Liczba typu DOUBLE przechowywana w postaci łańcucha – stała liczba miejsc po przecinku DATE 3 bajty Data w formacie YYYY-MM-DD TIME 3 bajty Data w formacie HH:MM:SS 4. Projektowanie DBMS 14 MySQL – baza i tabela create database moja; use moja; create database Jankowski; Use Jankowski; CREATE TABLE ludziki ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, imie VARCHAR(20), nazwisko VARCHAR(30) ); 4. Projektowanie DBMS 15 MySQL – struktura tabeli describe ludziki; (pokaż strukturę tabeli) show columns from ludziki; 4. Projektowanie DBMS 16 MySQL – edycja tabeli ALTER TABLE ludziki ADD adres_email VARCHAR(40); (dodajemy adres_email) ALTER TABLE ludziki CHANGE adres_email email VARCHAR(40); (zmieniamy nazwę pola) ALTER TABLE ludziki MODIFY email VARCHAR(50); (zmieniamy długość) ALTER TABLE ludziki DROP COLUMN nazwisko; (kasujemy pole nazwisko) ALTER TABLE ludziki ADD telefon VARCHAR(15) AFTER adres; (dodajemy pole telefon po polu adres) 4. Projektowanie DBMS 17 MySQL – edycja tabeli ALTER TABLE ludziki 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.ludziki; 4. Projektowanie DBMS 19