Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zbirnuk.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.64 Mб
Скачать
  • Після розміщення об'єктів форма в звичайному режимі може виглядати, як показано на мал. 8.

    Рис. 8. Форма в звичайному режимі

    1. Виконайте завдання:

    1. Створити в режимі конструктора форму для перегляду, додавання і редагування жанрів ігор. Назвати форму “Жанри ігор”

    2. Створити за допомогою майстра форму: “Картка гри”. Форма повинна містити наступні поля: код гри, назва гри, вид жанру, ціна, малюнок, опис, вимоги. Поля форми розташувати в один стовпець.

    Створити форму “Замовлення”, що додає дані в таблицю “Продаж”. Форма повинна містити наступні поля:

    дата;

    № накладної;

    код гри, що замовляється;

    кількість;

    Вибрати “стрічковий” зовнішній вигляд форми.

    1. Створити форму “Прайс”, з огляду на наступні вимоги:

    форма повинна містити наступні поля: назву гри, жанр, ціна (ціна з таблиці “Ігри” з урахуванням націнки);

    форма повинна бути представлена в «стрічковому» вигляді;

    Створити форму “Докладно про гру”, що повинна містити поля, що не ввійшли у форму “Прайс”: виробник, системні вимоги, опис, малюнок. Поля форми розташувати в один стовпець.

    1. Контрольні питання

    1. Що таке форма і для чого можуть використовуватися форми в базі даних?

    2. Які види форм бувають і чим вони відрізняються одна від одної?

    3. З яких розділів може складатися форма?

    4. Для чого використовуються Заголовок форми, Область даних, Примітки?

    5. Як включити (виключити) Заголовок і Примітки форми?

    6. Як виділяються об'єкти, розміщені у формі в режимі конструктора?

    8. Зміст звіту

    1. Тема і мета лабораторної роботи.

    2. Прилади та обладнання.

    3. Виконання домашнього завдання.

    4. Звіт за пунктами виконання лабораторної роботи.

    5. Відповіді на контрольні запитання.

      1. Література

    1. Microsoft Access 2003. Шаг за шагом/ Практ.пособ./Пер. с англ. – М.: “СП ЭКОМ”, 2004. – 432 с.: илл.

    2. Джонс Э., Саттон Д. К Библия пользователя Microsoft Office Professional для Windows 95.:"Диалектика", 1996.

    3. Михеев Р. Н. VBA и программирование в MS Office для пользователей. – СПб.: БХВ – Петербург, 2006. – 384 с.: ил.

    4. МогилевА.В., ПакН.И., ХённерЕ.К. Информатика: Учеб. Пособие для студ.пед.вузов.М., 1999.

    5. Симонович С.В. Информатика. Базовый курс.СПб:"Питер", 2000.

    6. Дженнингс, Роджер. Использование Microsoft Office Access 2003. Специальное издание.: Пер.с.англ. – М.: Издательский дом “Вильямс”, 2006. – 1312 с.

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

    1. Тема роботи. Створення форм з елементами управління. Кнопочка форма.

    2. Мета роботи. Навчитися створювати елементи управління на формі, створювати та редагувати кнопочку форму.

    3. Прилади та матеріали. ПК, MS Access.

    4. Теоретичні відомості

    Добавлення нових елементів в форму.

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

    На даній панелі інструментів є наступні елементи (рис. 1):

    • Вибір об’єктів – перетворює курсор миші в інструмент вибору об’єктів.

    • Майстер – включає і виключає майстер створення елементів управління. Майстри дозволяють створювати складні елементи управління такі, як група перемикачів, список, поле зі списком.

    • Надпис – створює елемент управління, що містить фіксований описовий або пояснювальний текст.

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

    Рис. 1. Панель елементів Access

    • Група перемикачів – створює рамку для розміщення вимикачів, перемикачів і прапорців. Одночасно можна вибрати лише один з об’єктів, що розташовані в рамці. Після вибору об’єкта в групі перемикачів, попередній вибір відмінюється.

    • Вимикач – створює кнопку, яка після щиглика стає у положення “вімкнено” або “вимкнено”.

    • Перемикач – створює круглу кнопку, яка працює аналогічно вимикачу. Перемикачі частіше за все використовують в групах перемикачів для вибору взаємовиключаючих значень.

    • Прапорець – створює прапорець, який встановлює “вимкнено” чи “вімкнено”. Можна використовувати декілька прапорців поза групою перемикачів для одночасного вибору декількох прапорців.

    • Поле зі списком – створює поле зі списком, що містить поле для введення значень і список, з якого можна вибирати значення з набору значень.

    • Список – створює список для вибору значень. Список – складова частина поля зі списком.

    • Кнопка – створює кнопку, після щиглика по якій запускається процедура обробки даних Access VBA.

    • Малюнок – добавляє в форму або звіт незмінний растровий малюнок.

    • Вільна рамка об’єкту – добавляє в поле або звіт об’єкт OLE.

    • Приєднана рамка об’єкту – відображає зміст поля OLE запису, якщо в полі є графічний об’єкт.

    • Розрив сторінки – при друку форми або звіту заставляє починати принтер друкувати нову сторінку.

    • Вкладка – вставляє набір вкладок для створення форм, що розділена вкладками. В цих вкладках можуть розміщуватися інші вільні або зв’язані елементи управління.

    • Підпорядкована форма/звіт – добавляє підпорядковану форму, звіт в головну форму або звіт. Перед добавленням цього елемента управління спочатку варто створити підпорядковану форму чи звіт.

    • Лінія, прямокутник – створює пряму лінію, прямокутник аналогічно до тих, що використовуються в MS Word.

    • Інші елементи – після натискання на цій кнопці відкриваються інші елементи управління, які не входять MS Access.

    Для добавлення нового елемента, необхідно натиснути кнопку потрібного елемента і в області форми клацнути мишею в тому місці форми, де буде розташований елемент.

    Для того, щоб змінити властивість елемента форми необхідно клацнути правою копкою миші і в контекстному меню вибрати команду Свойства. Набір властивостей для кожного елементу свій.

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

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

    1. Домашнє завдання

    1. Вивчити теоретичний матеріал за підручником [6], ст. 566 - 685.

    2. Опрацювати матеріал лекції.

    1. Виконання роботи

            1. Додавання елементів для поліпшення дизайну форми

      1. Відкрийте базу даних Магазин ігор, з якою ви працювали на п'ятому занятті. Якщо у Вас немає особистої бази даних, то скопіюйте файл 6 магазин ігор.mdb в особисту папку. Місце розташування даного файлу з'ясуйте у викладача. Відкрийте зазначений файл з особистої папки.

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

        • На панелі інструментів Елементи (Рис. 2) натисніть кнопку Напис і намалюйте прямокутник в області заголовка і надрукуйте в ньому текст “Картка гри”.

    Рис. 2. Панель елементів

        • Виділіть й відформатуйте доданий напис, використовуючи знайомі вам кнопки зміни параметрів шрифту на панелі інструментів Формат. Після виконаних Вами дій доданий напис може виглядати, як показано на мал. 3.

    Рис. 3. Фрагмент форми Картка гри з доданою назвою

            1. Додавання елементів керування у форму

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

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

    • Для додавання кнопки натисніть на панелі інструментів Елементи кнопку з такою ж назвою Кнопка і клацніть мишею в тому місці області даних, де потрібно розмістити кнопку (Рис. 4). З’явиться кнопка і відкриється майстер створення нових кнопок.

    Рис. 4. Перший етап додавання нової кнопки

      • За допомогою майстра необхідно вказати яку саме операцію буде виконувати створювана кнопка. У нашому випадку по натисканню кнопки буде відкриватися інша форма. Тому в першому вікні майстра виберіть категорію Робота з формою, а дія – Відкрити форму. Натисніть Далі.

      • У наступному вікні майстра виберіть форму Докладно про гру. Саме ця форма буде відкриватися при натисканні кнопки. Натисніть Далі.

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

    Рис.5. Третій крок роботи майстра додавання кнопки

    • На наступному етапі роботи майстра необхідно вказати як саме Access повинен “розуміти” який саме запис необхідно відкрити. Потрібно в двох формах вибрати поля, інформація в яких буде відповідати і визначати зв'язок. У нашому випадку для обох форм виділіть поле Назва і натисніть на кнопку з подвійною стрілкою. Натисніть Далі.

    Рис. 6. Четвертий крок роботи майстра. Визначення зв’язків між формами

    • На наступному етапі роботи майстра потрібно визначити, що буде розміщатися на створюваній кнопці: текст чи малюнок. Виберіть Текст і в полі поруч надрукуйте слово Докладніше. Ви можете також включити команду Малюнок і вибрати малюнок, що сподобався, зі списку. Натисніть Далі.

    Рис. 7. П’ятий крок роботи майстра. Визначення зображення на кнопці

    • На останньому кроці роботи майстра погодьтеся з запропонованим внутрішнім ім'ям кнопки і натисніть Готово.

    • Перевірте правильність роботи кнопки, переключивши в звичайний режим роботи з формою.

    • У режимі конструктора ви можете змінювати розмір, формат і місце розташування кнопки, як і інших об'єктів форми

            1. Створення вкладених форм

    1. Створити форму відображення ігор по групах у залежності від жанру. У верхній частині такої форми буде розміщатися поле зі списком для вибору жанру гри, а в нижній – вкладена форма Прайс, що буде відображати тільки ігри обраного жанру. Для цього:

      • Створіть нову форму в режимі майстра але в основі таблиці Ігри і виберіть єдине поле Код жанру (мал. 8). Для створюваної форми виберіть вид В один стовпець. Дайте ім'я формі Ігри по жанрах.

    Рис. 8. Вікно майстра створення форм. Створення верхньої частини складної форми

    • У створеній формі в режимі конструктора змініть розмір таким чином, щоб в область приміток форми можна було розмістити вже існуючу форму Прайс.

    • Натисніть на кнопку Підлегла форма\звіт на панелі елементів і намалюйте в області приміток прямокутник, у якому буде розміщатися вкладена форма. Після виконаних Вами дій на екрані відкриється майстер створення підлеглих форм чи звітів (Рис. 9).

    • У вікні майстра виберіть команду Наявні форми і форму Прайс. Натисніть на кнопку Далі.

    Рис. 9. Майстер створення підлеглих форм

    • На наступному етапі роботи майстра необхідно визначити зв'язок основної форми і підлеглої. Виберіть команду Самостійне визначення і виберіть поля, по яких будуть зв'язані форми. У нашому випадку це буде поле Код жанру (При виборі визначеного жанру у вкладеній формі повинні відображатися тільки ігри даного жанру) (Рис. 10). Натисніть Далі.

    Рис. 10. Майстер підлеглих форм. Визначення зв'язків між формами

    • На останньому етапі роботи майстра погодьтеся з запропонованим ім’ям вкладеної форми і натисніть кнопку Готово.

    • Перевірте правильність роботи форми в звичайному режимі. При необхідності ви можете змінити розмір основної і вкладеної форми в режимі конструктора.

            1. Створення кнопкових форм

    1) Створити кнопкову форму, що буде складатися з 3-х сторінок.

    1-а сторінка головна – на ній будуть розміщатися кнопки для виклику двох інших сторінок.

    2-а сторінка буде призначена для роботи покупця чи продавця, на ній будуть розміщатися кнопки для відкриття таких форм, як Прайс, Ігри по жанрах, Замовлення. А також кнопка для повернення на головну сторінку.

    На 3-їй сторінці буде працювати адміністратор бази даних. Йому будуть доступні кнопки для відкриття форм по редагуванню бази: додавання і видалення інформації.

    Для того щоб приступити до створення кнопкової форми виконайте команди меню: Сервіс – Службові програми – Диспетчер кнопкових форм. Access запропонує створити нову кнопкову форму. Погодьтеся з його запитом. На екрані відкриється вікно диспетчера. Воно дозволяє визначити які сторінки і які кнопки будуть розміщатися в кнопковій формі (Рис. 11). Саму кнопкову форму Ви побачите тільки закривши вікно диспетчера.

    Рис. 11. Головне вікно диспетчера кнопкових форм

    Для того щоб створити кнопкову форму виконайте наступні дії:

    • Спочатку змініть назву головної сторінки кнопкової форми. Саме ця сторінка буде відкриватися при виклику форми. Для цього натисніть на кнопку Змінити й у вікні, що відкрилося, надрукуйте назву кнопкової форми - Магазин ігор. Закрийте вікно зміни.

    • Далі створіть ще дві сторінки. Для цього натисніть на кнопку Створити і надрукуйте назву сторінки Інформація для покупця. Аналогічним способом створіть сторінку Редагування бази даних. Після виконаних Вами дій головне вікно диспетчера повинне виглядати, як показано на мал.12.

    Рис. 12. Вікно диспетчера після додавання сторінок

    • На наступному етапі додайте кнопки для роботи на сторінку Інформація для покупця. Для цього виділіть назву цієї сторінки у вікні диспетчера і натисніть на кнопку Змінити. У вікні зміни сторінки натисніть на кнопку Створити і введіть назву команди, операцію яку вона буде виконувати й ім'я форми, що відкривається, як показано на мал. 13. Натисніть ОК.

    Рис. 13. Додавання команди на сторінку кнопкової форми

    • Аналогічним чином додайте ще дві команди, використовуючи таблицю:

    Кнопка

    Форма

    Інформація для покупця

    Повний прайс

    Відкриває форму “Прайс” у режимі зміни даних

    Ігри по жанрах

    Відкриває форму “Ігри по жанрах” у режимі зміни даних

    Замовлення

    Відкриває форму “Замовлення” у режимі додавання нових даних

    Назад

    Перейти до кнопкової форми Магазин ігор

    Після виконаних вами дій вікно сторінки Інформація для покупця повинне виглядати як показано на мал. 14. Закрийте вікно даної сторінки.

    Рис. 14. Сторінка Інформація для покупця після додавання команд

    1. Таким же способом додайте команди для сторінки Редагування бази даних, використовуйте таблицю:

    Кнопка

    Форма

    Редагування бази даних

    Новий CD

    Відкриває форму “Картка гри” у режимі додавання нових даних

    Новий жанр

    Відкриває форму “Жанри ігор” у режимі додавання нових даних

    Редагування карток ігор

    Відкриває форму “Картка гри” у режимі зміни даних

    Назад

    Перейти до кнопкової форми Магазин ігор

    1. На останньому етапі створення кнопкової форми на головну сторінку додамо кнопки для переходу на дві інші сторінки форми. Для цього в головному вікні диспетчера виділіть сторінку Магазин ігор і натисніть кнопку Змінити. Створіть дві команди, що будуть переходити до сторінок кнопкової форми. Наприклад, для переходу на сторінку Інформація для покупця вікно створення команди буде виглядати, як показано на мал. 15.

    Рис. 15. Команда для переходу до іншої сторінки кнопкової форми

    1. Після додавання всіх команд закрийте вікно диспетчера. На закладці Форми у вікні керування базою даних з'явиться нова форма – Кнопкова форма. Щоб перевірити правильність роботи відкрийте її (Рис. 16).

    На закладці Таблиці у вікні бази даних з'явилася допоміжна таблиця Switchboard Items, що використовується при роботі кнопкової форми. Цю таблицю не можна видаляти.

    Ви можете змінити дизайн елементів кнопкової форми в режимі конструктора.

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

    Рис. 16. Створена кнопкова форма

    1. Додати у форму «Прайс» кнопку «Докладніше», що відкриває форму «Докладно про гру» для обраної гри.

    2. Створити форму «Ігри по жанрах». Форма повинна містити вкладену форму зі списком ігор, заданого жанру. При зміні жанру список ігор повинен обновлятися.

    1. Контрольні питання

    1. Що таке форма і для чого можуть використовуватися форми в базі даних?

    2. Які види форм бувають і чим вони відрізняються одна від одної?

    3. З яких розділів може складатися форма?

    4. Для чого використовуються Заголовок форми, Область даних, Примітки?

    5. Як включити (виключити) Заголовок і Примітки форми?

    6. Як виділяються об'єкти, розміщені у формі в режимі конструктора?

    7. Яка панель інструментів використовується для форматування елементів форми?

    8. Зміст звіту

    1. Тема і мета лабораторної роботи.

    2. Прилади та обладнання.

    3. Виконання домашнього завдання.

    4. Звіт за пунктами виконання лабораторної роботи.

    5. Відповіді на контрольні запитання.

      1. Література

    1. Microsoft Access 2003. Шаг за шагом/ Практ.пособ./Пер. с англ. – М.: “СП ЭКОМ”, 2004. – 432 с.: илл.

    2. Джонс Э., Саттон Д. К Библия пользователя Microsoft Office Professional для Windows 95.:"Диалектика", 1996.

    3. Михеев Р. Н. VBA и программирование в MS Office для пользователей. – СПб.: БХВ – Петербург, 2006. – 384 с.: ил.

    4. МогилевА.В., ПакН.И., ХённерЕ.К. Информатика: Учеб. Пособие для студ.пед.вузов.М., 1999.

    5. Симонович С.В. Информатика. Базовый курс.СПб:"Питер", 2000.

    6. Дженнингс, Роджер. Использование Microsoft Office Access 2003. Специальное издание.: Пер.с.англ. – М.: Издательский дом “Вильямс”, 2006. – 1312 с.

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

    1. Тема роботи. Створення звітів.

    2. Мета роботи. Навчитися створювати звіти та редагувати їх в режимі конструктора.

    3. Прилади та матеріали. ПК, MS Access.

    4. Теоретичні відомості

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

    Звіти можна створювати на базі таблиць, запитів та інших звітів. Звіти можна створювати в режимі “Майстра” і режимі “Конструктора”.

    Звіти Access поділяються на шість категорій (макетів):

    • Одностовпцеві звіти. В цих звітах в одному довгому стовпчику перелічуються значення кожного поля кожного запису таблиці чи запиту. Написи вказують ім’я поля таблиці чи запиту, а справа від напису – їх значення. Даня звіти використовуються рідко, оскільки вимагають великої кількості паперу для друку.

    • Стрічкові звіти. Для кожного поля таблиці чи запиту стовпчик з написом, а значення кожного запису розташовується в окремому рядку.

    • Багатостовпцеві звіти. Створюються з одностовпцевих звітів. Для цього використовують “газетний” варіант розташування інформації.

    • Звіти з групуванням даних. Найпоширеніший тип звітів, що дозволяють виконати підсумкові обчислення по певним групам записів і подати інформацію в зручному для користувача вигляді. Вкінці звіту відображаються загальні підсумки.

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

    • Вільні звіти. Такі звіти містять підпорядковані звіти. При цьому кожен підпорядкований звіт створюється на основі незалежних джерел даних, наприклад таблиць, запитів.

    Редагування звітів в режимі конструктора.

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

    Структура звіту в режимі конструктора має наступний вигляд:

    • Заголовок і примітка звіту – в ці розділи добавляється інформація, яка буде на початку і вкінці звіту відповідно. В заголовок звіту виносять назву звіту, а в примітках – формули для виконання підсумкові розрахунки.

    • Верхній і нижній колонтитул – оскільки частіше за все дані звіту не поміщаються на одній сторінці, то в цих розділах розміщуються дані, які повинні знаходитись зверху і знизу кожної сторінки звіту. Наприклад, нумерація сторінок.

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

    • Область даних – головний розділ звіту, в яком розміщуються дані з таблиці чи запиту.

    Ввімкнути чи вимкнути розділи колонтитулів і приміток звітів можна за допомогою команди Вид програми.

    1. Домашнє завдання

    1. Вивчити теоретичний матеріал за підручником [6], ст.685-755.

    1. Виконання роботи

    1. Відкрийте базу даних Магазин ігор, з якою ви працювали на попередньому занятті. Якщо у Вас немає особистої бази даних, то скопіюйте файл 7 Магазин ігор.mdb в особисту папку. Місце розташування даного файлу з’ясуйте у викладача. Відкрийте зазначений файл з особистої папки

    2. Створення звіту в режимі майстра

    1. Створити звіт “Прибуток за місяць”. Звіт повинен розраховувати прибуток по кожній накладній за зазначений місяць. Додати в звіт поля для розрахунку підсумкової суми продажів, а також отриманого прибутку. Звіт виконувати на підставі запиту з параметром, що запитує номер місяця. При побудові запиту, враховувати торгову націнку – 30%. Для виконання даного завдання зробіть наступні дії:

    • В третій лабораторній роботі був створений запит Сума продажів, у якому розраховувалася сума отримана від продажу по кожному запису в таблиці продажу з урахуванням націнки 30%. Цей запит ми будемо використовувати при створенні звіту. Однак необхідно даний запит трохи видозмінити, для того щоб відображалися не всі записи, а тільки записи за потрібний місяць. Необхідно зробити запит з параметром. Відкрийте вищевказаний запит у режимі конструктора і додайте ще одне поле, що обчислюється, у якому буде відображатися номер місяця. Використовуйте функцію month. Вікно будівника виразів з формулою відображене на мал. 1.

    Рис. 1. Будівник виразів із заданою формулою перебування місяця

    • У доданому полі, що обчислюється, в рядку умов у квадратних дужках надрукуйте рядок [Введіть номер місяця] (Рис. 2)

    Рис. 2. Фрагмент конструктора запиту з параметром для знаходження записів за визначений місяць

    • Щоб не змінювати вже існуючий запит, збережіть його змінений варіант під іншим ім’ям – “Звіт за місяць”.

    • У вікні бази даних на закладці Звіти виберіть команду Створення звіту за допомогою майстра. У вікні, що відкрилося, виберіть ім’я тільки що створеного запиту (Рис. 3) і всі поля даного запиту. Натисніть Далі.

    Рис. 3. Майстер звітів. Вибір запиту і полів для звіту

    • У наступному вікні майстра необхідно вибрати, які поля повинні бути згруповані в звіті. У створюваному Вами звіті ми будемо знаходити підсумкову суму для місяця і для кожної накладної. Тому виберіть для угруповання поля Дата продажу і Номер накладної (Рис. 4). Натисніть Далі.

    Рис. 4. Додавання рівнів угруповання

    • У наступному вікні майстра натисніть кнопку Підсумки й у вікні, що відкрилося, (Рис. 5) виберіть яку підсумкову операцію і для яких полів необхідно обчислити. Для нашого звіту включіть “прапорець” у рядку Сума в стовпці Sum. Зверніть увагу, що в даному вікні є можливість вибрати одну з двох команд: Показати дані і підсумки чи Показати тільки підсумки. Вибирайте Тільки підсумки в тому випадку, якщо Вам не потрібно відображати в звіті проміжні рядки запиту, використовувані в розрахунках і Вас цікавить тільки підсумковий результат. У нашому випадку залишимо варіант, запропонований за замовчуванням. Натисніть ОК і у вікні майстра Далі.

    Рис 5. Вибір підсумкової операції

    • На наступному етапі роботи майстра (Рис. 6) потрібно вибрати вид макета звіту. Виберіть варіант східчастий. Натисніть Далі.

    Рис. 6. Вибір виду макета звіту

    • У наступному вікні майстра потрібно вибрати варіант оформлення звіту (Рис. 7).

    Рис. 7. Вибір стилю звіту

    • В останньому вікні майстра задайте ім'я створюваного звіту і натисніть Готово. Оскільки Ви створювали звіт на основі запиту з параметром, то перед тим як буде створений новий звіт Access, попросить Вас ввести номер місяця. (Нагадуємо, що в базі даних, з якою Ви працюєте продажі виконувалися в 9, 10, 11 місяцях). Після виконаних Вами дій попередній варіант звіту може виглядати, як показано на мал. 8

    Рис. 8. Попередній варіант звіту в режимі перегляду

    • Головна перевага майстра звітів полягає в тому, що він розміщає в звіті всі зазначені Вами поля і виконує обчислення. Але найчастіше необхідно відредагувати звіт у режимі конструктора.

    1. Редагування звіту в режимі конструктора

    1. Переключіться в режим конструктора в тільки що створеному звіті, використовуючи знайому Вам кнопку Вид на панелі інструментів. Звіт виглядає в режимі конструктора, як показано на мал. 9.

    Рис. 9. Звіт у режимі конструктора

    1. Розмістіть елементи звіту в режимі конструктора так, щоб усі дані містилися на сторінці звіту. Користайтеся наступними рекомендаціями:

    • Змінювати місце розташування елементів і форматувати їх Ви можете, використовуючи ті ж прийоми, що і при створенні форм.

    • При редагуванні звіту пам’ятайте про те, що оскільки звіт буде роздруковуватися на принтері, то Access автоматично настроїв ширину звіту по ширині сторінки А4 і змінювати цю ширину не потрібно.

    • Ви можете змінювати підпис до полів, але не маєте право змінювати самі поля.

    • При редагуванні звіту Ви можете використовувати панель Елементів і панель Формат.

    • Після редагування звіту у режимі конструктора, в режимі перегляду може виглядати, як показано на 10 і 11 малюнках.

    Рис. 10. Відредагований звіт у режимі конструктора

    Рис. 11. Відредагований звіт у режимі перегляду

    1. Додавання в звіт полів, що здійснюють обчислення

    1. На останньому етапі виконання завдання необхідно розрахувати суму прибутку, отриману за місяць. Оскільки за умовою ми продавали ігри на 30% дорожче, ніж їхня закупівельна ціна, то наш прибуток буде складати 30% від загальної суми продажів за місяць. Для того щоб це розрахувати в звіт також як і в запит додають поля що виконують обчислення:

    • У створюваному Вами звіті переключіться в режим конструктора. В області приміток групи Дата продажів розміщена підсумкова сума за місяць. Змініть, ім'я цього доданого поля, так щоб його в майбутньому можна було використовувати у формулі. Для цього клацніть правою кнопкою миші на поле з формулою й у контекстному меню виберіть команду Властивості; у вікні, що відкрилося, переключіться на закладку Всі й у рядку ім’я поля задайте власне ім’я - підсумок (Рис. 12). Закрийте вікно властивостей.

    Рис. 12. Зміна імені поля

    • Додайте нове поле. Для цього натисніть на кнопку Поле на панелі Елементів і в області приміток групи Дата продажу намалюйте прямокутник для нового поля (Рис. 13). Поле додається разом з підписом.

    Рис. 13. Нове додане поле в режимі конструктора

    • У доданому полі клацніть мишею і надрукуйте формулу: =[підсумок]*0,3.

    • Змініть підпис до поля на Прибуток. Змініть шрифт у доданому полі (Рис. 14).

    Рис. 14. Додане поле з формулою

    • Переконаєтеся в правильності роботи формули, переключивши в режим перегляду звіту.

    1. Виконайте завдання:

    1. Створити звіт “Прибуток за весь період роботи”. Звіт повинен містити інформацію про суму продажів за кожен місяць, про суму прибутку за кожен місяць, а також підсумкові суми продажів і прибутку за весь період.

    2. Створити звіт “Кількість проданих CD”. Звіт повинен містити інформацію про кількість CD, проданих за останній місяць по кожному виду ігор. Ігри, яких було продано більше всього, повинні розміщатися на початку звіту.

    3. Створити звіт “Повний прайс-лист ігор”, для всіх ігор, що є в магазині. Вказувати ціну на ігри з урахуванням націнки 30%. Ігри в звіті повинні бути згруповані по жанрах.

    4. Створити звіт “Накладна” для друку накладної по кожному замовленню. У звіт додати поля для розрахунку ПДВ (20%), суми і підсумкової суми з ПДВ. Звіт повинен виконуватись на підставі запиту з параметром, що запитує номер накладної. У форму для додавання нового замовлення додати кнопку, що викликає звіт “Накладна”.

    5. У кнопкову форму бази даних додати сторінку “Підсумкові звіти”. На дану сторінку додати кнопки для відкриття звітів: “Прибуток за місяць”, “Прибуток за весь період роботи”, “Кількість проданих CD”.

    6. На сторінку “Інформація для покупців” додати кнопку для відкриття звіту “Повний прайс-лист ігор”.

    7. У заголовок усіх створюваних звітів додати наступну інформацію:

    НП CD-LAND

    м. Київ, ін. Перемоги, 4

    www.cdland.ua

    E-mail: cdland@ukr.net тел. 544-55-55, 544-55-56

    АКБ «Аваль»,

    м. Київ, МФО 300335


    1. Контрольні питання

                1. Що таке «Звіт» і для чого він використовується при роботі з базою даних?

                2. На основі чого звичайно створюється новий звіт?

                3. Як приступити до створення звіту в режимі майстра?

                4. Що таке «угруповання» і для чого воно використовується?

                5. У якому випадку при створенні звіту використовується кнопка Підсумки?

                6. Для чого використовуються Заголовок і примітки звіту?

                7. Для чого використовуються Верхній і нижній колонтитул?

                8. Для чого використовуються Заголовок і примітки групи?

                9. Для чого використовуються Область даних?

                10. Як включити (виключити) розділи звіту?

    1. Зміст звіту

    1. Тема і мета лабораторної роботи.

    2. Прилади та обладнання.

    3. Виконання домашнього завдання.

    4. Звіт за пунктами виконання лабораторної роботи.

    5. Дати відповіді на контрольні запитання.

    1. Література

    1. Microsoft Access 2003. Шаг за шагом/ Практ.пособ./Пер. с англ. – М.: “СП ЭКОМ”, 2004. – 432 с.: илл.

    2. Джонс Э., Саттон Д. К Библия пользователя Microsoft Office Professional для Windows 95.:"Диалектика", 1996.

    3. Михеев Р. Н. VBA и программирование в MS Office для пользователей. – СПб.: БХВ – Петербург, 2006. – 384 с.: ил.

    4. МогилевА.В., ПакН.И., ХённерЕ.К. Информатика: Учеб. Пособие для студ.пед.вузов.М., 1999.

    5. Симонович С.В. Информатика. Базовый курс.СПб:"Питер", 2000.

    6. Дженнингс, Роджер. Использование Microsoft Office Access 2003. Специальное издание.: Пер.с.англ. – М.: Издательский дом “Вильямс”, 2006. – 1312 с.

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

    1. Тема роботи. Налаштування інтерфейсу БД

    2. Мета роботи. Навчитися створювати і редагувати зовнішній вигляд створюваної БД. Навитися створювати захист БД.

    3. Прилади та матеріали. ПК, MS Access.

    4. Теоретичні відомості

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

    Наприклад, при перегляді форми Прайс покупцю зовсім необов’язково мати можливість змінювати ціни на ігри. Але продавець повинен мати можливість це робити. Для того щоб ту саму форму Прайс відкривати з різним рівнем можливостей використовуються макроси.

    Макрос – це набір спеціальних команд Access, що дозволяє максимально автоматизувати роботу з базою даних чи захистити її. Для виклику макросів використовуються команди меню чи кнопки на панелі інструментів.

    1. Домашнє завдання

            1. Вивчити теоретичний матеріал за підручником [1], ст. 329-366;

            2. Опрацювати матеріал лекції.

    1. Виконання роботи

    1. Відкрийте базу даних Магазин ігор, з якою ви працювали на попередньому занятті. Якщо у Вас немає особистої бази даних, то скопіюйте файл 9 магазин ігор.mdb в особисту папку. Місце розташування даного файлу з'ясуйте у викладача. Відкрийте зазначений файл з особистої папки.

    2. Створіть макрос для відкриття форми в режимі редагування. Для цього:

    • У вікні керування базою даних переключіться на закладку Макроси і натисніть на кнопку Створити. Відкриється конструктор макросів (рис. 1).

    • У вікні конструктора виберіть МакрокомандуВідкрити Форму. В аргументах макрокоманди задайте Ім'я формиПрайс, Режим данихТільки читання (Рис. 1).

    Рис. 1. Вікно конструктора макросу

    • Збережіть макрос, давши йому ім'я Прайс у режимі читання. Закрийте вікно макросу і перевірте правильність його роботи, виконавши його.

    Примітка! Необхідно створювати макроси тільки в тому випадку, якщо Ви хочете відкрити форму в режимі читання чи в режимі додавання даних. У режимі редагування форма відкривається звичайним чином.

    1. Створення власного меню.

    1. Створіть нове меню користувача. Для цього виконайте команди меню: Вид – Панелі інструментів Настроювання й у вікні, що відкрилося, переключіться на закладку Панелі інструментів (Рис. 2). Натисніть на кнопку Створити і задайте ім'я меню – Магазин ігор.

    Рис. 2. Вікно Настроювання, закладка Панелі інструментів

    1. Виділіть додану панель у списку і натисніть на кнопку Властивості. У вікні, що відкрилося, виберіть тип - Рядок меню (Рис. 3) і закрийте дане вікно. Після виконаних Вами дій на екрані відобразиться порожня панель меню Магазин ігор.

    Рис. 3 Вікно завдання властивостей панелі

    1. Для того щоб додати нову команду в меню у вікні Настроювання переключіться на закладку Команди й у списку категорій виберіть Нове меню. З поля Команди перетягніть мишею Нова команда на додану панель меню. На доданій команді Нове меню клацніть правою кнопкою миші і задайте ім'я команди (Рис. 4).

    Рис. 4. Додавання нової команди меню

    1. Для того щоб додати команди в підменю нової команди перетягніть мишею потрібну команду з категорії. Зверніть увагу, що для того щоб підключити до меню всі об'єкти бази даних використовуються категорії: усі таблиці, усі запити, усі форми, усі звіти, усі макроси.

    2. Для того, щоб видалити команду з меню при включеному вікні Настроювання перетягніть мишею дану команду за рядок меню.

    1. Створення панелей інструментів

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

    2. Для того щоб додати кнопку на панель інструментів зробіть точно так само, як і з командою на рядок меню. Просто знайдіть потрібну команду (Закладка Команди, вікна Настроювання) у відповідній категорії і перетягніть її на панель.

    3. Для того щоб змінити настроювання доданої кнопки клацніть на ній правою кнопкою миші (вікно Настроювання повинне бути відкрито) і в контекстному меню, що відкриється виберіть команду Основний стиль (мал. 5).

    Рис. 5. Зміна кнопки на панелі інструментів

    • Команда Вибрати значок на кнопці – дозволить Вам вибрати інший малюнок з бібліотеки.

    • Команда Змінити значок на кнопці – запустить невеликий графічний редактор за допомогою якого Ви зможете самостійно створити малюнок для кнопки.

    1. Настроювання параметрів запуску додатка

    1. Для того, щоб після відкриття файлу з базою даних користувач не бачив вікно керування базою, стандартне меню і панелі інструментів Access, виконаєте наступні дії:

    • Виберіть команди меню: Сервіс – Параметри запуску. У діалоговому вікні, що відкрилося, (Рис. 6) надрукуйте ім'я Вашого додатка – Магазин ігор.

    • У полі Висновок форми/сторінки виберіть Кнопкова форма.

    • Відключіть команду Вікно бази даних.

    • У полі Рядок меню виберіть назву створеного Вами меню – Магазин ігор.

    • Відключіть команди Повний набір меню Access, вбудовані панелі, Зміна панелей інструментів. Натисніть ОК.

    Рис. 6. Вікно Параметри запуску

    • Для перевірки включених опцій закрийте вікно бази даних і знову його відкрийте.

    Увага! Для того щоб після зміни параметрів запуску відкрити вікно бази даних з повним набором команд при відкритті файлу утримуйте натиснутою клавішу Shift. Зміну параметрів запуску бажано включати тільки після завершення роботи над інтерфейсом бази даних.

    1. Виконайте завдання:

    1) Створити меню, що містить наступні пункти і підпункти:

    Ігри

    • Нова гра (відкриває форму «Картка гри» у режимі додавання нових даних;

    • Новий жанр (відкриває форму «Жанр гри» у режимі додавання нових даних;

    • Жанри (відкриває форму «Жанри ігор» у режимі редагування).

    Купівлі

    • Прайс (відкриває форму «Прайс» у режимі перегляду даних);

    • Ігри по жанрах (відкриває форму «Ігри по жанрах» у режимі редагування);

    • Накладна (відкриває форму «Замовлення» у режимі додавання нових даних);

    • Друк накладної (відкриває звіт «Накладна»);

    • Друк прайса (відкриває звіт «Прайс»).

    Звіти

    • Прибуток за місяць;

    • Прибуток за весь період роботи;

    • Кількість проданих CD.

    Вихід (закриття вікна додатку).

    1. Створити панель інструментів, на яку додати кнопки, що будуть відкривати наступні об'єкти бази даних:

      • Кнопкова форма бази даних;

      • Нова гра (відкриває форму «Картка гри» у режимі додавання нових даних;

      • Ігри (відкриває форму «Картка гри» у режимі редагування);

      • Прайс (відкриває форму «Прайс» у режимі перегляду даних);

      • Звіт «Прибуток за місяць»;

      • Звіт «Прибуток за весь період роботи».

      • Також необхідні кнопки «Знайти» і «Фільтр по виділеному».

    2. Налаштувати параметри запуску додатку. При відкритті бази даних відображаються тільки створені меню і панель інструментів. Не відображається вікно бази даних, і не відкривається кнопкова форма.

    1. Контрольні питання

      1. Що таке інтерфейс програми?

      2. Як налаштувати інтерфейс програми?

      3. Що таке макрос?

      4. Як створити макрос?

      5. Як створити власне меню?

      6. Як створити панель інструментів?

    1. Зміст звіту

    1. Тема і мета лабораторної роботи.

    2. Прилади та обладнання.

    3. Виконання домашнього завдання.

    4. Звіт за пунктами виконання лабораторної роботи.

    5. Зробити висновки по результатам, отриманим в процесі розв’язання задачі.

    6. Відповіді на контрольні запитання.

    1. Література

    1. Microsoft Access 2003. Шаг за шагом/ Практ.пособ./Пер. с англ. – М.: “СП ЭКОМ”, 2004. – 432 с.: илл.

    2. Джонс Э., Саттон Д. К Библия пользователя Microsoft Office Professional для Windows 95.:"Диалектика", 1996.

    3. Михеев Р. Н. VBA и программирование в MS Office для пользователей. – СПб.: БХВ – Петербург, 2006. – 384 с.: ил.

    4. МогилевА.В., ПакН.И., ХённерЕ.К. Информатика: Учеб. Пособие для студ.пед.вузов.М., 1999.

    5. Симонович С.В. Информатика. Базовый курс.СПб:"Питер", 2000.

    6. Дженнингс, Роджер. Использование Microsoft Office Access 2003. Специальное издание.: Пер.с.англ. – М.: Издательский дом “Вильямс”, 2006. – 1312 с.

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

    1. Тема роботи. Набуття навиків налаштування і роботи в середвищі Query Analyzer. Вивчення синтаксису команди SQL: CREATE TABLE

    2. Мета роботи. Навчитися налаштовувати і працявати в середвищі Query Analyzer. Вивчити синтакс команди SQL: CREATE TABLE.

    1. Прилади та матеріали. ПК.

    2. Теоретичні відомості

    Мова для взаємодії з БД SQL з'явився в середині 70-х і був розроблений в рамках проекту експериментальної реляційної СУБД System R. Початкове назву мови SEQUEL (Structered English Query Language) тільки частково відображає суть цієї мови. Звичайно, мова був орієнтований головним чином на зручну і зрозумілу користувачам формулювання запитів до реляційної БД, але насправді вже був повним мовою БД, що містить крім операторів формулювання запитів і маніпулювання БД засоби визначення й маніпулювання схемою БД; визначення обмежень цілісності і тригерів; уявлень БД; можливості визначення структур фізичного рівня, що підтримують ефективне виконання запитів; авторизації доступу до відносин та їх полям; точок збереження транзакції і відкатів. У мові були відсутні засоби синхронізації доступу до об'єктів БД із боку паралельно виконуваних транзакцій: із самого початку передбачалося, що необхідну синхронізацію неявно виконує СУБД.

     Типи даних

    У мові SQL/89 підтримуються наступні типи даних: CHARACTER, NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION. Ці типи даних класифікуються на типи рядків символів, точних чисел і приблизних чисел.

    До першого класу відноситься CHARACTER. Специфікатор типу має вигляд CHARACTER (lenght), де lenght задає довжину рядків даного типу. Зауважимо, що в SQL/89 немає типу рядків змінного розміру, хоча у багатьох реалізаціях вони допускаються. Літеральние рядки символів зображуються у вигляді 'послідовність символів' (наприклад, 'example').

    Представниками другого класу типів є NUMERIC, DECIMAL (або DEC), INTEGER (або INT) і SMALLINT. Специфікатор типу NUMERIC має вигляд NUMERIC [(precision [, scale]). Специфицируются точні числа, що представляються з точністю precision і масштабом scale. Тут і далі, якщо опущений масштаб, то він покладається рівним 0, а якщо опущена точність, то її значення за замовчуванням визначається в реалізації.

    Специфікатор типу DECIMAL (або DEC) має вигляд NUMERIC [(precision [, scale]). Специфицируются точні числа, представлені з масштабом scale і точністю, рівною або більшою значення precision.

    INTEGER специфікує тип даних точних чисел з масштабом 0 і визначається в реалізації точністю. SMALLINT специфікує тип даних точних чисел з масштабом 0 і визначається в реалізації точністю, не більшою, ніж точність чисел типу INTEGER.

    Літеральние значення точних чисел в загальному випадку представляються у формі

    [+ | -] <Ціле-без-знака> [. <Ціле-без-знака>].

    Нарешті, в класу типів даних приблизних чисел відносяться типи FLOAT, REAL і DOUBLE PRECISION. Специфікатор типу FLOAT має вигляд FLOAT [(precision)]. Специфицируются приблизні числа з двійкової точністю, рівною або більшою значення precision.

    REAL специфікує тип даних приблизних чисел з точністю, визначеною в реалізації. DOUBLE PRECISION специфікує тип даних приблизних чисел з точністю, визначеною в реалізації, більшою, ніж точність типу REAL.

    Літеральние значення приблизних чисел в загальному випадку представляються у вигляді <літерально-значення-точного-числа> E <ціле-со-знаком>.

    Зауважимо, що хоча з використанням мови SQL можна визначити схему БД, що містить дані будь-якого з перерахованих типів, можливість використання цих даних в прикладних системах залежить від застосовуваного мови програмування. Весь набір типів даних можна використовувати, тільки якщо програмувати на ПЛ / 1. Тому в деяких реалізаціях SQL типи даних з масштабом і точністю взагалі не підтримуються.

    Хоча правила вбудовування SQL в програми на мові Сі не визначені в SQL/89, в більшості реалізацій, що підтримують таке вбудовування, є наступне відповідність між типами даних SQL і типами даних Сі: CHARACTER відповідає рядкам Сі; INTEGER відповідає long; SMALLINT відповідає short; REAL відповідає float; DOUBLE PRECISION відповідає double (саме таку відповідність затверджено в стандарті SQL/92).

    Зауважимо ще, що в більшості реалізацій SQL підтримуються деякі додаткові типи даних, наприклад, DATE, TIME, INTERVAL, MONEY. Деякі з цих типів специфіковані в стандарті SQL/92, але в поточних реалізаціях синтаксичні і семантичні властивості таких типів можуть розрізнятися.

    1. Домашнє завдання

            1. Вивчити теоретичний матеріал за підручником [1], ст. 83-103;

            2. Опрацювати матеріал лекції.

    1. Виконання роботи опис учбового прикладу.

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

    • Студент (Student)

    • Викладач (Teacher)

    • Успішність (Progress)

    • Учбовий план (UPlan)

    • Предмет (Subject)

    • Звітність (Report)

    • Вид занять (Work)

    • Група (SGroup)

    Таблиця Студент (Student).

    Таблиця містить дані про студента. Кожен студент має унікальний номер залікової книжки, який є первинним ключем відношення. Схема відношення має вигляд: R(Student)={NRecordBook, StName, IDGroup, SPasport, NPasport, DataPasport, NameDeptPasport, INN}, що аналогічно R(Студент)={N залікові книжки, Ім'я студента, Код групи, Серія паспорта, Номер паспорта, Найменування організації, ИНН}. Зовнішнім ключем є IDGroup (Код групи). Комбінація атрибутів SPasport, NPasport, DataPasport, NameDeptPasport має бути унікальна, також має бути унікальним атрибут INN, який у свою чергу є потенційним ключем.

    Таблиця Викладач (Teacher).

    Таблиця містить дані про викладача. Кожен викладач має унікальний ідентифікаційний номер, який є первинним ключем відношення. Схема відношення має вигляд: R(Teacher)={PIN, TeachName, DeptNname, TeachPost, DateHire}, що аналогічно R(Викладач) ={Ідентифікаційний номер викладача, Ім'я викладача, Назва кафедри, Посада, Дата прийому на роботу}. Таблиця не містить зовнішніх ключів.

    Таблиця Успішність (Progress).

    У таблиці зберігаються оцінки, отримані студентом за увесь період його навчання в інституті, як при здачі курсових робіт, іспитів і тому подібне, так і при здачі заліків. Відомо, що заліки можуть бути диференційованими або такими, що не диференціюються. У першому випадку результат здачі оцінюється по тій же системі, що і іспит, в другому – у відомості фіксується тільки факт здачі заліку ("залік" або "незачет"). Домовимося в полі Mark (Оцінка) заносити значення 1, якщо "залік" і 0 – якщо "незачет". Первинним ключем у відношенні є атрибути: № залікові книжки, Код предмета, Код виду звітності, № cеместра. Схема відношення має вигляд: R(Progress)={NRecordBook, PIN, IDSubject, IDReport, NTerm, Mark}, що відповідає схемі R(Успішність)={№ залікової книжки, Ідентифікаційний номер викладача, Код предмета, Код виду звітності, № семестру, Оцінка}. Зовнішні ключі приведені нижче (см. Таблиця 1).

    Таблиця 1Зовнішні ключі відношення Успішність (Progress)

    Зовнішній ключ

    Посилальне відношення

    № залікові книжки (NRecordBook)

    Студент (Student)

    Ідентифікаційний номер викладача (PIN)

    Викладач (Teacher)

    Код предмета(IDSubject)

    Предмет (Subject)

    Код виду звітності (IDReport)

    Звітність (Report)

    Таблиця Учбовий план (UPlan).

    У таблиці знаходиться інформація про предмети, які вивчають студенти тієї або іншої групи, про кількість годин, що відводяться для того або іншого виду занять (лекцій, практичних, лабораторних і тому подібне). Ключ відношення виділений на схемі. R(UPlan)={IDSubject, IDWork, IDGroup, NTerm, Clock, PIN) або ( R(План)={Код предмета, Код виду заняття, Код групи, Семестр, К – ть годинника, Ідентифікаційний номер викладача}. Зовнішні ключі відношення План (UPlan) приведені нижче (за см. Таблиця 2).

    Таблиця 2 Зовнішні ключі відношення План (UPlan)

    Зовнішній ключ

    Посилальне відношення

    Код виду заняття (IDWork)

    Вид занять (Work)

    Ідентифікаційний номер викладача (PIN)

    Викладач (Teacher)

    Код предмета (IDSubject)

    Предмет (Subject)

    Код групи (IDGroup)

    Група (SGroup)

    Таблиця Предмет (Subject).

    Таблиця є довідником предметів, що вивчаються студентом. Первинним ключем відношення є Код предмета (IDSubject). Схема відношення має вигляд: R(Subject)={IDSubject, NameSubject}, аналог цієї схеми R(Предмет)={Код предмета, Назва предмета}. Атрибут NameSubject (Назва предмета) має бути унікальним. Таблиця не містить зовнішніх ключів.

    Таблиця Звітність (Report).

    Таблиця є довідником видів звітності. Домен атрибуту Назва виду звітності включатиме іспит, залік, курсовий проект і тому подібне R(Report)={IDReport, NameReport}, чи R(Звітність)={Код виду звітності, Назва виду звітності}. Атрибут NameReport (Назва виду звітності) має бути унікальним. Таблиця не містить зовнішніх ключів.

    Таблиця Вид занять (Work).

    Таблиця є довідником видів занять. Домен атрибуту Назва виду заняття включатиме наступні значення: лекція, практичне заняття, лабораторне заняття і тому подібне R(Work)={IDWork, NameWork}, чи R(Види занять)={Код виду заняття, Назва виду заняття}. Атрибут NameWork (Назва виду заняття) має бути унікальним. Таблиця не містить зовнішніх ключів.

    Таблиця Група (SGroup).

    Таблиця уявляє інформацію про групи тих, що навчаються у Внз. Первинним ключем відношення є IDGroup (Код групи). Домен атрибуту Назва групи включатиме усі назви груп Внз. R(SGroup)={IDGroup, NameGroup}, чи R(Група)={Код групи, Назва групи}. Атрибут NameGroup (Назва групи) має бути унікальним. Таблиця не містить зовнішніх ключів.

    Перед створенням таблиці слід заздалегідь визначити типи полів і їх розмір. З цією метою аналізуються можливі значення тих або інших атрибутів, а також методи обробки, яким вони піддаватимуться. Основні типи даних, що мають місце в СУБД SQL Server 2000 дані в додатку (см. Додаток 1. Типи даних використовувані СУБД SQL Server 2000).

    Структура таблиць учбового прикладу приведена нижче (см. Таблиця 3 – Таблиця 9), де первинні ключі виділені кольором і підкреслені.

    Таблиця 3

    Таблиця Студент (Student)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    залікової книжки

    NRecordBook

    Varchar

    6

    Not null

    Ім'я студента

    StName

    Varchar

    35

    Код групи

    IDGroup

    INT

    Foreign key

    Серія паспорта

    SPasport

    Varchar

    4

    Not null

    Unique

    Номер паспорта

    NPasport

    Varchar

    6

    Дата видачі

    DataPasport

    DateTime

    Найменування організації

    NameDeptPasport

    Varchar

    35

    ИНН

    INN

    Varchar

    10

    Unique

    Таблиця 4

    Таблиця Викладач (Teacher)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Ідентифікаційний номер викладача

    PIN

    INT

    Not Null

    Ім'я викладача

    TeachName

    Varchar

    35

    Назва кафедри

    DeptName

    Varchar

    35

    Посада

    TeachPost

    Varchar

    35

    Дата прийому на роботу

    DateHire

    DateTime

    Таблиця 5

    Таблиця Успішність (Progress)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Код виду звітності

    IDReport

    INT

    Not null, Foreign key

    Код предмета

    IDSubject

    INT

    Not null, Foreign key

    залікові книжки

    NRecordBook

    Varchar

    6

    Not null, Foreign key

    семестру

    NTerm

    Numeric

    2

    Not null

    Ідентифікаційний номер викладача (PIN)

    PIN

    INT

    Foreign key

    Оцінка

    Mark

    SmallInt

    Таблиця 6

    Таблиця Учбовий план (UPlan)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Код предмета

    IDSubject

    INT

    Not null, Foreign key

    семестру

    NTerm

    Varchar

    2

    Not null

    Код виду заняття

    IDWork

    INT

    Not null, Foreign key

    Код групи

    IDGroup

    INT

    Not null, Foreign key

    Ідентифікаційний номер викладача

    PIN

    INT

    Not null, Foreign key

    Кількість годин

    Clock

    Numeric

    3

    Таблиця 7

    Таблиця Предмет (Subject)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Код предмета

    IDSubject

    INT

    Not null

    Назва предмета

    NameSubject

    Varchar

    35

    Unique

    Таблиця 8

    Таблиця Звітність (Report)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Код звітності

    IDReport

    INT

    Not null

    Назва виду звітності

    NameReport

    Varchar

    35

    Unique

    Таблиця 9

    Таблиця Вид занять (Work)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Код виду занять

    IDWork

    INT

    Not null

    Назва виду заняття

    NameWork

    Varchar

    35

    Unique

    Таблиця 10

    Таблиця Група (SGroup)

    Назва атрибуту

    Ім'я поля

    Тип поля

    Розмір

    Обмеження

    Код групи

    IDGroup

    INT

    Not null

    Назва групи

    NameGroup

    Varchar

    15

    Unique

    Для визначення SQL операторів тут і далі застосовується розширена форма BNF – нотации (Backus Naur Form).

    Прописні букви використовуються для запису зарезервованих слів.

    Рядкові букви використовуються для запису слів, визначених користувачем.

    Вертикальний рядок (|) вказує на необхідність вибору одного з декількох приведених значень.

    Фігурні дужки визначають обов'язковий елемент – наприклад, {SELECT}.

    Кутові дужки (< >) означають, що замість параметра позначеного в них, повинне проставлятися його конкретне значення, при цьому кутові дужки анулюються.

    Квадратні дужки визначають необов'язковий елемент [DISTINCT].

    Багатокрапка (.) використовується для вказівки необов'язкової можливості повторення конструкції. Найменша допустима кількість ітерацій дорівнює нулю. Наприклад, CREATE TABLE <ім'я таблиці>

    ((<ім'я стовпця> <тип даних> (<розмір>) [<обмеження для стовпця>]

    [,<ім'я стовпця> <тип даних> (<розмір>) [<обмеження для стовпця>]. ])

    [,<обмеження для таблиці>];

    Рекомендації по написанню операторів SQL :

    • Кожна фраза в операторові повинна починатися з нового рядка.

    • Початок кожної фрази повинен починатися з тієї ж позиції, що і початок попередньої фрази.

    • Бажано, щоб кожна частина фрази починалася з нового рядка з деяким відступом відносно початку фрази. Останнє дозволяє вказати підлеглість фраз.

    За допомогою команди CREATE створюється база даних і усі її об'єкти.

    CREATE DATABASE Student ON PRIMARY

    ( (Name=' Student Filename='C :\Program Files\Microsoft SQL Server\MSSQL\Data\ Student.mdf')

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

    • NULL/NOT NULL – дозволяє або не дозволяє невизначеність значень атрибутів;

    • UNIQUE – дозволяє тільки унікальні значення атрибутів;

    • PRIMARY KEY – визначає первинний ключ відношення (у кожному відношенні може мати місце тільки один первинний ключ);

    • FOREIGN KEY – визначає зовнішній ключ відношення (у одному відношенні може бути декілька зовнішніх ключів);

    • CHECK – задає обмеження на значення атрибутів.

    Видалення таблиць

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

    Синтаксис команди :

    DROP TABLE<ім'я таблиці> [,<ім'я таблиці>]

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

    Створення таблиць

    Синтаксис команди CREATE TABLE для створення таблиці без обмежень:

    CREATE TABLE [<ім'я бази даних>.[<ім'я власника>| <ім'я власника>]

    <ім'я таблиці> ({<ім'я стовпця> <тип даних> (<розмір>)});

    Приклад 1

    Завдання.

    Створити таблицю Subject cо стовпцями IDSubject, NameSubject.

    Рішення.

    CREATE TABLE Subject

    ( (IDSubject INTNameSubject VARCHAR (35));

    Тут і завжди повідомлення про успішне виконання команди CREATE має вигляд: The command(s) completed successfully.

    Приклад 2

    Завдання.

    Створити таблицю Subject cо стовпцями IDSubject (значення якого генерується автоматично) і NameSubject.

    Рішення.

    CREATE TABLE Subject

    ( (IDSubject INT IDENTITY NameSubject VARCHAR (35));

    Автоматична генерація значення стовпця IDSubject досягається за рахунок використання властивості IDENTITY, за умовчанням початкове значення, генероване за допомогою IDENTITY рівне 1, так само як і його приріст. Таким чином, наступне значення дорівнюватиме 2. Значення в IDENTITY – столбцах обов'язково послідовні, тобто якщо приріст позитивний, то наступне значення завжди більше попереднього, якщо приріст негативний, то – завжди менше. Приріст і початкове значення можуть бути заданий, проте цей механізм надзвичайно рідко використовується в реальних проектах.

    Приклад 3

    Завдання.

    Створити таблицю Subject cо стовпцями IDSubject (значення якого генерується автоматично, починаючи зі значення 2 з кроком 2) і NameSubject.

    Рішення.

    CREATE TABLE Subject

    ( (IDSubject INT IDENTITY (2,2) NameSubject VARCHAR (35));

    Не потребує доказу, що таблиця без обмежень не має сенсу. Наприклад, в таблиці Subject – IDSubject є первинним ключем, інший атрибут NameSubject – потенційним. У першому випадку необхідно накласти обмеження PRIMARY KEY, в другому – UNIQUE, крім того, доцільно накласти обмеження NOT NULL на обидва атрибути.

    Синтаксис команди CREATE TABLE для створення таблиці c обмеженнями :

    CREATE TABLE [<ім'я бази даних>.[<ім'я власника>] <ім'я таблиці>

    (({<ім'я стовпця> <тип даних> (<розмір>) [<обмеження для стовпця>]}

    [,. n])

    [,<обмеження для таблиці>];

    Обмеження на рівні таблиці доцільно вводити, якщо вони мають відношення до декількох стовпців. Обмеження для одного стовпця рекомендується встановлювати на рівні стовпця. Усі обмеження за винятком обмеження NULL/NOT NULL створюються як на рівні стовпця, так і на рівні таблиці. Кожному створеному обмеженню за винятком обмежень NULL/NOT NULL привласнюється унікальне ім'я. Якщо ви хочете самі присвоїти ім'я тому або іншому обмеженню, то необхідно при створенні обмеження скористатися пропозицією CONSTRAINT. Синтаксис пропозиції CONSTRAINT, задаючої в команді CREATE TABLE обмеження, як на рівні таблиці, так і на рівні стовпця приведений нижче.

    Синтаксис пропозиції CONSTRAINT :

    [CONSTRAINT <ім'я обмеження>]

    [PRIMARY KEY (<ім'я стовпця>[, .n])]

    [UNIQUE (<ім'я стовпця>[, .n])]

    [NOT NULL (<ім'я стовпця>[, .n])]

    [CHECK (<умова>)]

    [FOREIGN KEY (<ім'я стовпця, таблиці, що посилається>[, .n])

    REFERENCES <ім'я посилальної таблиці> [(Ім'я стовпця посилальної

    таблиці [, .n])]]

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

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

    Імена обмежень

    Домовимося, призначаючи обмеження PRIMARY KEY використовувати шаблон: <ім'я таблиці><тип обмеження>, оскільки обмеження PRIMARY KEY може бути в таблиці тільки одне. Для обмежень FOREIGN KEY використовуватимемо шаблон – <ім'я таблиці, що посилається><ім'я посилальної таблиці><тип обмеження>. Для обмеження CHECK <ім'я таблиці><ім'я стовпця><тип обмеження>, а для обмеження UNIQUE <ім'я таблиці><ім'я одного із стовпців><тип обмеження>.

    Перевагу власних імен ви оціните відразу, як тільки вам в програмному коді хоч раз доведеться до нього звернутися.

    Обмеження null і not null

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

    Приклад 4

    Завдання.

    Створити таблицю Subject cо стовпцями IDSubject (значення якого генерується автоматично) і NameSubject, унеможлививши невизначених значень для обох атрибутів.

    Рішення.

    CREATE TABLE Subject

    ((IDSubject INT IDENTITY NOT NULL NameSubject VARCHAR (35) NOT NULL);

    Обмеження primary key

    Обмеження PRIMARY KEY задає значення первинного ключа на рівні стовпця або таблиці.

    Особливості при створенні обмеження PRIMARY KEY :

    • У таблиці може бути тільки один первинний ключ.

    • Первинний ключ не може мати атрибутів з NULL ознакою. Проте при завданні первинного ключа в команді CREATE обмеження NOT NULL на атрибути, що входять в первинний ключ призначається автоматично.

    • Одна і та ж комбінація стовпців не може бути оголошена одночасно як унікальний і первинний ключ.

    Cинтаксис пропозиції CONSTRAINT, задаючої обмеження PRIMARY KEY на рівні таблиці.

    [СONSTRAINT <ім'я обмеження>] PRIMARY KEY (<список стовпців>)

    Приклад 5

    Завдання.

    Створити таблицю Subject, встановивши обмеження первинного ключа на рівні стовпця IDSubject.

    Рішення.

    CREATE TABLE Subject

    ( (IDSubject INT IDENTITY CONSTRAINT SubjectPrimary PRIMARY KEY

    NameSubject VARCHAR (35) NOT NULL )

    В даному випадку на атрибут IDSubject можна додатково не накладати обмеження NOT NULL, це станеться автоматично при накладенні обмеження PRIMARY KEY.

    Приклад 6

    Завдання.

    Створити таблицю Progress, встановивши обмеження первинного ключа на рівні таблиці.

    Рішення.

    CREATE TABLE Progress

    ((NRecordBook VARCHAR(6)

    PIN INT,

    IDSubject INT,

    IDReport INT,

    NTerm INT,

    Mark SMALLINT

    CONSTRAINT ProgressPrimary PRIMARY KEY (NRecordBook,

    IDSubject, IDReport, NTerm));

    Cинтаксис пропозиції CONSTRAINT, задаючої обмеження PRIMARY KEY на рівні стовпця

    [СONSTRAINT <ім'я обмеження>] PRIMARY KEY

    Обмеження unique

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

    Cинтаксис пропозиції CONSTRAINT, задаючої обмеження UNIQUE на рівні стовпця

    [СONSTRAINT <ім'я обмеження>] UNIQUE

    Приклад 7

    Завдання.

    Створити обмеження UNIQUE в таблиці Subject для стовпця NameSubject.

    Рішення.

    Обмеження зачіпає тільки один стовпець, і воно може бути задане на рівні стовпця.

    CREATE TABLE Subject

    ( (IDSubject INT IDENTITY

    CONSTRAINT SubjectPrimary PRIMARY KEY

    NameSubject VARCHAR(35) NOT NULL

    CONSTRAINT SubjectNameSubjectUnique UNIQUE);

    В цьому випадку доцільно встановити обмеження NOT NULL на атрибут NameSubject оскільки автоматично воно не встановлюється.

    Синтаксис на рівні таблиці

    [СONSTRAINT <ім'я обмеження>] UNIQUE (<список стовпців> )

    Приклад 8

    Завдання.

    Встановити обмеження UNIQUE в таблиці Student.

    Рішення.

    При встановленні обмежень слід звернути увагу на наступне: у відношенні студент існує декілька безлічі атрибутів, які можуть однозначно ідентифікувати будь – який рядок в таблиці. По – перше, це ИНН, по – друге, Номер залікової книжки, по – третє, так звані паспортні дані, які включають Номер паспорта, Серію паспорта, Найменування організації, що видала паспорт і Дату видачі. Як первинний ключ був вибраний Номер залікової книжки, оскільки саме значення цього атрибуту не міняється в процесі життя бази даних, принаймні, його значення визначається внутрішніми вимогами Внз і може бути ними ж відрегульовано. Вірогідність зміни ИНН, як це не сумно, існує, а що стосується третьої множини, то першою причиною того, щоб відкинути його використання як первинний ключ являється те, що воно складене, по – друге, вірогідність того, що його значення мінятимуться в процесі життя бази даних, дуже велика. Для цього студентці треба просто вийти заміж і змінити прізвище, або комусь із студентів втратити паспорт. Таким чином, створюючи таблицю Student, доцільно окрім обмеження PRIMARY KEY, створити два обмеження UNIQUE.

    CREATE TABLE Student

    ( (NRecordBook VARCHAR (6)

    CONSTRAINT StudentPrimary PRIMARY KEY,

    INN VARCHAR(10)

    CONSTRAINT StudentINNUnique UNIQUE

    StName VARCHAR(35)

    IDGroup INT,

    SPasport VARCHAR(4)

    NPasport VARCHAR(6)

    DataPasport Datetime

    NameDeptPasport VARCHAR(35)

    CONSTRAINT StudentSPasportUnique UNIQUE (SPasport, NPasport, DataPasport, NameDeptPasport));

    Обмеження foreign key

    Обмеження FOREIGN KEY встановлює зовнішній ключ і організовує посилання по зовнішньому ключу на задане в пропозиції REFERENCES відношення. Після додавання зовнішнього ключа будь – який запис, що додається в засилану таблицю повинна мати запис в посилальній таблиці. Обмеження FOREIGN KEY в таблиці може бути декілька, в ідеалі стільки, скільки таблиця має зовнішніх (чужих) ключів. Слід нагадати, що зовнішній ключ може бути підмножиною первинного ключа, як це і продемонстровано в наступному прикладі (см. Приклад 9).

    Приклад 9

    Завдання.

    Призначити в таблиці Успішність (Progress) зовнішній ключ і організувати посилання по зовнішньому ключу на усі посилальні таблиці.

    Рішення.

    Посилальними по відношенню до відношення Progress є таблиці Student, Teacher, Subject, Report, отже, в таблиці буде чотири зовнішні ключі.

    CREATE TABLE Progress

    ( (NRecordBook VARCHAR(6)

    PIN INT

    IDSubject INT

    IDReport INT

    NTerm VARCHAR(2)

    Mark SMALLINT

    CONSTRAINT ProgressPrimary PRIMARY KEY

    ( (NrecordBook, IDSubject, IDReport, NTerm)

    CONSTRAINT ProgressStudentForeign FOREIGN KEY (NRecordBook) REFERENCES Student,

    CONSTRAINT ProgressSubjectForeign FOREIGN KEY (IDSubject) REFERENCES Subject

    CONSTRAINT ProgressReportForeign FOREIGN KEY (IDReport) REFERENCES Report

    CONSTRAINT ProgressTeacherForeign FOREIGN KEY (PIN) REFERENCES Teacher )

    Зовнішні ключі є за своєю суттю двонаправленими. За умовчанням SQL Server 2000 заборонить видалення рядка в посилальній таблиці, якщо їй відповідає хоч би один рядок в таблиці, що посилається. Тобто не можна видалити інформацію про студента, якщо в таблиці Progress є хоч би один запис, який відповідає цьому студентові.

    Нова опція ON DELETE CASCADE вказує на те, що при видаленні запису в посилальній таблиці, автоматично віддаляються записи в таблиці, що посилається.

    Приклад 10

    Завдання.

    Забезпечити каскадне видалення в таблиці Progress при видаленні відповідних записів в посилальних таблицях.

    Рішення.

    CREATE TABLE Progress

    ( (NRecordBook VARCHAR(6)

    PIN INT

    IDSubject INT

    IDReport INT

    NTerm VARCHAR(2)

    Mark SMALLINT

    CONSTRAINT ProgressPrimary PRIMARY KEY

    ( (NrecordBook, IDSubject, IDReport, NTerm)

    CONSTRAINT ProgressStudentForeign FOREIGN KEY (NRecordBook) REFERENCES Student ON DELETE CASCADE,

    CONSTRAINT ProgressSubjectForeign FOREIGN KEY (IDSubject) REFERENCES Subject ON DELETE CASCADE

    CONSTRAINT ProgressReportForeign FOREIGN KEY (IDReport) REFERENCES Report ON DELETE CASCADE

    CONSTRAINT ProgressTeacherForeign FOREIGN KEY (PIN) REFERENCES Teacher ON DELETE CASCADE );

    Звернемо увагу на той факт, що опція ON DELETE CASCADE вказується для кожного обмеження FOREIGN KEY, якщо ми хочемо, щоб каскадне видалення виконувалося при виконанні операції видалення даних в кожній посилальній таблиці.

    Обмеження check

    За допомогою обмеження CHECK задаються обмеження на значення атрибутів.

    Cинтаксис обмеження CHECK на рівні стовпця

    [СONSTRAINT <ім'я обмеження>] CHECK (<умова>)

    Приклад 11

    Завдання.

    Створити таблицю Progress, призначити обмеження PRIMARY KEY і заборонити введення в таблицю оцінок, відмінних від 2,3,4,5, тобто створити обмеження для значень стовпця Mark в таблиці Progress.

    Рішення.

    CREATE TABLE Progress

    ( (NRecordBook VARCHAR(6)

    CONSTRAINT ProgressStudentForeign FOREIGN KEY

    REFERENCES Student

    PIN INT

    IDSubject INT

    IDReport INT

    NTerm VARCHAR(2)

    Mark SMALLINT

    CONSTRAINT ProgressMarkCheck CHECK(Mark BETWEEN 2 AND 5 )

    CONSTRAINT ProgressPrimary PRIMARY KEY

    ( (NrecordBook, IDSubject, IDReport, Nterm)

    CONSTRAINT ProgressSubjectForeign FOREIGN KEY (IDSubject) REFERENCES Subject ON DELETE CASCADE

    CONSTRAINT ProgressReportForeign FOREIGN KEY

    ( (IDReport) REFERENCES Report ON DELETE CASCADE

    CONSTRAINT ProgressTeacherForeign FOREIGN KEY

    ( (PIN) REFERENCES Teacher ON DELETE CASCADE )

    Команда CHECK також не може посилатися на значення стовпців в інших рядках.

    Завдання 1

    Створити таблиці Report, Teacher, SGroup, встановивши усі необхідні обмеження.

    Завдання 2

    Видалити усі створені таблиці. Повторити створення учбового прикладузгідно з описами приведеним вище.

    Якщо таблиці створені і пов'язані правильно, то на діаграмі створеної в Enterprise Manager це виглядатиме так, як показано на наступному малюнку Рис. 1.

    Рис.1.

    1. Контрольні питання

    1. До якої групи команд SQL слід віднести команду CREATE?

    2. Дано два відношення R=(AB( і R=(AC(. В якій послідовності слід створювати таблиці, щоб задати обмеження цілісності, використовуючи тільки команду CREATE?

    3. Які обмеження можуть бути встановлені у відношенні?

    4. З якою метою використовується пропозиція ON DELETE CASCADE?

    5. Яка зона дії обмежень в таблиці?

    6. Які вимоги пред'являються до імен об'єктів бази даних?

    7. Коли доцільно встановлювати обмеження на рівні таблиці?

    8. Коли доцільно встановлювати обмеження на рівні стовпця?

    9. З якою метою встановлюються обмеження?

    10. У чому відмінність обмежень PRIMARY KEY і UNIQUE?

    11. Яких правил слід дотримуватися при призначенні імен обмежень?

    12. Для яких типів даних ширина стовпця не є обов'язковим параметром?

    13. Який тип даних може бути присвоєний тільки єдиному стовпцю в таблиці?

    14. При якому визначенні обмеження FOREIGN KEY рядок в посилальній таблиці не може бути видалений?

    15. На які стовпці заборонено посилання у вираженні обмеження CHECK?

    Для яких стовпців обов'язково має бути встановлене обмеження NOT NULL?

    1. Зміст звіту

    1. Тема і мета лабораторної роботи.

    2. Прилади та обладнання.

    3. Виконання домашнього завдання.

    4. Звіт за пунктами виконання лабораторної роботи.

    5. Зробити висновки по результатам, отриманим в процесі розв’язання задачі.

    6. Відповіді на контрольні запитання.

    1. Література

    1. Рудиков Л.В., Базы данных. Разработка приложений./ СПб.: БВХ-Петербург, 2006. – 483с.

    2. Базы даннях, учебник, А.Д. Хохоненко, В.М. Цыганков, СПб:. Корона принт, 2004. – 726с.

    3. Архипенков С. Аналитические системы на базе Oracle Express OLAP. Проектирование, создание, сопровождение / С. Архипенков. – М. : "Диалог-МИФИ", 1999. – 320 с.

    4. Бази даних у питаннях i відповідях : навч. посiбн. / В. В. Чубук, Р. М. Чен, Л. А. Павленко та ін. – Х. : Вид. ХНЕУ, 2004. – 288 с.

    Тестове завдання по microsoft access

    Виберіть правильні й найбільш повні відповіді.

    1. Програма Microsoft Access потрібна для:

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

      2. створення й керування базою даних;

      3. швидкого пошуку потрібної інформації;

      4. створення таблиць.

    2. База даних може складатися з:

      1. однієї таблиці;

      2. декількох незв'язаних таблиць;

      3. декількох зв'язаних таблиць;

      4. упорядкованих документів.

    3. Режим конструктора використається для:

      1. задання полів по яких буде здійснюватися зв'язок між таблицями;

      2. зручного введення інформації в таблицю;

      3. задання імен, типів і властивостей полів, що входять у таблицю;

      4. задання умов вибору даних з таблиці.

    4. Для того щоб для поля таблиці включити підстановку потрібно:

      1. у режимі конструктора перейти у властивостях поля на закладку «загальні» й у рядку "Джерело даних" указати поля таблиці з якої будуть вибиратися дані при підстановці;

      2. у режимі таблиці на потрібному полі викликати контекстне меню, вибрати «Підстановка» і вказати з якої таблиці будуть вибиратися дані;

      3. у режимі конструктора перейти у властивостях поля на закладку «Підстановка» у рядку «Джерело» даних указати поля таблиці з якої будуть вибиратися дані при підстановці;

      4. у режимі таблиці в поле з підстановкою через кому ввести дані, які будуть використатися при підстановці.

    5. У таблицях використається спеціальне ключове поле «Код» для:

      1. зручної нумерації записів;

      2. для об'єднання текстових і числових полів;

      3. для створення додаткових індексів записів;

      4. для зв'язків між таблицями.

    6. Для збереження запису при заповненні таблиці необхідно:

      1. натиснути кнопку «Зберегти»;

      2. виділити потрібний запис і натиснути кнопку «Зберегти»

      3. викликати для запису контекстне меню й вибрати команду «Додати».

      4. запис не потрібно зберігати, він запам'ятовується автоматично;

    7. Запит використається для:

      1. об'єднання даних з декількох таблиць;

      2. вибору даних, що відповідають заданим умовам, тільки з однієї таблиці;

      3. вибору даних з декількох зв'язаних таблиць, відповідно до заданих умов;

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

    8. Виберіть правильний вираз для обчислювального поля у запиті:

      1. Сума: [Товари]![Ціна]*[Реалізація]![Кількість];

      2. =[Товари]![Ціна]*[Реалізація]![Кількість];

      3. [Товари]![Ціна]*[Реалізація]![Кількість];

      4. [Товари]!Ціна*[Реалізація]!Кількість;

    9. Для того щоб відобразити всі товари, у назві яких є словосполучення «принтер Canon» необхідно в режимі конструктора запиту в графі «умова добору» для поля "Товар" задати умову:

      1. «принтер Canon»;

      2. *принтер Canon*;

      3. Like "* принтер Canon*" ;

      4. Like "* принтер*" and Like "* Canon*".

    10. Для того щоб відобразить всі покупки, зроблені у вересні потрібно в режимі конструктора запиту в графі "умови добору" для поля "Дата покупки" задати наступну умову:

      1. >#31.08.03# and <#1.10.03#;

      2. >#31.08.03# or <#1.10.03#;

      3. >=#31.08.03# or <=#1.10.03#;

      4. потрібно використати функцію month.

    11. Кнопка в Access використається:

      1. для автоматичного підсумовування числових даних у таблиці;

      2. для знаходження суми в числових полях при побудові запиту з угрупованням записів;

      3. для включення режиму "Групові операції" у вікні конструктора запиту;

      4. для включення режиму "Групові операції" у вікні конструктора запиту й знаходження підсумкових сум.

    12. Форми потрібні в базі даних:

      1. для зручної роботи з інформацією, що зберігається в таблицях;

      2. тільки для перегляду даних, у таблицях і запитах;

      3. захисту даних у таблицях від некваліфікованих дій користувача;

      4. для краси.

    13. Чи можна зробити так, щоб одна форма перебувала усередині іншої:

      1. не можна, форми це окремі діалогові вікна не зв'язані одна з одною;

      2. можна, якщо при створенні форми в режимі конструктора додати поля з різних таблиць;

      3. можна, для цього потрібно використати "Диспетчер кнопкових форм";

      4. можна, для цього в режимі конструктора потрібно використати інструмент "Підлегла форма або звіт".

    14. Звіти в Access використаються для:

      1. компактного розміщення даних з таблиць і запитів;

      2. печатки інформації з бази даних, що відповідає заданим умовам;

      3. виконання підсумкових розрахунків;

      4. для захисту даних у базі даних від некваліфікованих дій користувача.

    15. Чи можна при створенні звіту виконувати форматування даних:

      1. можна, для цього режимі перегляду звіту потрібно використати панель інструментів "Формат";

      2. можна, для цього потрібно в режимі конструктора звіту використати панель інструментів "Формат";

      3. не можна, оформлення звіту вибирається при створенні звіту в режимі майстра;

      4. не можна, зберігається оформлення застосоване в таблицях і запитах.

    ДЕРЖАВНИЙ ЗАКЛАД «КИЇВСЬКИЙ КОЛЕДЖ ЗВ´ЯЗКУ»

    ЗБІРНИК ЛАБОРАТОРНИХ РОБІТ

    З ПРЕДМЕТУ “ОРГАНІЗАЦІЯ БАЗ ДАНИХ”

    ДО РОЗДІЛУ “ОСНОВИ РОБОТИ З СУБД ACCESS”

    Київ 2012

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