Dotazovací jazyk SQL I.

Slides:



Advertisements
Podobné prezentace
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
Advertisements

SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Informatika II PAA DOTAZOVACÍ JAZYKY
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
Téma: Využití Accessu pro tvorbu evidence našeho podnikání Vypracovala: Jana Wasserbauerová.
Autor, Název akce Databázové systémy a SQL Lekce 7 Daniel Klimeš.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons. ze sady:3tematický.
Tabulkový procesor Formuláře – interaktivní prvky v Excelu Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Růžena Hynková. Dostupné z Metodického.
Pořízení dat Databázové funkce Řazení Filtrování Souhrny Kontingenční tabulky Kontingenční grafy.
Univerzita třetího věku kurz Znalci Databáze 2.
Praha, Ing. Petr Řádek Číslování vlaků - Rekapitulace Setkání dopravců a zástupců provozovatele dráhy.
Inf Tabulkový procesor - funkce. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
ZAL – 5. cvičení Martin Tomášek Pole - opakování Základní datový typ. V poli držíme více elementů (jednoho typu) S elementy v poli můžeme manipulovat.
Funkce Lineární funkce a její vlastnosti 2. Funkce − definice Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny.
Autor, Název akce Databázové systémy a SQL Daniel Klimeš 1.
Databáze © Mgr. Petr Loskot
Úvod do databází MS Access (1).
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Microsoft Excel verze 2010 Mgr. Přemysl Kejzlar.
Databázové systémy I Přednáška 7 Databázové systémy 1 – KIT/IDAS1
Účetnictví a výkaznictví
Vytvořil: Robert Döring
Tvorba jednoduché tabulky - rozvrh
Evaluace předmětů studenty (Anketky)
Lineární funkce - příklady
Databázové systémy a SQL
Databázové systémy a SQL
Dotazovací jazyk SQL I.
Excel – tabulkový procesor
8.1.2 Podprostory.
Zrušení a zánik obchodní společnosti
Algoritmizace a programování
Databáze MS ACCESS 2010.
Procvičení vzorců a funkcí v rámci jednoho i více listů
Maďarská metoda Kirill Šustov Michal Bednář Stanislav Běloch
Vytvoření databázového dotazu z více tabulek
Příkazy IF a SELECT CASE
Informační a komunikační technologie
SÁRA ŠPAČKOVÁ MARKÉTA KOČÍBOVÁ MARCELA CHROMČÁKOVÁ LUKÁŠ BARTOŠ B3E1
Kvadratické nerovnice
Databázové systémy, datové modelování
Informatika pro ekonomy přednáška 8
DIGITÁLNÍ UČEBNÍ MATERIÁL
Legislativní tok Ministerstvo spravodlivosti SR
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Databázové systémy a SQL
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Počítačová cvičení z předmětu Datové sklady
Microsoft Office Access
Dotazovací jazyk SQL I.
A5M33IZS – Informační a znalostní systémy
MS Access Tabulka letní semestr 2013.
Přednáška 6 SQL – spojení tabulek.
Přednáška 10 Uložené procedury.
Přednáška 8 INDEXY, POHLEDY.
KOMBINACE BEZ OPAKOVÁNÍ
Přednáška 5 Úvod do SQL.
Jazyk SQL (databáze SQLite)
Požadované vlastnosti E-R modelu
Informatika pro ekonomy přednáška 8
Lineární funkce a její vlastnosti
Informatika – Základní operace s buňkami
Relační databáze na příkladu aplikace Microsoft Access
Grafy kvadratických funkcí
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Transkript prezentace:

Dotazovací jazyk SQL I

Historický vývoj

Základní vlastnosti SQL (teoreticky) deklarativní jazyk staticky a silně typovaný jazyk multi-platformní SQL dotazy části jazyk pro definici dat (DDL) jazyk pro manipulaci dat (DML) jazyk pro definici přístupových práv (DCL) jazyk řízení transakcí (TCL) data uložena ve formě tabulek (skutečné nebo virtuální) fyzická struktura dat je odstíněná od programu/uživatele poloha/pořadí tabulek, sloupců a řádků v databázi není důležitá indexy (zrychlení dotazů, není explicitně v dotazech)

SQL – datové typy I

SQL – datové typy II

SQL – datové typy III

SQL – datové typy IV

SQL Jazyk pro definici dat CREATE vytvoření (tabulky, pohledu, sekvence, …) ALTER změna (sloupců tabulky, názvu indexu, …) DROP odstranění (tabulky, pohledu, …) TRUNCATE vyprázdnění (jedné nebo více tabulek, řádky jsou smazány, tabulky zůstávají) COMMENT definice nebo změna komentáře (tabulky, omezení, indexu, …) …

CREATE TABLE I PostgreSQL syntaxe CREATE TABLE (ukázka)

CREATE TABLE I PostgreSQL sémantika CREATE TABLE (ukázka) …

CREATE TABLE I Jméno tabulky, která má být vytvořena Typ atributu PACKAGE PACKID PACKNAME PACKVER PACKTYPE PACKCOST Jméno tabulky, která má být vytvořena Typ atributu Jméno atributu DROP TABLE Computer Jméno tabulky, která má být zrušena Zruší existující tabulku daného jména.

CREATE TABLE II (integritní omezení atributu) Integritní omezení (atributu), specifikující, že daný atribut musí mít povinně vyplněnou hodnotu Vkládáme-li do tabulky nový řádek, nemusíme v obecném případě specifikovat hodnoty všech atributů (sloupců). Takový řádek pak bude mít ve sloupcích, pro něž jsme nezadali hodnotu, hodnotu uvedenu NULL. Pokud ovšem při vkládání řádku do tabulky neuvedeme hodnotu takového atributu, který má specifikováno integritní omezení NOT NULL, databázový engine odmítne takový řádek do tabulky vložit (chybová hláška nebo výjimka), protože by došlo k porušení příslušného integritního omezení.

CREATE TABLE III (integritní omezení atributu) Toto integritní omezení říká, že atribut CODE je primárním klíčem. Musí mít tudíž povinně zadanou hodnotu a tato hodnota musí být unikátní přes všechny řádky dané tabulky. Integritní omezení může být (ale nemusí a obvykle nebývá) pojmenováno. Šedivý text tedy může být vynechán.

CREATE TABLE IV (integritní omezení tabulky) V případě, že je primární klíč tvořen dvojicí, trojicí, ... atributů, nemůžeme tuto skutečnost vyjádřit integritním omezením atributu. Žádný z atributů podílejících se na primárním klíči totiž není sám o sobě primárním klíčem. V uvedeném příkladu je primárním klíčem dvojice atributů (TITLE, DateProd), což vyjádříme uvedeným integritním omezením tabulky. Unikátní přes všechny řádky nemá být hodnota každého z atributů TITLE, DateProd, ale jejich kombinace. PRIMARY KEY je jedním z možných integritních omezení tabulky. Nepovinné jméno integritního omezení tabulky. Integritní omezení je vhodné pojmenovávat, abychom je mohli popřípadě odtsranit, pokud nevyhovují: ALTER TABLE Films DROP CONSTRAINT pk_const;

CREATE TABLE V (integritní omezení) 1 2 3 4 Atribut může mít zadáno více integritních omezení současně – v tomto případě je hodnota atributu povinná (NOT NULL) a unikátní (UNIQUE) přes všechny řádky. Integritní omezení může být zadáno i obecnou podmínkou, která musí být pro vkládaný řádek TRUE, jinak chyba. Libovolné integritní omezení atributu může být rovněž vyjádřeno jako integritní omezení tabulky. V tomto případě jsme mohli skutečnost, že os_cislo je primárním klíčem, rovnocenně vyjádřit integritním omezením atributu os_cislo. Toto je tzv. referenční integrita – bude probrána na samostatném slajdu. AND, OR, NOT <, >,<=, >=, =, <> or != a BETWEEN x AND y is equivalent to a >= x AND a <= y a NOT BETWEEN x AND y a < x OR a > y expression IS NULL expression IS NOT NULL

CREATE TABLE VI (integritní omezení) Pomocí speciálního druhu integritního omezení můžeme definovat i defaultní hodnotu atributu. Budeme-li vkládat řádek do tabulky vytvořené výše uvedeným příkazem a neuvede- me-li přitom hodnotu sloupce kredity, nezústane tento sloupec nevyplněn (NULL), ale bude mít hodnotu 2. id2 int NOT NULL DEFAULT 4

CREATE TABLE VII (generování hodnot) 1 1 Nejprve definujeme tzv. sekvenci. V daném případě jsme ji pojmenovali distrib_prim. Při vkládání nového řádku bude chtít integritní omezení DEFAULT přiřadit sloupci did vkládaného řádku hodnotu. Tuto hodnotu zjistí vyhodnocením funkce nextval(), jež ovšem vygeneruje nový (ještě neexistující) prvek sekvence distrib_prim. Jako výsledek bude mít každý řádek vygenerovanou unikátní hodnotu sloupce did. constants (literals): numbers, strings in ‘’ Toto není SQL standard, ale syntax DB systému ProgreSQL. Generování hodnot bylo standardizováno až v SQL2006.

Změna struktury databáze

Vyprázdnění tabulky, komentáře

SQL Jazyk pro manipulaci s daty INSERT vložení dat do databáze UPDATE upravení dat v databázi DELETE mazání dat v databázi SELECT získání dat z databáze …

INSERT INTO Seznam hodnot Jméno tabulky Jméno tabulky Seznam atributů

Změna obsahu databáze

Změna obsahu databáze

REFERENČNÍ INTEGRITA I

REFERENČNÍ INTEGRITA II

REFERENČNÍ INTEGRITA III Modifikátory CASCADE, RESTRICT, SET NULL, SET DEFAULT se v sekcích ON UPDATE a ON DELETE nastavují nezávisle.

SELECT I

SELECT II

SELECT III

SELECT IV

SELECT V (Aritmetické operátory )

SELECT VI SELECT Vi bude 11.3.2010

SELECT VII (třídění) asc = vzestupne A->Z desc = sestupne Z->A