/** * sklep */ CREATE TABLE IF NOT EXISTS `stores` ( `store_id` TINYINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, `store_name` VARCHAR(255) CHARSET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL ) ENGINE=MyISAM CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO `stores` (`store_name`) VALUES ('TESCO'); /** * dni tygodnia w ktorych sklep jest czynny wraz z id godzin. */ CREATE TABLE IF NOT EXISTS `store_week` ( `store_id` TINYINT UNSIGNED NOT NULL, `store_day` TINYINT UNSIGNED, /** * `hours`.`hour_id` ↓ */ `store_from` TINYINT UNSIGNED, `store_to` TINYINT UNSIGNED ) ENGINE=MyISAM CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO `store_week` (`store_id`, `store_day`, `store_from`, `store_to`) VALUES (1, 1, 1, 0), (1, 2, 1, 0), (1, 3, 1, 0), (1, 4, 1, 0), (1, 5, 1, 0), (1, 6, 1, 0), (1, 7, 2, 0); /** * godziny. */ CREATE TABLE IF NOT EXISTS `hours` ( `hour_id` TINYINT UNSIGNED NOT NULL, `hour` SMALLINT UNSIGNED NOT NULL ) ENGINE=MyISAM CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO `hours` (`hour_id`, `hour`) VALUES (0, 0000), (1, 0600), (2, 0700);
Planuję zrobić spis sklepów wraz z godzinami otwarcia od/do.
Czy te tabele są dobrze znormalizowane?
Przy okazji,
Umie ktos to dobrze pobrać?

(Z join, union, ...group by, ...)
Konkretniej:
`stores`.`store_name`,
(`store_week`.`store_from`, `store_week`.`store_to` | jako `hours`.`hour` gdzie `hours`.`hour_id`=tamte id)
gdzie `store_week`.`store_day`=WEEKDAY(CURDATE())+1