190 likes | 287 Views
Databázové systémy teorie 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). uzivatel x (x=1-n). heslo. ANSI SQL.
E N D
Databázové systémyteorie a návrh relačních databázových systémůčást II
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 voblasti relačních databází, o jazyku SQL… Základ jazyka: SQL neprocedurální jazyk pro množinovou správudat 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 dat DDL dotaz vytvářecí dotaz DML 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_OBJECTS USER_TABLES USER_VIEWS USER_TRIGGERS USER_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 modifikaci datových struktur datový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_namedata_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
Finance VÚ Forma studia Forma studia Pracovní zařazení Pracovní zařazení Studium Studium Pracovně právní vztah Pracovně právní vztah Adresa bydliště Adresa bydliště Elektr. adresa Elektr. adresa Datový model – úplný Zjednodušení datového modelu Výzkumný úkol Participace na VÚ Student Pedagog
Finance VÚ Finance VÚ Forma studia Forma studia Výzkumný úkol Výzkumný úkol Pracovní zařazení Pracovní zařazení Studium Pracovně právní vztah Participace na VÚ Participace na VÚ Student Student Pedagog Pedagog Adresa bydliště Adresa bydliště Elektr. adresa Elektr. adresa Datový model – zjednodušený a jeho implementace Implementace Table: FINANCE Table: FINANCE Table: VYZKUMUKOL Studium Pracovně právní vztah Table: STUDENT_VYZKUMUKOL Table: PEDAGOG_VYZKUMUKOL Table: STUDENT Table: PEDAGOG Poznámka: všimněte si značné diference mezi teoretickým modelem a jeho implementací
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
Finance VÚ Finance VÚ Forma studia Forma studia Výzkumný úkol Výzkumný úkol Pracovní zařazení Pracovní zařazení Studium Pracovně právní vztah Participace na VÚ Participace na VÚ Student Student Pedagog Pedagog Adresa bydliště Adresa bydliště Elektr. adresa Elektr. adresa Datový model – zjednodušený a jeho implementace Table: FINANCE Table: FINANCE Table: VYZKUMUKOL Studium Pracovně právní vztah Table: STUDENT_VYZKUMUKOL Table: PEDAGOG_VYZKUMUKOL Table: STUDENT Table: PEDAGOG PÚ – 31-36 zjišťování informací z datového katalogu a Object Browseru
Finance VÚ Finance VÚ Forma studia Forma studia Výzkumný úkol Výzkumný úkol Pracovní zařazení Pracovní zařazení Studium Pracovně právní vztah Participace na VÚ Participace na VÚ Student Student Pedagog Pedagog Adresa bydliště Adresa bydliště Elektr. adresa Elektr. adresa Datový model – konstrukce DSL dotazů na základě znalosti datového modelu Table: FINANCE Table: FINANCE Table: FINANCE Table: VYZKUMUKOL Table: VYZKUMUKOL Studium Pracovně právní vztah Table: STUDENT_VYZKUMUKOL Table: PEDAGOG_VYZKUMUKOL Table: STUDENT Table: PEDAGOG PÚ – 37-39 spojování datových množin – JOIN apod.
Finance VÚ Finance VÚ Forma studia Forma studia Výzkumný úkol Výzkumný úkol Pracovní zařazení Pracovní zařazení Studium Pracovně právní vztah Participace na VÚ Participace na VÚ Student Student Pedagog Pedagog Adresa bydliště Adresa bydliště Elektr. adresa Elektr. adresa Datový model – konstrukce DSL dotazů na základě znalosti datového modelu Table: FINANCE Table: FINANCE Table: VYZKUMUKOL Studium Pracovně právní vztah Table: STUDENT_VYZKUMUKOL Table: PEDAGOG_VYZKUMUKOL Table: STUDENT Table: PEDAGOG Table: Adresa Table: Adresa Table: Adresa PÚ – 42-50 zobecnění datového modelu, vytváření ENTIT
Malý test znalostí SQL jazyka PÚ – 53 test