OrgPad logo

MAT INF 20: Databáze

Created by Tomáš Flídr

#inf, #maturita

MAT INF 20: Databáze

SQL injection

Dotazy jsou čistě textové, takže pokud systém používá input uživatele, dává jej přímo do dotazu. Bez ošetření může uživatel změnit dotaz (přidat vždy platnou podmínku, "OR 1=1".

Základní příkazy

SELECT, DROP TABLE, CREATE TABLE, WHERE, INSERT...

příklad:

SELECT column1, column2 FROM table_name
WHERE condition;

Datový typ

ID

SQL

Jazyk pro ovládání relačních databází, Structured Query Language, Query = dotaz na databázi

Entita

Prvek databáze

Atribut

Vlastnost entity

Relational Database Management System (RDBMS)

Integrita

Integrita entity: atributy mají správný datový typ, existuje primární klíč

Referenční integria: cizí klíč (reference v jiné tabulce) někam odkazuje.

Databáze

soubor strukturovaných dat, ze kterých je možné je získávat

Typy

MySQL (opensource), Oracle DB

Hierarchická

Přes úrovně/stromy/child-parent.Hierarchical-DB

Relační

Pokročilá (nahradila hierarchické, síťové a objektové), pomocí relačního modelu. Data jsou ve formě tabulek s atributy (sloupci), řádky jsou záznamy (entity). Záznamy mají typicky unikární identifikátor (Primární klíč)

image

Mezi tabulkami můžou být vztahy (atribut odpovídá atributu/řádku v jiné tabulce), přiklad: tabulka studentů (s atributy ID, třída, věk...), tříd (třídní učitel, kmenová učebna...)

Typy databází

1:1

Záznam v tabulce spojen max s jedním v druhé (rozdělení tabulky na dvě menší).

Síťová

Entita může mít více rodičů.Network-DB

Typy relací

Objektová

Podobně jako obj. orientované programování, funguje dědičnost mezi objekty, spojení přes metody.Object-Oriented-DB

1:N

Řádky z jedné tabulky můžou být spojeny s více s druhé (zákazníci a nákupy).

M:N

Více řádků může být spojeno s řádky (výrobky a objednávky - jeden výrobek ve více, jedna objednávka se skládá z více).

Možnost rozdělení na dvě 1:N další tabulkou.