Jump to content

Wp/isv/Baza danyh

From Wikimedia Incubator
< Wp | isv
Wp > isv > Baza danyh

Baza danyh je organizovany sbornik informacij, vo ktorim dane sut skladovane i upravjane v sposob umožnjajuči proste najdenje i modifikaciju danyh. Sut vsěhno koriščene vo naukě i biznesu do administrovanja danymi o klientah, biznesovyh transakcijah i firmovyh resursah.

Osnovne elementy

[edit | edit source]

Dane: sodržane informacije v različnyh formah np. čisla, daty, tekst.

Tabely: struktury s ravnoměrnoju dogovornoju konvencijeju, ktore skladajut se iz kolon i redkov. Každa kolona prědstavjaje tip danyh (napr. prvo ime, rodno ime, věk, grad), a každy redok sodrživaje někakě konkretne dane (Adam, Kovalski, 18, Varšava).

Sistem upravjanja bazoju danyh (DBMS): softver, ktory služi za tvorjenje bazy danyh, upravjanje njeju i dostup k njej. Priklady DBMS sut: MySQL, PostgreSQL, Oracle Database, SQL Server.

Jezyk SQL: standardny jezyk koriščeny tvorjenja skriptov do zapytanj umožnjajučih manipulaciju danymi (vstavjanje, aktualizacija, udaljanje) i tvorjenja novyh struktur (tabul, sekvencij, indeksov).

Jezyk SQL

[edit | edit source]

Oracle SQL

[edit | edit source]
Klauzula ’where’
[edit | edit source]

Vykoristanje

Priměry vykoristanja:

%T% - tam kde-libo je bukva T
R% - tam, kde slovo počinaje se na bukvu R
%G – tam, kde slovo konči se na bukvu G
Sekvencija
[edit | edit source]

Sekvencija generujuča čisla vo poredku:

create sequence nazva_sekvenciji
start with početkova_cěnnost
increment by koliko_dodati
minvalue minimum
maxvalue maksimum
cycle
cache

Slovo ’cycle’ znači, že sekvencija po ukončenju bude se povtarjati od početku, a ’no cycle’ naznača konec programu. Jestli hčemo umenšati čislo, koristajemo ’increment by negativne_čislo’.

Vykoristanje

Akoli hčeš skoristati v inoj česti koda sekvenciju, koristaješ:

select nazva_sekvenciji.nextval
from dual;

Izměna

Izměna česti kodu:

alter nazva_sekvenciji
increment by nove_čislo

Priměr vykoristanja:

create sequence Sekvencija
as int
start with 5
increment by 2;


create table tabula{
TabulaID int primary key,
TabulaName nvarchar (50) not null,
TabulaDate date not null
};


insert into Tabula(TabulaID, TabulaName, TabulaDate)
values(Sekvencija.nextval, ’Nazva’,:01/01/1980/DD/MM/YYYY)

Udaljenje indeksu:

drop sequence nazva_sekvenciji
Klauzula 'dual'
[edit | edit source]

Ukazanje dnesnoj daty:

select sysdate
from dual;
Klauzula 'index'
[edit | edit source]

Tvorjenje indeksu – struktur, ktore ubystrjajut raboty. Indeks tvori se na někakoj tabelju i jedinoj iz joj kolumn, ktoroj nazivaje se glavnym ključom.

create index nazva_indeksu
on nazva_tabuli( nazva_kolumny)

Glavny ključ stvorjeny iz mnogyh kolon nazyvajemo kompozitnym ključem glavnym. Priměr:

create table Rezervacija(
nazva_klienta varchar(40),
denj_rezervacije date,
čas_rezervacije time
kolikost_ljudij integer,
primary key(nazva_klienta, denj_rezervaciji)
);

Daže, jestli sam indeks ne je koristany, itak ubystrjaje rabotu:

create index indeks_dohodu
on employees(salary+(salary*lihva))


select first_name
from employees
where salary+(salary*lihva) > 10000
order by employee_id;

My tut nikde ne skoristali iz ’indeks_dohoda’, da itak časovy vyhod rabotanja programa bude kratši.

Žrla

[edit | edit source]

"SQL Developer". Oracle.com.