← IT

Informační systémy a E-R model

Doplněný obsah — není z archivu podkladů, napsáno podle ŠVP. Vhodné ověřit u vyučujícího.

Informační systém

Hodnocení a analýza informačních systémů

Při posuzování kvality IS se hodnotí zejména:

Základní pojmy databázových technologií

Modely databází

Modelování jako prostředek návrhu databáze

E-R model (Entity-Relationship model)

Datové typy atributů

Vztahy (relace) mezi entitami

Klíče v relačním modelu

Návrh struktury tabulek, číselníky, integritní omezení

Normalizace

Procesy zpracování dat a role uživatelů

Praktický příklad – e-shop v MySQL

Aby bylo vidět, jak celý postup (analýza → E-R model → klíče → normalizace) vypadá na konkrétním zadání, projdeme si jednoduchý informační systém e-shopu, který eviduje zákazníky, jejich objednávky a produkty. Tohoto příkladu (stejné tabulky) se drží i následující kapitola o jazyce SQL.

Entity a vztahy

Převod do tabulek – MySQL

CREATE DATABASE eshop CHARACTER SET utf8mb4;
USE eshop;

CREATE TABLE zakaznik (
    id INT PRIMARY KEY AUTO_INCREMENT,
    jmeno VARCHAR(50) NOT NULL,
    prijmeni VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    telefon VARCHAR(20)
) ENGINE=InnoDB;

CREATE TABLE produkt (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nazev VARCHAR(100) NOT NULL,
    cena DECIMAL(10,2) NOT NULL,
    sklad_mnozstvi INT NOT NULL DEFAULT 0
) ENGINE=InnoDB;

CREATE TABLE objednavka (
    id INT PRIMARY KEY AUTO_INCREMENT,
    datum DATE NOT NULL,
    zakaznik_id INT NOT NULL,
    FOREIGN KEY (zakaznik_id) REFERENCES zakaznik(id)
) ENGINE=InnoDB;

-- vazební tabulka pro vztah M:N mezi objednávkou a produktem
CREATE TABLE polozka_objednavky (
    id INT PRIMARY KEY AUTO_INCREMENT,
    objednavka_id INT NOT NULL,
    produkt_id INT NOT NULL,
    mnozstvi INT NOT NULL DEFAULT 1,
    FOREIGN KEY (objednavka_id) REFERENCES objednavka(id),
    FOREIGN KEY (produkt_id) REFERENCES produkt(id)
) ENGINE=InnoDB;