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.