databázové systémy teorie a návrh relačních databázových systémů část ii

19
Databázové systémy teorie a návrh relačních databázových systémů část II

Upload: dewitt

Post on 09-Jan-2016

34 views

Category:

Documents


4 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Databázové systémy teorie a návrh relačních databázových systémů část II

Databázové systémyteorie a návrh relačních databázových systémů

část II

Page 2: Databázové systémy teorie a návrh relačních databázových systémů část II

IV. Praktická část

Page 3: Databázové systémy teorie 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

Page 4: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 5: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 6: Databázové systémy teorie a návrh relačních databázových systémů část II

DML Data Selection Language – výběrové dotazy

SELECT …

HAVING.…

UNION.…

ORDER.…

GROUP.…

Aktualizační dotazy slouží k změnám množin dat

Page 7: Databázové systémy teorie a návrh relačních databázových systémů část II

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…

Page 8: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 9: Databázové systémy teorie a návrh relačních databázových systémů část II

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 } ] ] }

Page 10: Databázové systémy teorie a návrh relačních databázových systémů část II

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 )     }

Page 11: Databázové systémy teorie a návrh relačních databázových systémů část II

DDL Data Definition Language – další vytvářecí dotazy - stručně

CREATE INDEX…

CREATE TRIGGER…

CREATE PROCEDURE…

CREATE VIEW…

DROP INDEX, TRIGGER, PROCEDURE….

atd.

Page 12: Databázové systémy teorie a návrh relačních databázových systémů část II

DML Data Modification Language – aktualizační dotazy

UPDATE …

INSERT.…

DELETE.…

Aktualizační dotazy slouží k změnám množin dat

Page 13: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 14: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 15: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 16: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 17: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 18: Databázové systémy teorie a návrh relačních databázových systémů část II

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

Page 19: Databázové systémy teorie a návrh relačních databázových systémů část II

Malý test znalostí SQL jazyka

PÚ – 53 test