
- •Актуальность.
- •Целевая аудитория.
- •Требования к базе.
- •Сущности и связи:
- •Описание полей.
- •Функциональные зависимости.
- •Sql листинги:
- •Insert (Вставка данных):
- •1. Вывод всех физических способностей, с силой больше 20 и указать класс этой способности.
- •2. Вывод правителей и наследников
- •3. Вывод всех способностей и сопротивлений, которые дает специализации храмовник и паладин. Должно вывестись id, название способности, мощность и описание.
- •4. Вывод всех споосбностей и сопротивлений,которые дают расы эльф, человек и гном из разных вселенных.
- •5. Вывод имени персонажа, который является и героем и правителем страны, его звание, расу и бога (богов) в которых он верит.
- •6. Вывод персонажей и богов, в которых они верят, а также расы к которой они принадлежат и их специализации, если она есть
- •7. Вывод всех стран в базе, Миров в которых они находятся, месторасположение, а также количество персонажей в этой стране, который находятся в базе.
- •8. Вывод персонажей являющихся родственниками (представителями клана)
- •9. Вывод добрых богов и благословений которые они дают, а также способности благословений и число людей которые в них верят.
- •10. Вывод героя с максимальным уровнем.
5. Вывод имени персонажа, который является и героем и правителем страны, его звание, расу и бога (богов) в которых он верит.
SELECT `c`.`name` AS 'NAME',
`c`.`title`,
`country`.`name` AS 'COUNTRY',
`s`.`name` AS 'SPEC',
`r`.`name` AS 'RACE',
`g`.`name` AS 'GOD'
FROM `race` AS `r`,
`character` AS `c`,
`god` AS `g`,
`god_character` AS `g_c`,
`country`,
`specialization` AS `s`,
`heroes` AS `h`,
`heroes_specialization` AS `h_s`
WHERE `r`.`id_race`
IN
(SELECT `c`.`id_race`
FROM `character` AS `c`,
`governor` AS `g`,
`heroes` as `h`
WHERE `c`.`id_character`=`g`.`id_character`
AND
`c`.`id_character`=`h`.`id_character`)
AND
`c`.`id_character`
IN
(SELECT `c`.`id_character`
FROM `character` AS `c`,
`governor` AS `g`, `heroes` as `h`
WHERE `c`.`id_character`=`g`.`id_character`
AND
`c`.`id_character`=`h`.`id_character`)
AND
`g`.`id_god`=`g_c`.`id_god`
AND
`c`.`id_character`=`g_c`.`id_character`
AND
`c`.`id_country`=`country`.`id_country`
AND
`s`.`id_specialization`=`h_s`.`id_specialization`
AND
`h`.`id_heroes`=`h_s`.`id_heroes`
AND
`h`.`id_character`=`c`.`id_character`;
6. Вывод персонажей и богов, в которых они верят, а также расы к которой они принадлежат и их специализации, если она есть
SELECT `g`.`id_god`,
`g`.`name` AS 'GOD',
`g`.`description`,
`c`.`name` AS 'NAME CHARACTER',
`r`.`name` AS 'RACE',
`s`.`name` AS 'SPEC',
`u`.`id_universe`,
`u`.`name` AS 'NAME UNIVERSE'
FROM `god` AS `g`, `universe` AS `u`,
`god_character` AS `g_c`,
`race` AS `r`,
`character` AS `c`
LEFT JOIN `heroes` AS `h` ON `h`.`id_character`=`c`.`id_character`
LEFT JOIN `heroes_specialization` AS `h_s`ON `h`.`id_heroes`=`h_s`.`id_heroes`
LEFT JOIN `specialization` AS `s` ON `s`.`id_specialization`=`h_s`.`id_specialization`
WHERE
`g`.`id_universe`=`u`.`id_universe`
AND
`g`.`id_god`=`g_c`.`id_god`
AND
`c`.`id_character`=`g_c`.`id_character`
AND
`r`.`id_race`=`c`.`id_race`
AND
`r`.`id_race`=`c`.`id_race`;
7. Вывод всех стран в базе, Миров в которых они находятся, месторасположение, а также количество персонажей в этой стране, который находятся в базе.
SELECT `c`.`id_country`,
`c`.`name` AS 'COUNTRY',
`g`.name AS 'GOVERNMENT',
`u`.`name` AS 'UNIVERSE',
`c`.`location`, `c`.`landscape`,
COUNT(`id_character`) AS 'POPULATION'
FROM `universe` AS `u`,
`government` AS `g`,
`country` AS `c`
LEFT JOIN
`character` ON (`c`.`id_country`=`character`.`id_country` )
WHERE `c`.`id_universe`=`u`.`id_universe`
AND
`c`.`id_government`=`g`.`id_government`
GROUP BY `id_country`;
8. Вывод персонажей являющихся родственниками (представителями клана)
SELECT `clan`.`name` AS `CLAN`,
`country`.`name` AS 'COUNTRY',
`character`.`name`,`gender`,`age`,`title`,`ideology`,`property`,`character`.`description`,
`race`.`name` AS 'RACE'
FROM `character`, `clan`, `race`, `country`
WHERE `clan`.`id_clan`=`character`.`id_clan`
AND
`character`.`id_country`=`country`.`id_country`
AND
`character`.`id_race`=`race`.`id_race`
AND
`clan`.`name`<>'No family'
AND
`clan`.`id_clan`
IN
(SELECT `id_clan`
FROM `character`
GROUP BY `character`.`id_clan`
HAVING COUNT(`character`.`id_clan`)>1)
ORDER BY 'CLAN';