Koncepcja baz danych
RELACYJNY SYSTEM BAZY DANYCH PRZECHOWUJE WSZYSTKIE DANE W TABELACH.
KAŻDA TABELA ZAWIERA DANE NA KONKRETNY TEMAT.
SYSTEM BAZY DANYCH ZARZĄDZA DANYMI I POZWALA MIĘDZY INNYMI NA SZYBSZE ICH WYSZUKIWANIE ORAZ ZORGANIZOWANIE.
ZA KAŻDYM RAZEM, KIEDY POTRZEBUJEMY INFORMACJI Z DAZY DANYCH MUSIMY „ZAPYTAĆ” SYSTEM W JĘZYKU, KTÓRY ON ROZUMIE.
TYM JĘZYKIEM JEST SQL (STRUCTURED QUERY LANGUAGE) – STRUKTYRALNY JĘZYK ZAPYTAŃ.
JĘZYK SQL JEST WYKORZYSTYWANY W WIĘKSZOŚCI RELACYJNYCH SYSTEMÓW BAZ DANYCH.
SKŁADNIA JĘZYKA SQL DZIELI SIĘ NA 3 TYPY:
- JĘZYK DEFINIOWANIA STRUKTUR DANYCH (DDL)
- JĘZYK DO WYBIERANIA I MANIPULOWANIA DANYMI (DML)
- JĘZYK DO ZAPEWNIENIA BEZPIECZEŃSTWA DANYCH (DCL)
SKŁADNIA JĘZYKA SQL WCHODZĄCA W SKŁAD JĘZYKA DDL JEST UŻYWANA PRZEZ ADMINISTRATORÓW SYSTEMU RELACYJNEJ BAZY DANYCH W CELU UTRZYMANIA STRUKTURY BAZY DANYCH, OBIEKTÓW (TABELE) ITP.
JĘZYK DCL JEST UŻYWANY PRZEZ ADMINISTRATORÓW DO ZAPEWNIENIA BEZPIECZEŃSTWA DOSTEPU DO DANYCH MIEDZY INNYMI DO NADAWANIA UPRAWNIEŃ.
JĘZYK DML JEST UŻYWANY PRZEZ WSZYSTKICH UŻYTKOWNIKÓW, KTÓRZY MAJĄ DOSTĘP DO BAZ DANYCH. ZA POMOCĄ TEGO TYPU SKŁADNI JĘZYKA SQL UŻYTKOWNICY MOGĄ OTRZYMYWAĆ, DODAWAĆ DANE ITP.
TABELA SKŁADA SIĘ Z WIERSZY I KOLUMN.
WIERSZE W TABELI PRZECHOWYWANE SĄ W DOWOLNYM PORZĄDKU.
DLA KAŻDEGO WIERSZA KAŻDA Z KOLUMN POSIADA JEDNO POLE Z WARTOŚCIĄ.
WSZYSTKIE WARTOŚCI W KOLUMNIE SĄ TEGO SAMEGO TYPU.
KONSTRUKCJA NAZWY TABELI:
- NAZWA TABELI SKŁADA SIĘ Z DWÓCH CZĘŚCI:
1.KWALIFIKATOR
2.NAZWA TABELI
KWALIFIKATOR I NAZWA TABELI ODDZIELONE SĄ KROPKĄ.
KAŻDA TABELA MUSI MIEĆ UNIKATOWĄ NAZWĘ W GRANICACH KWALIFIKATORA.
UŻYTKOWNIK. PRACOWNICY
WŁAŚCICIEL TABELI NAZWA TABELI
W NIEKTÓRYCH SYSTEMACH ODWOŁANIE DO TABELI NASTĘPUJE WPROST.
INTERBASE
SELECT * FROM KLIECI…
DB2
SELECT * FROM DB2 ADMIN.KLIENCI
TYPY DANYCH
1.NUMERYCZNE
- SMALLINT – LICZBY CAŁKOWITE (- 32768 DO 32767)
- INTEGER – LICZBY CAŁKOWITE (2147483648 – 2147483648)
- DECIMAL – (M, N) – LICZBY RZECZYWISTE, GDZIE M OZNACZA
CAŁKOWITĄ LICZBĘ CYFR A N OZNACZA LICZBĘ CYFR PO PRZECINKU
2. ZNAKOWE
- CHAR (N) – TYP ZNAKOWY O STAŁEJ DŁUGOŚCI
- VARCHAR (N) – TYP ZNAKOWY O ZMIENNEJ DŁUGOŚCI
3. TYPY DANYCH DATY I CZASU
- DATA
-TIME
TWORZENIE TABELI
POLEGA NA DEFINIOWANIU JEJ KOLUMN. DLA KAŻDEJ KOLUMNY NALEŻY OKREŚLIĆ NAZWĘ KOLUMNY, TYP DANYCH I DŁUGOŚĆ (ZALEŻNOŚĆ OD TYPU) ORAZ TO CZY JEST DOZWOLONE POZOSTAWIENIE WARTOŚCI PUSTEJ W KOLUMNIE.
CREATE TABLE UZYTKOWNIK.PRACOWNICY
(ID PRACOWNIKA CHAR (6) NOT NULL,
IMIE VARCHAR (18) NOT NULL,
NAZWISKO VARCHAR (24) NOT NULL,
STANOWISKO VARCHAR (12) NOT NULL,
DZIAL VARCHAR (12) NOT NULL,
DATA_URODZ DATE,
TEL_DOM CHAR(12);
WARTOŚĆ PUSTA NULL
ISTNIEJE OPCJA O NASTĘPUJĄCEJ SKŁADNI:
NOT NULL DEFAULT [(WARTOŚĆ)]
GDZIE PARAMETR WARTOŚĆ OKREŚLA DOMYŚLNĄ WARTOŚĆ DO KOLUMNY.
AUTORYZACJA DOSTĘPU DO TABELI
W CELU NADANIA PRAW INNYM UŻYTKOWNIKOM WYKORZYSTUJEMY POLECENIE GRANT
GRANT SELECT ON PRACOWNICY TO UZYTKOWNIK;
TO POLECENIE NADAJE UPRAWNIENIA UŻYTKOWNIKOWI O NAZWIE UZYTKOWNIK DO TABELI PRACOWNICY.
OD TEJ PORY UŻYTKOWNIK MOŻE WYBIERAĆ DANE Z NASZEJ TABELI.
PRAWA DO TABELI MOŻNA ODEBRAĆ POLECENIEM REVOKE.
REVOKE SELECT ON PRACOWNICY FROM UZYTKOWNIK;
PONIŻSZY PRZYKŁAD UMOŻLIWIA WYBIERANIE, WSTAWIANIE I AKTUALIZOWANIE DANYCH W TABELI.
GRANT SELECT, INSERT, UPDATE ON PRACOWNICY TO UZYTKOWNIK;
WIDOKI
ZA POMOCĄ WIDOKÓW MOŻEMY OGRANICZYĆ ZAKRES DANYCH DOSTĘPNYCH DLA UŻYTKOWNIKA.
WIDOK MOŻE OGRANICZĄC DANE Z JEDNEJ TABELI LUB MOŻE TO BYĄ KOMPOZYCJA DANYCH Z KILKU TABEL.
WIDOKI STOSUJE SIĘ W RÓŻNYCH CELACH:
1. W CELU ZABEZPIECZENIA DANYCH PRZED NIEPOWOŁANYM DOSTEPEM
2. UPROSZCZENIA KORZYSTANIA Z DANYCH DLA KOŃCOWEGO UŻYTKOWNIKA