Главная страница
Навигация по странице:

  • 3. Хроники Торуса На сайте sql-ex.ru предлагается несколько задач, связанных с мифической планетой Торус

  • Планета Торус Планета Торус

  • State NN WW SS EE T00 NULL NULL T10 T01 T01 NULL T00 T11 T02 T02

  • State NN WW SS EE T00 T20 T06 T10 T01 T01 T21 T00 T11 T02 T02 T22 T01 T12 T03 T03

  • Список цитируемых источников

  • лекция. Учебник по sql если вы хотите узнать, что такое sql этот сайт для вас


    Скачать 7.88 Mb.
    НазваниеУчебник по sql если вы хотите узнать, что такое sql этот сайт для вас
    Анкорлекция
    Дата21.12.2022
    Размер7.88 Mb.
    Формат файлаpdf
    Имя файлаMoiseenko_SQL.pdf
    ТипУчебник
    #857633
    страница47 из 47
    1   ...   39   40   41   42   43   44   45   46   47
    39
    П3 3
    Найдите корабли,
    «сохранившиеся для будущих сражений»; то есть выведенные из строя в одной битве (damaged), они участвовали в другой
    Обуч.
    +
    46
    П3 3
    Укажите названия, водоизмещение и число орудий кораблей, участвовавших в сражении при Гвадалканале
    (Guadalcanal)
    Обуч.
    +

    База
    Уровень
    Задача
    Этап
    ПиР
    51
    П3 3
    Найдите названия кораблей, имеющих наибольшее число орудий среди всех кораблей такого же водоизмещения
    (учесть корабли из таблицы
    Outcomes)
    Обуч.
    +
    53
    П3 1
    Определите среднее число орудий для классов линейных кораблей.
    Получить результат с точностью до двух десятичных знаков
    Обуч.
    +

    54
    П3 2
    С точностью до двух десятичных знаков определите среднее число орудий всех линейных кораблей
    (учесть корабли из таблицы
    Outcomes)
    Обуч.
    +
    55
    П3 1
    Для каждого класса определите год, когда был спущен на воду первый корабль этого класса. Если год спуска на воду головного корабля неизвестен, определите минимальный год спуска на воду кораблей этого класса. Вывести: класс, год
    Обуч.
    +
    56
    П3 3
    Для каждого класса определите число кораблей этого класса, потопленных в сражении. Вывести: класс и число потопленных кораблей
    Обуч.
    +
    57
    П3 3
    Для классов, имеющих потери в виде потопленных кораблей и не менее трех кораблей в базе данных, вывести имя класса и число потопленных кораблей
    Обуч.
    +

    70
    П3 3
    Укажите сражения, в которых участвовало, по меньшей мере, три корабля одной и той же страны.
    Обуч.
    +
    77
    П4 2
    Определить дни, когда было выполнено максимальное число рейсов из
    Ростова ('Rostov').
    Вывод: число рейсов, дата.
    Обуч.
    -
    93
    П4 2
    Для каждой компании, перевозившей пассажиров, подсчитать время, которое провели в полете самолеты с пассажирами.
    Вывод: название компании, время в минутах.
    Обуч.
    -
    11
    П4 2
    Среди пассажиров, которые пользовались услугами не менее двух авиакомпаний, найти тех, кто совершил одинаковое количество полётов самолетами каждой из этих авиакомпаний.
    Вывести имена таких пассажиров.
    Рейтинг
    -
    (-
    2)
    П3 2
    Для каждой страны определить год, когда на воду было
    Рейтинг
    +
    спущено максимальное количество ее кораблей. В случае, если окажется несколько таких лет, взять минимальный из них. Вывод: страна, количество кораблей, год
    17
    П3 1
    Найдите названия всех тех кораблей из базы данных, о которых можно определенно сказать, что они были спущены на воду до 1941 г.
    Рейтинг
    +
    Приложение
    3. Хроники
    Торуса
    На сайте sql-ex.ru предлагается несколько задач, связанных с мифической планетой Торус. В рамках этого приложения дается введение в топологию планеты и объясняются необходимые термины.
    Тор – это геометрическая фигура, представляющая собой поверхность вращения в форме бублика
    (см. http://en.wikipedia.org/wiki/Torus
    ).
    К сожалению, из-за прекращения поддержки Adobe
    Flash player наша чудная мультимедиа-презентация
    (навигатор по Торусу) больше не поможет вам точнее понять взаимное расположение стран
    TIJ, чтобы успешнее решать соответствущие задачи на sql- ex.ru
    . :-)

    Кнопки клавиатуры (qwe, asd, ->, <-) служили для организации вращения тора, а кнопки со стрелками вверх и вниз использовались для зуммирования. Клик на страну на торе вызывал перерисовку прямоугольной карты Меркадота.
    Планета
    Торус
    Планета Торус имеет тороидальную поверхность. Если эту поверхность развернуть (спроецировать) на плоскость в координатах Меркадота, то страны на этой карте будут выглядеть как ячейки "таблицы" с числом столбцов равным 7.
    Согласно 28-ричной системе исчисления, принятой на планете, страны именуются следующим образом:
    T00 T01 … T06
    T10 T11 … T16

    TA0 TA1 … TA6

    TR0 TR1 …
    TR6
    Меркадот – знаменитый путешественник и картограф, живший в стране T00 и разработавший карты планеты, наименее искажающие углы и расстояния.
    Все страны на Торусе примерно равноправны с точки зрения топологии, поэтому Меркадот разработал единую систему карт для планеты Торус. В этой системе схема карты для страны TR6, например, выглядит следующим образом:

    TR6 TR0
    … TR5
    T06 T00
    … T05

    TQ6 TQ0
    … TQ5
    В силу особенностей тороидальной поверхности оказывается, что страна
    T00, как и всякая другая страна на планете, граничит с 8-ю другими странами, а вовсе не с тремя.
    На Торусе для обозначения соседних стран используются единообразные аббревиатуры. Так, например, в стране T00 о стране TR0 всегда говорили как о северном (NN) соседе, о TR6 как о северо-западном (NW) соседе и так далее
    (следуя против хода часовой стрелки). Подобным образом (NN, NW, WW, SW,
    SS, SE, EE, NE) обозначают своих соседей и другие страны. Возможно, это связано с направлением магнитных полей планеты.
    В результате развития цивилизации в торусианской галактике было обнаружено немало тороидальных планет, названия которых имеют следующие обозначения в астрономическом каталоге: Torus MxN, M - число областей по вертикали (широте), а N - число областей по горизонтали
    (долготе), т.е. общее число областей на такой планете равно MxN. При этом области не всегда представляют собой страны, как это имеет место на планете
    Торус, которая в данной классификации обозначается как Torus 28x7.
    До последнего времени самой большой (по числу областей) из обнаруженных планет являлся Torus 36x36. Для описания ее топологии торусианцы придумали 36-ричную математическую систему исчисления
    BASE 36
    Согласно этой системе, области на Торус 36x36 имеют аббревиатуры от T00 до TZZ.
    С тех пор как среди участников соревнований на сайте sql-ex.ru появились торусианцы, стала доступной новая информация об их галактике Лорус (Lorus). Например, оказалось, что Torus 36x36 - не самая большая планета этой системы. В целях культурного обмена, немало фактологических данных из исторических хроник Torus было занесено в основные и проверочные базы сайта (
    Painting, Ships и прочих
    ).

    Из условий задач на sql-ex становится известным, что единицей длины на
    Торусе является торометр, а единой валютой – торобакс. Основой жизни там является вода и ее разновидность – лед. В условиях задач приводятся основные сведения о физико-химических характеристиках, экономических и политических системах планет Torus MxN.
    Рассмотрим задачу про Торус, в которой мы вообще не будем привязываться ни к одной из “обычных” баз, и предложим следующее “универсальное” условие.
    Соседние страны на Торусе 3x7
    Для каждой из стран планеты Торус 3x7:
    T00 T01 … T06
    T10 T11 … T16
    T20 T21 … T26 найти список всех соседних стран, с которыми она имеет границу ненулевой длины. Решение привести в виде таблицы из пяти колонок: [State] [NN]
    [WW] [SS] [EE].
    Подсказка. Вот как выглядит ответ для обычного (нетороидального) случая.
    State
    NN
    WW
    SS
    EE
    T00
    NULL NULL T10
    T01
    T01
    NULL T00
    T11
    T02
    T02
    NULL T01
    T12
    T03
    T03
    NULL T02
    T13
    T04
    T04
    NULL T03
    T14
    T05
    T05
    NULL T04
    T15
    T06
    T06
    NULL T05
    T16
    NULL

    T10
    T00
    NULL T20
    T11
    T11
    T01
    T10
    T21
    T12
    T12
    T02
    T11
    T22
    T13
    T13
    T03
    T12
    T23
    T14
    T14
    T04
    T13
    T24
    T15
    T15
    T05
    T14
    T25
    T16
    T16
    T06
    T15
    T26
    NULL
    T20
    T10
    NULL NULL T21
    T21
    T11
    T20
    NULL T22
    T22
    T12
    T21
    NULL T23
    T23
    T13
    T22
    NULL T24
    T24
    T14
    T23
    NULL T25
    T25
    T15
    T24
    NULL T26
    T26
    T16
    T25
    NULL NULL
    Решение для тороидального случая.
    1.
    SELECT
    2.
    'T'
    +
    CAST
    (
    i
    AS
    varchar
    )
    +
    CAST
    (
    j
    AS
    varchar
    )
    [
    State
    ]
    3. ,
    'T'
    +
    CAST
    (
    k1
    AS
    varchar
    )
    +
    CAST
    (
    j1
    AS
    varchar
    )
    [
    NN
    ]
    4. ,
    'T'
    +
    CAST
    (
    i2
    AS
    varchar
    )
    +
    CAST
    (
    k2
    AS
    varchar
    )
    [
    WW
    ]
    5. ,
    'T'
    +
    CAST
    (
    k4
    AS
    varchar
    )
    +
    CAST
    (
    j4
    AS
    varchar
    )
    [
    SS
    ]
    6. ,
    'T'
    +
    CAST
    (
    i3
    AS
    varchar
    )
    +
    CAST
    (
    k3
    AS
    varchar
    )
    [
    EE
    ]
    7.
    FROM
    (
    SELECT
    j=
    0
    UNION
    ALL
    SELECT
    1
    UNION
    ALL
    SELECT
    2
    UNION
    ALL
    SELECT
    3
    UNION
    ALL
    8.
    SELECT
    4
    UNION
    ALL
    SELECT
    5
    UNION
    ALL
    SELECT
    6
    )
    J

    9.
    CROSS
    JOIN
    (
    SELECT
    i=
    0
    UNION
    ALL
    SELECT
    1
    UNION
    ALL
    SELECT
    2
    )
    I
    10.
    CROSS
    APPLY
    (
    SELECT
    i1=i
    -1
    ,j1=j,i2=i,j2=j
    -
    1
    ,i3=i,j3=j
    +1
    ,i4=i
    +1
    ,j4=j
    )
    D
    11.
    CROSS
    APPLY
    (
    SELECT
    12. k1=
    CASE
    WHEN
    i1<
    0
    THEN
    2
    ELSE
    i1
    END
    13.
    ,k2=
    CASE
    WHEN
    j2<
    0
    THEN
    6
    ELSE
    j2
    END
    14.
    ,k3=
    CASE
    WHEN
    j3>
    6
    THEN
    0
    ELSE
    j3
    END
    15.
    ,k4=
    CASE
    WHEN
    i4>
    2
    THEN
    0
    ELSE
    i4
    END
    16.
    )
    E;
    Правильный ответ:
    State
    NN
    WW
    SS
    EE
    T00
    T20 T06 T10 T01
    T01
    T21 T00 T11 T02
    T02
    T22 T01 T12 T03
    T03
    T23 T02 T13 T04
    T04
    T24 T03 T14 T05
    T05
    T25 T04 T15 T06
    T06
    T26 T05 T16 T00
    T10
    T00 T16 T20 T11
    T11
    T01 T10 T21 T12
    T12
    T02 T11 T22 T13
    T13
    T03 T12 T23 T14
    T14
    T04 T13 T24 T15

    T15
    T05 T14 T25 T16
    T16
    T06 T15 T26 T10
    T20
    T10 T26 T00 T21
    T21
    T11 T20 T01 T22
    T22
    T12 T21 T02 T23
    T23
    T13 T22 T03 T24
    T24
    T14 T23 T04 T25
    T25
    T15 T24 T05 T26
    T26
    T16 T25 T06 T20
    Заключение
    Автор продолжает работать над книгой, добавляя новые материалы и редактируя старые. В частности, добавлены главы, посвященные языку определения данных (DDL — Data Definition Language) и новым синтаксическим конструкциям запросов, которые появились в последних версиях стандарта и поддерживаются реализациями.
    Планируется написать об основах нормализации таблиц и оптимизации запросов.
    Автор с благодарностью примет ваши конструктивные замечания и предложения, которые вы можете отправлять по адресу электронной почты s.moiseenko[@]sql-ex[DOT]ru.

    Список
    цитируемых
    источников
    1. Дейт К.Дж. Введение в системы баз данных, 6-е издание. - К.; М.; СПб.: Издательский дом "Вильямс",
    2000 2. Ульман Дж.Д., Уидом Дж. Введение в системы баз данных. - М.: Издательство "Лори", 2000 3. Muthusamy Anantha Kumar.
    SQL
    Server and Collation,
    2004 4. Мартин Грабер. Справочное руководство по SQL. -
    М.: Издательство "Лори", 1997 5. Kalen Delaney. Inside Microsoft SQL Server 2005: The
    Storage Engine (Microsoft Press, 2006) ISBN 978-
    0735621053 6. Codd E.F. The Relational Model for Database
    Management Version 2. - Reading, Mass.: Addison-Wesley,
    1989 7. Джо Селко. Программирование на SQL для профессионалов. - 2-е издание - М.: Издательство "Лори", 2004 8. Itzik Ben-Gan. Inside Microsoft SQL Server 2008:
    T-
    SQL
    Querying: Microsoft Press, 2009
    1   ...   39   40   41   42   43   44   45   46   47


    написать администратору сайта