158 lines
5.4 KiB
XML
158 lines
5.4 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
||
<?xml-stylesheet type="text/xsl" href="styles_animals_SQL.xslt"?>
|
||
<animals>
|
||
<animal>
|
||
<animal_id>1</animal_id>
|
||
<name>Слон</name>
|
||
<width>3.2</width>
|
||
<height>4</height>
|
||
<weight>5400</weight>
|
||
<color>Серый</color>
|
||
<food>Трава, тростник</food>
|
||
<averageIntake>около 150</averageIntake>
|
||
<habitat>Саванна</habitat>
|
||
<interestingFact>Слоны - самые большие животные на Земле (на суше)</interestingFact>
|
||
</animal>
|
||
<animal>
|
||
<animal_id>2</animal_id>
|
||
<name>Пингвин</name>
|
||
<width>0.4</width>
|
||
<height>1.1</height>
|
||
<weight>30</weight>
|
||
<color>Черно-белые, иногда фиолетово-белые</color>
|
||
<food>Рыба</food>
|
||
<averageIntake>2</averageIntake>
|
||
<habitat>Антарктика</habitat>
|
||
<interestingFact>Пингвины-родители по очереди высиживают яйца, пока второй партнер уходит на охоту за рыбой</interestingFact>
|
||
</animal>
|
||
<animal>
|
||
<animal_id>3</animal_id>
|
||
<name>Тигр</name>
|
||
<width>1.2</width>
|
||
<height>1</height>
|
||
<weight>220</weight>
|
||
<color>Оранжевый с черными полосами</color>
|
||
<food>Мясо</food>
|
||
<averageIntake>10</averageIntake>
|
||
<habitat>Леса, саванны</habitat>
|
||
<interestingFact>Тигры могут проплывать до 6 км за один раз</interestingFact>
|
||
</animal>
|
||
<animal>
|
||
<animal_id>4</animal_id>
|
||
<name>Панда</name>
|
||
<width>0.8</width>
|
||
<height>0.7</height>
|
||
<weight>100</weight>
|
||
<color>Черно-белый</color>
|
||
<food>Бамбук</food>
|
||
<averageIntake>15</averageIntake>
|
||
<habitat>Горные леса Китая</habitat>
|
||
<interestingFact>Панды проводят до 14 часов в день, поедая бамбук</interestingFact>
|
||
</animal>
|
||
<animal>
|
||
<animal_id>5</animal_id>
|
||
<name>Белый медведь</name>
|
||
<width>1.5</width>
|
||
<height>1.6</height>
|
||
<weight>450</weight>
|
||
<color>Белый</color>
|
||
<food>Морские млекопитающие</food>
|
||
<averageIntake>7</averageIntake>
|
||
<habitat>Арктика</habitat>
|
||
<interestingFact>Белые медведи могут нюхать добычу на расстоянии до 30 км</interestingFact>
|
||
</animal>
|
||
<animal>
|
||
<animal_id>6</animal_id>
|
||
<name>Фламинго</name>
|
||
<width>0.3</width>
|
||
<height>1.5</height>
|
||
<weight>3</weight>
|
||
<color>Розовый</color>
|
||
<food>Мелкие рыбы и водоросли</food>
|
||
<averageIntake>0,5</averageIntake>
|
||
<habitat>Соленые озера и лагуны</habitat>
|
||
<interestingFact>Цвет перьев фламинго зависит от их диеты</interestingFact>
|
||
</animal>
|
||
</animals>
|
||
|
||
|
||
<!--drop table if exists animals;
|
||
drop table color;
|
||
drop table if exists habitat;
|
||
|
||
|
||
create table color(
|
||
id serial primary key,
|
||
name varchar(255) not null
|
||
);
|
||
|
||
create table habitat(
|
||
id serial primary key,
|
||
name varchar(255) not null
|
||
);
|
||
|
||
create table animals(
|
||
id serial primary key,
|
||
name VARCHAR(255) NOT NULL,
|
||
width FLOAT,
|
||
height FLOAT,
|
||
weight INTEGER,
|
||
color_id INTEGER,
|
||
food varchar(255) not null,
|
||
averageIntake varchar(255) not null,
|
||
habitat_id INTEGER,
|
||
interesting_fact TEXT,
|
||
FOREIGN KEY (color_id) REFERENCES color(id),
|
||
FOREIGN KEY (habitat_id) REFERENCES habitat(id)
|
||
);
|
||
|
||
|
||
INSERT INTO color (name) VALUES
|
||
('Серый'),
|
||
('Черно-белые, иногда фиолетово-белые'),
|
||
('Оранжевый с черными полосами'),
|
||
('Черно-белый'),
|
||
('Белый'),
|
||
('Розовый');
|
||
|
||
INSERT INTO habitat (name) VALUES
|
||
('Саванна'),
|
||
('Антарктика'),
|
||
('Леса, саванны'),
|
||
('Горные леса Китая'),
|
||
('Арктика'),
|
||
('Соленые озера и лагуны');
|
||
|
||
|
||
INSERT INTO animals (name, width, height, weight, color_id, food, averageIntake, habitat_id, interesting_fact) VALUES
|
||
('Слон', 3.2, 4.0, 5400, 1, 'Трава, тростник', 'около 150', 1, 'Слоны - самые большие животные на Земле (на суше)'),
|
||
('Пингвин', 0.4, 1.1, 30, 2, 'Рыба', '2', 2, 'Пингвины-родители по очереди высиживают яйца, пока второй партнер уходит на охоту за рыбой'),
|
||
('Тигр', 1.2, 1.0, 220, 3, 'Мясо', '10', 3, 'Тигры могут проплывать до 6 км за один раз'),
|
||
('Панда', 0.8, 0.7, 100, 4, 'Бамбук', '15', 4, 'Панды проводят до 14 часов в день, поедая бамбук'),
|
||
('Белый медведь', 1.5, 1.6, 450, 5, 'Морские млекопитающие', '7', 5, 'Белые медведи могут нюхать добычу на расстоянии до 30 км'),
|
||
('Фламинго', 0.3, 1.5, 3, 6, 'Мелкие рыбы и водоросли', '0,5', 6, 'Цвет перьев фламинго зависит от их диеты');
|
||
|
||
|
||
SELECT xmlelement(
|
||
name "animals",
|
||
xmlagg(
|
||
xmlelement(
|
||
name "animal",
|
||
xmlforest(
|
||
animals.id AS "animal_id",
|
||
animals.name AS "name",
|
||
animals.width AS "width",
|
||
animals.height AS "height",
|
||
animals.weight AS "weight",
|
||
color.name AS "color",
|
||
animals.food as "food",
|
||
animals.averageIntake as "averageIntake",
|
||
habitat.name AS "habitat",
|
||
animals.interesting_fact AS "interestingFact"
|
||
)
|
||
)
|
||
)
|
||
) AS full_animal_data
|
||
FROM animals
|
||
JOIN color ON animals.color_id = color.id
|
||
JOIN habitat ON animals.habitat_id = habitat.id;--> |