Virtlab:Rezervační server/Popis databáze

Z VirtlabWiki

< Virtlab:Rezervační server(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 10:18, 8. 2. 2007
Hra196 (Diskuse | příspěvky)
(zalozeni clanku)
← Předchozí porovnání
Aktuální verze
Vav166 (Diskuse | příspěvky)
(Stránka Virtlab:Rezervační server – popis databáze přemístěna na stránku Virtlab:Rezervační server/Popis databáze)
Řádka 1: Řádka 1:
-[[Rezervační server]] používá k ukládání dat databázový server MySQL. Zde jsou tabulky obsahující informace o rezervacích.+[[Virtlab:Rezervační server]] používá k ukládání dat databázový server MySQL. Rezervační server vyžaduje podporu transakcí, proto se používají tabulky typu ''InnoDB''. Zde jsou tabulky obsahující informace o rezervacích.
== Tabulky rezervací == == Tabulky rezervací ==
Řádka 36: Řádka 36:
==== Skript pro vytvoření ==== ==== Skript pro vytvoření ====
<pre> <pre>
- CREATE TABLE `virtlab`.`reservations` (+ CREATE TABLE `reservations` (
`resid` VARCHAR(23) NOT NULL DEFAULT '' COMMENT 'identifikator rezervace ve tvaru cislo@lokalita', `resid` VARCHAR(23) NOT NULL DEFAULT '' COMMENT 'identifikator rezervace ve tvaru cislo@lokalita',
`from_time` DATETIME NOT NULL DEFAULT 0 COMMENT 'cas pocatku rezervace', `from_time` DATETIME NOT NULL DEFAULT 0 COMMENT 'cas pocatku rezervace',
Řádka 42: Řádka 42:
PRIMARY KEY(`resid`) PRIMARY KEY(`resid`)
) )
- ENGINE = MYISAM;+ ENGINE = InnoDB;
</pre> </pre>
Řádka 72: Řádka 72:
==== Skript pro vytvoření ==== ==== Skript pro vytvoření ====
<pre> <pre>
- CREATE TABLE `virtlab`.`reserved_devies` (+ CREATE TABLE `reserved_devices` (
`device` VARCHAR(20) NOT NULL DEFAULT '' COMMENT 'identifikator zarizeni ve tvaru nazev@lokalita', `device` VARCHAR(20) NOT NULL DEFAULT '' COMMENT 'identifikator zarizeni ve tvaru nazev@lokalita',
`resid` VARCHAR(23) NOT NULL DEFAULT '' COMMENT 'identifikator rezervace ve tvaru cislo@lokalita', `resid` VARCHAR(23) NOT NULL DEFAULT '' COMMENT 'identifikator rezervace ve tvaru cislo@lokalita',
PRIMARY KEY(`device`, `resid`) PRIMARY KEY(`device`, `resid`)
) )
- ENGINE = MYISAM;+ ENGINE = InnoDB;
</pre> </pre>
 +
 +[[Kategorie:Rezervační server]]

Aktuální verze

Virtlab:Rezervační server používá k ukládání dat databázový server MySQL. Rezervační server vyžaduje podporu transakcí, proto se používají tabulky typu InnoDB. Zde jsou tabulky obsahující informace o rezervacích.

Obsah

Tabulky rezervací

RESERVATIONS

Klíčem záznamů jsou unikátní id rezervace resid (jedinečné pro celý distribuovaný Virtlab). Dále záznam obsahuje startovací a konečný čas rezervace from_time a to_time. Přes id rezervace je napojena tabulka RESERVED_DEVICES.

Struktura tabulky RESERVATIONS
Název sloupce Typ Null Klíč Implicitní hodnota Další Poznámky
resid varchar(23) ne primární NULL Formát: číslo@lokalita
from_time datetime ne 0000-00-00 00:00:00 Sekundy vždy 0
to_time datetime ne 0000-00-00 00:00:00 Sekundy vždy 0

Skript pro vytvoření

  CREATE TABLE `reservations` (
    `resid` VARCHAR(23)  NOT NULL DEFAULT '' COMMENT 'identifikator rezervace ve tvaru cislo@lokalita',  
    `from_time` DATETIME  NOT NULL DEFAULT 0 COMMENT 'cas pocatku rezervace',
    `to_time` DATETIME  NOT NULL DEFAULT 0 COMMENT 'cas konce rezervace',
  PRIMARY KEY(`resid`)
  )
  ENGINE = InnoDB;

RESERVED_DEVICES

Každý záznam obsahuje cizí klíč id rezervace resid (viz RESERVATIONS) a unikátní id síťového zařízení device. Celý řádek je klíčem.

Struktura tabulky RESERVED_DEVICES
Název sloupce Typ Null Klíč Implicitní hodnota Další Poznámky
device varchar(20) ne Null Formát: název@lokalita
resid varchar(23) ne primární NULL Formát: číslo@lokalita

Skript pro vytvoření

  CREATE TABLE `reserved_devices` (
    `device` VARCHAR(20)  NOT NULL DEFAULT '' COMMENT 'identifikator zarizeni ve tvaru nazev@lokalita',  
    `resid` VARCHAR(23)  NOT NULL DEFAULT '' COMMENT 'identifikator rezervace ve tvaru cislo@lokalita',  
  PRIMARY KEY(`device`, `resid`)
  )
  ENGINE = InnoDB;
Osobní nástroje