Tworzenie i kasowanie Synonimów ( oracle synonym )

sierpień 3rd, 2008


Synonimy to obiekty bazodanowe które można powiedzieć są aliasami do np. tabeli bazodanowej, synonim tworzymy w następujący sposób:

CREATE SYNONYM prac for aplication.pracownicy_administracyjni;

w tym przypadku stworzyliśmy synonim (można powiedzieć że stworzyliśmy alias) do tabeli pracownicy_administracyjni w schemacie prac, zysk z tego jest bardzo duży ponieważ kiedy sięgamy do tabeli aplication.pracownicy_administracyjni, za każdym razem musimy pisać tą długą nazwę a po stworzeniu synonimu prac teraz sięgając do tej tabeli piszemy następujące zapytanie:

select * from prac;

zamiast

select * from aplication.pracownicy_administracyjni;

Synonimy mogą być prywatne i publiczne (public synonim)

Kasowanie synonimów:

DROP SYNONYM prac;


Tworzenie i kasowanie Sekwencji (oracle sequence)

sierpień 3rd, 2008


Sekwencja jest to obiekt bazodanowy który służy do automatycznego generowania unikalnych wartości w tabeli, często sekwencje są używane do klucza podstawowego i klucza obcego.

Do generowanie wartości sekwencji potrzebne są nam dwie pseudokolumny: CURRVAL i NEXTVAL.

Najlepiej zrozumieć to na przykładzie:

CREATE SEQUENCE pracow_seq START WITH 1000 increment by 1;

w tym przykładzie stworzyliśmy sekwencję pracow_seq która będzie użyta na tabeli pracownicy która wystartuje od 1000 i będzie zmniejszać się o 1.

NA początku trzeba tą sekwencje zainicjować z NEXTVAL

select pracow_seq.NEXTVAL from dual;

po zainicjowaniu sekwencji, wstawiamy rekort do tabeli pracownicy

INSERT INTO pracownicy VALUES
(pracow_seq.CURRVAL, ‘Piotr’, ‘Nowakowski’, 29);

ten insert wstawi wiersz do tabeli pracownicy, wiersz ten będzie miał następujące wartości:
aktualny nr sekwencji, imię, nazwisko, wiek

do skasowania sekwencji służy polecenie DROP SEQUENCE, przykład jak poniżej

DROP SEQUENCE pracow_seq;


Tworzenie i kasownie View w bazie Oracle

sierpień 3rd, 2008


View tworzymy na tabeli lub tabelach w następujący sposób:

CREATE OR REPLACE VIEW pracownik AS
SELECT imie, nazwisko from pracownicy;

view zostało zrobione, pewnie zastanawiamy się po co to robić w taki sposób, a wiec sens jest taki że w view zawęziliśmy dane tylko do 2 kolumn: imie i nazwisko, ograniczenia mogą być także do wybranych wierszy np. chcemy mieć view kierownicy to tworzymy

CREATE OR REPLACE VIEW kierownicy AS
select * from pracownicy where stanowisko=’kierownik’;

kasowanie view robimy w następujący sposób:

DROP VIEW kierownicy;


Modyfikacja Indeksów w bazie Oracle

sierpień 3rd, 2008


Podobnie jak można modyfikować tabelę bazodanową, możemy także dokonywać modyfikacji Indeksów:

-) create index - tworzenie indeksów

-) alter index - modyfikacja indeksów

-) drop index - kasowanie indeksów

przykład 1: chcę stworzyć na tabeli pracownicy index na kolumnie pesel

CREATE INDEX pracownicy_inx ON pracownicy(pesel);

przykład 2: chcę zmodyfikować nazwę indeksu z pracownicy_idx na prac_idx

ALTER INDEX pracownicy_idx RENAME TO prac_idx;

przykład 3: kasowanie indeksów

DROP INDEX prac_idx;

Indeksy możemy tworzyć na kilku kolumnach, np na PESEL i wiek na tabeli pracownicy

CREATE INDEX praca_idx ON pracownicy (pesel, wiek);


Modyfikacja tabeli w oracle

lipiec 11th, 2008


Jeżeli chcemy dodać np. kolumnę do bazy to wtedy używamy komendy ALTER, na przykład do tabeli pracownicy dodajemy  kolumnę PESEL , poniżej przedstawię jak to zrobić:

ALTER TABLE pracownicy ADD (pesel number(11) NOT NULL); 

to polecenie dodaje kolumnę pesel która może mieć max 11 cyfr dodatkowo nie może być NULL, czyli musimy wstawić jakąś  wartość.

jeżeli chcemy zmodyfikować kolumnę to też używamy polecenia ALTER, przykładem może być sytuacja kiedy stwierdziliśmy  że nie wszyscy muszą mieć PESEL i wtedy w kolumnie PESEL może być wartość NULL

ALTER TABLE pracownicy ADD (pesel number(11) NULL);

innym przykładem będzie wykasowanie kolumny z tabeli:

ALTER TABLE pracownicy DROP COLUMN pesel;


Tworzenie tabeli w bazie oracle

lipiec 11th, 2008


Tworzenie obiektu bazodanowego: tabeli

Przy tworzeniu tabeli musimy wiedzieć jak ta tabela ma się nazywać a także musimy znać dane:

nazwa, typ danych dla   przynajmniej jednej kolumny, w przykładzie poniżej stworzę tabelę pracownicy składającą sie z 3 kolumn: imie,  nazwisko, wiek

CREATE TABLE pracownicy
(imie VARCHAR2(22),
nazwisko VARCHAR2(22),
wiek NUMBER(3)
);

imie i nazwisko mają typ VARCHAR2(22) co oznacza że jest to typ znakowy (mogą tu być cyfry i litery) dodatkowo zmienny tzn. że jeżeli imię będzie się składać z 5 liter to tylko takie miejsce będzie wykorzystane, a nie 22 jak było  zdefiniowane. VARCHAR2(22) oznacza że w tym polu może być maksymalnie 22 znaki.



- - - - - - - - - - - - - -