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

Post on 09-Jan-2016

34 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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

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

top related