Virtlab:Rezervační server/Popis databáze
Z VirtlabWiki
(Rozdíly mezi verzemi)
												
			
			| Verze z 10:18, 8. 2. 2007 Hra196 (Diskuse | příspěvky) (zalozeni clanku) ← Předchozí porovnání  | 
				Verze z 09:00, 27. 2. 2007 Hra196 (Diskuse | příspěvky) (Podpora transakcí: Změna typu tabulek z MYISAM na InnoDB) Následující porovnání →  | 
			||
| Řá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. | + | [[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 42: | Řádka 42: | ||
| PRIMARY KEY(`resid`) | PRIMARY KEY(`resid`) | ||
| ) | ) | ||
| - | ENGINE = MYISAM; | + | ENGINE = InnoDB; | 
| </pre> | </pre> | ||
| Řádka 77: | Řádka 77: | ||
| PRIMARY KEY(`device`, `resid`) | PRIMARY KEY(`device`, `resid`) | ||
| ) | ) | ||
| - | ENGINE = MYISAM; | + | ENGINE = InnoDB; | 
| </pre> | </pre> | ||
Verze z 09:00, 27. 2. 2007
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.
| 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 `virtlab`.`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.
| 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 `virtlab`.`reserved_devies` (
    `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;
						
			
		