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

Podobne dokumenty