Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

DB_Labs_All

.pdf
Скачиваний:
36
Добавлен:
23.02.2016
Размер:
414.68 Кб
Скачать

Поле Дата

 

Тип

Дата/час

Розмір

8

Формат поля

Короткий формат дати

Обов’зкове поле

Так

Аналогічно визначаються відповідні поля й для інших таблиць.

3. Визначити схему бази даних, зв’язки між таблицями й накласти умови цілісності на таблиці, зв’язані відношенням «один-до-багатьох». Показати на прикладах, що змінюється при вмиканні/вимиканні кожного із прапорців «Забезпечення цілісності даних», «Каскадне відновлення зв’язаних записів» та «Каскадне видалення зв’язаних записів»

3.1. Схема бази даних формується за допомогою засобів MS Access

Рис. 3. Схема даних

3.2. Накласти умови цілісності на таблиці, зв’язані відношенням «один-добагатьох». Показати на прикладах, що змінюється при вмиканні/вимиканні кожного із прапорців «Забезпечення цілісності даних», «Каскадне відновлення зв’язаних записів» та «Каскадне видалення зв’язаних записів».

СТУДЕНТ–ОЦІНКА

 

 

Код студента 1-∞

Код студента

Атрибути

Забезпечення цілісності, каскадні оновлення,

 

каскадні

видалення

Атрибути

один-до-багатьох

ІСПИТ–ОЦІНКА

 

 

Код іспиту 1-∞

Код_іспиту

Атрибути

Забезпечення цілісності, каскадні оновлення,

 

каскадні

видалення

Атрибути

один-ко-багатьох

4. Ввести дані в таблиці. При введенні з’ясувати, що дає накладення умов на значення полів. Введення даних здійснюється в діалоговому режимі засобами MS Access.

11

Лабораторна робота №3

Ціль роботи: придбання навичок реалізації запитів користувача на вибірку даних з таблиць, додавання, видалення й редагування інформації. Придбання практичних навичок використання мови SQL.

Зміст роботи: Робота зі сформованою в лабораторній роботі №2 базою даних:

У рамках даної роботи необхідно запитами вибирати з бази даних необхідну інформацію, використовуючи мову запитів SQL. Повний перелік питань приводиться в завданні до лабораторної роботи №2.

Приведемо кілька прикладів реалізації запитів 1. Вивести прізвища всіх студентів.

SELECT прізвище FROM студент;

2. Вивести назви різних предметів, з яких здаються іспити у ВУЗі.

SELECT DISTINCT предмет FROM іспит;

3. Вивести всю можливу інформацію про іспити, проведені у вузі.

SELECT * FROM іспит;

4. Вивести прізвища студентів й оцінки, які вони одержали на різних іспитах.

SELECT прізвище, оцінка FROM студент, оцінка

WHERE студент.код_студента = оцінка.код_студента;

5. Вивести прізвища студентів та їхні оцінки по математиці. Відсортувати вивід по оцінках, всередині оцінок - по прізвищах студентів.

SELECT

прізвище,

оцінка,

предмет

FROM студент,

іспит,

оцінка

 

 

WHERE студент.код_студента = оцінка.код_студента AND оцінка.код_іспиту = іспит.код_іспиту AND предмет = 'Математика' ORDER BY оцінка DESC, прізвище;

6. Які оцінки одержав студент Петров?

SELECT оцінка

FROM студент, іспит, оцінка

WHERE студент.код_студента = оцінка.код_студента AND оцінка.код_іспиту = іспит.код_іспиту AND прізвище = «Петров»;

12

Лабораторна робота №4

Ціль роботи: розробка інтерфейсу користувача для взаємодії зі сформованою в лабораторній роботі №2 базою даних. Створення форм.

Зміст роботи:

Створення форм для введення, редагування й видалення записів.

Створення форм для навігації по базі даних і виконання запитів.

Завдання:

Побудувати інтерфейс для створеної бази даних. Створити форми для введення кожної з таблиць-довідників.

Приклад виконання

13

14

Лабораторна робота №5

Ціль роботи: придбання навичок внесення необхідних змін у структуру бази даних після зміни постановки вихідного завдання (розширення предметної області). Модифікація структури бази даних. Модифікація запитів до бази даних. Модифікація існуючого інтерфейсу.

Зміст роботи:

Аналіз опису розширеної предметної області.

Зміна структури таблиць й обґрунтування змін.

Робота зі зміненою базою даних.

Ця робота припускає зміну попередніх результатів виконаних лабораторних робіт 1-4, з врахуванням нових зовнішніх вимог, пов’язаних зі зміною постановки вихідного завдання (розширенням предметної області). По суті, у рамках цієї роботи необхідно ще раз виконати всі завдання лабораторних робіт 1-4 для зміненої постановки завдання (хоча природно, якісь таблиці, зв’язки, тексти запитів і т.п. можуть залишитися такими ж, як і для первісного завдання).

15

додаток

Приклади предметних областей для лабораторних робіт

1. Страхова компанія

Опис предметної області Ви працюєте в страховій компанії. Вашим завданням є відстеження її фінансової

діяльності.

Компанія має різні філії по всій країні. Кожна філія характеризується назвою, адресою й телефоном. Діяльність компанії організована в такий спосіб: до вас звертаються різні особи з метою укладання договору про страхування. Залежно від прийнятих на страхування об’єктів і ризиків, що страхуються, договір укладається по певному виду страхування (наприклад, страхування автотранспорту від викрадення, страхування домашнього майна, добровільне медичне страхування). При укладанні договору ви фіксуєте дату внеску, страхову суму, вид страхування, тарифну ставку й філію, у якій укладено договір.

Можливий набір сутностей Договори (Номер договору, Дата договору, Страхова сума, Тарифна ставка, Код філії,

Код виду страхування).

Вид страхування (Код виду страхування, Найменування). Філія (Код філії, Найменування філії, Адреса, Телефон). Розширення постановки завдання

Потрібно врахувати, що договори містять страхових агентів. Крім інформації про агентів (прізвище, ім.’я, по батькові, адреса, телефон), потрібно ще зберігати філію, у якій працюють агенти. Крім того, виходячи з бази даних, потрібно мати можливість розраховувати заробітну плату агентам. Заробітна плата становить деякий відсоток від страхового платежу (страховий платіж - це страхова сума, помножена на тарифну ставку). Відсоток залежить від виду страхування, по якому укладений договір.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

2. Готель

Опис предметної області Ви працюєте в готелі. Вашим завданням є відстеження фінансової сторони його роботи.

Ваша діяльність організована в такий спосіб: готель надає номери клієнтам на певний строк. Кожен номер характеризується місткістю, комфортністю (люкс, напівлюкс, звичайний) і ціною. Вашими клієнтами є різні особи, про які ви зберігаєте певну інформацію (прізвище, ім.’я, по батькові та деякий коментар). Здача номера клієнтові відбувається при наявності вільних місць у номерах, що підходять клієнтові за зазначеним вище параметрами. При поселенні фіксується дата поселення. При виїзді з готелю для кожного місця запам’ятовується дата звільнення.

Можливий набір сутностей Клієнти (Код клієнта, Прізвище, Ім.’я, По-батькові, Паспортні дані, Коментар).

Номери (Код номера, Номер, Кількість людей, Комфортність, Ціна).

Поселення (Код поселення, Код клієнта, Код номера, Дата поселення, Дата звільнення, Примітка).

Розширення постановки завдання Необхідно не тільки зберігати інформацію з факту здачі номера клієнтові, але й

здійснювати бронювання номерів. Крім того, для постійних клієнтів, а також для певних категорій клієнтів передбачена система знижок. Знижки можуть підсумовуватися.

Внести в структуру таблиць зміни, що враховують цей факт, і змінити існуючі запити. Додати нові запити.

16

3. Ломбард

Опис предметної області Ви працюєте в ломбарді. Вашим завданням є відстеження фінансової сторони його

роботи.

Діяльність компанії організована в таким чином: до вас звертаються різні особи з метою одержання коштів під заставу певних товарів. У кожного із клієнтів ви запитуєте прізвище, ім’я, по батькові та інші паспортні дані. Після оцінювання вартості принесеного як застава товару ви визначаєте суму, що готові видати на руки клієнтові, а також свої комісійні. Крім того, визначаєте строк повернення грошей. Якщо клієнт згодний, то ваші домовленості фіксуються у вигляді документа, гроші видаються клієнтові, а товар залишається у вас. У випадку якщо в зазначений строк не відбувається повернення грошей, товар переходить у вашу власність.

Можливий набір сутностей Клієнти (Код клієнта, Прізвище, Ім.’я, По батькові, Номер паспорта, Серія паспорта,

Дата видачі паспорта).

Категорії товарів (Код категорії товарів, Назва, Примітка).

Здача в ломбард (Код, Код категорії товарів, Код клієнта, Опис товару, Дата здачі, Дата повернення, Сума, Комісійні).

Розширення постановки завдання Після переходу прав власності на товар ломбард може продавати товари за ціною,

меншої або більшою, ніж була заявлена при здачі. Ціна може змінюватись кілька разів, залежно від ситуації на ринку. (Наприклад, власник ломбарду може влаштувати розпродаж зимових речей наприкінці зими.) Крім поточної ціни, потрібно зберігати всі можливі значення ціни для даного товару.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

4. Реалізація готової продукції

Опис предметної області Ви працюєте в компанії, що займається оптово-роздрібним продажем різних товарів.

Вашим завданням є відстеження фінансової сторони її роботи.

Діяльність компанії організована в таким чином: компанія торгує товарами з певного спектру. Кожний із цих товарів характеризується найменуванням, гуртовою ціною, роздрібною ціною й довідковою інформацією. У вашу компанію звертаються покупці. Для кожного з них ви запам’ятовуєте в базі даних стандартні дані (найменування, адреса, телефон, контактна особа) і створюєте по кожній угоді документ, запам’ятовуючи поряд з покупцем кількість купленого ним товару і дату покупки.

Можливий набір сутностей Товари (Код товару, Найменування, Гуртова ціна, Роздрібна ціна, Опис).

Покупці (Код покупця, Телефон, Контактна особа, Адреса).

Угоди (Код угоди, Дата угоди, Код товару, Кількість, Код покупця, Ознака гуртового продажу).

Розширення постановки завдання Тепер ситуація змінилася. З’ясувалося, що зазвичай покупці в рамках однієї угоди

купують не один товар, а відразу кілька. Також компанія вирішила надавати знижки залежно від кількості закуплених товарів та їхньої загальної вартості.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

5. Ведення замовлень

Опис предметної області Ви працюєте в компанії, що займається гуртовим продажем різних товарів. Вашим

завданням є відстеження фінансової сторони її роботи.

17

Діяльність компанії організована таким чином: компанія торгує товарами з певного спектру. Кожний із цих товарів характеризується ціною, довідковою інформацією й ознакою наявності або відсутністю доставки. У вашу компанію звертаються замовники. Для кожного з них ви запам’ятовуєте в базі даних стандартні дані (найменування, адреса, телефон, контактна особа) і створюєте за кожною угодою документ, запам’ятовуючи поряд із замовником кількість купленого ним товару й дату покупки.

Можливий набір сутностей Товари (Код товару, Ціна, Доставка, Опис).

Замовники (Код замовника, Найменування, Адреса, Телефон, Контактна особа). Замовлення (Код замовлення, Код замовника, Код товару, Кількість, Дата). Розширення постановки завдання.

Тепер ситуація змінилася. З’ясувалося, що доставка різних товарів може відбуватись способами, різними за ціною й швидкістю. Потрібно зберігати інформацію про те, якими способами може здійснюватися доставка кожного товару, і про те, який вид доставки (а відповідно, і яку вартість доставки) вибрав клієнт при укладанні угоди.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

6. Бюро з працевлаштування

Опис предметної області Ви працюєте в бюро з працевлаштування. Вашим завданням є відстеження фінансової

сторони роботи компанії.

Діяльність бюро організована таким чином: бюро готове шукати працівників для різних роботодавців і вакансії для шукаючих роботу фахівців різного профілю. При звертанні до вас клієнта-роботодавця його стандартні дані (назва, вид діяльності, адреса, телефон) фіксуються в базі даних. При звертанні до вас клієнта-здобувача його стандартні дані (прізвище, ім.’я, по батькові, кваліфікація, професія, інші дані) також фіксуються в базі даних. За кожним фактом задоволення інтересів обох сторін складається документ. У документі вказуються здобувач, роботодавець, посада і комісійні (дохід бюро).

Можливий набір сутностей Роботодавці (Код роботодавця, Назва, Вид діяльності, Адреса, Телефон).

Здобувачі (Код здобувача, Прізвище, Ім’я, По батькові, Кваліфікація, Вид діяльності, Інші дані, Передбачуваний розмір заробітної плати).

Угоди (Код здобувача, Код роботодавця, Посада, Комісійні). Розширення постановки завдання

Виявилося, що база даних не зовсім точно описує роботу бюро. У базі фіксується тільки угода, а інформація з відкритих вакансій не зберігається. Крім того, для автоматичного пошуку варіантів необхідно вести довідник «Види діяльності».

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

7. Нотаріальна контора

Опис предметної області Ви працюєте в нотаріальній конторі. Вашим завданням є відстеження фінансової

сторони роботи компанії.

Діяльність нотаріальної контори організована таким чином: фірма готова надати клієнтові певний комплекс послуг. Для наведення порядку ви формалізували ці послуги, склавши їхній список з описом кожної послуги. При звертанні до вас клієнта його стандартні дані (назва, вид діяльності, адреса, телефон) фіксуються в базі даних. За кожним фактом надання послуги клієнтові складається документ. У документі вказуються послуга, сума угоди, комісійні (дохід контори), опис угоди.

Можливий набір сутностей Клієнти (Код клієнта, Назва, Вид діяльності, Адреса, Телефон).

18

Угоди (Код угоди, Код клієнта, Код послуги, Сума, Комісійні, Опис). Послуги (Код послуги, Назва, Опис).

Розширення постановки завдання Тепер ситуація змінилася. У рамках однієї угоди клієнтові може бути зроблено кілька

послуг. Вартість кожної послуги фіксована. Крім того, компанія надає в рамках однієї угоди різні види знижок. Знижки можуть підсумовуватися.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

8. Фірма із продажу запчастин

Опис предметної області Ви працюєте у фірмі, що займається продажем запасних частин для автомобілів. Вашим

завданням є відстеження фінансової сторони роботи компанії.

Основна частина діяльності, що перебуває у вашому веденні, пов’язана з роботою з постачальниками. Фірма має певний набір постачальників, по кожному з яких відомі назва, адреса й телефон. У цих постачальників ви здобуваєте деталі. Кожна деталь поряд з назвою характеризується артикулом і ціною (вважаємо ціну постійною). Деякі з постачальників можуть поставляти однакові деталі (той самий артикул). Кожен факт купівлі запчастин у постачальника фіксується в базі даних, причому обов’язковими для запам’ятовування є дата купівлі та кількість придбаних деталей.

Можливий набір сутностей Постачальники (Код постачальника, Назва, Адреса, Телефон).

Деталі (Код деталі, Назва, Артикул, Ціна, Примітка). Поставки (Код постачальника, Код деталі, Кількість, Дата). Розширення постановки завдання

Тепер ситуація змінилася. З’ясувалося, що ціна деталі може мінятися від поставки до поставки. Постачальники заздалегідь доводять до відома про дату зміни ціни та про її нове значення. Потрібно зберігати не тільки поточне значення ціни, але й всю історію зміни цін.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

9. Курси підвищення кваліфікації

Опис предметної області Ви працюєте в навчальному закладі і займаєтеся організацією курсів підвищення

кваліфікації.

Увашому розпорядженні є відомості про сформовані групи студентів. Групи формуються залежно від спеціальності й відділення. У кожну з них включена певна кількість студентів. Проведення занять забезпечує штат викладачів. Для кожного з них у вас у базі даних зареєстровані стандартні анкетні дані (прізвище, ім’я, по батькові, телефон) і стаж роботи. У результаті розподілу навантаження ви одержуєте інформацію про те, скільки годин занять проводить кожен викладач із відповідними групами. Крім того, зберігаються відомості про тип проведених занять (лекції, практика), предмет і оплату за 1 годину.

Можливий набір сутностей Групи (Номер групи, Спеціальність, Відділення, Кількість студентів).

Викладачі (Код викладача, Прізвище, Ім’я, По батькові, Телефон, Стаж). Навантаження (Код викладача, Номер групи, Кількість годин, Предмет, Тип заняття,

Оплата).

Розширення постановки завдання

Урезультаті роботи з базою даних з’ясувалося, що розмір погодинної оплати залежить від предмета й типу заняття. Крім того, кожен викладач може вести не всі предмети, а тільки деякі.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

19

10. Визначення факультативів для студентів

Опис предметної області Ви працюєте у вищому навчальному закладі й займаєтеся організацією факультативів.

У вашому розпорядженні є відомості про студентів, що включають стандартні анкетні дані (прізвище, ім’я, по батькові, адреса, телефон). Викладачі вашої кафедри повинні забезпечити проведення факультативних занять з деяких предметів. По кожному факультативу встановлена певна кількість годин і вид проведених занять (лекції, практика, лабораторні роботи). У результаті роботи зі студентами у вас з’являється інформація про те, на які факультативи записався кожний з них. Існує деякий мінімальний обсяг факультативних предметів, які повинен прослухати кожен студент. Після закінчення семестру ви заносите інформацію про оцінки, отримані студентами на іспитах.

Можливий набір сутностей Студенти (Код студента, Прізвище, Ім’я, По батькові, Адреса, Телефон).

Предмети (Код предмета, Назва, Обсяг лекцій, Обсяг практик, Обсяг лабораторних робіт).

Навчальний план (Код студента, Код предмета, Оцінка). Розширення постановки завдання

Тепер ситуація змінилася. З’ясувалося, що деякі з факультативів можуть тривати більше одного семестру. У кожному семестрі для предмета встановлюється обсяг лекцій, практик і лабораторних робіт в годинах. Як підсумкова оцінка за предмет береться остання оцінка, отримана студентом.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

11. Розподіл навчального навантаження

Опис предметної області Ви працюєте у вищому навчальному закладі й займаєтеся розподілом навантаження між

викладачами кафедри.

У вашому розпорядженні є відомості про викладачів кафедри, що включають поряд з анкетними даними інформацію про їхню вчену ступінь, займану адміністративну посаду та стаж роботи. Викладачі вашої кафедри повинні забезпечити проведення занять по деяких предметах. По кожному з них встановлена певна кількість годин. У результаті розподілу навантаження у вас повинна вийти інформація наступного роду: «Такий-то викладач проводить заняття з такого-то предмету з такою-то групою».

Можливий набір сутностей Викладачі (Код викладача, Прізвище, Ім’я, По батькові, Учений ступінь, Посада, Стаж).

Предмети (Код предмета, Назва, Кількість годин). Навантаження (Код викладача, Код предмета, Номер групи). Розширення постановки завдання

Тепер ситуація змінилася. З’ясувалося, що всі проведені заняття діляться на лекційні й практичні. З кожного виду занять встановлюється своя кількість годин. Крім того, дані про навантаження потрібно зберігати кілька років.

Внести в структуру таблиць зміни, що враховують ці факти, і змінити існуючі запити. Додати нові запити.

12. Розподіл додаткових обов'язків

Опис предметної області Ви працюєте в комерційній компанії й займаєтеся розподілом додаткових разових робіт.

Вашим завданням є відстеження ходу їхнього виконання.

Компанія має певний штат співробітників, кожний з яких одержує певний оклад. Час від часу виникає потреба у виконанні деякої додаткової роботи, що не входить у коло основних посадових обов’язків співробітників. Для наведення порядку в цій сфері діяльності ви класифікували всі види додаткових робіт, визначивши суму оплати по факту їхнього

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]