Presentation is loading. Please wait.

Presentation is loading. Please wait.

DATABÁZOVÉ JAZYKY.

Similar presentations


Presentation on theme: "DATABÁZOVÉ JAZYKY."— Presentation transcript:

1 DATABÁZOVÉ JAZYKY

2 jazyky popis  procedurálne  popis činnosti ako chceme dosiahnuť
určitý výsledok PL/SQL  neprocedurálne  čo chceme s dátami urobiť (manipulácia s dátami) dotazovacie jazyky DML SQL - Structured Query Language QBE - Query-by-examle PHP - klient pre SQL server ASP - klient pre SQL server  tvorba databáz DDL

3 rozdelenie jazyk pre definíciu dát (popis tabuliek, pohľadov a prístupových práv) jazyk pre manipuláciu s dátami (prístup a aktualizácia) jazyk pre konštrukciu modulov jazyk vytváranie rozhraní medzi databázou a aplikačným programom napísanom v bežnom programovacom jazyku zápis SQL do aplikačných programov

4 príkazy DDL (Data Definition Language) definícia dáta a ich väzieb
založenie štruktúry databázy CREATE TABLE, CREATE VIEW, CREATE INDEX predefinovanie štruktúry databázy ALTER TABLE, DROP TABLE, DROP VIEW, DROP INDEX DCL (Data Control Language) - zabezpečení dát GRANT – prideľovanie prístupových práv k danej databáze REVOKE – odoberanie už pridelených prístupových práv DML (Data Manipulation Language) – manipulácia (výber, zoradenie, zmena hodnoty dát) SELECT – formulácia výberových požiadaviek INSERT - vkladanie dát do už vytvorenej tabuľky UPDATE – modifikácia riadkov tabuľky DELETE – odstránenie riadkov tabuľky ale nie celej tabuľky DROP TABLE – vymazanie tabuľky a všetkých riadkov tabuľky

5 CREATE TABLE, v rámci ktorého sa špecifikuje:
názov tabuľky, (entity) atribúty (domény) typy, primárne kľúče cudzie kľúče ohraničenia. CREATE TABLE Zamestnanec ( kod_zamest INTEGER, kod_projektu INTEGER, meno CHAR(30), plat INTEGER, PRIMARY KEY (kod_zamest), FOREIGN KEY (kod_projektu) REFERENCES Projekt);

6 Uloženie reťazca pevnej dĺžky
NUMERIC(n,m) Číselný SERIAL CHAR(n) Uloženie reťazca pevnej dĺžky SMALLINT Číslo <-215 až 215) DECIMAL(m,n) Číslo (-1038 až 1038) FLOAT Desatinné číslo <-1,79x10308 až 1,79x10308> DATE Dátumový INTEGER Dlhé celé číslo <-231 až 231) MONEY(m,n) Peňažný typ, s pevne stanoveným počtom desatinných miest SMALLFLOAT Desatinné číslo menšieho rozsahu ako float INTERVAL Intervalový DATETIME Dátumovo-časový VARCHAR(n) Uloženie reťazca premenlivej dĺžky (0..max) TEXT Textový BYTE Číslo (0 až 255)

7 iné príkazy DROP DATABASE meno_databázy DROP INDEX meno_indexu
DROP SYNONYM synonym-name DROP TABLE meno_tabulky DROP VIEW meno_pohľadu CREATE DATABASE meno_databázy CREATE [TEMP] TABLE meno_tabulky ALTER TABLE meno_tabulky MODIFY (staré_meno_s nový_datový_typ [NOT NULL][,...]) DROP CONSTRAINT (meno_obm [,...])}[,...] LOCK MODE {PAGE|ROW }[,...] MODIFY NEXT SIZE číslo} CREATE [UNIQUE | DISTINCT] [CLUSTER] INDEX meno_indexu ON meno_tabulky (meno_stĺpca [ASC | DESC],...) CREATE SYNONYM meno_synonyma FOR meno_tabulky CREATE VIEW meno_pohľadu [(zoznam_stĺpcov

8 Manipulácia s dátami pridávanie riadku do tabuľky: INSERT
aktualizáciu existujúceho riadku (-ov) v tabuľke: UPDATE vymazanie riadku (-ov): DELETE výber riadkov a stĺpcov: SELECT

9 popis základných operácií
projekcia - výber špecifikovaných stĺpcov - meno a plat SELECT meno, plat FROM Zamestnanec reštrikcia - výber požadovaných riadkov na základe výberovej podmienky, SELECT * WHERE plat > 10000 spájanie - spájanie pomocou výberovej podmienky SELECT * FROM Zamestnanec, Projekt WHERE Zamestnanec.kod_projektu = Projekt.kod_projektu

10 typy operácií: projekcia - výber špecifikovaných stĺpcov SELECT meno, plat FROM Zamestnanec reštrikcia - výber požadovaných riadkov z tabuľky na základe výberovej podmienky, napríklad SELECT * WHERE plat > 10000 náhradný symbol * v časti SELECT znamená všetky stĺpce) spájanie - spájanie tabuliek pomocou výberovej podmienky (tabuľky vo všeobecnosti ani nemusia byť prepojené cudzími kľúčmi) FROM Zamestnanec, Projekt WHERE Zamestnanec.kod_projektu = Projekt.kod_projektu Stĺpce, ktorých názvy nie sú jednoznačné (rovnaké mená sa nachádzajú v oboch spájaných tabuľkách), sa špecifikujú plnými menami: meno_tabuľky.meno_stĺpca. SELECT meno, nazov WHERE (plat>10000) AND (Zamestnanec.kod_projektu=Projekt.kod_projektu) Pridávanie riadku do tabuľky INSERT INTO meno_tabulky [(zoznam_stĺpcov)] { VALUES (zoznam_hodnôt) } Aktualizáciu existujúceho riadku v tabuľke: UPDATE UPDATE meno_tabulky SET { meno_stĺpca = výraz[,...] { (zoznam_stĺpcov) *} = (zoznam_výrazov) } [WHERE podmienka] Vymazanie DELETE DELETE FROM meno_tabulky [WHERE podmienka] Výber riadkov a stĺpcov: SELECT SELECT [ALL | DISTINCT | UNIQUE] zoznam_stĺpcov_selektu FROM [OUTER] meno_tabulky [alias_tabulka] [,...] [GROUP BY zoznam_stĺpcov] [HAVING podmienka] [ORDER BY meno_stĺpca [ASC | DESC],...] [INTO TEMP meno_tabulky] [WITH NO LOG] SELECT-príkaz UNION [ALL] [UNION [ALL] SELECT-príkaz] ... WHERE podmienka: výraz relačný-operátor výraz  výraz [NOT] BETWEEN výraz AND výraz  výraz [NOT] IN (položky)  meno_stĺpca [NOT] LIKE "string" [ESCAPE escape-znak]  výraz relačný-operátor {ALL | [ANY | SOME]} (SELECT-príkaz)  výraz [NOT] IN (SELECT-príkaz)  [NOT] EXISTS (SELECT-príkaz)  meno_stĺpca IS [NOT] NULL

11 1.Výber všetkých stĺpcov
SELECT * FROM predmet    2. Výber s hviezdičkovou konvenciou SELECT * FROM os_udaje WHERE meno="Stanislav" 3. Výber a uloženie do dočasnej tabuľky INTO TEMP docasna 4. Projekcia SELECT meno, priezvisko FROM os_udaje 5. Projekcia a kartézsky súčin SELECT meno, priezvisko, nazov FROM os_udaje, predmet SELECT meno, priezvisko FROM os_udaje INTO TEMP a; SELECT cis_predmet FROM predmet INTO TEMP b; SELECT meno, priezvisko, cis_predmet FROM a,b  6. Potlačenie výberu duplicitných riadkov SELECT UNIQUE meno FROM os_udaje alebo SELECT DISTINCT meno FROM os_udaje . Spojenie s duplicitami SELECT cis_predmet FROM student, zap_predmety WHERE tudent.os_cislo=zap_predmety.os_cislo 8. Potlačenie výberu duplicitných riadkov pri spojení SELECT UNIQUE cis_predmet WHERE student.os_cislo=zap_predmety.os_cislo 9. Triedenie SELECT meno, priezvisko FROM os_udaje ORDER BY priezvisko 10. Triedenie podľa dvoch stĺpcov ORDER BY meno, priezvisko 11. Triedenie so zadaním smeru triedenia - vzostupne SELECT nazov FROM predmet ORDER BY nazov ASC 12. Triedenie so zadaním smeru triedenia - zostupne ORDER BY nazov DESC 13. Triedenie podľa viacerých stĺpcov v rôznom smere ORDER BY meno DESC ,priezvisko ASC

12 GRANT tabuľkové_privilégium ON meno_tabulky
TO {PUBLIC | zoznam_užívateľov} [WITH GRANT OPTION] [AS grantor] GRANT databázové_privilégium REVOKE { tabuľkové_privilégium ON meno_tabulky| databázové_privilégium } FROM {PUBLIC | zoznam_užívateľov} LOCK TABLE meno_tabulky IN {SHARE | EXCLUSIVE} MODE UNLOCK TABLE meno_tabulky CREATE SCHEMA AUTHORIZATION užívateľ {množina_príkazov create a/alebo príkazov grant } DATABÁZOVÉ PRIVILÉGIÁ CONNECT RESOURCE DBA TABUĽKOVÉ PRIVILÉGIÁ ALTER DELETE INDEX INSERT SELECT[(stĺpec)] UPDATE [(stĺpec)] ALL [PRIVILEGES] BEGIN WORK COMMIT WORK ROLLBACK WORK


Download ppt "DATABÁZOVÉ JAZYKY."

Similar presentations


Ads by Google