Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
База даних постачальників, деталей і проектів (значення для прикладу)Содержание книги
Поиск на нашем сайте
S (S#|, SNAME|, STATUS|, CITY|) PRIMARY| KEY| (S#|) P (P#|, PNAME|, COLOR|, WEIGHT|, CITY|) PRIMARY| KEY| (P#|) J (J#|, JNAME|, CITY|) PRIMARY| KEY| (J#|) SPJ | (S#|, P#|, J#|, OTY|) PRIMARY| KEY| (S#|, P#|, J#|) FOREIGN| KEY| (S#|) REFERENCES| S FOREIGN| KEY| (P#|) REFERENCES| P FOREIGN| KEY| (J#|) REFERENCES| J S (Suppliers – Постачальники)
P (Parts – Деталі)
J (Projects –Проект и)
SPJ (Suppliers/Parts/Projects Постачання деталей до проектів)
Частина III. Управління реляційною базою даних Тема 5. Реляційна алгебра і реляційне числення. З ці єї тем и передбачається проведення трьох практичних занять. На цих заняттях основну увагу приділимо третій частині моделі даних – що управляє, тобто вона визначає типи допустимих операцій з даними. Для цього використовують різні мови: процедурні і непроцедурні. Основна увага приділяється реляційній алгебрі і реляційному численню, які запропоновані Коддом (1971). Це формальні, а не дружні користувачеві мови. Вони використовуються як основа для мов управління більш високого рівня. Після цих занять, студенти повинні в міти: □ Застосовувати операції реляційної алгебри для створення нових реляційних таблиць з вже існуючих. □ Створювати структуру запитів в реляційному численні, особливо умовні твердження, які потрібно формулювати для реалізації запиту. □ Формулювати конкретні типи запитів на обох мовах. План І. Основні теоретичні питання 1. Реляційна алгебра: a. Множинні операції: об'єднання, перетин, різниця, добуток. b. Спеціальні операції: вибірка, проекція, з'єднання, ділення. 2. Реляційне числення: a. Цільовий список, визначальний вираз. b. Квантор існування c. Квантор загальності ІІ. Практична частина. 2.1. Питання на повторення. 2.2. Вправи і.задачі ІІІ. Словник термінів до теми. І V. Додаток Література [5] гл. 7 [6] гл.3, [10] гл.6 1.Питання на повторення 1. 1. Поясн і т ь своїми словами значення термінів: a. Реляційна алгебра b. Непроцедурний c. Реляційно повний d. Сумісні по типу e. Перетин f. Віднімання g. Проектування h. Природне з'єднання i. Тетаз'єднання j. Визначальний вираз k. Ділення l. Квантор загальності 1. 2. Опишіть, в яких випадках ви могли б скористатися кожн ою з наступних операцій реляційної алгебри: a. Вибірка b. Створення проекції c. З'єднання d. Привласнення e. Віднімання f. Перетин g. Ділення 1. 3. Поясн і т ь функції кожного з наступних елементів формулювання запиту в реляційному численні: а. Цільовий список b. Визначальний вираз с. Булеві операції (і, або, не) d. Квантор існування е. Квантор загальності 1.4. Чому в реляційному численні не потрібний аналог операції привласнення реляційної алгебри? 1.5. На підставі вашого досвіду обговоріть твердження: «Недосвідченим користувачам простіше працювати з непроцедурною мовою, ніж з процедурною». 1.6. Обговоріть значення твердження про те, що реляційна алгебра і числення реляційно повні, а також що це означає для основаних на них комерційних СУБД. 1.7. Дайте визначення двох основних правил цілісності реляційної моделі та поясніть, чому необхідно їх використовувати.
2. Вправи і задачі 2. 1. Встанов і т ь відповідність між термінами і поясненнями до них:
2.2. Перераховані нижче таблиці утворюють частину бази даних реляційної СУБД [6]: Hotel (Hotel_No, Name, Address) Room(Room_No, Hotel_No, Type, Price) Booking|(Hotel_No, Guest_No, Date_From, Date_To|, Room_No) Guest|(Guest_No,Name,Address) Тут таблиця Hotel містить відомості про готель, причому атрибут Hotel_No є її первинним ключем. Таблиця Room містить дані про номери всіх готелів, а комбінація атрибутів (Hotel_No, Room_No) утворює її первинний ключ. Таблиця Booking містить інформацію про бронювання готельних номерів; її первинним ключем є комбінація атрибутів (Hotel_No, Guest_No, Date_From). Нарешті, таблиця Guest| містить інформацію про постояльців готелів, і її первинним ключем є атрибут Guest_No. Напишіть вирази реляційної алгебри, що дозволяють виконати наступні запити: а) перерахувати всі готелі; б) перерахувати всі однокімнатні готельні номери вартістю менше 100 гривень за добу; в) перерахуєте імена і адреси всіх постояльців; г) складіть список вартості і типів всіх готельних номерів в готелі "Європа"; д) перерахуєте всіх постояльців готелю " Європа "; е) приведіть інформацію про всі номери готелю " Європа ", включаючи імена постояльців, що знімають той або інший номер; ж) приведіть інформацію (атрибути Guest_No, Name і Address) про всіх постояльців готелю " Європа ". 2.2.1. Для перерахованих вище запитів створіть еквівалентні команди в реляційному численні кортежів. 2.2.2. Поясніть, як правила цілісності сутності і посилальної цілісності можуть бути застосовані до цих відношень. 2.3. Користуючись даною реляційною схемою, визначіть, яка операція може бути використана для відповіді на дане питання [10]: 2.3.1. CUSTOMER(клієнти) { CUST ID, CUST_NAME, ANNUAL_REVENUE (щорічний річний дохід) } SHIPMENT(вантаж) { SHIPMENT #, CUST_ID, WEIGHT(вага), TRUCK_# (перевізник), DESTINATION (місце призначення) } Зовнішній ключ: CUST_ID REFERENCES CUSTOMER | а. Які клієнти мають річний дохід понад 5 мільйонів доларів? b. Як називається клієнт 433? с. Який пункт призначення перевезення №3244? d. Які вантажівки перевозили вантажі понад 40 кг. вагою? e. Як називаються клієнти, що відправляли вантажі в Тулу, Росія? f. У які пункти призначення компанії з річним доходом більше 1 мільйона доларів відправляли вантажі? 2.3.2. Для наступного набору запитів користуйтеся цією реляційною схемою:
CUSTOMER { CUST_ID, CUST_NAME, ANNUAL_REVENUE} SHIPMENT { SHIPMENT #, CUST_ID, WEIGHT, TRUCK_#(номер вантажівки), DESTINATION(місце призначення)} Зовнішній ключ: DESTINATION REFERENCES CITY (CITY_NAME)
TRUCK { TRUCK_#, DRIVER_NAME(водій) }
CITY { CITY NAME, POPULATION(населення) }
За змістовним запитом скласти відповідні алгебраїчні вирази, необхідні для виконання цього запиту: a. Список всіх номерів вантажів понад 8 кг. b. Назви клієнтів з річним доходом більше 10 мільйонів доларів. c. Водій вантажівки №45. d. Назви міст, що отримували вантажі понад 40кг вагою. e. Назви і річні доходи клієнтів, які відправляли вантажі вагою понад 40кг. f. Номери вантажівок, що перевозили вантажі вагою понад 40 кг. g. Імена водіїв, що доставляли вантажі вагою понад.40 кг. h. Міста, в які доставлялися вантажі для клієнтів з річним доходом понад 15 мільйонів гривень. i. Клієнти з річним доходом більше 5 мільйонів гривень, які відправляли вантажі вагою менше 1 кілограма. j. Клієнти з річним доходом більше 5 мільйонів гривень, які відправляли вантажі вагою менше 1 кілограма або відправляли вантажі в Ужгород. k. до. Клієнти, чиї вантажі доставлялися водієм Клімовим. l. Водії, які доставляли вантажі для клієнтів зрічним доходом більше 20 мільйонів доларів в міста з населенням більше 1 мільйона. m. Клієнти, чиї вантажі перевозилися кожним водієм. n. Міста, в які доставлялися вантажі кожного клієнта. o. о. Водії, які доставляли вантажі в кожне місто. p. р. Клієнти, які відправляли вантажі в кожне місто з населенням більше 500 000 (вказівка: спочатку створіть множину міст з населенням більше 500 000). q. Дайте список клієнтів, чий річний дохід максимальний серед клиентів в базі даних, і їх річних доходів. r. Дайте список клієнтів, всі вантажі яких важили більше 10 кг (вказівка: спочатку знайдіть клієнтів, у яких хоч би один вантаж важив менше 25 кг). s. Дайте список клієнтів, що відправляли всі свої вантажі в одне місто (зауваження: це місто може бути одним і тим же для різних клієнтів, а може і не бути). (Вказівка: спочатку знайдіть клієнтів, які відправляли вантажі більш, ніж в одне місто.) 2.4. Сформулюйте запити задачі 2.3.2. в термінах реляційного числення. 2.5.. Задані відношення, що відображають предметну область, яка відноситься до діяльності спортивного клубу [8]: СЕКЦІЯ { Код секції, Назва секції, Вартість занять в місяць, Прізвище тренера} УЧАСНИКИ { Код учасника, ПІБ, Адреса, Учбовий заклад, Спортивний розряд} ОПЛАТА {Номер квитанції, Дата оплати, Код секції, Код учасника} Зовнішній ключ: Код секції REFERENCES СЕКЦІЯ Зовнішній ключ: Код учасника REFERENCES УЧАСНИКИ
За допомогою мови реляційної алгебри виконайте наступні запити: • отримати список секцій і відповідних прізвищ тренера; • отримати список всіх учасників, які відвідують заняття в спортивному клубі з виведенням наступних полів: ФІО, Назва секції; • отримати список всіх учасників, які відвідують заняття в групах по шейпінгу і плаванню; • отримати список всіх учасників, які відвідують заняття у певного тренера; • отримати список всіх учасників, які відвідують заняття у певного тренера і навчаються в деякому учбовому закладі; • отримати список всіх учасників, які провели оплату протягом останнього тижня. 2.6 Задані відношення, що відображають наочну область, яка відноситься до діяльності квіткового магазина [8].
РОСЛИНА { Код рослини, Назва рослини, Країна зростання, Ціна} ПРОДАЖ{Дата продажу, Код рослини, Кількість, Код організації, Оплата (так, немає)} Зовнішній ключ: Код рослини REFERENCES РОСЛИНА Зовнішній ключ: Код організації REFERENCES ПОКУПЕЦЬ ПОКУПЕЦЬ { Код організації, Організація (включаючи приватну особу), банківські реквізити, Розрахунок (наявний, безготівковий)}
За допомогою мови реляційної алгебри виконати наступні запити: a. визначити рослини з будьякої однієї країни; b. визначити ціну рослин для даної країни зростання; c. визначити загальну вартість рослин на конкретну дату продажу; d. отримати список приватних осіб, які провели покупки рослин певних найменувань; e. визначити організації, їх банківські реквізити, які не провели оплату.
2.7. Дайте рішення нижче наведених вправ для бази даних «База даних постачальників, деталей і проектів» (див. Додаток до теми 3): а. в термінах реляційної алгебри; b. в термінах реляційного числення.
2.7.1.Отримати повну інформацію про всі проекти. 2.7.2Отримати повну інформацію про всі проекти в Лондоні. 2.6.3. Отримати номери постачальників, які забезпечують проект J1. 2.7.4. Отримати всі відправки, де кількість знаходиться в діапазоні від 300 до 750 включно. 2.7.5. Отримати всі поєднання "кольору деталейміста деталей". Зауваження. Тут і в подальших вправах термін "все" використовується в значенні "Все, що представлено зараз в базі даних", а не "всі можливі". 2.7.6. Отримати всі такі трійки "номера постачальниківномера деталейномера проектів", для яких постачальник, деталь і проект розміщені в одному місті. 2.7.7. Отримати всі такі трійки "номери постачальниківномери деталейномери проектів", для яких постачальник, деталь і проект не розміщені в одному місті. 2.6.8. Отримати всі такі трійки "номери постачальниківномери деталейномери проектів", для яких ніякі з двох, постачальників, деталей і проектів, що виводяться, не розміщені в одному місті. 2.7.9. Отримати номери деталей, що поястачаються постачальником в Лондоні. .10.Отримати номери деталей, що поястачаються постачальником в Лондоні для проекту в Лондоні. 2.7.11. Отримати всі пари назв міст, для яких постачальник з першого міста забезпечує проект в другому місті. 2.7.12. Отримати номери деталей, що поястачаються для всіх проектів, що забезпечуються постачальником з того ж міста, де розміщений проект. 2.7.13. Отримати номери проектів, що забезпечуються принаймні одним постачальником не з того ж міста. 2.7.14. Отримати всі такі пари номерів деталей, які обидві поястачаються одночасно одним постачальником. 2.7.15. Отримати загальне число проектів, що забезпечуються постачальником S1. 2.7.16. Отримати загальну|спільну| кількість деталей Р1, що поястачаються постачальником S1. 2.7.17. Для кожної деталі, що поставляється для проекту, отримати номер деталі, номер проекту і відповідну загальну кількість. 2.7.18. Отримати номери деталей, що поястачаються для деякого проекту з середньою кількістю більше 320. 2.7.19. Отримати імена проектів, що забезпечуються постачальником S|. 2.7.20. Отримати кольори деталей, що поястачаються постачальником S1. 2.7.21. Отримати номери деталей, що поястачаються для якогонебудь проекту в Лондоні. 2.7.22.Отримати номери проектів, що використовують принаймні одну деталь, що є у постачальника S1. 2.7.23. Отримати номери постачальників, що постачають принаймні одну деталь, що постачається принаймні одним постачальником, який постачає принаймні одну червону деталь. 2.7.24. Отримати номери постачальників із статусом, меншим чим у постачальника S1. 2.7.25. Отримати номери проектів, місто яких стоїть першим в алфавітному списку міст. 2.7.26. Отримати номери проектів, для яких середня кількість деталей Р1, що поястачаються, більше, ніж найбільша кількість будьяких деталей, що поястачаються для проекту J1. 2.7.28. Отримати номери постачальників, що постачають деталь Р1 для деякого проекту в кількості, більшій середньої кількості деталей Р1 в постачаннях для цього проекту. 2.7.29. Отримати номери проектів, для яких не поястачаються червоні деталі постачальниками з Лондона. 2.7.30.Отримати номери проектів, що повністю|цілком| забезпечуються постачальником S1. 2.7.31. Отримати номери деталей, що поястачаються для лондонських проектів. 2.7.32. Отримати номери постачальників, що постачають одну і ту ж деталь для всіх проектів. 2.7.33. Отримати номери проектів, що забезпечуються принаймні всіма деталями постачальника S1. 2.7.34. Отримати всі міста, в яких розташований|схильний| принаймні один постачальник, одна деталь або один проект. 2.7.35. Отримати номери деталей, що поястачаються або лондонським постачальником, або для лондонського проекту. 2.7.36. Отримати пари "номер постачальниканомер деталі" такі, що даний постачальник не постачає дану деталь.
3. Проекти і професійні питання. 3.1. Порівняєте ваші рішення завдань 2.3 і 4, 2.7 a і 2.7 b попереднього розділу. Які запити простіше формулювати в реляційній алгебрі, а які — в реляційному численні? У кожному випадку поясніть, чому ви визнали, що завдання простіше вирішується в тій або іншій мові. Яка з двох мов є кращою? Чому? 3.2. Прочитайте статті Кодда про реляційну алгебру і реляційне числення| (Соdd, 1970, 1971а, 1971b). Напишіть роботу, що порівнює ці дві мови і обговоріть, як Кодд довів їх логічну еквівалентність. 3.3. Напишіть програми на мові типу Паскаль або C++ для вирішення декількох завдань з пунктів З.1., 3.2., 7 на вибір. Порівняєте складність цих програм ізіз складністю рішень в реляційній алгебрі і реляційному численні. Словник термінів до теми 5 Зовнішнє з'єднання Розширення природного з'єднання, що містить всі рядки обох таблиць Вибір Операція реляційної алгебри, що відбирає рядки таблиці на підставі деякої умови Визначальний вираз. Умова, яка може бути істинною або хибною, вживана до цільового списку; повинна бути виконаною для елементів множини рішення. Ділення. Операція реляційної алгебри, що створює нову реляційну таблицю шляхом вибору рядка однієї таблиці, пов'язаної з кожним рядком іншої таблиці. Природне з'єднання. Операція з'єднання, що зв'язує таблиці, коли загальні стовпці мають рівні значення. Квантор загальності. Вираз реляційного числення, що вимагає застосування деякої умови до кожного рядка деякого типу. Квантор існування Означає існування хоч би одного рядка, для якого виконана умова Непроцедурна мова. Мова, що забезпечує засоби визначення того що потрібний, а не того, як це отримати. Об'єднання Створює теоретикомножинне об'єднання двох сумісних по типу таблиць Сумісні по типу (об'єднувальна сумісність). Дві або більш реляційні таблиці володіють еквівалентними (щодо їх кількості і областей). стовпцями. Визначальний вираз. Умова в команді реляційного числення, що обмежує входження елементів у таблицю рішення. Перетин. Операція реляційної алгебри, що створює теоретикомножинний перетин двох сумісних по типу реляційних таблиць. Привласнення Дає ім'я таблиці Проектування. Операція реляційної алгебри, що створює реляційну таблицю шляхом видалення стовпців з існуючої таблиці. Проекція Реляційна таблиця, отримана в результаті операції проектування Добуток Створює декартовий добуток двох таблиць Процедурна мова Мова, що забезпечує покрокове вирішення завдань Різниця Створює теоретикомножинну різницю двох сумісних по типу таблиць Реляційна повнота. Логічні можливості, рівні можливостям реляційної алгебри або реляційного числення. Реляційна алгебра. Процедурна мова маніпуляції реляційними таблицями. Реляційне числення Непроцедурна мова виконання запитів З'єднання Операція, що зв'язує таблиці Тетаз'єднання. Операція з'єднання, що зв'язує таблиці, коли значення заданих стовпців знаходяться в певному відношенні. Третя нормальна форма (ЗНФ). Кожен детермінант є ключем. Цільовий список Список, який задає атрибути таблиці рішення Екві з'єднання Тетаз'єднання, засноване на рівності Тема 6. М ова SQL З цієї теми передбачається проведення двох практичних занять.
Існують дві форми мови SQL. Інтерактивний SQL використовується для створення запитів і отримання результатів в інтерактивному режимі. Вбудований SQL – включає команди SQL, які вбудовані всередину програм, написаних на іншій мові програмування. Це дозволяє найефективніше розробляти додатки, які використовують дані, що зберігаються в базі. На цих заняттях ми розглянемо можливості інтерактивної мови SQL в реляційних системах управління базами даних, включаючи деякі аспекти стандарту ANSI SQL92. Вона дозволяє визначати дані для збереження в базі даних, маніпулювати ними, виконувати запити до бази даних відповідно до деяких критеріїв відбору, управляти правами доступу до даних у розрахованому на багатокористувцькі середовища. Тому, в мову SQL як складові частини входять: · мова обробки даних (Data Manipulation Language DML) · мова визначення даних (Data Definition Language, DDL) · мова управління даними (Data Control Language, DCL).
Після цього заняття ви зможете: □ Пояснити основні факти історичного розвитку реляційних систем управління базами даних. □ Визначити реляційну схему бази даних за допомогою SQL. □ Сформулювати SQLзапити різної складності. □ Ввести, відновити і видалити дані реляційної бази даних командами SQL. □ Обговорити деякі аспекти вбудови команд SQL в традиційні мови програмування. □ Визначити представлення даних і створити запити до них за допомогою SQL. □ Пояснити деякі основні елементи в структурі інформаційної схеми SQL. План. І. Основні теоретичні питання 1. Визначення реляційної схеми і таблиць бази даних за допомогою SQL. 2. Маніпуляція даними: прості запити, вбудовані функції, групові запити. 3. Маніпуляція даними: багатотабличні запити. 4. Маніпуляція даними: підзапити. 5. Маніпуляція даними: операції реляційної алгебри. 6. Маніпуляція даними: операції зміни бази даних. 7. Визначення представлень даних. ІІ. Практична частина 1. Питання на повторення. 2. Вправи і завдання. Словник термінів до теми 6 Література [ 5 ] гл. 8 [ 6 ] гл. 1 3, 14 [ 10 ] гл.7 Питання на повторення 1. 1. Поясн і т ь своїми словами значення термінів: a. Каталог b. Власник схеми c. Визначення області. d. Символьні константи e. Оператори порівняння f. Булеві операції g. Зовнішній запит h. Корельований запит i. Вбудована функція j. DISTINCT k. Фраза GROUP BY l. INSERT. m. DELETE. n. Вбудований SQL o. Базова мова. p. Представлення даних q. Специфікація запиту r. Інформаційна схема s. Значення за умовчанням t. Рекурсивний зовнішній ключ u. Об'єднувальна сумісність v. UNION w. EXCEPT x. NATURAL JOIN 1.2. Коротко розкажіть про ранні етапи розвитку SQL. Яка фірма першою запропонувала комерційну реалізацію SQL? Опишіть різні системи, в яких сьогодні доступний SQL. Які переваги і недоліки мови SQL? 1.3. Питання: а. Що є трьома головними компонентами мови SQL і які функції вони виконують? b. .Які команди SQL92 використовуються для визначення інформаційної схеми? Опишіть, як SQL може працювати з інформаційною схемою з метою отримання інформації про базу даних с. Як визначити ключ, що складається з одного або декількох стовпців? Як визначаються зовнішні ключі, значення за умовчанням? У чому різниця між обмеженнями на стовпець і обмеженнями на таблицю? Як визначати більш загальні обмеження? d. Перерахуєте десять різних типів даних SQL92. 1.4. Опишіть, що може стояти після кожного з наступних ключових слів оператора SELECT в SQL: а. SELECT b. FROM с. WHERE d. GROUP BY e. HAVING f. ORDER BY 1.5. Опишіть дію кожної з операцій в SQL: a. UNION b. INTERSECT c. EXCEPT d. NATURAL JOIN e. JOIN USING f. JOIN ON g. DELETE 1.6. Як специфікація запиту використовуються в кожній з операцій зміни даних? 1.7. Що таке представлення бази даних і як ним можна користуватися? 1.8. Які обмеження накладаються на використання узагальнювальних функцій в тілі оператора SELECT? Якими узагальнювальними функціями обробляються значення NULL? 1.9. Поясніть принципи роботи пропозиції GROUP BY. У чому полягає відмінність між пропозиціями WHERE і HAVING? 1.10. Які відмінності між підзапитом і з'єднанням? За яких обставин використання підзапитів стає неможливим?
Вправи і завдання 2.1.Встановіть відповідність між термінами і поясненнями до них:
2.2. Напишіть команди SQL, що визначають наступні області: а. Область величин ставок оплати, де елементи мають чотири знаки, два з яких після коми. Значення за умовчанням $6.00; значення не може бути менше $5.00 і більше $30.00. b. Область дат, що містить дати з 1 січня 1980 до 1 січня 2000. с. Область значень часу, в якій всі елементи від 8 ранку до 5 вечора.
2.3.Представлені нижче таблиці є частиною бази даних Готелі України, створеної в середовищі деякої реляційної СУБД (тема5, вправа 4): Готель (Готель_ No, Назва, Адреса) Кімната (Кімната_No, Готель_ No, Тип, Вартість) Журнал реєстрації (Готель_ No, Клієнт_No, Дата оформлення, Дата_виїзду, Кімната_No) Клієнт (Клієнт_No, ПІП, Адреса) Таблиця Готель містить відомості про готелі. Її первинним ключем є стовпець Готель_No. Таблиця Кімната містить відомості про готельні номери кожного з готелів. Її первинний ключ складається із стовпців Готель_No і Кімната_No. Таблиця Журнал реєстрації містить зведення про реєстрацію постояльців готелів. Її первинний ключ складається із стовпців Готель_No, Клієнт_No і Дата оформлення. Таблиця Клієнт містить відомості про постояльців. Її первинним ключем є стовпець Клієнт_No Створити запити на мові SQL: Прості запити a. Виберіть з бази відомості про всі готелі. b. Виберіть з бази відомості про всі готелі, розташовані в Києві. c. Складіть перелік імен і адрес всіх постояльців, зареєстрованих в готелях Києва, упорядкувавши інформацію по іменах постояльців в алфавітному порядку. d. Складіть список всіх двокімнатних або сімейних номерів готелів з ціною менше 400 гривень в добу, упорядкувавши дані в порядку збільшення вартості номерів. e. Виберіть всі записи реєстрації постояльців, в яких не було заповнено поле Дата_виїзду. Узагальнюючі функції a. Скільки готелів належить компанії? b. Яка середня вартість номера? c. Чому дорівнює загальний добовий дохід від всіх двокімнатних номерів? d. Скільки різних постояльців було зареєстровано впродовж серпня місяця? a. Складіть звіт з вказівкою ціни і типу всіх номерів готелю “Європа_Готель”. b. Перерахуєте всіх постояльців, що в даний час знімають номери в готелі “Європа_Готель”. c. Складіть звіт, що містить повні відомості про всі номери готелю “Європа_Готель”, з вказівкою імен постояльців всіх номерів. d. Чому дорівнює загальний прибуток від постояльців, зареєстрованих в готелі “Європа_Готель”, за сьогоднішній день? e. Складіть список номерів готелю “Європа_Готель”, які в даний момент вільні. f. Які загальні втрати від наявності в готелі “Європа_Готель” вільних номерів? Групування a. Визначить кількість номерів в кожному з готелів. b. Визначить кількість номерів в кожному з готелів, розташованих в Києві. c. Яка середня кількість постояльців, зареєстрованих в кожному з готелів в серпні місяці? d. Який тип номерів найчастіше знімається в кожному з готелів Києва? e. Яка сума втрат від наявності вільних номерів в кожному з готелів за сьогоднішній день?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2020-12-09; просмотров: 301; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.228.171 (0.011 с.) |