За последно много мислене му хвърлих и стигнах до тука. Още не съм получил формулярите за оценяване на ката и кумите за да им видя атрибутите. Така че на този етап таблиците category_kat и category_kum са примерни с това което зная че се изисква. а1-6 и s1-6 това са оценките на Ака и Широ. Може би някъде ще трябва да се сложи поле за заключване, тоест с enum и "y" и "n" софтуера да знае дали може да променя реда или не. Но това е на по-късен етап, сега трябва са се опишат релациите-връзки между обработваните данни. Чакам отзиви!
GeSHi (SQL):
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`contact` (
`id_contact` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`tel1` VARCHAR(20) NULL ,
`tel2` VARCHAR(20) NULL ,
`email` VARCHAR(20) NULL ,
`skype` VARCHAR(20) NULL ,
`icq` VARCHAR(20) NULL ,
`address` TINYTEXT NULL ,
`info` TINYTEXT NULL ,
PRIMARY KEY ( `id_contact` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`karateka` (
`id_karateka` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TINYTEXT NOT NULL,
`pol` ENUM( 'm', 'f' ) NOT NULL DEFAULT 'm',
`rajdane` DATE NOT NULL,
`kilogrami` TINYINT UNSIGNED,
`stepen` ENUM( '9k', '8k', '7k', '6k', '5k', '4k', '3k', '2k', '1k', '1d', '2d', '3d', '4d', '5d', '6d', '7d', '8d', '9d' ) NOT NULL DEFAULT '9k',
`type` ENUM( '1', '2', '3', '4' ) NOT NULL DEFAULT '1' COMMENT '1 - sastezatel, 2 - trenior, 3 - pomostnik trenior, 4 - sekretar',
`id_contact` INT UNSIGNED,
`id_club` INT UNSIGNED NOT NULL,
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`club` (
`id_club` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` TINYTEXT NOT NULL,
`id_contact` INT UNSIGNED
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`competition` (
`id_competition` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` TINYTEXT NOT NULL ,
`data` DATE NOT NULL,
`id_contact` INT UNSIGNED
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`category` (
`id_category` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`id_competition` INT UNSIGNED NOT NULL,
`name` TINYTEXT NOT NULL ,
`kat_kum` ENUM('kat', 'kum') NOT NULL,
`min_age` TINYINT(100) UNSIGNED,
`max_age` TINYINT(100) UNSIGNED,
`max_kilogrami` TINYINT UNSIGNED,
`min_rank` ENUM( '9k', '8k', '7k', '6k', '5k', '4k', '3k', '2k', '1k', '1d', '2d', '3d', '4d', '5d', '6d', '7d', '8d', '9d' ),
`max_rank` ENUM( '9k', '8k', '7k', '6k', '5k', '4k', '3k', '2k', '1k', '1d', '2d', '3d', '4d', '5d', '6d', '7d', '8d', '9d' ),
`pol` ENUM( 'm', 'f', 'mf' ) NOT NULL DEFAULT 'm'
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`karatekas` (
`id_karateka` INT UNSIGNED NOT NULL,
`id_category` INT UNSIGNED NOT NULL,
PRIMARY KEY (`id_karateka`, `id_category`)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`category_kat` (
`category_kat` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`id_category` INT UNSIGNED NOT NULL,
`game` INT UNSIGNED NOT NULL,
`a_id_karateka` INT UNSIGNED,
`s_id_karateka` INT UNSIGNED,
`winner` INT UNSIGNED,
`a1` REAL(2, 1),
`a2` REAL(2, 1),
`a3` REAL(2, 1),
`a4` REAL(2, 1),
`a5` REAL(2, 1),
`a6` REAL(2, 1),
`s1` REAL(2, 1),
`s2` REAL(2, 1),
`s3` REAL(2, 1),
`s4` REAL(2, 1),
`s5` REAL(2, 1),
`s6` REAL(2, 1)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE `test2`.`category_kum` (
`category_kum` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`id_category` INT UNSIGNED NOT NULL,
`game` INT UNSIGNED NOT NULL,
`a_id_karateka` INT UNSIGNED,
`s_id_karateka` INT UNSIGNED,
`winner` INT UNSIGNED
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Може да ми пишете и в блога ми на
http://www.karatebulgaria.com/alex