Aplikační a programové vybavení

Slides:



Advertisements
Podobné prezentace
Aplikační a programové vybavení
Advertisements

Základní obeznámení s jazykem SQL
SQL Další dotazy a pohledy
Základy jazyka SQL Jan Tichava
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
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.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Fakulta elektrotechniky a informatiky
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Temporální databáze a TSQL
TEMPORÁLNÍ DATABÁZE A TSQL2
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Martin Kirschbaum 4.A,  určitá uspořádaná množina informací (dat) uložená na paměťovém médiu  Databázový program - umožňuje tvořit, editovat,
1IT Relační datový model
Databáze Jiří Kalousek.
SQL Přednáška DB1. Literatura CONNOLLY, T.M.-BEGG,C.E.-STRACHAN,A.D.: Database Systems – A Practial Approach to Design, Implementation and Management.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Databáze Úvod.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Databázové systémy teorie a návrh relačních databázových systémů část II.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Aplikační a programové vybavení
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy Přednáška č. 6.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Cvičení.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Databázové systémy II Přednáška V Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Aplikační a programové vybavení
Databázové systémy UIN010 N-ticový (řádkový) relační kalkul Hodnoty proměnných n-tice relací (řádky) Konstanty hodnoty atributů Unární funkční.
Databázové modelování
Informatika II PAA DOTAZOVACÍ JAZYKY
Aplikační a programové vybavení
Aplikační a programové vybavení
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Základní obeznámení s jazykem SQL Databázové systémy.
TEMPORÁLNÍ DATABÁZE A TSQL2
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
SQL Další dotazy a pohledy Databázové systémy. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Základní obeznámení s jazykem SQL Databázové systémy.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Příkazy jazyka SQL ve VFP a na SQL Serveru
Perzistence XML dat Kamil Toman
DATABÁZE.
Databázové systémy I Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
YOUR LOGO C# Entity Framework. YOUR LOGO  Entity framework nám poskytuje: -Vytváří objektový model na základě databázového schématu -Mapuje tabulky,
Databázové systémy a SQL
Unix a Internet 9. SQL server
Databázové systémy a SQL
Databázové systémy I Přednáška 11 Databázové systémy 1 – KIT/IDAS1
Dotazovací jazyk SQL I.
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
Databázové systémy a SQL
Databázové jazyky Jaroslav Pokorný FI BVŠP Bratislava
Databázové systémy a SQL
Transkript prezentace:

Aplikační a programové vybavení Databáze – jazyk SQL (úvod)

Jazyk SQL SQL je programovací jazyk, pomocí kterého je možné komunikovat s relačním DBS. SQL je vychází z relační algebry, ale je bohatší. Pomocí SQL je možné: „dotazovat se databáze na její stav“ – získávat data z databáze „zasílat databázi požadavky na aktualizaci“ – měnit stav databáze definovat tabulky (definovat schémata) Jazyk SQL je velice odlišný od „běžných“ programovacích jazyků. Programovací jazyky se dají rozdělit na procedurální (C, Pascal, Java, Javascript. Php, VB, C++, C#, atd...) funkcionální (LISP, Haskell, ...) a deklarativní (SQL, Prolog, ...)

Jazyk SQL Data jsou uložena v databázi ve formě tabulek. Program, který zaslal dotaz, se nemusí starat o fyzickou strukturu dat a jejich uložení. Pořadí tabulek ani sloupců v databázi není důležité, protože jsou identifikovány jménem. Pořadí řádků není důležité, protože jednotlivé řádky jsou identifikované hodnotou klíče. Deklarativní jazyk: definujeme, CO chceme udělat (procedurální jazyk definuje, jak se něco udělá – proceduru) Důležitá je identifikace všech prvků pomocí jména, to je jediný správný způsob. Často se lze setkat s příklady (zejména v PHP), kde se používá identifikace pomocí indexu, ta ale není nijak zajištěna. Je to jen dobrá vůle některých databázových rozhraní, že ji umožňují. Jazyk SQL zahrnuje DDL (Data Definition Language – jazyk pro definici struktury dat) a DML (Data Manipulation Language – jazyk pro manipulaci s daty (to zahrnuje i výběr dat)).

Historie první prototyp v r. 1974 – jazyk Sequel standardizace ANSI a ISO v roce 1986 a 1987 – SQL-86 nový standard ANSI a ISO v roce 1992 – SQL-92 a další SQL:1999 a další SQL:2003 a další SQL:2008 – rozšíření o XML a další SQL:2011 – zpracování časových řad SQL:2003 má 3606 stran Pro zajímavost, jazyk C byl standardizován v roce 89, tedy později než jazyk SQL. V současnosti je ve většině RDBS implementované něco mezi SQL-92 a SQL:1999, skutečnost je taková, že implementace jazyka SQL v RDBS zaostávají za standardem o mnoho let a pravděpodobně vždy budou. Některé implementace totiž již dlouho obsahují prvky nekompatibilní se standardem.

Jména bez speciálních znaků → A...Z, a...z, 0...9, _ název (sloupce, tabulky, databáze, ...) ne příliš dlouhý (30 znaků) pokud možno anglicky dodržovat jednotnou konvenci velikosti písmen: id_person (C) idPerson (Java, C++) IdPerson (Delphi) Id_Person (exoti) název by měl vystihovat obsah Při pojmenovávání je dobré myslet na to, že mínus (pomlčka) je operátor a tudíž se obvykle nedá použít ve jméně.

Jména Název by neměl obsahovat zbytečné údaje u tabulky není nutné uvádět, že je to tabulka je zbytečné k názvu sloupce přidávat název tabulky/databáze používat zavedené zkratky id / person_id / id_person item_count / item_cnt id_person se v tabulce „persons“ může zdát zbytečné, ale může se využít při NATURAL JOIN je dobré vyhnout se klíčovým slovům jazyka Seznam klíčových slov PostgreSQL: http://www.postgresql.org/docs/8.2/interactive/sql-keywords-appendix.html MySQL: http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html Vyhnout se všem klíčovým slovům jazyka SQL a všech implementací je prakticky nemožné.

SQL Zapomeňte procedurální programování. Pomocí SQL se definuje co má DBS udělat, SQL server požadavek zpracuje (převede na procedurální kód) a vyhodnotí. K dílčím prvkům databáze se přistupuje přes operátor „.“ (tečka) databáze.tabulka.sloupec (schéma.tabulka.sloupec) project.persons.id_person databáze se zpravidla neuvádí (během spuštění programu se nemění) tabulku je vhodné uvádět vždy SQL má vysokou redundanci (mnoho možností) Tečková notace je podobná jako např. u objektů v C++, Js apod. Vysokou redundanci mají i ostatní jazyky, např. jakýkoliv procedurální jazyk si vystačí s podmínkou a skokem. Ostatní příkazy však zpravidla zkracují a/nebo zjednodušují zápis programu, případně zefektivňují zpracování. SQL je zajímavé tím, že má množství příkazů a klíčových slov, která jsou naprosto stejná. Motivací za tímto je možnost dát programátorovi na výběr takovou logiku jazyka, která mu nejvíce vyhovuje.

Datové typy - úvod základní datové typy více o datových typech později řetězce varchar(mohutnost) – standardní řetězec, omezený délkou text – „neomezený“ řetězec čísla int(mohutnost) / number – celé číslo, např. int(4) signed / unsigned float datum datetime / date více o datových typech později Mohutnost datového typu se udává vždy v bajtech, jestli se udává nebo ne, záleží na konkrétním datovém typu a konkrétní implementaci. Int (4) má rozsah 32bitů, protože 8*4 = 32 Velikost „neomezeného řetězce“ bývá zpravidla okolo 4GB.

Tabulka × Relace Tabulky mohou být skutečné – odpovídají databázovém schématu. Tabulky mohou být virtuální – pohledy (externí schémata). Výsledkem libovolného dotazu je také tabulka (dočasná). Pohled (view): je definován dotazem je zpravidla jen pro čtení umožňuje zjednodušení dotazů vytváří „uživatelské verze“ databáze umožňuje odstínit jednotlivé programové moduly aktualizuje se automaticky ze základních tabulek Výsledek dotazu (ani pohled) obecně není relace Výsledek dotazu není relace, protože může obsahovat stejné řádky – tedy nesplňuje základní podmínku relace – tj. že množina musí obsahovat unikátní prvky. Pohled je dobrý k tomu, že se tváří jako tabulka, a přitom nezvyšuje redundanci dat (je vždy vytvořen spojením skutečných tabulek), může se tedy s výhodou použít k rekonstrukci původního DB schématu. Klíčový poznatek je, že tabulka je buď skutečná tabulka, nebo výsledek dotazu, nebo pohled (což je výsledek dotazu), nebo výsledek spojení tabulek (JOIN).

Syntaxe zápisu syntaxe funkce a klíčová slova jazyka VELKÝMI PÍSMENY kurzívou se značí rozvinutí (zástupný symbol) DELETE FROM tabulka; [ ] – nepovinný prvek { } – množina prvků | – vyloučení prvků [ LEFT | RIGHT ] JOIN LEFT JOIN RIGHT JOIN JOIN a { = | < | > } b a = b nebo a < b nebo a > b Syntaxe = pravidla zápisu něčeho. Tento způsob zápisu se často používá i jinde, zejména pro syntaxi příkazů shellu.

http://kantorek.webzdarma.cz/

Příkazy SQL pro definici struktury dat (tabulek) – DDL (data definition language): CREATE (SCHEMA | TABLE | INDEX ) ALTER TABLE DROP TABLE pro manipulaci s daty – DML (data manipulation language): INSERT SELECT UPDATE DELETE mezi jednotlivými DBS jsou v některých oblastech značné rozdíly! Někdy se používá také DQL (Data Query Language), který obsahuje jen příkaz SELECT, ve skutečnosti se, ale zkratka DQL nevztahuje k SQL. Prakticky vzato má jazyk 4 příkazy bez kterých se nedá obejít.