środa, 5 lipca 2017

Lekcja 34. DDL - View

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.

Widok (View) jest predefiniowanym zapytaniem jednej lub wielu tabel (zwanych tabelami bazowymi). Pobieranie informacji z perspektywy odbywa się w taki sposób jak pobieranie informacji z tabeli. Wystarczy jedynie umieścić nazwę widoku w klauzuli FROM.
Widoki mają kilka zalet:
  • Umożliwiają umieszczenie złożonego zapytania w widoku i przyznania do niego dostępu użytkownikom. To pozwala ukryć złożoność przez użytkownikami.
  • Powalają na uniemożliwienie użytkownikom bezpośredniego wysłania zapytań do tabel bazy danych, przyznając im dostęp jedynie do widoków.
  • Umożliwiają przyznanie widokom dostępu jedynie do określonych wierszy tabel bazodanowych, co pozwala na ukrywanie wierszy przed użytkownikami.
Z tej lekcji dowiesz się jak tworzyć widoki i ich używać, modyfikować widoki, a także je usuwać.

Tworzenie widoku
Do tworzenia widoku służy instrukcja CREATE VIEW.  Perspektywy proste korzystają z jednej tabeli bazowej. W poniższym przykładzie tworzymy widok ENTRY_LEVEL_JOBS, który pobiera z tabeli wiesze (a właściwie wartości kolumn JOB_CODE i JOB_TITLE), dla których MAX_SALARY jest mniejsze niż 50000:


Odpytywanie widoku
Po utworzeniu widoku możemy go użyć do uzyskania dostępu do tabeli. Poniższe zapytanie zwraca wiesze z widoku ENTRY_LEVEL_JOBS:


Modyfikowanie widoku
Za pomocą instrukcji ALTER VIEW można modyfikować zapisany widok. W poniższym przykładzie użyto tej instrukcji do modyfikacji widoku ENTRY_LEVEL_JOBS:


 Poniższe zapytanie zwraca wiesze z widoku ENTRY_LEVEL_JOBS:



Usuwanie widoku
Do usuwania widoku służy instrukcja DROP VIEW. W poniższym przykładzie usuwany jest widok ENTRY_LEVEL_JOBS:

Lekcja 33. DDL - Index

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.

Jeżeli szukamy w książce informacji, możemy ją całą przeczytać albo użyć indeksu, żeby odnaleźć odpowiedni fragment. W założeniach indeks (index) tabeli bazy danych przypomina indeks książki, z tą różnicą, że indeksy bazodanowe są używane do wyszukiwania konkretnych wierszy w tabeli. Wada indeksów polega na tym, że gdy do tabeli jest wstawiany wiersz, jest wymagany dodatkowy czas konieczny do aktualizacji indeksu o nowy wiersz. Indeks powinien być tworzony na kolumnie, jeżeli pobieramy niewielką liczbę wierszy z tabeli zawierającej ich wiele.

Tworzenie indeksu
Do tworzenia indeksu służy instrukcja CREATE INDEX. Poniższa instrukcja zakłada indeks IDX_UPDATER na kolumnę UPDATER_ID tabeli SALARY_HISTORY.


Indeks można także założyć na więcej niż jedną kolumnę. Poniższa instrukcja zakłada indeks IDX_SALESTAT na kolumny ORDER_STATUS i PAID tabeli SALES.


Modyfikowanie indeksu
Do modyfikowania indeksu służy instrukcja ALTER INDEX. Za jej pomocą możemy aktywować i dezaktywować indeks. Poniższa instrukcja dezaktywuje indeks IDX_UPDATER:



Natomiast poniższa instrukcja aktywuje indeks IDX_UPDATER:


Usuwanie indeksu
Do usuwania indeksu służy instrukcja DROP INDEX. Poniższa instrukcja usuwa indeks IDX_UPDATER:



Lekcja 32. DDL - Sequence (Generator)

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.

Sekwencja(Generator) jest elementem bazy danych, generującym sekwencje liczb całkowitych. Liczby całkowite generowane przez sekwencje są zwykle używane do wprowadzania danych do liczbowej kolumny klucza głównego.

Tworzenie sekwencji
Do tworzenia sekwencji służy instrukcja CREATE SEQUENCE albo CREATE GENERATOR. W poniższym przykładzie tworzymy sekwencję o nazwie employee_no_gen za pomocą instrukcji CREATE SEQUENCE:

Poniższe polecenie wykonuje tą samą czynność za pomocą składni CREATE GENERATOR:

 
Modyfikowanie sekwencji
Do modyfikowania sekwencji służy instrukcja ALTER SEQUENCE.
Poniższa instrukcja ustawia bieżącą wartość sekwencji employee_no_gen na wartość 15:


Poniższe polecenie wykonuje tą samą czynność za pomocą składni SET GENERATOR:


Usuwanie sekwencji
Do usuwania sekwencji służy instrukcja DROP SEQUENCE. Poniższa instrukcja usuwa sekwencję employee_no_gen :

Poniższe polecenie wykonuje tą samą czynność za pomocą składni DROP GENERATOR:


wtorek, 4 lipca 2017

Lekcja 31. DDL - Table

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.

Z tej lekcji dowiesz się więcej o tworzeniu, modyfikacji, a także usuwaniu tabel.

Tworzenie tabeli
Tabelę tworzymy za pomocą polecenia CREATE TABLE. Tworząc tabelę podajemy pola jakie ta tabela ma posiadać, rodzaj danych przechowywanych przez te pola oraz własności tabeli. Poniżesz polecenie tworzy tabelę o nazwie employee_status posiadającą trzy kolumny:
  1. id – kolumna typu INTEGER, będąca kluczem głównym
  2. status – kolumna typu VARCHAR(10)
  3. last_modified – kolumna typu DATE z domyślną wartością current_date


Modyfikacja tabeli
Tabele modyfikujemy za pomocą polecenia CREATE TABLE.
  • Dodawanie kolumny
Poniższa instrukcja dodaje do tabeli employee_status kolumnę priority:

  • Usuwanie kolumny
Poniższa instrukcja usuwa z tabeli employee_status kolumnę priority:


  • Zmiana własności kolumny
Poniższa instrukcja dodaje CONSTRAINT CHECK do kolumny id tabeli employee_status:


Usuwanie tabeli
Tabelę usuwamy za pomocą polecenia DROP TABLE. Poniższe polecenie usuwa tabelę employee_status.

poniedziałek, 3 lipca 2017

Lekcja 30. DDL – Domain

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.

Domena (Domain) jest jednym z typów obiektów w relacyjnej bazie danych. Domena jest tworzona jako konkretny typ danych z dołączonymi do niej atrybutami. Po zdefiniowaniu w bazie danych można ją wielokrotnie używać np. do definiowania kolumn.
Ta sekcja opisuje składnię instrukcji używanych do tworzenia, modyfikowania i usuwania domen.

CREATE DOMAIN
Polecenie CREATE DOMAIN  tworzy nową domenę.
Poniższe polecenie tworzy domenę o nazwie CUSTNO, która może przyjmować wartości większe niż 1000, z wartością domyślną 10 000.


Poniższe polecenie tworzy domenę o nazwie D_BOOLEAN, która może przyjmować wartości "Tak" i "Nie".

Poniższe polecenie tworzy domenę o nazwie D_POINT, zdefiniowaną jako tablica zawierająca 2 elementy typu NUMERIC (18, 3).
 
 
ALTER DOMAIN
Polecenie CREATE ALTER modyfikuje atrybuty domeny.
Poniższa instrukcja zmienia typ danych domeny CUSTNO na INTEGER i ustawienie wartość domyślną na 2000.

Poniższa instrukcja zmienia nazwę domeny D_BOOLEAN na D_BOOL.

 

Poniższa instrukcja zmienia więzy integralności CHECK domeny CUSTNO.

 

DROP DOMAIN
Polecenie DROP DOMAIN  usuwa domenę. Poniższa instrukcja usuwa domenę D_POINT.



czwartek, 15 czerwca 2017

Lekcja 29. DDL – Shadow

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.
Cień (Shadow) jest dokładną kopią bazy danych. Po utworzeniu
cienia wszystkie zmiany wprowadzone w oryginalnym pliku bazy danych są natychmiast odzwierciedlane w cieniu. W tej sekcji opisano sposób tworzenia i usuwania plików cieni.

CREATE SHADOW
Polecenie CREATE SHADOW tworzy nowy cień. Poniższa instrukcja tworzy cień aktualnej bazy danych (zapisany jako cień numer 1).

DROP SHADOW
Polecenie DROP SHADOW usuwa cień. Poniższa instrukcja usuwa cień aktualnej bazy danych (zapisany jako cień numer 1).

Lekcja 28. DDL – Database

DDL (Data Definition Language) jest podzbiorem języka SQL Firebird i służy do tworzenia, modyfikowania oraz usuwania obiektów bazy danych.
Z tej lekcji dowiesz się jak utworzyć bazę danych, połączyć się z istniejącą bazą danych, zmienić strukturę plików bazy danych i jak ją usunąć.

CREATE DATABASE
Polecenie CREATE DATABASE tworzy nową bazę danych. Poniższa instrukcja tworzy lokalną bazę danych na dysku C o rozmiarze 8192 strony. Właścicielem bazy danych będzie użytkownik SYSDBA. Baza danych będzie w Dialect 3. 
Poniższa instrukcja obrazuje w jaki sposób utworzyć bazę danych na serwerze zdalnym baseserver przy użyciu ścieżki określonej w aliasie test, który został zdefiniowany wcześniej w pliku aliases.conf (plik zawierający aliasy do plików baz danych). Stosowany jest protokół TCP / IP. Właścicielem bazy danych będzie użytkownik SYSDBA. Baza danych będzie w Dialect 3 oraz będzie używać UTF8 jako domyślnego zestawu znaków.
ALTER DATABASE
Polecenie ALTER DATABASE zmiana strukturę plików bazy danych lub przełącza jej stan na bezpieczne kopiowanie. 
Poniższa instrukcje pokazują w jaki sposób można modyfikować bazę danych.
  1. Dodawanie pliku dodatkowego do bazy danych. Po wypełnieniu 30000 stron w poprzednim podstawowym lub pomocniczym pliku, silnik Firebird rozpocznie dodawanie danych do pliku pomocniczego TEST2.FDB.
  2. Określenie ścieżki i nazwy pliku delta, w którym przechowywane są wszelkie mutacje bazy danych, gdy tylko zostanie przełączona do trybu bezpiecznego kopiowania.
  3. Usuwanie opisu (ścieżki i nazwy) pliku delta.
  4. Przełączanie bazy danych do trybu bezpiecznego kopiowania.
  5. Przełączanie bazy danych z trybu bezpiecznego kopiowania do normalnego trybu pracy.

DELETE DROP
Polecenie DROP DATABASE usuwa bazę danych.