Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РГР.doc
Скачиваний:
20
Добавлен:
16.02.2016
Размер:
3.25 Mб
Скачать

3 Приклад виконання завдання Постановка задачі.

База данихПерсональні комп’ютери. Відомості, які необхідно фіксувати: тип процесора; тактова частота; об'єм ОЗУ; об'єм жорсткого диска; дата складання; кількість usb-портів; розмір монітора; тип монітора; встановлена ОС; дата продажу; гарантія; магазин; адреса магазину; телефон магазину; прізвище та ініціали власника магазину.

Завдання

Спроектувати структуру бази даних.

Написати SQL-запити для створення бази даних.

Заповнити базу даних, використовуючи SQL-оператори.

Виконати запити :

Запит 1. Знайти в якому магазині скільки було продано комп’ютерів.

Запит 2. Вивести параметри комп’ютерів, які ще на гарантії, та назви магазинів, де їх могли купити, відсортовані в алфавітному порядку.

Запит 3. Знайти на якій вулиці найбільше комп’ютерних магазинів та їх кількість.

Запит 4. Написати трансакцію, в якій виконати наступні дії:

  • змінити номер телефону в магазині Спрайт;

  • змінити всі двоцифрові номери будинків, що закінчуються п’ятіркою на 1;

  • відмінити останню дію;

  • вивести назви магазинів прописними літерами, їх адреси та телефони.

Побудова концептуальної моделі бази даних

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

Магазин

Комп’ютер

назва

тип процесора

адреса

тактова частота

телефон

об’єм ОЗУ

прізвище та ініціали власника

об'єм жорсткого диска

дата складання

кількість usb-портів

розмір монітора

тип монітора

операційна система

дата продажу

термін гарантії

в якому магазині куплений

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

В одному магазині може продаватися довільна кількість комп’ютерів і однакові комп’ютери можуть продаватися в різних магазинах, тому тут має місце зв’язок «багато-до-багатьох»:

Напрями стрілок вказують, який із об’єктів повинен вказувати на зв’язаний з ним об’єкт. Для зв’язків такого типу потрібно створити додатковий проміжний об’єкт, який міститиме дані про обидва зв’язані об’єкти і зв’язок «багато-до-багатьох» таким чином замінимо парою зв’язків «один-до-багатьох»:

Цю схему й покладемо в основу нашої бази даних.

Зведемо отриману нами інформацію в таблиці.

Ім’я об’єкту: shop

ім'я атрибуту

тип даних атрибуту

примітка

id_shop

ціле число

код

name_shop

стрічка змінної довжини

назва

street

стрічка змінної довжини

вулиця

house

ціле число

будинок

phone

ціле число

телефон

vlasnuk

стрічка змінної довжини

прізвище та ініціали власника

Ім’я об’єкту: komp

ім'я атрибуту

тип даних атрибуту

примітка

id_komp

ціле число

код

proc

стрічка змінної довжини

тип процесора

t_ch

ціле число

тактова частота

OZU

ціле число

об’єм ОЗУ

vint

ціле число

об'єм жорсткого диска

sklad

дата

дата складання

kil_usb

ціле число

кількість usb-портів

mon_size

ціле число

розмір монітора

mon_type

стрічка змінної довжини

тип монітора

OS

стрічка змінної довжини

операційна система

prod_data

дата

дата продажу

garant

ціле число

термін гарантії

Ім’я об’єкту: zvjaz

ім'я атрибуту

тип даних атрибуту

примітка

id_komp

ціле число

посилання на первинний ключ об’єкта komp

id_shop

ціле число

посилання на первинний ключ об’єкта shop

Отже, концептуальна модель бази даних матиме вигляд: