120 likes | 275 Views
Databáze. Lukáš Masopust 2009. SQL. Historie. Předchůdcem databází byly papírové kartotéky 1890 - děrný štítek 1959 konference 1960 – vytvořen jazyk COBOL pro hromadné zpracování dat 1965 – Výbor Database Task Group (DBTG) Vytvoření koncepce databázových systémů
E N D
Databáze Lukáš Masopust 2009 SQL
Historie • Předchůdcem databází byly papírové kartotéky • 1890- děrný štítek • 1959 konference • 1960 – vytvořen jazyk COBOL pro hromadné zpracování dat • 1965 – Výbor Database Task Group (DBTG) • Vytvoření koncepce databázových systémů • 1971 – síťový db systém i hierarchické databáze • 1970 – začínají relační databáze
Historie SQL • 1974 - Structured English Query Language • Syntax inspirována přirozenému jazyku • 1979 – Oracle database • 1992 – SQL-92 (SQL2) • 1999 – SQL-99 (SQL3) databáze s objektovými prvky • Objektově relační databáze
Základní pojmy I. • SŘBD • soubor metod a programových prostředků pro manipulaci s rozsáhlými datovými soubory uloženými v určitém formátu • Entita • Prvek (tabulka) popsaný parametry • databázový model • Hierarchický • založen na modelování hierarchie mezi entitami se vztahy podřízenosti a nadřízenosti • Síťový • vychází z teorie grafů, uzly v grafu odpovídají entitám a orientované hrany definují vztahy mezi entitami • Relační • Objektově relační databáze
SŘBD (DBMS) Systém řízení báze dat (Database management system) • Databáze je místo pro uložení dat. • Přístup k těmto datům zprostředkovává program označovaný SŘBD
Relační databáze • Vychází z relační algebry • Data uspořádána do tabulek (relací) A -> B a současně B není podmnožinou A, pak množina A obsahuje primární klíč tabulky
Základní pojmy II. • Hodnota (= uživatelská data) • Datový typ • Primární klíč • Jednoznačně indentifikuje záznam • Normální formy • Jsou 4 • Vlastnosti, které by měly dobře navržené tabulky
Realizace SŘBD • MySQL • Velmi rozšířená na webu • PostgreSQL • Oproti MySQL umožňuje psát složitější dotazy • mSQL • miniSQL – odlehčený DB server • Oracle • Profi řešení • Microsoft SQL • Profi řešení
Jazyk SQL - patří mezi tzv. deklarativní programovací jazyky – SQL kód vkládáme do jiného programovacího jazyka a terminálem odešleme na server jako textový řetězec DDL - Data Definition Language Definuje datových typy a strukturu tabulek, databází. CREATE TABLE My_table .. SDL - Storage DefinitionLanguage language to define the internal schema DCL - Data ControlLanguage is used to control and manage the database. Oprávnění… VDL - View Definition Language Pro návrháře a správce Virtuální představa databáze. It specifies user views and their mappings to the conceptual schema. DML - Data Manipulation Language příkazy INSERT, UPDATE, DELETE a SELECT
Ukažme si prakticky... tridy zaci SELECT jmeno FROM tridy, zaci WHERE tridy.id = zaci.patrici AND tridy.trida = 'E4.C