Информация за третия пример на лабораторията; Упражняваща част от моделиране на данни SS07

Майкъл Джакъл, Маркус Пихлмайр, Катрин Сейр, Фанг Уей

В тази част от упражнението трябва да практикувате създаването на SQL заявки. За тази цел е предоставен интерфейс за достъп до база данни Postgres (v.8.1) на адрес http://websql.dbai.tuwien.ac.at (SS07 FIXED). Ако предпочитате да работите върху собствена база данни, можете да изтеглите тестовите данни за този пример от уебсайта като daten.zip.

Ако е възможно, опитайте се да решите примерите сами, защото на практика (и по време на изпита) вие сте сами.

    Трябва да се регистрирате за интервю за подаване чрез LVAManager.

Трябва да решите първите дванадесет от въпросите по-долу. Освен това трябва да решите пет други въпроса, които можете да избирате свободно.

Вие идвате в ИТ лабораторията с вашето студентско свидетелство и документите на USB памет в момента, в който сте резервирали, и попълвате интервюто за предаване. (Внимание: моля, няма docx, предпочита се обикновен текст.)

Имате максимум 20 минути за изпращане.

Можете да постигнете максимум 15 точки при подаване. Ще ви бъдат зададени около три от вашите седемнадесет въпроса. Можете да постигнете максимум пет точки във всеки случай, като не само се проверява коректността на заявката, но и трябва да можете да обяснявате и модифицирате заявките. Очаква се също така да знаете какво означават изразите, които използвате в SQL израз, или какво правят.

  • Преподавателите отнемат минути от интервюто за подаване. Можете да видите общия брой точки, постигнати в LVAManager.
  • Спортът и здравословното хранене формират основата както за физическото, така и за психическото благосъстояние. Упражненията и доброто хранене също са необходими, за да можете да се справяте с ежедневните предизвикателства и да постигате върхови резултати отново и отново. Създадохме база данни, за да стимулираме мисленето за упражнения и хранене, от една страна, и да научим и SQL от друга:-)

    Лицата имат уникален идентификационен номер, име, адрес, телефонен номер и дата на раждане. Надзорниците и спортистите са хора. Надзорниците също имат заплата. Известно е също дали имат или не шофьорска книжка. Теглото и националността са важни за спортистите.

    Спортистите могат да принадлежат към отбор. Екипът се състои от поне двама състезатели. Екипът е ясно идентифициран с име. Всеки отбор се наблюдава от супервайзори в определен спорт и може също да практикува няколко спорта.

    Спортът се идентифицира с лична карта. Запазва се и име и колко струва оборудването годишно. Консумацията на калории на половин час е известна за всеки спорт. Зависи от спорта, а също и от теглото на спортиста. (напр. при джогинг консумацията на 70 кг човек е n kcal, 90 kg човек m kcal). Известно е кой спортист с кой спорт се занимава и любимият спорт на някои спортисти е известен.

    Храната се идентифицира с уникален идентификатор. Името и калориите се запазват. Храненето зависи от спортиста, храната и датата.

    третия

    Лице (pid, име, адрес, телефон, дата на раждане)
    Супервайзор (person.pid, шофьорска книжка, заплата)
    Спортист (person.pid, тегло, националност)

    Спорт (казано, име, цена)
    Консумация (спорт, казано, тегло, kcal)

    Оперира (Sportler.pid, Sportart.said)
    Любим спорт (Sportler.pid, Sportart.said)

    Име на отбора)
    Teamcomp (име, athlete.pid)
    Контролиран (име на отбор, спорт.каза, супервизор.пид)

    Ястие (идентификатор на храната, име, kcal)
    Храна (храна.храна, атлет.пид, дата)

      Избройте името и калориите на всички ястия.

    Изведете името и цената на всички спортове и сортирайте списъка по цена.

    Избройте имената и разходите за онези спортове, които струват по-малко от 500 евро годишно. Сортирайте списъка по цена.

    За всеки спорт (име на спорта) дайте консумацията за човек с тегло 70 кг. Сортирайте списъка в низходящ ред според консумацията.

    Колко надзорници имат шофьорска книжка?

    Генерирайте следната статистика: Въведете списък с всички спортисти (достатъчно е, ако изведете идентификационния номер), броя на спортовете, които са практикували, и средните разходи за всеки. Ако спортист не участва в нито един спорт, моля, задайте разходите на „0“ (ключова дума COALESCE)

    Избройте онези атлети (лична карта и име) с тегло под 80 кг, които самите не са супервизори.

    Кой ръководител (ИД и име), роден след 1989 г., печели най-много заплата?

    Изведете списък на всички спортисти (име и идентификационен номер). Ако играете скъп любим спорт (= струва над 500 евро), името на любимия спорт и разходите за него също трябва да бъдат показани.

    Колко килограма австрийските спортисти тежат средно повече от немските спортисти?

    Издайте имената на онези спортисти, които практикуват всички спортове.

    Прекарвайте най-популярните (= най-ядените) храни и техните калории.

    Търсим спортове, които се практикуват от повече от половината спортисти.

    Предоставете списък на всички надзорници, заедно с броя на екипите, които те контролират.

    Показвайте имената на онези спортисти, които не са част от нито един отбор.

    Въведете името на онези австрийски спортисти, за които не е известен любим спорт, но въпреки това практикуват спорт.

    За всеки ръководител (име и идентификационен номер) въведете броя на хората, за които той или тя се грижи.

    Изведете списък на всички спортисти (имена) и, ако има такива, също любимия спорт (име) и свързаната консумация. (Внимание! Консумацията зависи от телесното тегло на спортиста.)

    Избройте всички лица, за които са изпълнени следните условия: Родени сте след 1989 г. Вие не сте ръководител. Вие сте италиански спортист. Вие не сте част от екип. Никога досега не сте пили „бира“.

    Предоставете списък на всички спортисти, които познават любим спорт, колко ябълкови щрудели могат да ядат, без да качват килограми, ако практикуват любимия си спорт за половин час.

    Въведете имената на хората, които контролират единствено екип и които също са членове на екипа. Трябва да се покаже и името на екипа.

    Избройте имената на ястията, които са били изядени най-много веднъж на човек, но има поне двама такива.

    Избройте всички двойки (имена) на спортисти, които практикуват тенис като спорт.

  • За всяко ястие (име), което има по-малко от 100 kcal, посочете колко ястия има с повече калории.