Databázové systémyteorie a návrh relačních databázových systémů
část II
IV. Praktická část
Přihlášení uživatele do vlastního DBO schématu (pú 1)
uzivatelx (x=1-n)heslo
ANSI SQL
“Pohádka” o standardu který téměř nikdo nedodržuje, ale i přesto se jedná o jeden z nejužitečnějších standardů v oblasti IT…, respektive v oblasti relačních databází, o jazyku SQL…
Základ jazyka:SQL neprocedurální jazyk pro
množinovou správu dat relačních databází
Nástavby jazyka SQL:T-SQL, PL SQL obecně všechny procedurální
rozšíření SQL
Typy dotazů SQL:Dotaz (DSL) pro náhled / zpracování výsledku datDDL dotaz vytvářecí dotazDML dotaz modifikační dotaz
SQL
Structured Query Language - jazyk strukturovaných datových dotazůPrvní dohody o ANSI SQL –1992, následovala další kola standardizace, vždy nazvaná ANSI + letopočet
DML Data Selection Language – výběrové dotazy
SELECT …
HAVING.…
UNION.…
ORDER.…
GROUP.…
Aktualizační dotazy slouží k změnám množin dat
Příkaz DESCRIBE a datový katalog ORACLE
Nezapomínejte při své další práci používat následující užitečné příkazy:
DESCRIBE – zobrazení detailu datového objektu (typu Table nebo View, funkční i u dalších DBO objektů).
Dále nezapomínejte na užitečné pohledy do datového katalogu ORACLE například:
USER_OBJECTSUSER_TABLESUSER_VIEWSUSER_TRIGGERSUSER_INDEXES
apod.
O těchto možnostech jsme si říkali více v minulé lekci, v případě nejasností se ptejte…
DDL Data Definition Language – vytvářecí dotazy
Dotazy DDL slouží k vytváření, rušení a modifikacidatových strukturdatových omezeníindexůpohledůtriggerů (spouští)procedur pro manipulaci s daty
DDL Data Definition Language – vytvářecí dotazy
CREATE TABLE
[ database_name.[ owner ] . | owner. ] table_name ( { < column_definition > | column_name AS computed_column_expression | < table_constraint > ::= [ CONSTRAINT constraint_name ] } | [ { PRIMARY KEY | UNIQUE } [ ,...n ] ) < column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL | NOT NULL ] | [ { PRIMARY KEY | UNIQUE }
] | [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] ] }
DDL Data Definition Language – vytvářecí dotazy
ALTER TABLE ALTER TABLE table
{ [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ] ] | ADD { [ < column_definition > ] | column_name AS computed_column_expression } [ ,...n ] | [ WITH CHECK | WITH NOCHECK ] ADD { < table_constraint > } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] | { CHECK | NOCHECK } CONSTRAINT { ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,...n ] } }
< column_definition > ::= { column_name data_type } [ [ DEFAULT constant_expression ] [ WITH VALUES ] | [ IDENTITY [ (seed , increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL ] [ COLLATE < collation_name > ] [ < column_constraint > ] [ ...n ]
…………………
………………….
< column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL | NOT NULL ] | [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup | DEFAULT } ] ] | [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE | NO ACTION } ] ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) }
< table_constraint > ::= [ CONSTRAINT constraint_name ] { [ { PRIMARY KEY | UNIQUE } { ( column [ ,...n ] ) } | FOREIGN KEY [ ( column [ ,...n ] ) ] REFERENCES ref_table [ ( ref_column [ ,...n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] | DEFAULT constant_expression [ FOR column ] [ WITH VALUES ] | CHECK [ NOT FOR REPLICATION ] ( search_conditions ) }
DDL Data Definition Language – další vytvářecí dotazy - stručně
CREATE INDEX…
CREATE TRIGGER…
CREATE PROCEDURE…
CREATE VIEW…
DROP INDEX, TRIGGER, PROCEDURE….
atd.
DML Data Modification Language – aktualizační dotazy
UPDATE …
INSERT.…
DELETE.…
Aktualizační dotazy slouží k změnám množin dat
Výzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Datový model – úplný
Studium Pracovně právní vztah
Adresa bydliště
Elektr. adresa
Forma studia Pracovní zařazení
Zjednodušení datového modelu
Forma studia
Adresa bydliště
Elektr. adresa
Pracovní zařazení
Studium Pracovně právní vztah
Datový model – zjednodušený a jeho implementace
Studium Pracovně právní vztah
Adresa bydliště
Elektr. adresa
Forma studia Pracovní zařazeníVýzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Forma studia
Adresa bydliště
Elektr. adresa
Pracovní zařazení
Implementace
Studium Pracovně právní vztah
Výzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Table: STUDENT
Table: STUDENT_VYZKUMUKOL
Table: PEDAGOG_VYZKUMUKOL
Table: PEDAGOG
Table: VYZKUMUKOL
Table: FINANCE
Poznámka: všimněte si značné diference mezi teoretickým modelem a jeho implementací
Table: FINANCE
Datový model – zjednodušený a jeho implementace
PÚ – 30 přidání datové entity FINANCE pomocí importovaného skriptu
POZOR v náhledu skriptu si zkontrolujte zda nejsou chybně interpretovány české znaky, mělo by za následek chybné provedení
skriptu
Datový model – zjednodušený a jeho implementace
Studium Pracovně právní vztah
Adresa bydliště
Elektr. adresa
Forma studia Pracovní zařazeníVýzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Forma studia
Adresa bydliště
Elektr. adresa
Pracovní zařazení
Studium Pracovně právní vztah
Výzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Table: STUDENT
Table: STUDENT_VYZKUMUKOL
Table: PEDAGOG_VYZKUMUKOL
Table: PEDAGOG
Table: VYZKUMUKOL
Table: FINANCETable: FINANCE
PÚ – 31-36 zjišťování informací z datového katalogu a Object Browseru
Datový model – konstrukce DSL dotazů na základě znalosti datového modelu
Studium Pracovně právní vztah
Adresa bydliště
Elektr. adresa
Forma studia Pracovní zařazeníVýzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Forma studia
Adresa bydliště
Elektr. adresa
Pracovní zařazení
Studium Pracovně právní vztah
Výzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Table: STUDENT
Table: STUDENT_VYZKUMUKOL
Table: PEDAGOG_VYZKUMUKOL
Table: PEDAGOG
Table: VYZKUMUKOL
Table: FINANCETable: FINANCE
PÚ – 37-39 spojování datových množin – JOIN apod.
Table: FINANCE
Table: VYZKUMUKOL
Datový model – konstrukce DSL dotazů na základě znalosti datového modelu
Studium Pracovně právní vztah
Adresa bydliště
Elektr. adresa
Forma studia Pracovní zařazeníVýzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Forma studia
Adresa bydliště
Elektr. adresa
Pracovní zařazení
Studium Pracovně právní vztah
Výzkumný úkol
Participace na VÚStudent Pedagog
Finance VÚ
Table: STUDENT
Table: STUDENT_VYZKUMUKOL
Table: PEDAGOG_VYZKUMUKOL
Table: PEDAGOG
Table: VYZKUMUKOL
Table: FINANCETable: FINANCE
PÚ – 42-50 zobecnění datového modelu, vytváření ENTIT
Table: AdresaTable: AdresaTable: Adresa
Malý test znalostí SQL jazyka
PÚ – 53 test