tify"> - Між відносинами немає транзитивних залежностей.
1.2 Запити
Для реалізації і нормального функціонування бази даних, необхідно виконати цілий ряд SQL запитів. Частина запитів формується автоматично, проте деякі запити - вводяться вручну. p align="justify"> Запити з умовою вибору виглядають наступним чином:
Кількість во_мінут_с_учетом_льгот: IIf ([Налічіе_льгот] = Істина; ([Кількість
во_мінут] -100); [Кількість во_мінут])
У даному запиті перевіряється поле Наявність пільг , якщо умова задовольняється, то пільговим абоненту надається 100 безкоштовних хвилин, в іншому випадку - кількість хвилин залишається колишнім.
К_оплате: IIf ([Налічіе_льгот] = Істина; [Кількість
во_мінут_с_учетом_льгот] * [Цена_за_мінуту]; [Кількість во_мінут] *
[Цена_за_мінуту])
У даному запиті перевіряється поле Наявність пільг , якщо умова задовольняється, то розрахунок здійснюється за пільговим тарифом, т.е . з урахуванням вирахування 100 безкоштовних хвилин, в іншому випадку - оплачується повна вартість розмови.
SQL запит на створення нової таблиці, для розрахунку оплати за послуги:
Справочнік_абонентов. ПІБ, Справочнік_абонентов. Адреса,
Платежі.Ліцевой_счет, Платежі.Дата_разговора,
Справочник_абонентов.Наличие_льгот, Платежі. [Кількість во_мінут], ([Налічіе_льгот] = True, ([Кількість во_мінут] -100), [Кількість во_мінут]) AS
[Кількість во_мінут_с_учетом_льгот], Платежі.Цена_за_мінуту,
IIf ([Налічіе_льгот] = True, [Кількість во_мінут_с_учетом_льгот] *
[Цена_за_мінуту], [Кількість во_мінут] * [Цена_за_мінуту]) AS К_оплате Расчет_оплати_2
FROM Справочнік_абонентов INNER JOIN Платежі ON
Справочнік_абонентов. [Ліцевой_счет] = Платежі. [Ліцевой_счет];
Даний запит формує таблицю, під назвою Расчет_оплати_2 , в якій здійснюється підсумковий розрахунок оплати. p>
1.3 Схема даних
Структура реляційної бази даних в Access задається схемою даних, яка має ієрархічну структуру і називається канонічної реляційної моделлю предметної області.
При побудові схеми даних Access автоматично визначає по вибраному полю тип зв'язку між таблицями. Якщо поле, по якому потрібно встановити зв'язок, є унікальним ключем як в головній таблиці, так і в підпорядкованій, Access встановлює зв'язок типу один до одного. Якщо поле зв'язку є унікальним ключем в головній таблиці, а в підлеглій таблиці є не ключовим або входить у складений ключ. Access встановлює зв'язок типу один до багатьох від головної таблиці до підлеглої. p align="justify"> У представленій базі даних - схема даних виглядає наступним чином:
В
Рисунок 1 - Схема даних
.4 Звіт-квитанція
Звіт - це форматоване подання даних, яке виводиться на екран, до друку чи файл. Вони дозволяють витягти з бази потрібні відомості і представити їх у вигляді, зручному для сприйняття, а також надають широкі можливості для узагальнення та аналізу даних. p align="justify"> У цій базі даних - звіт являє собою квитанцію з оплати за послуги місцевого телефонного зв'язку. У звіті проводиться вивід таких даних як: ПІБ, Адреса, Особовий рахунок, Дата розмови, Наявність пільг і Підсумкова сума оплати. <В
Рисунок 2 - Подання звіту у формі конструктора
В
Рисунок 3 - Попередній перегляд звіту
база даний телефонний зв'язок
2. Розробка програми
.1 Блок-схема програми
В
.2 Опис інтерфейсу програми
Головна форма програми Form1 відкривається після запуску програми і містить у собі такі елементи: Форму для введення імені абонента, форму для введення кількості хвилин розмови, форму для введення ціни за хвилину розмови, форму для вибору типу абонента ( Простий абонент або Пільговий абонент), а також кнопку розрахунку обчислень з подальшим виведенням їх на екран, і кнопу виходу з програми.
Форма для введення імені абонента - дозволяє водити ПІБ абонента.
Форма для введення кількості хвилин розмови - дозволяє вводити нараховане кількі...