Professional Documents
Culture Documents
KP
KP
Курсова робота
з дисципліни “Організація баз даних”
м. Харків
2022/2023 н.р.
Рецензія керівника ________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
___________________________________________________
Керівник проекту _________________________________(_М.В. Величко_)
(підпис) (прізвище та ініціали)
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ПОЛІТЕХНІЧНИЙ КОЛЕДЖ
РОЗГЛЯНУТО ЗАТВЕРДЖЕНО
на засіданні циклової комісії Зав. відділення
Голова циклової комісії Олеся ТВЕРДОХЛІБОВА
Марина ВЕЛИЧКО « 5 » січня 2023 р.
« 4 » січня 2023 р.
Завдання
на курсову роботу студенту гр. 317-акіт
спеціальність/освітньо-професійна програма 151 Автоматизація та
комп’ютерно-інтегровані технології /5.151.1 Обслуговування інтелектуальних
інтегрованих систем
Тимків Юрію Сергійовичу
Тема: Створення бази даних шлюбної агенції
Термін виконання роботи з 18.01.2023 р. по 25.05.2023 р.
Вхідні дані для проектування: (Варіант №26)
Елементи Параметри
Таблиці: Працівники (Код співробітника, ПІБ, вік, стать, Адреса, Телефон, Паспортні дані, Код
посади) [10 записів].
Посади (Код посади, Найменування посади, Оклад, Обов'язки, Вимоги) [5 записів].
Знаки зодіаку (Код знака, Найменування, Опис) [5 записів].
Відносини (Код відносини, Найменування, Опис) [5 записів].
Національності (Код національності, Найменування, Зауваження) [5 записів].
Додаткові послуги (Код послуги, Найменування, Опис, Ціна) [5 записів].
Клієнти (Код клієнта, ПІБ, стать, дата народження, вік, зріст, вага, Кількість дітей,
Сімейний стан, Шкідливі звички, Хобі, Опис, Код знака, Код відносини, Код
національності, Адреса, Телефон, Паспортні дані, Інформація про партнера ) [10
записів].
Послуги (Код клієнта, Дата, Код послуги 1, Код послуги 2, Код послуги 3, вартість, код
співробітника) [10 записів].
Запити: Відділ кадрів (Зв'язує Таблиці "Співробітники" і "Посади" по полю "Код посади").
Список клієнтів (Зв'язує Таблиці "Клієнти", "Знаки зодіаку", "Відносини" і
"Національності" по полях "Код знака», «Код відносини" і "Код національності").
Список послуг (Зв'язує Таблиці "Послуги", "Клієнти", "Додаткові послуги" і
"Співробітники" по полях "Код клієнта", "Код послуги", "Код послуги 1", "Код послуги
2", "Код послуги 3" і "Код співробітника").
Фільтри: Фільтри для відображення співробітників окремих посад (На основі запиту "Відділ
кадрів").
Фільтри для відображення клієнтів окремих знаків зодіаку (На основі запиту "Список
клієнтів").
Фільтри для відображення клієнтів по відносинам (На основі запиту "Список клієнтів").
Фільтри для відображення клієнтів окремих національностей (На основі запиту "Список
клієнтів").
Фільтри для відображення клієнтів по хобі (На основі запиту "Список клієнтів").
Фільтри для відображення клієнтів за сімейним станом (На основі запиту "Список
клієнтів").
Література та посібники для проектування:
1. Date K. J. Introduction to database systems. – M.: Williams, 2008.
2. Walters R. E., Coles M., Ray R., Ferracati F., Farmer D. SQL Server 2008: a crash course
for professionals. – M.: Williams Publishing House, 2008.
3. Zhilinsky A. Tutorial Microsoft SQL Server 2008. - St. Petersburg: BHV-Petersburg,
2009.
Зміст розрахунково-пояснювальної записки
Планований Фактичний
№
Зміст термін термін %
п/п
виконання виконання
Вступ.
1 Створення файлу даних і журналу
транзакцій.
2 Створення та заповнення таблиць.
3 Створення запитів та фільтрів.
4 Процедури, що зберігаються.
5 Функції користувача.
6 Діаграми та тригери.
7 Створення проекту. Підключення
файлу даних до проекту.
8 Головна кнопкова форма. Створення
простих стрічкових форм для роботи
з даними.
9 Створення складних стрічкових
форм для роботи з даними.
10 Створення табличних форм.
11 Створення звітів бази даних.
Список використаних джерел.
5.1521.1.28.26-ПЗ
Змн. Арк. № докум. Підпис Дата
Розроб. Тимків Ю.С. Літ. Арк. Акрушів
Величко М.В.
Пояснювальна записка
Перевір. 88
ХДПК
Група 317 акіт
Вступ
Арк.
5.1521.1.28.26-ПЗ 4
Змн. Арк. № докум. Підпис Дата
1.Створення файлу даних та журналу транзакцій
Арк.
5.1521.1.28.26-ПЗ 5
Змн. Арк. № докум. Підпис Дата
Рис. 1.3. – Середовище розробки «SQL Server Management Studio»
Тепер перейдемо до створення файлу даних. Для цього в оглядачі об’єктів
натискаємо ПКМ на «Базы данных» (рис. 1.3) і у меню, що з’явилося, обираю
пункт «Создать базу данных». З’явиться вікно налаштувань параметрів файлу
даних нової БД (рис. 1.4). В цьому вікні вказую параметри своєї БД.
Арк.
5.1521.1.28.26-ПЗ 6
Змн. Арк. № докум. Підпис Дата
Рис. 1.5 –Параметри нашої БД
Розглянемо функцію налаштувань «Файловые группы» (рис. 1.6). Ця
функція відповідає за групи файлів. Всі налаштування не змінюємо.
Арк.
5.1521.1.28.26-ПЗ 7
Змн. Арк. № докум. Підпис Дата
Рис. 1.7 – Створена БД
Арк.
5.1521.1.28.26-ПЗ 8
Змн. Арк. № докум. Підпис Дата
Рис. 2.3 – Створення полів і налаштування
Зробив поле «KodSotrydnika» лічильником. Для цього виділивши поле,
натиснув по ньому мишкою в таблиці визначення полів. У таблиці
властивостей поля нам покажуть властивості поля «KodSotrydnika». Розгорнув
властивості «Спецификация идентификатора». На «Идентификатор» обрав
значення «Да». Зробив властивості «Начально значение идентификатора» і
«Шаг приращения идентификатора» рівними 1 (рис. 2.3).
Це налаштування показує, що значення поля «KodSotrydnika» у першому
записі в таблиці буде рівним 1, та далі по зростанню. Також обрав
«KodSotrydnika» ключовим полем. Виділивши поле, натискаємо на панель
інструментів із зображенням ключа . У таблиці визначення полів, бачимо що
поруч з полем «KodSotrydnika» з'являється зображення ключа, що свідчить
про те, що поле тепер ключове. На цьому налаштування таблиці завершуємо.
Закривши вікно нової таблиці, натискаю кнопку закриття у верхньому
правому куті вікна, над таблицею визначення полів. Нам запропонують
зберегти таблицю(рис. 2.4).
Арк.
5.1521.1.28.26-ПЗ 9
Змн. Арк. № докум. Підпис Дата
Рис. 2.4 – Збереження таблиці
Натискаємо «Да». З’являється вікно для вибору назви нової таблиці
(рис. 3.5).
Арк.
5.1521.1.28.26-ПЗ 10
Змн. Арк. № докум. Підпис Дата
Зробив поле «KodPosadu» числовим лічильником і ключовим, як це було
зроблено у таблиці з працівниками. Закрив вікно створення нової таблиці. У
вікні з вибором імені, задав ім’я «Posadu» (рис. 2.7).
Арк.
5.1521.1.28.26-ПЗ 11
Змн. Арк. № докум. Підпис Дата
Таблиця «KodNatsionalnosty» з’явиться в папці «Таблицы» в оглядачі
об’єктів (рис. 2.10).
Тепер перейшов до створення таблиці «Відносини». Як і з попередніми
таблицями натиснув ПКМ по папці «Таблицы» і в меню створив таблицю.
Заповнив поля які на рисунку нижче (рис. 2.10).
Арк.
5.1521.1.28.26-ПЗ 12
Змн. Арк. № докум. Підпис Дата
Рис. 2.12 - Налаштування таблиці «KodZnaka»
Зробив поле «KodZnaka» числовим лічильником і ключовим, як це було
зроблено у попередніх таблицях. Закрив вікно створення нової таблиці. У вікні
задав ім'я нової таблиці як «KodZnaka» (рис. 2.13).
Арк.
5.1521.1.28.26-ПЗ 13
Змн. Арк. № докум. Підпис Дата
Рис. 2.14 - Налаштування таблиці «Klienty»
Зробив поле «KodKlienta» числовим лічильником і ключовим. Закрив
вікно створення нової таблиці. Задав ім'я нової таблиці як «Klienty» (рис.
2.15).
Арк.
5.1521.1.28.26-ПЗ 14
Змн. Арк. № докум. Підпис Дата
Рис. 2.16 - Таблиця «Додаткові послуги» в оглядачі об’єктів.
Зробив поле «DodatkoviPoslygu» ключовим. Закрив вікно. У вікні задав
ім'я нової таблиці як «DodatkoviPoslygu» (рис. 2.17).
Арк.
5.1521.1.28.26-ПЗ 15
Змн. Арк. № докум. Підпис Дата
Арк.
5.1521.1.28.26-ПЗ 16
Змн. Арк. № докум. Підпис Дата
Таблиця з’явиться в папці
. Як і у випадку з попередніми таблицями натиснув ПКМ по папці
«Таблицы» і в меню обрав пункт «Создать таблицу». Поля подані на рисунку
нижче .
Зробив поле «Poslygu» ключовим. Закрив вікно. У вікні задав ім'я нової
таблиці як «Poslygu»
На цьому я закінчую створення таблиць БД «MarriageAgency». Після
створення таблиці будуть виглядіти так(рис. 2.19):
Арк.
5.1521.1.28.26-ПЗ 17
Змн. Арк. № докум. Підпис Дата
Рис. 2.20 – Заповнення таблиці «Працівники»
Заповнив та закрив вікно «Працівники». Після заповнення таблиці
«Працівники» заповнив таблицю «Посади». Відкрив її для заповнення, як
описано вище, і заповнив (рис. 2.20).
Арк.
5.1521.1.28.26-ПЗ 18
Змн. Арк. № докум. Підпис Дата
Рис. 2.23 - Заповнення таблиці «Знак Зодіака»
Перейшов до заповнення таблиці . Відкрив таблицю для заповнення і
заповнив її (рис. 2.24).
Арк.
5.1521.1.28.26-ПЗ 19
Змн. Арк. № докум. Підпис Дата
3. Створення запитів та фільтрів
Арк.
5.1521.1.28.26-ПЗ 20
Змн. Арк. № докум. Підпис Дата
Рис 3.3 - Конструктор запитів
Визначив поля, які відображаються при виконанні запиту. Відображені
поля позначаються галочкою (зліва від імені поля) на схемі даних, а також
відображаються в таблиці відображуваних полів. Щоб зробити поле
відображуваним при виконанні запиту, необхідно натиснути мишею по
порожньому квадрату (зліва від імені поля) на схемі даних, в квадраті з'явиться
галочка. Визначив відображувані поля запиту (рис. 3.3).
На цьому налаштування нового запиту можна вважати закінченим. Перед
збереженням запити перевірив його працездатність, виконавши його.
Виконав перевірку та закрив вікно, натиснувши мишею по кнопці
закриття (над схемою даних). Зберігаємо наш запит (рис. 3.4).
Арк.
5.1521.1.28.26-ПЗ 21
Змн. Арк. № докум. Підпис Дата
Рис. 3.6 – Запит «Відділ кадрів» в робочому виді
Перевірив працездатність створеного запиту поза конструктором запитів.
Для виконання вже записаного запиту необхідно клацнути ПКМ по запиту і в
меню вибрати пункт «Выбрать первые 1000 строк». Виконав цю операцію для
запиту «Відділ кадрів». Результат представлений на рис. 3.6.
У запиті «Список клієнтів» пов’язую таблиці «Клієнти», «Знаки Зодіаку»
«Відносини» і «Національності»по полям «Код Знака», «Код Відносини»,
«Код Національності». Створив ще один новий запит на ім’я «Список послуг»,
додав таблиці «Послуги», «Клієнти» , «Додаткові послуги» і «Співробітники»
по полям «Код Клієнта», «Код Послуги1», «Код Послуги2», «Код Послуги3».
Після додавання таблиць закрив вікно «Добавление таблицы», з'явилось вікно
конструктора запитів. У вікні конструктора запитів встановив зв'язки між
таблицями і визначив відображувані поля (рис. 3.7.).
Арк.
5.1521.1.28.26-ПЗ 22
Змн. Арк. № докум. Підпис Дата
конструктора запитів. У вікні конструктора запитів встановив зв'язки між
таблицями і визначив відображувані поля (рис. 3.9).
Арк.
5.1521.1.28.26-ПЗ 23
Змн. Арк. № докум. Підпис Дата
У вікні конструктору запитів, що з’явилося, визначив у якості
відображуваних полів всі поля запиту «Відділ кадрів» (рис. 3.12). Утворив
фільтр який відображає тільки співробітників, які знаходяться на посаді
«Адміністратор». У моєму випадку умова накладається на поле
«NaimenuvannyaPosadu». Відповідно, у рядку «NaimenuvannyaPosadu», у
стовпику «Фильтр» потрібно задати наступну умову відбору «=
'Адміністратор'» (рис. 3.12).
Після встанови фільтра одразу його перевірив (рис. 3.12).
Арк.
5.1521.1.28.26-ПЗ 24
Змн. Арк. № докум. Підпис Дата
Рис. 3.14 – Фільтр списку клієнтів за національністю.
На основі запиту «Список клієнтів» створив фільтри, що відображають
клієнтів за знаком Зодіаку.Створив новий запит і додав в нього запит «Список
клієнтів за знаком Зодіаку» (рис. 3.11). Після закриття вікна «Добавление
таблицы» зробив відображуваними усі поля запиту. У таблиці відображуваних
полів у рядку для поля «Naimenyvannya», у стовпці «Фильтр», задав фільтр за
параметром «= Водолій». Перевірив роботу фільтра, виконавши його. Закрив
вікно конструктору запитів. У вікні «Выбор имени» задав «Фільтр списку
клієнтів за знаком Зодіаку» (рис. 3.15) і натиснув кнопку «Oк».
Арк.
5.1521.1.28.26-ПЗ 25
Змн. Арк. № докум. Підпис Дата
Рис. 3.16 – Фільтр списку клієнтів за сімейним станом.
На основі запиту «Список клієнтів» створив фільтри, що відображають
клієнтів за хобі.Створив новий запит і додав в нього запит «Список клієнтів»
(рис. 3.11). Після закриття вікна «Добавление таблицы» зробив
відображуваними усі поля запиту. У таблиці відображуваних полів у рядку для
поля «Hobi», у стовпці «Фильтр», задав умову відбору
«= ‘Бізнес’». Перевірив роботу фільтра, виконавши його. Закрив вікно
конструктору запитів. У вікні «Выбор имени» задав «Фільтр списку клієнтів
за хобі» (рис. 3.17) і натиснув кнопку «Oк».
Арк.
5.1521.1.28.26-ПЗ 26
Змн. Арк. № докум. Підпис Дата
Рис. 3.20 - Вікно оглядача об'єктів
Арк.
5.1521.1.28.26-ПЗ 27
Змн. Арк. № докум. Підпис Дата
4. Процедури, що зберігаються
Арк.
5.1521.1.28.26-ПЗ 28
Змн. Арк. № докум. Підпис Дата
Набрав код процедури, для відбору замовлень з датою замовлення за заданий
місяць (рис. 4.3).
ALTER PROCEDURE [dbo].[Отображение клиэнтов по возрасту]
-- Add the parameters for the stored procedure here
@DataNarodjennya varchar(50)=''
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Арк.
5.1521.1.28.26-ПЗ 29
Змн. Арк. № докум. Підпис Дата
Рис. 4.4 - Відбір відображення клієнтів за віком
У нижній частині ми бачимо результат з кодом виконання нової
збереженої процедури. Тепер створив процедуру для відбору працівників за
ПІБ з таблиці «Працівники».Створивши нову процедуру, і набрав код нової
процедури (рис. 4.5).
Арк.
5.1521.1.28.26-ПЗ 30
Змн. Арк. № докум. Підпис Дата
команду «exec [Отображение клиэнтов по ФИО]’’» і натиснув кнопку
«Виконати».
Тепер створив процедуру для підрахунку середнього окладу всіх
працівників з запиту «Відділ кадрів». Для цього створив нову збережену
процедуру, як це описано вище, і набрав код нової процедури (рис. 4.7)
Арк.
5.1521.1.28.26-ПЗ 31
Змн. Арк. № докум. Підпис Дата
Закінчив створення процедур бази даних. Після записання усіх процедур
вікно оглядача має такий вид (рис. 4.9):
Рис. 4.9.- Вікно оглядача об’єктів після створення всіх запитів та фільтрів
Арк.
5.1521.1.28.26-ПЗ 32
Змн. Арк. № докум. Підпис Дата
5. Функції користувача
Арк.
5.1521.1.28.26-ПЗ 33
Змн. Арк. № докум. Підпис Дата
і натиснув кнопку «Виконати» на панелі інструментів (рис. 5.4)
)
RETURNS int
AS
BEGIN
-- Declare the return variable here
DECLARE @otvet float
END
Арк.
5.1521.1.28.26-ПЗ 34
Змн. Арк. № докум. Підпис Дата
Рис. 5.6 - Розрахунок середньої ціни замовлень
Тепер перейшов до створення табличних користувацьких функцій. Для
створення табличної користувальницької функції в оглядачі об’єктів, в базі
даних «MarriageAgency» у папці «Программирование», клацнув ПКМ по папці
«Функции» і в меню, що з’явилося, обрав пункт «Создать/Встроенная функция
возвращающая табличное значение…». З’явилося вікно нової табличної
користувальницької функції (рис. 5.7)
)
RETURNS TABLE
AS
RETURN
(
-- Add the SELECT statement with parameter references here
SELECT Data, Vartist, KodPoslygu1,KodPoslygu2,KodPoslygu3,
DATEDIFF (day, Tsena,Vartist) AS Tsena
FROM Poslygu,DodatkoviPoslygu
)
Арк.
5.1521.1.28.26-ПЗ 35
Змн. Арк. № докум. Підпис Дата
Перевірив працездатність створеної функції. Створив новий порожній
запит. У вікні з порожнім запитом, що з’явилося, набрав команду «SELECT *
FROM dbo.zamovlennya()»(так як ця функція не потребує вказання параметрів
то дужки залишив порожніми) і натиснув кнопку на панелі інструментів (рис.
5.9).
Арк.
5.1521.1.28.26-ПЗ 36
Змн. Арк. № докум. Підпис Дата
Рис. 5.10 - Вікно оглядача об’єктів після створення користувацьких функцій
Арк.
5.1521.1.28.26-ПЗ 37
Змн. Арк. № докум. Підпис Дата
6. Діаграми та тригери
Арк.
5.1521.1.28.26-ПЗ 38
Змн. Арк. № докум. Підпис Дата
Рис. 6.3.- Вікно «Таблицы и столбцы»
У вікні створення зв’язку натиснув кнопку «ОК». З’явилося вікно
налаштувань властивостей зв’язку «Связь по внешнему ключю» (рис. 6.4).
Арк.
5.1521.1.28.26-ПЗ 39
Змн. Арк. № докум. Підпис Дата
Рис. 6.5 – Діаграма БД «MarriageAgency»
Закрив вікно з діаграмою, клацнувши мишею по кнопці закриття , що
розташована у верхньому правому куті вікна з діаграмою. З’явилося вікно з
питанням про збереження нової діаграми, де я натиснув кнопку «Да» (рис. 6.6).
Арк.
5.1521.1.28.26-ПЗ 40
Змн. Арк. № докум. Підпис Дата
Перейшов до створення тригерів. Створив тригери для таблиці
«Працівники». Тригери створюються окремо для кожної таблиці і
розташовуються в оглядачі об’єктів у папці «Триггеры». У моєму випадку,
папка «Триггеры» входить до складу таблиці «Працівники» (рис. 6.9).
Арк.
5.1521.1.28.26-ПЗ 41
Змн. Арк. № докум. Підпис Дата
З рис. 6.11 видно, що створюваний тригер «indykator_dodavannya»
виконується після додавання запису (AFTER INSERT) у таблицю
«Працівники» (ON dbo.Працівники). Після додавання запису тригер виведе на
екран повідомлення «Запис_додано» (PRINT ‘Запис_додано’).
Виконав код представлений на рис. 6.11., натиснувши кнопку
«Виконати» на панелі інструментів. У нижній частині вікна з
кодом з’явилося повідомлення «Выполнение команд успешно завершено.»
Тепер створив тригер, що відображає повідомлення «Запис_змінено».
Створив новий тригер, як у попередньому випадку. У вікні нового тригера
набрав наступний код (рис. 6.12):
CREATE TRIGGER indykator_zminy
ALTER TRIGGER [dbo].[indykator_zminy]
ON [dbo].[Pracivnuku]
AFTER UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Арк.
5.1521.1.28.26-ПЗ 42
Змн. Арк. № докум. Підпис Дата
Створив тригер «vydalennya_pratsivnyka», який при видаленні запису з
таблиці «Pracivnuku» спочатку видаляє всі пов’язані з нею записи з таблиці
«Замовлення», а потім видаляє сам запис з таблиці «Працівники», тим самим
забезпечуючи цілісність даних.
Створив новий тригер і в ньому наберіть наступний код (рис. 6.14):
ALTER TRIGGER [dbo].[vydalennya_pratsivnyka]
ON [dbo].[Pracivnuku]
INSTEAD OF DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Арк.
5.1521.1.28.26-ПЗ 43
Змн. Арк. № докум. Підпис Дата
7.Створення проекту. Підключення файлу даних до проекту
Тепер розглянемо створення користувацького інтерфейсу БД у «Microsoft
Visual Studio 2012». Перед тим, як створювати новий проект у «Microsoft
Visual Studio 2012», необхідно запустити «Обозреватель SQL Server» сервіс,
що забезпечує доступ для сторонніх додатків до «Microsoft SQL Server 2012».
Для запуску даного сервісу необхідно запустити утиліту «Диспечер
конфигурации SQL Server», що входить у склад «Microsoft SQL Server 2012».
Для запуску цієї утиліти в меню «Пуск» обрав пункт «Microsoft SQL Server
2012/Диспечер конфигурации SQL Server»(рис. 7.1).
Арк.
5.1521.1.28.26-ПЗ 44
Змн. Арк. № докум. Підпис Дата
Server», потім на панелі інструментів натиснув кнопку «Режим запуска» (рис.
7.2). Після запуску вищевказаного сервісу закрив вікно менеджеру
налаштувань SQL. Тепер перейшов безпосередньо до створення
користувацького інтерфейсу БД «MarriageAgency» у «Microsoft Visual Studio
2013». Для початку необхідно створити новий проект. Для цього запустив
«Microsoft Visual Studio 2013», обравши у меню пошуку пункт «Visual Studio
2013» (рис. 7.3).
Арк.
5.1521.1.28.26-ПЗ 45
Змн. Арк. № докум. Підпис Дата
Рис. 7.5 – Створення нового проекту
У моєму випадку на дереві типів проекту «Project types» обрав «Visual
Basic/Windows», а в якості шаблону проекту обрав «Windows Forms
Application». У якості імені проекту задав «WindowsApplication1» і натиснув
кнопку "Ok" (рис. 7.5).З’явилося стандартне вікно розробки мови «Microsoft
Visual Basic 2013» (рис. 7.6).
Арк.
5.1521.1.28.26-ПЗ 46
Змн. Арк. № докум. Підпис Дата
Рис. 7.7 – Вибір джерела даних
Оскільки я підключаю проект до БД «ComputerServiceCenter», обрав
варіант БД (Database) і натиснув кнопку «Далее». З’явилося вікно вибору
підключення до БД (Choose Your Data Connection) (рис. 7.8).
Арк.
5.1521.1.28.26-ПЗ 47
Змн. Арк. № докум. Підпис Дата
Закрив вікно «Проверка подключения выполнена», після чого у вікні
додавання ного з’єднання «Add Connection» натиснув кнопку «Ok». Відбулося
повернення до вікна вибору підключення БД. У вікні вибору підключення до
БД натиснув кнопку «Далее». З’явилося вікно із запитом про збереження
рядку підключення «Save the Connection String to the Application Configuration
File». Для збереження підключення ввімкнула опцію «Yes, save the connection
as:» і натиснув кнопку «Далее». З’явилося вікно вибору об’єктів БД, що
підключається (рис. 7.9).
Арк.
5.1521.1.28.26-ПЗ 48
Змн. Арк. № докум. Підпис Дата
Рис. 7.10 – Джерело даних
На цьому я закінчую розгляд підключення БД до нового проекту. У
даному вікні у полі вводу «Имя» задав ім’я проекту «WindowsApplication1». У
полі «Расположение» задав папку, де буде збережено новий проект,
натиснувши кнопку «Выбрать». Після визначення імені проекту і його місця
розташування натиснула кнопку «Сохранить».
Арк.
5.1521.1.28.26-ПЗ 49
Змн. Арк. № докум. Підпис Дата
8.Головна кнопкова форма. Створення простих стрічкових
форм для роботи з даними
Арк.
5.1521.1.28.26-ПЗ 50
Змн. Арк. № докум. Підпис Дата
BackgroundImage: System.Drawing.Bitmap.FormBorderStyle: Fixed3D;
MaximizeBox: False; MinimizeBox: False; Text: База даних "Шлюбне агенство".
На формі виділив надпис 1, клацнувши по ній ЛКМ, і на панелі властивостей
задайте властивості наступним чином: BackColor:Black, AutoSize: False; Font:
Comic Sans MS, розмір 14; ForeColor: White; Text: ХДПК. На інші кнопки
поставив розмір 11; Fore Color:MediumVioletRed; Font: Comic Sans Serif. Для
кнопок задав надписи (властивість «Text») та у вікні коду форми у
"Button6_Click" набрав команду «Me.Close()», призначену для закриття
основної форми (Vstyp) (рис. 8.3).
Арк.
5.1521.1.28.26-ПЗ 51
Змн. Арк. № докум. Підпис Дата
BackColor:Black, AutoSize: False; Font: Comic Sans MS, розмір 14; ForeColor:
White; Text:. Обрав усі кнопки, та задав для них наступні властивості:
BackColor:Black, Font: Comic Sans MS; розмір 10, ForeColor: White;
Text(кнопка 1): Таблиця "Працівники", Text(кнопка 2): Таблиця "Посади",
Text(кнопка 3): Таблиця "Клієнти", Text(кнопка 4): Таблиця "Послуги",
Text(кнопка 5): Таблиця "Додаткові послуги", Text(кнопка 8): Таблиця "Знаки
Зодіаку", Text(кнопка 9): Таблиця "Відносини", Text(кнопка 6): Закрити,
Text(кнопка 10): Таблиця “Національність”, Text(кнопка 7): Таблиця “Список
послуг” Після налаштувань всіх вищеперерахованих властивостей форма буде
виглядати наступним чином (рис. 8.4):
Арк.
5.1521.1.28.26-ПЗ 52
Змн. Арк. № докум. Підпис Дата
Панель «Источники данных» прийме вигляд, представлений на рис. 8.6.
Для того, що перемістити на нову форму поля таблиці, їх необхідно
перетягнути з панелі «Источники данных» на форму. З таблиці «Працівники»
перетягнув мишею на форму поля «PIB», «Vik», «Phone», «Sex», «Adress» та
«Passport», «Posada». Форма набуде вигляду, що представлено на рис. 8.6
Арк.
5.1521.1.28.26-ПЗ 53
Змн. Арк. № докум. Підпис Дата
Рис. 8.8 – Таблиця «Працівники»
Перевірив роботу панелі навігації, що розташована у верхній частині
форми, понатискавши на ній різні кнопки. Повернувся у середовище розробки,
просто закривши всі форми. Тепер створив форму для перегляду таблиці
«Посади». Додав у проект нову форму. На форму додав надпис. Налаштував
властивості форми і надписи, як це було показано для форми таблиці
«Працівники». Потім з таблиці «Посади» на нову форму помістив поля
«NaimenyvannyaPosadu», «Oklad», «Obovyazki» та «Vimogu». Після виконання
усіх вищеописаних дій форма таблиці набуде наступного вигляду (рис. 8.9):
Арк.
5.1521.1.28.26-ПЗ 54
Змн. Арк. № докум. Підпис Дата
Перевірив роботу панелі навігації, що розташована у верхній частині
форми, понатискавши на ній різні кнопки. Повернувся у середовище розробки,
просто закривши всі форми. Тепер створив форму для перегляду таблиці
«Посади». Для початку відобразив поля таблиці «Посади» на панелі
«Источники данных», клацнувши ЛКМ по знаку «+», що розташований
ліворуч від назви таблиці. Відобразяться всі полі таблиці «Запчастини».
Створив нову форму і помістив в її верхній частині надпис. Задав заголовок
форми, як «Посади». У верхню частину форми помістив надпис.
У якості заголовку надпису задав той самий текст, що був заданий в якості
заголовку форми. Налаштував форми і надписи, аналогічно формам,
створеним раніше. На форму з панелі «Источники данных» перемістив всі
поля, крім поля «KodPosadu», оскільки це поле є первинним полем зв’язку.
Нова форма матиме вигляд (рис. 8.11):
Арк.
5.1521.1.28.26-ПЗ 55
Змн. Арк. № докум. Підпис Дата
вище. У результаті форма для відображення таблиці «Послуги» набуде
наступного вигляду (рис. 8.13):
Арк.
5.1521.1.28.26-ПЗ 56
Змн. Арк. № докум. Підпис Дата
Аналогічно попереднім формам перевірив роботу форми. Аналогічним
чином створив форму для відображення таблиці «Відносини». Додав на нову
форму надпис, додав всі полі (крім коду) з таблиці «KodVidnosyn» і
налаштував їх властивості, як описано вище. У результаті форма для
відображення таблиці «Відносини» набуде наступного вигляду (рис. 8.16):
Арк.
5.1521.1.28.26-ПЗ 57
Змн. Арк. № докум. Підпис Дата
Підключив щойно створену форму для таблиці «Національність» до кнопкової
форми. Для цього відобразив кнопкову форму і на ній двічі клацнв ЛКМ по
кнопці "Національність". У вікні з кодом, що з’явилося, у процедурі
"Button5_Click" набрав команду «Natsionalnyst.Show()» (рис. 8.18).
Арк.
5.1521.1.28.26-ПЗ 58
Змн. Арк. № докум. Підпис Дата
Рис. 8.21 - Створення таблиці «Замовлення»
Підключив щойно створену форму для таблиці «Замовлення» до
кнопкової форми. Для цього відобразив кнопкову форму і на ній двічі клацнв
ЛКМ по кнопці «Таблица "Замовлення"». У вікні з кодом, що з’явилося, у
процедурі "Button7_Click" набрав команду «SpisokPoslyg.Show()» (рис. 8.22).
Арк.
5.1521.1.28.26-ПЗ 59
Змн. Арк. № докум. Підпис Дата
9. Створення складних стрічкових форм для роботи с
даними
Арк.
5.1521.1.28.26-ПЗ 60
Змн. Арк. № докум. Підпис Дата
Двічі клацніть ЛКМ по кнопці «Додати» і у вікні коду форми
«Pracivnuku», що з’явилося, у процедурі "Button3_Click" наберіть команду для
додавання нового запису «PracivnukuBindingSource.AddNew()» (рис. 9.4).
Арк.
5.1521.1.28.26-ПЗ 61
Змн. Арк. № докум. Підпис Дата
«Passport». Для відображення полів «Phone», «Passport» використовував
текстові поля введення за маскою (MaskedTextBox).
Об'єкт текстове поле введення по масці відсутній в списку об'єктів для
відображення полів, що випадає, у вікні «Джерела даних», тому створив дані
об'єкти за допомогою панелі об'єктів (Toolbox), а потім підключив їх до
відповідних полів вручну. Для створення текстових полів введення по масці
на панелі об'єктів використовується кнопка «MaskedTextBox».
Створив текстові поля вводу за маскою праворуч від надписів «Phone»,
«Passport». Тепер у створених об'єктів налаштував маски введення. На формі
виділив відповідне полю «Паспорт» текстове поле вводу за маскою. Для
задання маски в меню дій з об'єктом виберав пункт «Set Mask ...» (рис. 9.9).
Арк.
5.1521.1.28.26-ПЗ 62
Змн. Арк. № докум. Підпис Дата
Для текстового поля вводу за маскою для поля «Телефон» задав маску, як
показано на рис. 9.11.
Арк.
5.1521.1.28.26-ПЗ 63
Змн. Арк. № докум. Підпис Дата
властивості «Items». З'явиться вікно «String Collection Editor» (Редактор
рядкових колекцій) (рис. 9.13).
Арк.
5.1521.1.28.26-ПЗ 64
Змн. Арк. № докум. Підпис Дата
Рис. 9.15 – Таблиця «Клієнти»
Перевірив роботу форми, що відображає таблицю «Клієнти». Запустив
проект і на кнопкової формі натисніть кнопку "Клієнти". На цьому я закінчую
роботу з формою, що відображає таблицю «Клієнти».
Аналогічним способом створив таблиці «Посади» (рис. 9.16), «Послуги»
(рис. 9.17), «Додаткові послуги» (рис. 9.18), «Знаки Зодіаку» (рис. 9.19),
«Відносини» (рис.9.20) і «Національність» (рис. 9.21).
Арк.
5.1521.1.28.26-ПЗ 65
Змн. Арк. № докум. Підпис Дата
Рис. 9.17 – Таблиця «Послуги»
Арк.
5.1521.1.28.26-ПЗ 66
Змн. Арк. № докум. Підпис Дата
Рис 9.19 – Таблиця «Знаки Зодіаку»
Арк.
5.1521.1.28.26-ПЗ 67
Змн. Арк. № докум. Підпис Дата
Рис 9.21 – Таблиця «Національність»
На цьому я закінчую створення стрічкових форм і переходжу до
створення табличних форм.
Арк.
5.1521.1.28.26-ПЗ 68
Змн. Арк. № докум. Підпис Дата
10. Створення табличних форм
Розглянемо створення табличної форми на прикладі форми, що
відображає таблицю «Працівники». Додав в проект нову форму і на ній
помістив наступні об'єкти: чотири написи (Label), п'ять кнопок (Button),
випадний список (ComboBox), текстове поле введення (TextBox), згруповну
рамку (GroupBox), список (ListBox), два перемикача (RadioButton).
Розташував об’єкти, як показано на рис. 10.1.
Арк.
5.1521.1.28.26-ПЗ 69
Змн. Арк. № докум. Підпис Дата
Тепер перейшов до налаштування властивостей об'єктів. Почав з
налаштування властивостей форми. Задав властивості форми наступним
чином: FormBorderStyle (Стиль границі форми): Fixed3D; MaximizeBox: False;
MinimizeBox: False; Text: "Працівники"(Табличний вигляд). Задав властивості
написів (Label1, Label2, Label3 і Label4), як: AutoSize (Авторозмір): False; Text
(Текст напису):"Працівники"(Табличный вид)", "Поле для сортування", "ПІБ:"
і "Критерій:" (Відповідно для Label1, Label2, Label3 і Label4). Для напису
Label1 задав: Font (Шрифт): Comic Sans MS, розмір 14; ForeColor (Колір
тексту): White; BackColor: Black. Задав написи на кнопках, як: «Сортування»,
«Фільтрувати», «Показати все», «Знайти» і «Закрити» (Відповідно для кнопок
Button1, Button2, Button3, Button4 і Button5). Для того, щоб не можна було
зробити сортування не вибравши поля, спочатку заблокував кнопку
«Сортування» (Button1). У згруповній рамці задав заголовок (Властивість
Text) рівним «Сортування». У перемикачів (Об'єкти RadioButton1 і
RadioButton2) задайте написи, як «Сортування за зростанням» і «Сортування
за спаданням», а у перемикача «Сортування за зростанням» (RadioButton1)
задайте властивість Checked (Включен) рівне True (Істина). Заповніть список
(ListBox1) значеннями, представленими на рис. 10.4, а потім натисніть кнопку
«Ok».
Арк.
5.1521.1.28.26-ПЗ 70
Змн. Арк. № докум. Підпис Дата
З'явиться вікно налаштування властивостей полів таблиці «Edit Columns»
(рис. 10.6).
Арк.
5.1521.1.28.26-ПЗ 71
Змн. Арк. № докум. Підпис Дата
Рис. 10.8 – Таблиця «Працівники»(Табличний вигляд)
На цьому я закінчую настройку властивостей об'єктів і переходжу до
написання коду обробників подій об'єктів. Роботу з кодом почав з написання
коду для розблокування кнопки «Сортувати» при виборі пункту списку
(ListBox1). Для створення процедури події двічі клацнув ЛКМ по списку.
З'явиться процедура обробки події, що відбувається при виборі пункту списку
(ListBox1_SelectedIndexChanged). У процедурі набрав команду розблокування
кнопки «Сортувати» (Button1): Button1.Enabled = True (рис. 10.9).
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
ListBox1.SelectedIndexChanged
Button1.Enabled = True
End Sub
Рис. 10.9 - Команда для розблокування кнопки «Сортувати»
Тепер перейшов до створення коду сортування таблиці в залежності від
обраного поля і порядку сортування при натисканні кнопки «Сортувати».
Двічі клацнув ЛКМ по кнопці «Сортувати». З’явиться процедура
"Button1_Click", виконувана при натисканні ЛКМ по кнопці. У процедурі
набрав код, представлений на рис. 10.10.
Арк.
5.1521.1.28.26-ПЗ 72
Змн. Арк. № докум. Підпис Дата
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Col As System.Windows.Forms.DataGridViewColumn
Select Case ListBox1.SelectedIndex
Case 0
Col = DataGridViewTextBoxColumn2
Case 1
Col = DataGridViewTextBoxColumn3
Case 2
Col = DataGridViewTextBoxColumn4
Case 3
Col = DataGridViewTextBoxColumn5
Case 4
Col = DataGridViewTextBoxColumn6
Case 5
Col = DataGridViewTextBoxColumn7
End Select
If RadioButton1.Checked Then
PracivnukuDataGridView.Sort(Col,
System.ComponentModel.ListSortDirection.Ascending)
Else
PracivnukuDataGridView.Sort(Col,
System.ComponentModel.ListSortDirection.Descending)
End If
End Sub
Рис. 10.10 - Код сортування таблиці в залежності від обраного поля і порядку
сортування при натисканні кнопки «Сортувати».
Код обробника події натискання кнопки «Фільтрувати» (Button2). Двічі
клацнув по кнопці «Фільтрувати» і в процедурі оброки події "Button2_Click"
наберіть код: ПрацівникиBindingSource.Filter = "pib='" & ComboBox1.Text &
"'" (рис. 10.11).
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
PracivnukuBindingSource.Filter = "ПІБ='" & ComboBox1.Text & "'"
End Sub
Рис. 10.11 - Код обробника події натискання кнопки «Фільтрувати»
Тепер перейшов до кнопки «Показати все», котра скасовує фільтрацію
записів. Двічі клацнув по названій вище кнопці. З'явиться процедура
Button3_Click. У процедурі, що з'явилася, набрав команду
ПрацівникиBindingSource.Filter = "" (рис. 10.12).
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
PracivnukuBindingSource.Filter = ""
End Sub
Рис. 10.12 – Скасування фільтрів
Далі розглянемо реалізацію пошуку інформації в таблиці. Двічі натиснув
на кнопку «Знайти». У процедурі обробки натиснення кнопки "Button4_Click",
що з'явилася, набрав наступний код (рис. 10.13).
Арк.
5.1521.1.28.26-ПЗ 73
Змн. Арк. № докум. Підпис Дата
For i = 0 To PracivnukuDataGridView.ColumnCount - 1
For j = 0 To PracivnukuDataGridView.RowCount - 1
PracivnukuDataGridView.Item(i, j).Style.BackColor = Color.White
PracivnukuDataGridView.Item(i, j).Style.ForeColor = Color.Black
Next j
Next i
For i = 0 To PracivnukuDataGridView.ColumnCount - 1
For j = 0 To PracivnukuDataGridView.RowCount - 1
If InStr(PracivnukuDataGridView.Item(i, j).Value, TextBox1.Text) Then
PracivnukuDataGridView.Item(i, j).Style.BackColor = Color.AliceBlue
PracivnukuDataGridView.Item(i, j).Style.ForeColor = Color.Blue
End If
Next j
Next i
End Sub
Рис. 10.13 – Код пошуку інформації в таблиці
Нарешті створив код для кнопки «Закрити». Двічі клацнув ЛКМ по цій кнопці
і в процедурі "Button5_Click", що з'явилася, набрав команду "Me.Close ()", що
закриває форму (рис. 10.14).
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Me.Close()
End Sub
Рис. 10.14 – Код на закриття форми
На закінчення створив кнопку на стрічковій формі, що відображає
таблицю «Працівники», для відображення відповідної табличній форми.
Відкрив стрічкову форму для таблиці «Працівники» і помістив на неї нову
кнопку. Задав напис у нової кнопки (властивість Text), як «Таблиця». Форма
набуде наступного вигляду (рис. 10.15):
Арк.
5.1521.1.28.26-ПЗ 74
Змн. Арк. № докум. Підпис Дата
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
PracivnukuTable.Show()
End Sub
Рис. 10.16 – Код для відображення форми «Таблиця «Працівники»
(табличний вигляд)»
Теперь перевірив працездатність створенної табличной формы. Запустив
проект и на кнопочной форме натиснув кнопку "Працівники". На з’явившийся
стрічковій формі, відображаючій таблицю «Працівники» натиснув кнопку
«Таблиця». З’явиться новая таблична форма (рис. 10.17).
Арк.
5.1521.1.28.26-ПЗ 75
Змн. Арк. № докум. Підпис Дата
Рис. 10.18 – Табличний вигляд таблиці «Посади»
Арк.
5.1521.1.28.26-ПЗ 76
Змн. Арк. № докум. Підпис Дата
Рис. 10.20 - Табличний вигляд таблиці «Послуги»
Арк.
5.1521.1.28.26-ПЗ 77
Змн. Арк. № докум. Підпис Дата
Рис. 10.23 - Табличний вигляд таблиці «Відносини»
Арк.
5.1521.1.28.26-ПЗ 78
Змн. Арк. № докум. Підпис Дата
11. Звіти бази даних
Почнемо розгляд звітів зі створення стрічкового звіту, що відображає
таблицю «Працівники». Для початку додав в проект новий порожній звіт. Для
цього в віконному меню обрав пункт «Project\Add New Item...»(рис. 11.1).
Арк.
5.1521.1.28.26-ПЗ 79
Змн. Арк. № докум. Підпис Дата
Рис. 11.3 - Об'єкт «Таблиця»
Додав в таблицю в область даних додаткові рядки для відображення полів
таблиці «Працівники». Виділив область даних, як це показано на рис. 11.4,
клацнувши ЛКМ по заголовку рядка області даних.
Таблиця має три стовпці. Один стовпець є зайвим, так як нам необхідно
всього два стовпці: один для відображення полів таблиці «Працівники», а
інший для підписів до них. Тому видалив перший стовпець таблиці. Клацнув
Арк.
5.1521.1.28.26-ПЗ 80
Змн. Арк. № докум. Підпис Дата
ПКМ по заголовку першого стовпчика таблиці і в меню обрав пункт
«Видалити рядки» (рис. 11.7).
Арк.
5.1521.1.28.26-ПЗ 81
Змн. Арк. № докум. Підпис Дата
набуде наступного вигляду (рис. 11.9).
Арк.
5.1521.1.28.26-ПЗ 82
Змн. Арк. № докум. Підпис Дата
Перевірив працездатність нового звіту, підключивши форму для його
відображення до кнопки на формі "Працівники". На формі, що відображає
таблицю «Працівники» створив кнопку. Задав напис на кнопці «Звіт» (рис.
11.12).
Арк.
5.1521.1.28.26-ПЗ 83
Змн. Арк. № докум. Підпис Дата
Перевірив роботу звіту. Для завершення роботи проекту просто закрив всі
відкриті форми.
Аналогічним способом створив звіти таблиць «Посади» (рис. 11.15),
«Клієнти» (рис. 11.16), «Послуги» (рис. 11.17), «Додаткові послуги» (рис.
11.18), «Знаки зодіаку» (рис. 11.19) «Відносини» (рис. 11.20) «Національність»
Арк.
5.1521.1.28.26-ПЗ 84
Змн. Арк. № докум. Підпис Дата
Рис. 11.17 – Звіт таблиці «Послуги»
Арк.
5.1521.1.28.26-ПЗ 85
Змн. Арк. № докум. Підпис Дата
Рис. 11.20 – Звіт таблиці «Відносини»
Арк.
5.1521.1.28.26-ПЗ 86
Змн. Арк. № докум. Підпис Дата
Висновок
SQL - декларативна мова програмування для взаємодії користувача з
базами даних, що застосовується для формування запитів, оновлення і
керування реляційними БД, створення схеми бази даних та її модифікації,
системи контролю за доступом до бази даних. Сама по собі SQL не є ані
системою керування базами даних, ані окремим програмним продуктом. На
відміну від дійсних мов програмування, SQL може формувати інтерактивні
запити або, бувши вбудованою в прикладні програми, виступати як інструкції
для керування даними. Окрім цього, стандарт SQL містить функції для
визначення зміни, перевірки та захисту даних. У SQL Server Management
Studio безліч областей застосування: на малому підприємстві, в роботі за
контрактом, у великих корпораціях і навіть у сфері домашнього застосування.
Visual Studio - серія продуктів фірми Майкрософт, які включають
інтегроване середовище розробки програмного забезпечення та низку інших
інструментальних засобів. Ці продукти дозволяють розробляти як консольні
програми, так і програми з графічним інтерфейсом, в тому числі з підтримкою
технології Windows Forms, а також веб-сайти, веб-застосунки, веб-служби як
в рідному, так і в керованому кодах для всіх.
Завданням моєї курсової роботи було розробити базу даних
«Комп’ютерного сервісного центру». У середовищі SQL Server Managment
Studio я створив таблиці «Працівники», «Посади», «Запчастини»,
«Ремонтовані моделі», «Види несправностей», «Обслуговуються магазини»,
«Замовлення». Потім створив запити «Відділ кадрів» та «Список замовлень».
Після чого до запитів створив фільтри. Потім створив і застосовував збережені
процедури та фунції користувача, згодом створив тригери та діаграму, яка
відображає усю базу данних. Згодом я підключив файли даних БД до
середовища Visual Studio 2013. У середовищі Visual Studio 2013 навчився і
створив прості та складні стрічкові форми, табличні вигляди до таблиць та
створив звіти.
Арк.
5.1521.1.28.26-ПЗ 87
Змн. Арк. № докум. Підпис Дата
Список літератури
Арк.
5.1521.1.28.26-ПЗ 88
Змн. Арк. № докум. Підпис Дата