
- •Створення таблиць бази даних
- •Теоретичні відомості
- •1.1. Проектування бази даних
- •1.2. Створення таблиць з використанням Конструктора
- •1.3.2. Керуючий запит на створення таблиці
- •1.3.3. Запит на створення таблиці з інших таблиць
- •1.3.4. Запит на додавання
- •1.3.5. Запит на видалення
- •1.3.6. Запит на оновлення
- •Лабораторна робота №2 Проектування qbe-запитів
- •Теоретичні відомості
- •2.1. Прості запити
- •2.2. Конструктор запитів
- •2.3. Обчислення в запиті
- •2.4. Параметричні запити
- •2.5. Перехресні запити
- •Контрольні запитання
- •Лабораторна робота №3 Створення запитів на вибірку з допомогою мови sql
- •Теоретичні відомості
- •3.1. Структура запиту. Умови пошуку.
- •3.2. Параметричні запити
- •3.3. Перехресні запити
- •3.4. Пошук у зв'язаних таблицях
- •3.5. Агрегація даних і форматування результатів пошуку
- •3.6. Підлеглі запити
- •3.7. Запити на об'єднання
- •Контрольні запитання
- •Лабораторна робота №4 Створення форм
- •Теоретичні відомості
- •4.1. Автоформи
- •4.2. Створення форми за допомогою «Майстра форм»
- •4.3. Створення складеної форми
- •4.4. Створення діаграми
- •4.5. Додавання елементів управління у форму
- •Контрольні запитання
- •Лабораторна робота №5 Розробка звітів
- •5.1. Робота з простими звітами
- •5.2. Створення звіту за допомогою Майстра
- •5.3. Розробка звіту в режимі Конструктора
- •Контрольні запитання
- •Лабораторна робота №6 Створення бази даних побутової техніки
- •Список літератури
Лабораторна робота №1
Створення таблиць бази даних
Порядок виконання роботи:
Використовуючи базу даних УНІВЕРСИТЕТ, створіть таблиці, описані в теоретичній частині розділу. Використовуйте «Конструктор таблиць» і засоби мови SQL.
За індивідуальним завданням розробіть проект бази даних.
Використовуючи «Конструктор таблиць» і мову SQL, реалізуйте таблиці бази даних і зв'язки між ними.
Теоретичні відомості
1.1. Проектування бази даних
Як приклад розробки бази даних в середовищі СУБД Access виберемо систему під умовною назвою УНІВЕРСИТЕТ, що дозволяє:
зберігати основні відомості про студентів учбових груп факультету (прізвище, ім'я, по батькові, шифр учбової групи, шифр залікової книжки, стать, дату народження, номер домашнього телефону), дисципліни, що вивчаються ними, і оцінки, які вони отримали на іспитах;
здійснювати введення нових даних в систему і редагування існуючих;
знаходити відомості про конкретних студентів, дисципліни, учбові групи і тому подібне;
складати різного роду довідки і звіти.
Перед тим, як приступити до роботи із створення бази даних в середовищі Access, необхідно виконати інфологічне і логічне проектування БД. Інфологічне проектування полягає в розробці інфологічної моделі предметної області, що зазвичай представляється у вигляді ER -діаграмми, доповненої таблицями опису об'єктів і опису атрибутів об'єктів. Ми тут не торкатимемося питань побудови інфологической моделі даної предметної області, які досить детально викладені в [9], покажемо лише кінцевий результат - ER -діаграму (рис. 1.1).
На етапі логічного проектування спочатку дається обгрунтування розбиття БД на таблиці. Розбиття здійснюється відповідно до семантичного аналізу предметної області, при цьому, як правило, кожному об'єкту (сутності) предметної області ставиться у відповідність таблиця [9], атрибутам об'єкту відповідають атрибути таблиці, а ідентифікатору об'єкту відповідає ключ таблиці. Якщо ER -діаграма складена за правилами, викладеними в [9], то схема отриманої таким чином БД знаходитиметься в четвертій нормальній формі. Потім здійснюється вибір атрибутів полів кожної таблиці: імені поля, типу даних поля, властивостей поля.
Рис. 1.1. ER - діаграма
При створенні таблиць в середовищі Access для кожного поля, що включається в запис, слід вказати тип даних. Тип даних визначає вид інформації, яка зберігатиметься в цьому полі. У таблиці 1.1 наведено типи даних полів, що можна застосовувати в Access 2002 [4-6].
Таблиця 1.1.
Типи даних для полів таблиць Access 2002
Тип даних |
Опис |
Текстовий |
Поля цього типу містять текст, об'єм якого не повинен перевищувати 255 символів (довжина поля задається у властивості Розмір поля) |
Числовий |
Поля цього типу містять числові дані, що використовуються для проведення розрахунків |
Дата/час |
Поля цього типу містять значення дати і часу |
Грошовий |
У полях цього типу можуть зберігатися числа, що містять 15 розрядів зліва від десяткової точки і 4 розряди праворуч від неї |
Лічильник |
Поле цього типу містить число, значення якого автоматично збільшується на одиницю, коли в таблицю додається новий запис |
Логічний |
У таких полях зберігаються значення ТАК або НІ (TRUE, FALSE) |
Поле MEMO |
У MEMO - полях зберігаються текстові або текстові і числові дані об'ємом не більше 64000 символів (поля цього типу не індексуються) |
Поле об'єкту OLE |
У поля цього типу поміщаються об'єкти, оброблені OLE - сервером (такі поля не індексуються, і їх об'єм не повинен перевищувати 128 Мбайт) |
Гіперпосилання |
У полях цього типу зберігаються гіперпосилання, які є шляхом до файлу на жорсткому диску або адресою в мережах Інтернет або интранет |
Майстер підстановок |
Створює поле, що дозволяє вибрати значення з іншої таблиці або із списку значень, використовуючи поле із списком |
Вибір полів кожної таблиці бази даних потрібно робити з таким розрахунком, щоб вони досить повно описували відповідний об'єкт предметної області. Атрибути полів необхідно вибирати відповідно до їх можливих реальних значень.
Для нашого прикладу (бази даних УНІВЕРСИТЕТ) опис полів таблиць може виглядати приблизно так, як вказано в таблиці. 1.2 - 1.4.
Таблиця 1.2
Опис полів таблиці СТУДЕНТ
Ім'я поля |
Тип даних |
Властивості поля |
Опис |
Залікова книжка |
Текстовий |
Довжина 7, індекс без повторень, первинний ключ |
Шифр залікової книжки |
Група |
Текстовий |
Список: "БЕМ1"; "БЕМ2"; "БЕМ3" |
Шифр учбової групи |
Прізвище |
Текстовий |
Довжина 20, індекс з повтореннями |
Прізвище студента |
Ім'я |
Текстовий |
Довжина 15 |
Ім'я студента |
По батькові |
Текстовий |
Довжина 20 |
По батькові студента |
Стать |
Текстовий |
Список: "Ч"; "Ж" |
|
Дата народження |
Дата/час |
Короткий формат дати, за умовчанням 01.01.84 |
|
Телефон |
Текстовий |
Довжина 8, необов'язкове |
|
Таблиця 1.3
Поля таблиці ДИСЦИПЛІНА
Ім'я поля |
Тип даних |
Властивості поля |
Опис |
Код дисципліни |
Числовий |
Ціле, індекс без повторень, первинний ключ |
|
Назва |
Текстовий |
Довжина 50, індекс з повтореннями |
|
Викладач |
Текстовий |
Довжина 50, індекс з повтореннями |
Прізвище і ініціали викладача |
Для забезпечення семантичної цілісності бази даних при заповненні її таблиць значення полів Група і Стать таблиці СТУДЕНТ вибиратиметься із списку, значення поля Оцінка таблиці УСПІШНІСТЬ перевірятиметься на приналежність діапазону значень [2…5], значення поля Дата народження таблиці СТУДЕНТ задаватиметься за умовчанням рівним 01.01.84, окрім цього, здійснюватиметься перевірка обов'язковості заповнення усіх полів таблиць, окрім поля Телефон таблиці СТУДЕНТ.
Таблиця 1.4
Опис полів таблиці УСПІШНІСТЬ
Ім'я поля |
Тип даних |
Властивості поля |
Опис |
Залікова книжка |
Текстовий |
Довжина 7, індекс з повтореннями, складений ключ |
Шифр залікової книжки |
Код дисципліни |
Числовий |
Ціле, індекс з повтореннями, складений ключ |
|
Оцінка |
Числовий |
Ціле в діапазоні [2…5] |
|
Після цього розробляється структура зв'язків таблиць бази даних. У нашому прикладі об'єкт СТУДЕНТ пов'язаний з об'єктом ДИСЦИПЛІНА зв'язком "багато-до-багатьох" (один студент вивчає декілька дисциплін, і одна дисципліна може вивчатися багатьма студентами), який формалізується за допомогою об'єкту УСПІШНІСТЬ. Потім дається обгрунтування складу і структури індексів. Створення індексів для таблиць Microsoft Access прискорює виконання операцій пошуку, сортування і угрупування, в яких використовуються індексовані поля. Для ключових полів таблиць індекси створюються автоматично. Для нашого випадку необхідно створити індекси для полів Прізвище таблиці СТУДЕНТ і Викладач таблиці ДИСЦИПЛІНА, оскільки ці поля часто використовуватимуться в запитах.