You are on page 1of 79

Варіант 1

Дані та їх роль в інформаційних системах


Інформація – це сукупність відомостей (даних), які сприймають із
навколишнього середовища (вхідна інформація), видають у навколишнє
середовище (вихідна інформація) або зберігають всередині певної системи.
Способи відтворення інформації:
• усний;
• письмовий;
• інший (за допомогою умовних сигналів, технічних та обчислювальних
засобів тощо).
Властивості інформації:
1) достовірність – інформація відображає істинний стан справ, не містить
перекручень;
2) повнота – інформації достатньо для розуміння і прийняття рішень;
3) доступність – інформація чітка й зрозуміла, виражена мовою, якою
спілкуються ті, для кого вона призначена;
4) цінність, якість інформації – це міра розширення тезауруса
(систематизованого словника понять із зазначенням смислових зв’язків між
ними, тобто сукупності відомостей, які має у своєму розпорядженні користувач
або система) сприймаючою стороною під час приймання та інтерпретації
повідомлення, міра зниження стану невизначеності економічного суб’єкта;
5) адекватність інформації – це певний рівень відповідності, що
створюється за допомогою отриманої інформації, образу реального об’єкта,
процесу, явища тощо;
6) актуальність.
Дані – це інформація, подана у формалізованому вигляді, прийнятому для
опрацювання автоматичними засобами за можливої участі людини (вхідні,
вихідні дані, база даних тощо).
!!! Не всю інформацію можна вважати даними. !!!
Основними операціями над даними є:
• збір даних;
• формалізація даних;
• фільтрація даних;
• сортування даних;
• архівація даних;
• захист даних;
• транспортування даних;
• перетворення даних.
Засоби пошуку даних. Використання агрегатних функцій.
Агрегатні функції є функціями, які використовують для отримання
узагальнених значень.
Всі агрегатні функції можна поділити на групи:
• звичайні агрегатні функції;
• статистичні агрегатні функції;
• агрегатні функції, визначені користувачем;
• аналітичні агрегатні функції.
Звичайні агрегатні функції
MIN – знаходить найменше значення у стовпці;
• МАХ – знаходить найбільше значення у стовпці;
• SUM – знаходить суму елементів стовпця;
• AVG – знаходить середнє значення елементів стовпця;
• COUNT – знаходить кількість рядків у таблиці або кількість значень у
стовпці;
• COUNT_BIG – теж саме, що і COUNT, але результат має тип даних
BIGINT.
Статистичні агрегатні функції
• VAR обчислює дисперсію для всіх значень стовпця;
• VARP обчислює дисперсію для всіх значень популяції, представлених у
стовпці або у виразі;
• STDEV обчислює середньоквадратичне відхилення всіх значень стовпця
або виразу;
• STDEVP обчислює середньоквадратичне відхилення популяції всіх
значень стовпця або виразу.

Варіант 2
Визначення та вимоги до органiзацiї баз даних (БД) та їхня класифiкацiя
Банк даних – це система спеціальним чином організованих даних (баз
даних), програмних, мовних, технічних, організаційно методичних засобів
призначених для підтримки інформаційної моделі предметної області з метою
забезпечення інформаційних потреб користувачів.
База даних (БД, data base) – це пойменована сукупність структурованих,
взаємопов’язаних даних, які динамічно обновляються та відносяться до певної
предметної області.
Під предметною областю розуміють частину реального світу (наприклад,
підприємство, навчальний заклад, організація або установа), яка підлягає
вивченню з метою організації її управління та автоматизації.
Властивості Баз Даних:
• цілісність – в будь-який момент часу відомості в БД повинні бути
несуперечливі;
• безпека – забезпечено захист даних від санкціонованого і
несанкціонованого доступу;
• відновленість – можливість відновлення БД після збоїв роботи системи.

Взаємодія користувачів
Класифікація баз даних
І. За степенем структурованості інформації розрізняють:
• документо-орієнтовані;
• фактографічні.
ІІ. За технологією обробки даних поділяють на:
• централізовані;
• розподілені.
ІІІ. За способом доступу до даних виділяють:
• локальні;
• мережеві.
Аутентифікація
 Аутентификация — процедура проверки подлинности, доказательство что
пользователь именно тот, за кого себя выдает.

Система безпеки DATABASE ENGINE включає дві підсистеми безпеки:


 безпека Windows (довірча безпека) – задає механізм безпеки на рівні
операційної системи (вхід у СУБД відбувається за допомогою облікового
запису користувача Windows).
 безпека SQL Server – задає механізм безпеки на рівні СУБД шляхом
вводу логіну і паролю.
Для вибору режимів аутентифікації необхідно:
 клікнути правою кнопкою миші по серверу і вибрати пункт Properties;
 у діалоговому вікні Server Properties вибрати закладку Security;
 вибрати режим аутентифікації: Windows Authentication Mode або Server
and Windows Authentication Mode.
Варіант 3
Системи управління базами даних (СУБД) та їхні функції
СУБД – комплекс програмних та мовних засобів загального і
спеціального призначення, які необхідні для створення БД, підтримування її в
актуальному стані, маніпулювання даними та організації доступу до них різних
користувачів в умовах прийнятої технології обробки даних.
СУБД виконує різні функції, які можна об’єднати в такі групи:
1. Управління даними, тобто підготовлення даних та їхній контроль,
занесення даних до БД, структурування даних, забезпечення цілісності,
секретності даних.
2. Доступ до даних, зокрема пошук і селекція даних, перетворення даних
у форму, зручну для подальшого використання.
3. Організація і ведення зв’язку з користувачем, тобто забезпечення
доступу користувачів до БД, видача повідомлень про помилки в роботі з БД
тощо.

Операції над схемою бази даних. Створення таблиці. Оператор CREATE


TABLE.

Тимчасові таблиці є об'єктом бази даних, які тимчасово зберігаються та


управляються системою бази даних. Тимчасові таблиці можуть бути
локальними і глобальними.
Локальні тимчасові таблиці мають фізичне уявлення - вони зберігаються
в системній базі даних tempdb. Вони задаються з префіксом # (наприклад, #
tаblе_name). Локальними тимчасовими таблицями володіє сесія, яка їх
створила; вони видимі тільки для цієї сесії. Відповідно, такі таблиці
автоматично видаляються, коли завершується сесія , що створила їх.
Глобальні тимчасові таблиці доступні будь-якому користувачеві і
кожному новому підключенню, що виконується після їхнього створення. Вони
видаляються, коли всі користувачі, які звертаються до цих таблиць,
відключаться від сервера бази даних. Глобальні таблиці задаються з префіксом
# # (наприклад, # # tаblе_name).

Варіант 4
Характеристика технологій функціонування СУБД: файл-серверна та
клієнт-серверна технології

Типова архітектура
Архітектура – це сукупність суттєвих рішень під час організації ІС,
зокрема про основні апаратні та програмні складники системи, їхнє
функціональне призначення та організацію зв’язків між ними.
На вибір архітектури інформаційної системи впливає на такі
характеристики:
• продуктивність (кількість операцій, які виконуються в ІС за одиницю
часу);
• час відгуку системи (час реакції системи на запити користувача);
• надійність (здатність до безвідмовного функціонування протягом
заданого періоду часу)
«Файл-сервер»
Недолік : •велике навантаження на мережу і клієнтські комп’ютери; •при
великій інтенсивності доступу до тих самим даних продуктивність
інформаційної системи знижується .
Перевага : •не потрібно використовувати потужний сервер (таку
архітектуру можна реалізувати в одноранговій системі).
«Клієнт-Сервер»

Недолік: •велике навантаження на сервер, який повинен обробляти запити


усіх клієнтів; •мале навантаження на клієнтську частину.
Перевага: • стандартність інтерфейсу (теоретично клієнтська частина
може працювати з будь -яким SQL - сервером).
Ролі користувачів
Роль бази даних задає групу користувачів бази даних, які мають доступ
до одних і тих самих об’єктів і виконують однокові дії. Поділяються на:
 фіксовані серверні ролі;
 фіксовані ролі бази даних;
 ролі прикладних програм;
 ролі, визначені користувачем.

Роль прикладних програм дозволяє посилити рівень безпеки для


конкретної прикладної програми. Доступ до об’єктів БД здійснюється через
систему аутентифікації програми, а не СУБД.
Створення ролі прикладної програми
CREATE APPLICATION ROLE application_role_name
WITH PASSWORD = 'password'
[ , DEFAULT_SCHEMA = schema_name ]

Зміна ролі прикладної програми


ALTER APPLICATION ROLE application_role_name
WITH NAME = new_application_role_name |
PASSWORD = 'password' |
DEFAULT_SCHEMA = schema_name
[ ,...n ]

Видалення ролі прикладної програми


DROP APPLICATION ROLE rolename

Створення ролі визначеної користувачем


CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Зміна ролі визначеної користувачем
ALTER ROLE role_name WITH NAME = new_name
Видалення ролі визначеної користувачем
DROP ROLE role_name

Варіант 5
Рiвнi подання даних у БД
Трьохрівнева модель ANSI/SPARC
Розроблена у 1975 році підкомітетом SPARC (Standarts Planning and
Requirements Committee) Американського національного інституту стандартів
ANSI (American National Standards Institute).
Виділяють три рівні: зовнішній ( Доступ користувачам
обеспечивает логическую независимость данных), концептуальний (сама база
даних описывает данные и их взаимосвязи( та внутрішній ( її носії
обеспечивает так называемую физическую независимость данных).
Опис структури даних на кожному з цих рівнів називають схемою.

Зовнішня Зовнішня
схема 1 схема (н)

Концептуальна
схема

Внутрішня
схема
Засоби пошуку даних. Основні конструкції мови, призначені для
вибирання даних.
Мова Transact-SQL має один основний оператор для пошуку інформації в
базі даних – оператор SELECT.
За допомогою цього оператора можна здійснювати запит інформації з
однієї або більше таблиць бази даних (або навіть з декількох баз даних).
Результатом виконання оператора SELECT є інша таблиця, яку називають
результуючий набор (набір даних).
SELECT [ ALL | DISTINCT ] select_list
[INTO new_table ]
FROM table_list [table_alias ]
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Особливості:
• символ * дозволяє вибрати усі стовпці таблиці;
• явний перелік назв стовпців таблиці;
• column_list as [column_heading] – дозволяє замінити назви стовпців
результуючого набору;
• вираз;
• системна або агрегатна функція.

Інструкція WHERE може містити такі оператори:


• = (дорівнює);
• <> або != (не дорівнює);
• < (менше);
• > (більше);
• >= або !< (більше або дорівнює (не менше));
• <= або !> (менше або дорівнює (не більше)).
Інструкція WHERE може містити також логічні оператори:
AND (перетин) – вибирають рядки, які задовольняють обидві умови;
OR (об’єднання) – вибирають рядки, для яких істинні або перша умова,
або друга, або обидва умови разом;
NOT (заперечення) – вибирають рядки, для яких не виконується задана
умова.
Пріоритет: NOT >AND >OR
Оператор IN дає можливість використовувати двох або більше виразів у
запиті на пошук.
Оператор IN може бути використаний разом з логічним оператором NOT,
тобто NOT IN.
Оператор BETWEEN виконує пошук серед всіх значень діапазону,
включаючи граничні значення.
Оператор NOT BETWEEN може бути використаний для пошуку значень
стовпця, які не перебувають у заданому діапазоні.
Синтаксис: column [ NOT ] LIKE ‘шаблон'
Шаблонні символи:
% ( знак відсотка ) задає будь-яку послідовність з нуля або більше
символів;
_ (підкреслення ) задає будь-який одиночний символ;
[ ] (квадратні дужки) містять в собі діапазон або список символів;
символ ^ задає заперечення діапазону або списку символів
Варіант 6
Ієрархічна модель даних
Ієрархічні моделі збудовані на основі принципу підпорядкованості між
інформаційними об'єктами та являють собою деревоподібну структуру, яка
складається з вузлів (сегментів) і дуг (гілок).
Кожний вузол — це сукупність логічно взаємозв'язаних атрибутів, що
описують якусь сутність ПО, неорієнтовані дуги вказують на інформаційні
зв'язки між ними.

Правила побудови ієрархічної моделі


1. На верхньому рівні ієрархії знаходиться лише один сегмент, який
називається кореневим.
2. Зв'язки в ієрархічних моделях будують за принципом «вихідний-
породжений».
3. В ієрархічній моделі підтримуються лише такі типи співвідношень між
даними: 1:1 і 1:M.
4. Кожний вихідний сегмент може мати кілька породжених, але
породжений сегмент може мати щонайбільше два вихідних, один з яких є
фізично, а інший логічно вихідним.
Логічний зв’язок – це зв’язок між двома фізичними базами даних.
Переваги і недоліки ієрархічної моделі
Переваги: • ефективне використання пам’яті; • швидкість виконання
основних операцій над даними.
Недоліки: • громіздкість обробки інформації з достатньо складними
логічними зв’язками; • складність для розуміння.

Засоби маніпулювання даними. Оновлення даних. Оператор UPDATE.

1. UPDATE Laptop
2. SET code = 5
3. WHERE code = 4;
Варіант 7
Сіткова модель даних
Сіткова модель БД — це орієнтований граф з пойменованими дугами і
вершинами.
Найбільш повно концепція сіткових БД вперше було викладено
Асоціацією з мов систем обробки даних — КОДАСИЛ (Conference On Date
Systems Languages — CODASYL).

Основними структурними елементами моделей цього типу є агрегат,


запис і набір даних.
Кожний запис вміщує деяку множину атрибутів. Розрізняють такі
поняття, як «тип запису» і «екземпляр запису». Тип запису — це абстрактні
характеристики, а «екземпляр запису» — їх конкретні значення.
Усередині запису можуть виділятись агрегати. Агрегат — це пойменована
сукупність логічно взаємозв'язаних атрибутів усередині типу запису: ними
можуть бути вектори, групи і повторюючі групи.
Запис — це агрегат, який не входить до складу інших агрегатів і є
основною одиницею обробки БД (записи запам'ятовуються, вилучаються,
поповнюються).
Набір даних — це пойменована сукупність зв'язаних записів.
Переваги і недоліки сіткової моделі даних
Переваги: • можливість ефективної реалізації за показниками затрат
пам’яті і оперативності.
Недоліки: • неможливість реалізації зв’язків виду N:M;
• висока складність і жорсткість схеми БД;
• складність для розуміння і виконання обробки інформації в БД.
Засоби пошуку даних. Підзапити.
Конструкція, де один або більше операторів SELECT є вкладеними в
інструкцію WHERE в іншому операторі SELECT, називають підзапитом.
Перший оператор SELECT у підзапиті називають зовнішнім запитом, а
оператори SELECT, які використовують у порівняннях, - внутрішніми
запитами.
Внутрішній запит виконується першим, а зовнішній запит отримує
значення від внутрішнього запиту.
Існують два типи підзапитів:
♦ замкнутий (некорельований) – внутрішній запит логічно виконується
тільки один раз;
♦ корельований – внутрішній запит логічно виконується щоразу, коли
система відшукує новий рядок із зовнішнього запиту.
Замкнутий підзапит може бути використаний в таких операторах:
♦ оператори порівняння;
♦ оператор IN;
♦ оператори ANY і ALL.

Варіант 8
Основні елементи реляційної моделі даних
Реляційна модель – модель даних, яка заснована на математичному
понятті відношення (relation) і представленні відношень у формі двовимірних
таблиць.
Відношення складається з множини елементів (рядків таблиці) однакової
структури, які називають кортежами. Стовпці таблиці називають атрибутами
відношення.
Для опису складних логічних структур даних з предметної області
використовують зв’язування таблиць за допомогою зовнішніх ключів.

Переваги: • простота, зрозумілість та зручність фізичної реалізації.


Недоліки: • відсутність стандартних засобів ідентифікації окремих
записів; • складність описання ієрархічних та сіткових зв’язків; • надмірність по
полях (для створення зв'язків між різними об'єктами бази даних).
Реляційна база даних – це скінчений набір відношень (таблиць).
Основні елементи реляційної моделі:
• відношення;
• кортеж;
• атрибут;
• ключ;
• домен;
• схема відношення
Відношення – це двовимірна таблиця, яка має унікальне ім’я.
Властивості реляційної таблиці:
• Кожен рядок (називають кортеж) описує певну сутність (певний
екземпляр) серед набору сутностей.
• Кожен стовпець таблиці описує атрибут, який має унікальне ім’я.
• На перетині рядка і стовпця може бути тільки одне (єдине) значення.
• В таблиці не може бути однокових рядків (кортежів).
• Всі значення в стовпці мають мати однаковий формат.
• Порядок розміщення стовпців та рядків немає значення.
Список назв атрибутів відношення та назв доменів (або типів даних, якщо
домени не підтримуються) називають схемою відношення.
Степінь відношення – це кількість його атрибутів.
Множину кортежів називають тілом відношення.
Кардинальним числом називають кількість кортежів відношення.
Кожен стовпець має певний діапазон значень, який називають доменом
атрибута (attribute domain).
Суперключем (superkey) називають атрибут (набір атрибутів), які
унікально ідентифікують деяку сутність в таблиці.
Потенційним ключем (candidate key) називають мінімальну підмножину
атрибутів відношення, які однозначно визначають деякий кортеж.
Первинним ключем (primary key) називають потенційний ключ, який
обрано для унікальної ідентифікації кортежів відношення.
Вторинним ключем (secondary key) називають ключ, кожному значенню
якого може відповідати більш ніж один екземпляр індексованих даних.
Використовують для пошуку даних.
Зовнішнім ключем (foreign key) називають сукупність атрибутів
відношення, значення яких є одночасно і значеннями первинного або
потенційного ключа іншого відношення.
Якщо ключ містить один атрибут, то його називають простим, якщо
декілька – складеним (composite key).
Штучний (сурогатний) ключ – ключ, який створений СУБД або
користувачем за допомогою деякої процедури і не містить жодної інформації.
Здебільшого штучним ключем є порядковий номер записів.
Під час зв’язування відношень необхідно визначити основне (головне) та
підлегле відношення. Це дозволяє підтримувати ієрархічні зв’язки між
відношеннями у реляційній моделі.
Основні види зв’язків:
•Зв’язок “один-до-одного” (1:1) → одному кортежу основного
відношення відповідає один кортеж підлеглого відношення. Обидва
відношення фактично є рівноправними.
•Зв’язок “один-до-багатьох” (1:М) → одному кортежу основного
відношення відповідає множина кортежів підлеглого відношення.
•Зв’язок “багато-до-багатьох” (М:М) → декільком кортежам основного
відношення відповідає множина кортежів підлеглого відношення. В такому
виді не підтримується реляційною СУБД, а реалізується за допомогою
стикувальної таблиці.
Засоби пошуку даних. Вибірка з кількох таблиць (JOIN)
Оператор JOIN "з'єднує" дві або більше таблиці з використанням тільки
одного оператора SELECT.
Форми оператора JOIN:
• CROSS JOIN – задає декартовий добуток двох таблиць; (1-1; 1-2; 2-1;2-
2)
Синтаксис
SELECT column_name(s)
FROM table1 CROSS JOIN table2
• [ INNER ] JOIN – визначає природне з'єднання двох таблиць;
(пересічення таблиць)
Синтаксис
SELECT column_name(s)
FROM table1 [ INNER ] JOIN table2
ON table1.column_name=table2.column_name
• LEFT [ OUTER ] JOIN – задає операцію лівого з'єднання (з двох таблиць
головна ліва);
Синтаксис
SELECT column_name(s)
FROM table1 LEFT [ OUTER ] JOIN table2
ON table1.column_name=table2.column_name
• RIGHT [ OUTER ] JOIN – задає операцію правого з'єднання;
Синтаксис
SELECT column_name(s)
FROM table1 RIGHT [ OUTER ] JOIN table2
ON table1.column_name=table2.column_name
• FULL [ OUTER ] JOIN – визначає об'єднання правого і лівого з'єднання.
Синтаксис
SELECT column_name(s)
FROM table1 FULL [ OUTER ] JOIN table2
ON table1.column_name=table2.column_name

Варіант 9
Цілісність реляційної бази даних
Цілісність баз даних – властивість даних, що визначає повноту і
правильність інформації, яка вміщується в БД.
За способами реалізації обмеження цілісності поділяються на:
• декларативні, які реалізовані засобами мови SQL;
• процедурні, які реалізовані за допомогою тригерів і збережених
процедур.
Підтримка цілісності даних включає такі складові:
• структурна цілісність;
• обмеження реальних значень даних;
• посилкова цілісність.
Структурна цілісність передбачає виконання таких умов:
• наявність тільки однорідних структур даних типу “реляційне
відношення”;
• відсутність дублікатів кортежів;
• обов’язкова наявність у відношенні первинного ключа;
• обов’ язкове визначення доменів;
• можливість застосування невизначених значень NULL (позначає
відсутність будь-якого значення атрибуту).
Обмеження реальних значень даних вимагають, щоби значення поля
належали деякому діапазону значень, або задовольняли певному
арифметичному співвідношенню між значеннями різних полів.
Обмеження значень можуть включати також визначення певних форматів
для полів, задоволення значень полів певним статистичним умовам, бізнес
правилам предметної області тощо.
Посилкова цілісність означає, що зміни в таблицях повинні виконуватися
синхронно, а зміст двох пов’язаних таблиць має відповідати таким правилам:
• кожному запису основної таблиці відповідає нуль (жодного) або більше
записів підлеглої таблиці;
• в підлеглій таблиці немає записів, які не мають батьківських записів в
основній таблиці;
• кожний запис підлеглої таблиці має тільки один батьківський запис
основної таблиці.
Засоби маніпулювання даними. Додавання рядків до таблиці. Оператор
INSERT.
Оператор INSERT вставляет новые записи в таблицу. При этом значения
столбцов могут представлять собой литеральные константы, либо являться
результатом выполнения подзапроса. В первом случае для вставки каждой
строки используется отдельный оператор INSERT; во втором случае будет
вставлено столько строк, сколько возвращается подзапросом.

1. INSERT INTO Product_D (назви стовбців)VALUES


2. ('B', 1158, 'PC'),
3. ('C', 2190, 'Laptop'),
4. ('D', 3219, 'Printer');

Варіант 10
Реляційна алгебра
Алгеброю називають множину об'єктів із заданою на ній сукупністю
операцій, які замкнені відносно цієї множини.
Основною множиною в реляційній алгебрі є множина відношень.
Реляційна алгебра містить такі основні операції:
• об’єднання,
• проекція,
• різниця,
• селекція,
• перетин,
• з’єднання,
• декартовий добуток,
• ділення.
Операції над схемою бази даних. Модифікація таблиці. Оператор ALTER
TABLE.
Запрос с командой ALTER TABLE на добавление нового столбца
ALTER TABLE ИМЯ_ТАБЛИЦЫ
ALTER COLUMN ИМЯ_СТОЛБЦА
SET DEFAULT 'ЗНАЧЕНИЕ_ПО_УМОЛЧАНИЮ'

При помощи запроса с командой ALTER TABLE можно и удалить столбец из


таблицы. Синтаксис команды будет следующим:
ALTER TABLE ИМЯ_ТАБЛИЦЫ
DROP COLUMN ИМЯ_СТОЛБЦА

Если при создании таблицы базы данных не был определён первичный


ключ (PRIMARY KEY), то это может быть сделано при помощи команды
ALTER TABLE.
ALTER TABLE ИМЯ_ТАБЛИЦЫ
ADD PRIMARY KEY (ИМЯ_ИДЕНТИФИКАТОРА_1,
ИМЯ_ИДЕНТИФИКАТОРА_2)

Запросом с командой ALTER TABLE можно также определить, что если


удалить запись в таблице (2), на которую ссылается запись в таблице (1), то
должны быть удалены все соответствующие записи в таблице (1) (каскадное
удаление). Синтаксис такого запроса следующий:

ALTER TABLE ИМЯ_ССЫЛАЮЩЕЙСЯ_ТАБЛИЦЫ


ADD CONSTRAINT ИМЯ_ИДЕНТИФИКАТОРА
FOREIGN KEY (ИМЯ_ИДЕНТИФИКАТОРА)
REFERENCES
ИМЯ_ТАБЛИЦЫ_НА_КОТОРУЮ_ССЫЛАЮТСЯ
ON DELETE CASCADE
Варіант 11
Етапи проектування бази даних

Етапи проектування бази даних


1. Концептуальне (інфологічне) проектування → полягає в одержанні
семантичних (концептуальних) моделей, що описують предметну область і
інформаційні потреби користувачів. Визначаються об'єкти, зв'язки між
об'єктами, атрибути, ключові атрибути.
2. Логічне проектування → полягає в організації даних, виділених на
етапі інфологічного проектування, у форму, прийняту в обраній СУБД. Треба
знати яка СУБД буде застосовуватися в системі (ієрархічна, мережна,
реляційна, об'єктно-орієнтована).
3. Фізичне проектування → полягає в описі засобів фізичної реалізації
логічного проекту БД. Визначають засоби розміщення даних в середовищі
зберігання і засоби доступу до цих даних.
Концептуальні моделі
Розрізняють два головних підходи до моделювання даних під час
концептуального проектування: • семантичні моделі → головну увагу
приділяють структурі даних. Найбільш поширеною семантичною моделлю є
модель "сутність – зв'язок" (Entity Relationship model, ER-модель);
• об'єктні моделі → головну увагу приділяють поведінці об'єктів даних і
засобам маніпуляції даними. Головне поняття таких моделей – об'єкт, тобто
сутність, яка має стан і поведінку. Стан об'єкта визначається сукупністю його
атрибутів, а поведінка об'єкта визначається сукупністю операцій
специфікованих для нього.
Етапи побудови моделі "сутність – зв'язок"
• Визначення типів сутностей
• Визначення типів зв'язків
• Визначення атрибутів сутностей і зв'язків
• Визначення потенційних і первинних ключів
• Розширене моделювання
• Перевірка моделі на відсутність збитковості
• Перевірка моделі на відповідність транзакціям користувачів

Засоби маніпулювання даними. Видалення рядків таблиці. Оператор


DELETE.

Оператор SQL DELETE предназначен для удаления данных из таблицы. Он


имеет следующий синтаксис:

DELETE FROM ИМЯ_ТАБЛИЦЫ


WHERE УСЛОВИЕ

Чтобы удалить все данные из таблицы ADS, достаточно написать следующий


запрос:

DELETE FROM ADS

Варіант 12
Характеристика та визначення складових iнфологiчної моделі
Основні елементи інфологічних моделей
Моделювання предметної області базується на використанні графічних
діаграм, що включають невелике число різнорідних компонентів.
Модель "сутність-зв'язок" не визначає операцій над даними й
обмежується описом тільки їхньої логічної структури.
Основними поняттями ER-моделі є:
• сутність,
• зв'язок;
• атрибут
Сутність
Сутність (entity) – об'єкт, що може бути ідентифікований деяким
способом, що відрізняє його від інших об'єктів. Це реальний чи уявний об'єкт
предметної області, інформація про який повинна зберігатися у базі даних і
бути доступною.
Набір (тип) сутностей (entity set) - множина сутностей одного типу (тобто
сутностей, що мають однакові властивості). Поняття тип сутності відноситься
до набору однорідних предметів, подій, осіб, що виступають як єдине ціле.
Екземпляр сутності відноситься до конкретного об'єкту в наборі.
Атрибут
Сутність фактично задається множиною атрибутів, що описують
властивості всіх членів набору сутностей і складають кортеж, що задає
екземпляр сутності.
Атрибут (attribute) – це пойменована характеристика сутності, що
визначає її властивості і приймає значення з деякої множини значень (домену).
Кожен атрибут забезпечується ім'ям, унікальним у межах сутності. При
табличному представленні найменування атрибутів утворюють назви стовпців
таблиці.
Набір можливих значень атрибуту називають доменом.
Множину з одного чи декількох атрибутів, значення яких однозначно
визначають кожен екземпляр сутності, називають ідентифікатором (ключем)
(key attribute).
Кожен екземпляр сутності повинен мати хоча б один ідентифікатор
(ключ).
Якщо ідентифікаторів кілька, один з них вибирають як привілейований,
чи первинний; інші вважають потенційними ключами.
Види атрибутів
Атрибути поділяють на;
• прості (simple) – атрибути, які є атомарними, тобто їх не можна
поділити на окремі частини.
• складені (composite) – атрибути, які можна розділити на кілька
додаткових простих атрибутів.
За кількістю значень, які можуть приймати атрибути, поділяють на:
• однозначні атрибути, які приймають лише одне значення, тобто не може
бути двох сутностей, що мають таке значення атрибута. Однозначні атрибути
можуть бути складеними;
• багатозначні атрибути, які можуть приймати кілька значень.
Атрибути можуть класифікуватися за приналежністю до одного з трьох
різних типів:
• описові атрибути представляють факти, внутрішньо притаманні
кожному екземпляру сутності;
• вказівні атрибути використовують для присвоєння імені чи позначення
екземплярів сутності;
• допоміжні атрибути використовують для зв'язку екземпляра однієї
сутності з екземпляром іншої.
Нарешті, можуть існувати похідні (derived) атрибути, тобто атрибути, які
не треба зберігати у БД, а можна отримати за допомогою певного алгоритму
Зв’язок
Зв'язок (relationship) - це асоціація, установлена між кількома сутностями,
яка описує відносини, що систематично виникають між різними видами
предметів у реальному світі.
Зв'язки вказують яким чином сутності співвідносяться або взаємодіють
між собою.
Розрізняють такі зв'язки:
• між двома сутностями (бінарний зв'язок);
• між трьома сутностями (тернарний зв'язок);
• між N сутностями (N-арний зв'язок);
• між однією сутністю (рекурсивний зв'язок).
Види зв’язків
Серед бінарних зв'язків існують три фундаментальних види зв'язку (типи
зв'язності, connectivity):
•зв'язок «один-до-одного» (1:1) існує, коли один екземпляр однієї
сутності зв'язаний з єдиним екземпляром іншої сутності;
•зв'язок «один-до-багатьох» (1:M) має місце, коли один екземпляр однієї
сутності зв'язаний з одним чи більше екземпляром іншої сутності, а кожен
екземпляр другої сутності зв'язаний тільки з одним екземпляром першої
сутності;
•зв'язок «багато-до-багатьох» (М:N) існує, коли один екземпляр однієї
сутності зв'язаний з одним чи більше екземпляром іншої сутності і кожен
екземпляр другої сутності зв'язаний з одним чи більше екземпляром першої
сутності.
Потужність зв'язку
Потужність зв'язку (кардинальність, сardinality) відображає максимальну
кількість екземплярів сутностей, які зв'язані з одним екземпляром зв'язаної
сутності.
Необов’язковість зв'язку (оptionality) відображає мінімальну кількість
екземплярів сутностей, які зв'язані з одним екземпляром зв'язаної сутності.
Виділяють 4 типи потужності зв’язку:
• Загальний випадок – потужність може дорівнювати 0, 1 або N (не
позначають жодним символом);
• Символом P позначають випадок, коли потужність може дорівнювати 1
або N;
• Символом Z позначають випадок, коли потужність може дорівнювати 0
або 1;
• Цифрою позначають випадок, коли потужність дорівнює наперед
заданому числу.
Якщо сутність може існувати незалежно від інших сутностей, то вона є
незалежною.
Якщо сутність залежить від існування інших сутностей, то вона є
залежною.
Якщо одна сутність незалежна від існування іншої сутності, то зв'язок
між ними називають необов’язковим (слабким, non-identifying) зв'язком.
Ідентифікаційний (сильний, identifying) зв'язок має місце у тому випадку,
коли одна зв'язана сутність (дочірна сутність, child) залежить від існування
іншої (батьківської сутності, parent).
Типи сутностей і ієрархія спадкування
Розрізняють кілька типів залежних сутностей.
Характеристична - залежна дочірня сутність, що зв'язана тільки з одною
батьківською і за змістом зберігає інформацію про характеристики батьківської
сутності (формалізує зв'язок виду 1:M чи 1:1).
Асоціативна - сутність, зв'язана з декількома батьківськими сутностями.
Така сутність містить інформацію про зв'язки сутностей.
Сутність, що позначає - окремий випадок асоціативної сутності, що не
має власних атрибутів (тільки атрибути батьківських сутностей, що мігрували
як зовнішній ключ; формалізує зв'язок виду 1:M чи 1:1 між двома сутностями).
Категоріальна - дочірня сутність в ієрархії спадкування.
Ієрархія спадкування (чи ієрархія категорій) являє собою особливий тип
об'єднання сутностей, що поділяють загальні характеристики.
Звичайно ієрархію спадкування створюють, коли кілька сутностей мають
спільні за змістом атрибути, або коли сутності мають спільні за змістом зв'язку,
або коли це диктується бізнес-правилами.
Для кожної категорії можна вказати дискримінатор - атрибут родового
предка, що показує, як відрізнити одну категоріальну сутність від іншої.

Шифрування даних

Система шифрування, яка використовує симетричні ключі, надає


спільний ключ відправнику і отримувачу повідомлення, тобто цей ключ
використовується одночасно для шифрування та дешифрування даних.
Переваги: швидкість шифрування та дешифрування; широка сфера
застосування. Недолік: ненадійність.
Дії із симетричним ключем:
Створення: CREATE SYMMETRIC KEY
Видалення: DROP SYMMETRIC KEY
Відкриття (для можливості використання): OPEN SYMMETRIC KEY
Шифрування: EncryptByKey
Дешифрування: DecryptByKey
Асиметричні ключі складаються з двох частин: особистого ключа і
відповідного загального ключа. Кожен ключ може дешифрувати дані,
зашифровані іншим ключем.
Переваги: високий рівень безпеки.
Дії із асиметричним ключем:
Створення: CREATE АSYMMETRIC KEY
Видалення: DROP АSYMMETRIC KEY
Зміна властивостей: ALTER ASYMMETRIC KEY
Шифрування: EncryptByAsymKey
Дешифрування: DecryptByAsymKey
Загальним ключем сертифіката (сертифікатом) називають двійковий
підпис, який пов’язує значення загального ключа з ідентифікацією особи,
пристрою або сервіса, який містить відповідний власний ключ.
Сертифікати містять таку інформацію:
 значення загального ключа суб’єкта;
 інформацію, яка ідентифікує суб’єкт;
 двійковий підпис видавця.
Створення сертифікату: CREATE CERTIFICATE
Представлення каталогу шифрування:
 SYS.SYMMETRIC_KEYS;
 SYS.ASYMMETRIC_KEYS;
 SYS.CERTIFICATES;
 SYS.DATABASE_PRINCIPALS.
Створення нового облікового запису в SQL Server:
CREATE LOGIN login_name
{ WITH option_list1 |
FROM {WINDOWS [ WITH option_list2 [, ...] ]
| CERTIFICATE certname | ASYMMETRIC KEY key_name }}
Приклад: CREATE LOGIN stud WITH PASSWORD=‘study’
Приклад: CREATE LOGIN [acer-7540\taras] FROM WINDOWS
Зміна властивостей облікового запису: ALTER LOGIN
Видалення облікового запису: DROP LOGIN

Варіант 13
Одержання реляційної схеми БД з ERдіаграми
1. Кожна проста сутність перетворюється у відношення. Ім'я сутності стає
іменем відношення.
2. Кожен багатозначний атрибут породжує або набір багатозначних
атрибутів, або нову сутність, складену з компонентів багатозначного атрибуту.
При цьому ця сутність може бути асоційованою, зв'язуючи дві нові сутності,
одна з яких часто є незалежною, друга – залежною. З вихідною сутністю нова
сутність зв'язується зв'язком 1:М.
3. Кожен однозначний атрибут стає стовпцем з тим самим іменем; може
вибиратися більш точний формат виходячи з можливостей СУБД. Стовпці, що
відповідають необов'язковим атрибутам, можуть містити значення NULL;
стовпці, що відповідають обов'язковим атрибутам, - не можуть.
4. Компоненти унікального ідентифікатора сутності перетворюються в
первинний ключ відношення. Якщо є кілька можливих унікальних
ідентифікаторів, вибирають найбільш вживаний.
5. Зв'язки M:1 (і 1:1) стають зовнішніми ключами. Необов'язкові зв'язки
відповідають стовпцям, що допускають невизначені значення; обов'язкові
зв'язки - стовпцям, що не допускають невизначених значень.
6. У таблицях, побудованих на основі асоціацій, зовнішні ключі
використовуються для ідентифікації учасників асоціації, а в таблицях,
побудованих на основі характеристик і позначень, - для ідентифікації
сутностей, описуваних цими характеристиками і позначеннями. Обмеження,
пов'язані з кожним з цих зовнішніх ключів, підлягають окремій специфікації.
7. Якщо в концептуальній схемі були присутні підтипи, то можливі два
способи їх обробки:
а) усі підтипи розташувати в одній таблиці;
б) для кожного підтипу побудувати окрему таблицю.

Операції над схемою бази даних. Створення бази даних. Оператор


CREATE DATABASE.
CREATE DATABASE [IF NOT EXISTS] db_name
Оператор CREATE DATABASE создает базу данных с указанным
именем. Правила для допустимых имен базы данных приведены в разделе
section 6.1.2 Имена баз данных, таблиц, столбцов, индексы псевдонимы. Если
база данных уже существует и не указан ключевой параметр IF NOT EXISTS,
то возникает ошибка выполнения команды.

Варіант 14
Нормальні форми подання бази даних
Нормалізація відношень — це ітераційний зворотний процес
декомпозиції початкового відношення на кілька простіших відношень меншої
розмірності.
Під зворотністю процесу розуміють те, що операція об'єднання
відношень, отриманих в результаті декомпозиції, має дати початкове
відношення, тобто при виконанні декомпозиції повинна виконуватись умова
об'єднання без втрат інформації.
Теорема Хеза (Heath) визначає умови зворотності декомпозиції
відношень:
Нехай R (А, В, С) – відношення, де А, В, C – підмножини множини його
атрибутів.
Якщо у R існує ФЗ А → В, то R дорівнює з'єднанню його проекцій {А, В}
та {А, С}.
Отримані в результаті нормалізації відношення БД мають відповідати
таким вимогам:
• між атрибутами не має бути небажаних функціональних залежностей;
• групування атрибутів має забезпечувати мінімальне дублювання даних;
• обробка і поновлення даних без ускладнень і аномалій;
• відношення не повинні втратити функціональні залежності початкового
відношення.

Нормальні форми відношень


Процес нормалізації відношень заснований на концепції нормальних
форм (НФ).
Виділяють такі нормальні форми:
• перша нормальна форма (1НФ, 1NF);
• друга нормальна форма (2НФ, 2NF);
• третя нормальна форма (3НФ, 3NF);
• нормальна форма Бойса-Кодда (БКНФ, BCNF);
• четверта нормальна форма (4НФ, 4NF);
• п’ята нормальна форма (5НФ, 5NF).
Перша нормальна форма (1НФ, 1NF)
Відношення перебуває в 1НФ тоді і тільки тоді, коли усі домени, що в
ньому використовуються, містять тільки скалярні (атомарні) значення.
Наприклад, якщо у відношенні є поле ПІБ, відношення не знаходиться в
1НФ, оскільки значення цього поля можна розділити на Прізвище, І'мя і По
батькові.
Відповідно поле Адреса потрібно розділити на такі поля:
• Країна;
• Область;
• Район;
• Місто (село);
• Вулиця;
• Дім;
• Квартира.
Друга нормальна форма (2НФ, 2NF)
Відношення знаходиться в 2НФ тоді і тільки тоді, коли воно знаходиться
у 1НФ і кожен неключовий атрибут функціонально повно залежить від
складеного ключа.
Приклад.
Успішність (НомерЗалКнижки, Прізвище, І'мя, По батькові, Дисципліна,
Оцінка).
Відношення Успішність задовольняє таким ФЗ: •{НомерЗалКнижки} →
{Прізвище, І'мя, По батькові} (А → В).
Поза цією ФЗ залишилася така множина атрибутів : •{Дисципліна,
Оцінка} (С).
Тоді за теоремою Хеза відношення Успішність дорівнює з'єднанню його
проекцій з такими множинами атрибутів :
•Студенти (НомерЗалКнижки, Прізвище, І'мя, По батькові) ({А, В}),
•Успішність1 (НомерЗалКнижки, Дисципліна, Оцінка) ({А, С}).
Третя нормальна форма (3НФ, 3NF)
Відношення знаходиться в 3НФ тоді і тільки тоді, коли воно знаходиться
у 2НФ і кожен неключовий атрибут нетранзитивно залежить від первинного
ключа.
Транзитивна залежність — це залежність між неключовими атрибутами.
R(A, C, D): якщо А → {C, D} та С → D, то D транзитивно залежить від A
(A транзитивно визначає D).
Щоб таблиця перебувала в 3НФ, необхідно, щоб неключові стовпці в ній
не залежали від інших неключових стовпців, а залежали лише від первинного
ключа.
Будь-який атрибут, що залежить від основного ключа та від будь-якого
іншого атрибута, має виноситись в окрему таблицю.
Приклад. Успішність (НомерЗалКнижки, Прізвище, І'мя, По батькові,
КодГрупи, СтаростаГрупи, Дисципліна, Оцінка).
Які є функціональні залежності між атрибутами?
Можна виявити такі функціональні залежності у цьому відношенні:
• {НомерЗалКнижки} → {Прізвище, І'мя, По батькові, КодГрупи},
• {КодГрупи} → {СтаростаГрупи},
• {НомерЗалКнижки, Дисципліна} → {Оцінка}.
Відношення Успішність можна розбити на три проекції:
• Студент (НомерЗалКнижки,Прізвище,І'мя,По батькові, КодГрупи),
• Групи (КодГрупи, СтаростаГрупи),
• Успішніть1 (НомерЗалКнижки, Дисципліна, Оцінка).
Нормальна форма Бойса-Кодда (БКНФ, BCNF)
Нормальна форма Бойса-Кодда вимагає, щоб в таблиці був тільки один
потенційний первинний ключ.
Тобто якщо виявився другий стовпець (комбінація стовпців), що дозволяє
однозначно ідентифікувати рядок, то для приведення до БКНФ такі дані треба
винести в окрему таблицю.
Якщо проводити нормалізацію послідовно, то в переважній більшості
випадків при досягненні 3НФ автоматично будуть задовольнятися вимоги
НФБК.
Третя нормальна форма не збігається з НФБК лише тоді, коли одночасно
виконуються такі 3 умови:
• Відношення має 2 або більше потенційних ключів.
• Ці потенційні ключі складені (містять більш ніж один атрибут)
• Ці потенційні ключі перекриваються, тобто мають щонайменше один
спільний атрибут
Приклад.
Успішність (НомерЗалКнижки, КодДисципліни, НазваДисципліни,
Оцінка).
Це відношення не в НФБК, оскільки у ньому є такі ФЗ:
• КодДисципліни → НазваДисципліни;
• НазваДисципліни → КодДисципліни.
Потенційні ключі цього відношення:
• {НомерЗалКнижки, КодДисципліни};
• {НомерЗалКнижки, НазваДисципліни}.
Можлива декомпозиція на два відношення:
Дисципліна (КодДисципліни, НазваДисципліни),
Успішність1 (НомерЗалКнижки, КодДисципліни, Оцінка).
Четверта нормальна форма(4НФ, 4NF)
Для приведення таблиці, що перебуває в нормальній формі Бойса-Кодда,
до 4НФ необхідно усунути наявні в ній багатозначні залежності.
Атрибут А багатозначно визначає атрибут В у відношенні R (А, В, С),
якщо В залежить лише від А при будь-яких його комбінаціях з іншими
атрибутами відношення R.
Позначають так: А → → В. Іншими словами, А багатозначно визначає В,
якщо для кожного значення А не існує єдиного значення В, що відповідає їй,
тобто не існує ФЗ А → В, але кожне значення А визначає множину значень В,
що їй відповідають.
Теорема Фейджіна (Фейгіна)
Декомпозицію без втрат відношення R (А, В, С) на відношення R1 (А, В)
та R2 (А, С) можна провести тоді, коли у відношенні R існують дві багатозначні
залежності атрибутів В і С від атрибуту А:
А → → В;
А → → С.
Приклад:
Відношення R (НомерЗалКнижки, Група, Предмет) можна поділити на
такі відношення: R1 (НомерЗалКнижки, Група); R2 (Група, Предмет).

П‘ята нормальна форма(5НФ, 5NF)


Відношення знаходиться в 5НФ тоді і тільки тоді, коли будь-яка
залежність з'єднання (project-join dependence) у відношенні виходить з
існування деякого можливого ключа.
Відношення R (X, Y, …, Z) задовольняє залежності з'єднання (X, Y, …, Z)
тоді і тільки тоді, коли R відновлюється без втрат інформації шляхом з'єднання
своїх проекцій на X, Y, …, Z.
Залежність з'єднання є узагальненням функціональної і багатозначної
залежностей.
Для зведення вихідного відношення до 5НФ виконують його
декомпозицію на відношення, кількість яких перевищує два.
Приклад залежності з’єднання
Заняття (Студент, Викладач, Дисципліна).
У відношенні можливі аномалії, які пов'язані з повтором значень
атрибутів в декількох кортежах.
Наприклад, якщо студент навчається у багатьох викладачів, то при його
відрахуванні з університету необхідно знайти і вилучити декілька записів з
цього відношення.
Утворимо такі складені атрибути відношення:
R1 (Студент, Викладач);
R2 (Студент, Дисципліна);
R3 (Викладач, Дисципліна).
Якщо відношення R спроектувати на відношення R1, R2, R3, то з'єднання
цих проекцій дасть вихідне відношення. Це означає, що у відношенні Заняття
існувала залежність з'єднання.

Засоби пошуку даних. Фраза GROUP BY, HAVING, ORDER BY.


Інструкція GROUP BY задає один або більше стовпців в якості групи, в
якій всі рядки даної групи мають одне і те ж значення цих стовпців.
Кожен стовпець, що з'являється в списку SELECT, повинен також
з'явитися і в інструкції GROUP BY (крім констант і агрегатних функцій).
Послідовність назв стовпців в інструкції GROUP BY не обов'язково
повинна відповідати послідовності назв у списку SELECT.
Варіант 15
Поняття повної та неповної функцiональної залежності. Поняття
транзитивної залежності.

Визначення 1. Функціональна залежність .

У відношенні R атрибут Y функціонально залежить від атрибута X (X і Y


можуть бути складовими) у тому і тільки в тому випадку, якщо кожному
значенню X відповідає в точності одне значення Y: X Y.

Визначення 2. Повна функціональна залежність.

Функціональна залежність X Y називається повною, якщо атрибут Y не


залежить функціонально від будь-якої підмножини X.

Визначення 3. Транзитивна функціональна залежність .

Функціональна залежність називається транзитивною, якщо з функціональних


залежностей X Y та Y Z випливає, що X Z.

Засоби пошуку даних. Використання агрегатних функцій.


Агрегатні функції є функціями, які використовують для отримання
узагальнених значень.
Всі агрегатні функції можна поділити на групи:
• звичайні агрегатні функції;
• статистичні агрегатні функції;
• агрегатні функції, визначені користувачем;
• аналітичні агрегатні функції.
Звичайні агрегатні функції
MIN – знаходить найменше значення у стовпці;
• МАХ – знаходить найбільше значення у стовпці;
• SUM – знаходить суму елементів стовпця;
• AVG – знаходить середнє значення елементів стовпця;
• COUNT – знаходить кількість рядків у таблиці або кількість значень у
стовпці;
• COUNT_BIG – теж саме, що і COUNT, але результат має тип даних
BIGINT.
Статистичні агрегатні функції
• VAR обчислює дисперсію для всіх значень стовпця;
• VARP обчислює дисперсію для всіх значень популяції, представлених у
стовпці або у виразі;
• STDEV обчислює середньоквадратичне відхилення всіх значень стовпця
або виразу;
• STDEVP обчислює середньоквадратичне відхилення популяції всіх
значень стовпця або виразу.

Варіант 16
Дані та їх роль в інформаційних системах
Інформація – це сукупність відомостей (даних), які сприймають із
навколишнього середовища (вхідна інформація), видають у навколишнє
середовище (вихідна інформація) або зберігають всередині певної системи.
Способи відтворення інформації:
• усний;
• письмовий;
• інший (за допомогою умовних сигналів, технічних та обчислювальних
засобів тощо).
Властивості інформації:
1) достовірність – інформація відображає істинний стан справ, не містить
перекручень;
2) повнота – інформації достатньо для розуміння і прийняття рішень;
3) доступність – інформація чітка й зрозуміла, виражена мовою, якою
спілкуються ті, для кого вона призначена;
4) цінність, якість інформації – це міра розширення тезауруса
(систематизованого словника понять із зазначенням смислових зв’язків між
ними, тобто сукупності відомостей, які має у своєму розпорядженні користувач
або система) сприймаючою стороною під час приймання та інтерпретації
повідомлення, міра зниження стану невизначеності економічного суб’єкта;
5) адекватність інформації – це певний рівень відповідності, що
створюється за допомогою отриманої інформації, образу реального об’єкта,
процесу, явища тощо;
6) актуальність.
Дані – це інформація, подана у формалізованому вигляді, прийнятому для
опрацювання автоматичними засобами за можливої участі людини (вхідні,
вихідні дані, база даних тощо).
!!! Не всю інформацію можна вважати даними. !!!
Основними операціями над даними є:
• збір даних;
• формалізація даних;
• фільтрація даних;
• сортування даних;
• архівація даних;
• захист даних;
• транспортування даних;
• перетворення даних.
Засоби пошуку даних. Основні конструкції мови, призначені для
вибирання даних.
Мова Transact-SQL має один основний оператор для пошуку інформації в
базі даних – оператор SELECT.
За допомогою цього оператора можна здійснювати запит інформації з
однієї або більше таблиць бази даних (або навіть з декількох баз даних).
Результатом виконання оператора SELECT є інша таблиця, яку називають
результуючий набор (набір даних).
SELECT [ ALL | DISTINCT ] select_list
[INTO new_table ]
FROM table_list [table_alias ]
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Особливості:
• символ * дозволяє вибрати усі стовпці таблиці;
• явний перелік назв стовпців таблиці;
• column_list as [column_heading] – дозволяє замінити назви стовпців
результуючого набору;
• вираз;
• системна або агрегатна функція.

Інструкція WHERE може містити такі оператори:


• = (дорівнює);
• <> або != (не дорівнює);
• < (менше);
• > (більше);
• >= або !< (більше або дорівнює (не менше));
• <= або !> (менше або дорівнює (не більше)).
Інструкція WHERE може містити також логічні оператори:
AND (перетин) – вибирають рядки, які задовольняють обидві умови;
OR (об’єднання) – вибирають рядки, для яких істинні або перша умова,
або друга, або обидва умови разом;
NOT (заперечення) – вибирають рядки, для яких не виконується задана
умова.
Пріоритет: NOT >AND >OR
Оператор IN дає можливість використовувати двох або більше виразів у
запиті на пошук.
Оператор IN може бути використаний разом з логічним оператором NOT,
тобто NOT IN.
Оператор BETWEEN виконує пошук серед всіх значень діапазону,
включаючи граничні значення.
Оператор NOT BETWEEN може бути використаний для пошуку значень
стовпця, які не перебувають у заданому діапазоні.
Синтаксис: column [ NOT ] LIKE ‘шаблон'
Шаблонні символи:
% ( знак відсотка ) задає будь-яку послідовність з нуля або більше
символів;
_ (підкреслення ) задає будь-який одиночний символ;
[ ] (квадратні дужки) містять в собі діапазон або список символів;
символ ^ задає заперечення діапазону або списку символів

Варіант 17
Визначення та вимоги до органiзацiї баз даних (БД) та їхня класифiкацiя
Банк даних – це система спеціальним чином організованих даних (баз
даних), програмних, мовних, технічних, організаційно методичних засобів
призначених для підтримки інформаційної моделі предметної області з метою
забезпечення інформаційних потреб користувачів.
База даних (БД, data base) – це пойменована сукупність структурованих,
взаємопов’язаних даних, які динамічно обновляються та відносяться до певної
предметної області.
Під предметною областю розуміють частину реального світу (наприклад,
підприємство, навчальний заклад, організація або установа), яка підлягає
вивченню з метою організації її управління та автоматизації.
Властивості Баз Даних:
• цілісність – в будь-який момент часу відомості в БД повинні бути
несуперечливі;
• безпека – забезпечено захист даних від санкціонованого і
несанкціонованого доступу;
• відновленість – можливість відновлення БД після збоїв роботи системи.

Взаємодія користувачів
Класифікація баз даних
І. За степенем структурованості інформації розрізняють:
• документо-орієнтовані;
• фактографічні.
ІІ. За технологією обробки даних поділяють на:
• централізовані;
• розподілені.
ІІІ. За способом доступу до даних виділяють:
• локальні;
• мережеві.

Ролі користувачів
Роль бази даних задає групу користувачів бази даних, які мають доступ
до одних і тих самих об’єктів і виконують однокові дії. Поділяються на:
 фіксовані серверні ролі;
 фіксовані ролі бази даних;
 ролі прикладних програм;
 ролі, визначені користувачем.

Роль прикладних програм дозволяє посилити рівень безпеки для


конкретної прикладної програми. Доступ до об’єктів БД здійснюється через
систему аутентифікації програми, а не СУБД.
Створення ролі прикладної програми
CREATE APPLICATION ROLE application_role_name
WITH PASSWORD = 'password'
[ , DEFAULT_SCHEMA = schema_name ]

Зміна ролі прикладної програми


ALTER APPLICATION ROLE application_role_name
WITH NAME = new_application_role_name |
PASSWORD = 'password' |
DEFAULT_SCHEMA = schema_name
[ ,...n ]

Видалення ролі прикладної програми


DROP APPLICATION ROLE rolename

Створення ролі визначеної користувачем


CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Зміна ролі визначеної користувачем
ALTER ROLE role_name WITH NAME = new_name
Видалення ролі визначеної користувачем
DROP ROLE role_name

Варіант 18
Поняття повної та неповної функцiональної залежності. Поняття
транзитивної залежності.

Визначення 1. Функціональна залежність .

У відношенні R атрибут Y функціонально залежить від атрибута X (X і Y


можуть бути складовими) у тому і тільки в тому випадку, якщо кожному
значенню X відповідає в точності одне значення Y: X Y.

Визначення 2. Повна функціональна залежність.

Функціональна залежність X Y називається повною, якщо атрибут Y не


залежить функціонально від будь-якої підмножини X.

Визначення 3. Транзитивна функціональна залежність .

Функціональна залежність називається транзитивною, якщо з функціональних


залежностей X Y та Y Z випливає, що X Z.

Операції над схемою бази даних. Модифікація таблиці. Оператор ALTER


TABLE.
Запрос с командой ALTER TABLE на добавление нового столбца
ALTER TABLE ИМЯ_ТАБЛИЦЫ
ALTER COLUMN ИМЯ_СТОЛБЦА
SET DEFAULT 'ЗНАЧЕНИЕ_ПО_УМОЛЧАНИЮ'

При помощи запроса с командой ALTER TABLE можно и удалить столбец из


таблицы. Синтаксис команды будет следующим:

ALTER TABLE ИМЯ_ТАБЛИЦЫ


DROP COLUMN ИМЯ_СТОЛБЦА
Если при создании таблицы базы данных не был определён первичный
ключ (PRIMARY KEY), то это может быть сделано при помощи команды
ALTER TABLE.
ALTER TABLE ИМЯ_ТАБЛИЦЫ
ADD PRIMARY KEY (ИМЯ_ИДЕНТИФИКАТОРА_1,
ИМЯ_ИДЕНТИФИКАТОРА_2)

Запросом с командой ALTER TABLE можно также определить, что если


удалить запись в таблице (2), на которую ссылается запись в таблице (1), то
должны быть удалены все соответствующие записи в таблице (1) (каскадное
удаление). Синтаксис такого запроса следующий:

ALTER TABLE ИМЯ_ССЫЛАЮЩЕЙСЯ_ТАБЛИЦЫ


ADD CONSTRAINT ИМЯ_ИДЕНТИФИКАТОРА
FOREIGN KEY (ИМЯ_ИДЕНТИФИКАТОРА)
REFERENCES
ИМЯ_ТАБЛИЦЫ_НА_КОТОРУЮ_ССЫЛАЮТСЯ
ON DELETE CASCADE

Варіант 19
Системи управління базами даних (СУБД) та їхні функції
СУБД – комплекс програмних та мовних засобів загального і
спеціального призначення, які необхідні для створення БД, підтримування її в
актуальному стані, маніпулювання даними та організації доступу до них різних
користувачів в умовах прийнятої технології обробки даних.
СУБД виконує різні функції, які можна об’єднати в такі групи:
1. Управління даними, тобто підготовлення даних та їхній контроль,
занесення даних до БД, структурування даних, забезпечення цілісності,
секретності даних.
2. Доступ до даних, зокрема пошук і селекція даних, перетворення даних
у форму, зручну для подальшого використання.
3. Організація і ведення зв’язку з користувачем, тобто забезпечення
доступу користувачів до БД, видача повідомлень про помилки в роботі з БД
тощо.
Засоби маніпулювання даними. Додавання рядків до таблиці. Оператор
INSERT.
Оператор INSERT вставляет новые записи в таблицу. При этом значения
столбцов могут представлять собой литеральные константы, либо являться
результатом выполнения подзапроса. В первом случае для вставки каждой
строки используется отдельный оператор INSERT; во втором случае будет
вставлено столько строк, сколько возвращается подзапросом.

5. INSERT INTO Product_D (назви стовбців)VALUES


6. ('B', 1158, 'PC'),
7. ('C', 2190, 'Laptop'),
8. ('D', 3219, 'Printer');

Варіант 20
Характеристика технологій функціонування СУБД: файл-серверна та
клієнт-серверна технології

Типова архітектура
Архітектура – це сукупність суттєвих рішень під час організації ІС,
зокрема про основні апаратні та програмні складники системи, їхнє
функціональне призначення та організацію зв’язків між ними.
На вибір архітектури інформаційної системи впливає на такі
характеристики:
• продуктивність (кількість операцій, які виконуються в ІС за одиницю
часу);
• час відгуку системи (час реакції системи на запити користувача);
• надійність (здатність до безвідмовного функціонування протягом
заданого періоду часу)
«Файл-сервер»
Недолік : •велике навантаження на мережу і клієнтські комп’ютери; •при
великій інтенсивності доступу до тих самим даних продуктивність
інформаційної системи знижується .
Перевага : •не потрібно використовувати потужний сервер (таку
архітектуру можна реалізувати в одноранговій системі).
«Клієнт-Сервер»

Недолік: •велике навантаження на сервер, який повинен обробляти запити


усіх клієнтів; •мале навантаження на клієнтську частину.
Перевага: • стандартність інтерфейсу (теоретично клієнтська частина
може працювати з будь -яким SQL - сервером).

Авторизація
 Авторизация — предоставление определённых прав.
Оператори, пов’язані з авторизацією: 
GRANT – надає повноваження до об’єктів безпеки; 
DENY – забороняє користувачу доступ до повноважень, отриманих через
їхню участь у певній ролі або групі; 
REVOKE – видаляє одне або більше раніше наданих або заборонених
повноважень.
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ]
[ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Опції повноважень (PRIVILEGES) оператора GRANT :
 SELECT
 INSERT
 UPDATE
 DELETE
 REFERENCES
 EXECUTE
 CONTROL
 ALTER
 TAKE OWNERSHIP
 VIEW DEFINITION

Варіант 21
РІвнi подання даних у БД
Трьохрівнева модель ANSI/SPARC
Розроблена у 1975 році підкомітетом SPARC (Standarts Planning and
Requirements Committee) Американського національного інституту стандартів
ANSI (American National Standards Institute).
Виділяють три рівні: зовнішній ( Доступ користувачам
обеспечивает логическую независимость данных), концептуальний (сама база
даних описывает данные и их взаимосвязи( та внутрішній ( її носії
обеспечивает так называемую физическую независимость данных).
Опис структури даних на кожному з цих рівнів називають схемою.

Зовнішня Зовнішня
схема 1 схема (н)

Концептуальна
схема
Шифрування даних

Система шифрування, яка використовує симетричні ключі, надає


спільний ключ відправнику і отримувачу повідомлення, тобто цей ключ
використовується одночасно для шифрування та дешифрування даних.
Переваги: швидкість шифрування та дешифрування; широка сфера
застосування. Недолік: ненадійність.
Дії із симетричним ключем:
Створення: CREATE SYMMETRIC KEY
Видалення: DROP SYMMETRIC KEY
Відкриття (для можливості використання): OPEN SYMMETRIC KEY
Шифрування: EncryptByKey
Дешифрування: DecryptByKey
Асиметричні ключі складаються з двох частин: особистого ключа і
відповідного загального ключа. Кожен ключ може дешифрувати дані,
зашифровані іншим ключем.
Переваги: високий рівень безпеки.
Дії із асиметричним ключем:
Створення: CREATE АSYMMETRIC KEY
Видалення: DROP АSYMMETRIC KEY
Зміна властивостей: ALTER ASYMMETRIC KEY
Шифрування: EncryptByAsymKey
Дешифрування: DecryptByAsymKey
Загальним ключем сертифіката (сертифікатом) називають двійковий
підпис, який пов’язує значення загального ключа з ідентифікацією особи,
пристрою або сервіса, який містить відповідний власний ключ.
Сертифікати містять таку інформацію:
 значення загального ключа суб’єкта;
 інформацію, яка ідентифікує суб’єкт;
 двійковий підпис видавця.
Створення сертифікату: CREATE CERTIFICATE
Представлення каталогу шифрування:
 SYS.SYMMETRIC_KEYS;
 SYS.ASYMMETRIC_KEYS;
 SYS.CERTIFICATES;
 SYS.DATABASE_PRINCIPALS.
Створення нового облікового запису в SQL Server:
CREATE LOGIN login_name
{ WITH option_list1 |
FROM {WINDOWS [ WITH option_list2 [, ...] ]
| CERTIFICATE certname | ASYMMETRIC KEY key_name }}
Приклад: CREATE LOGIN stud WITH PASSWORD=‘study’
Приклад: CREATE LOGIN [acer-7540\taras] FROM WINDOWS
Зміна властивостей облікового запису: ALTER LOGIN
Видалення облікового запису: DROP LOGIN

Варіант 22
Ієрархічна модель даних
Ієрархічні моделі збудовані на основі принципу підпорядкованості між
інформаційними об'єктами та являють собою деревоподібну структуру, яка
складається з вузлів (сегментів) і дуг (гілок).
Кожний вузол — це сукупність логічно взаємозв'язаних атрибутів, що
описують якусь сутність ПО, неорієнтовані дуги вказують на інформаційні
зв'язки між ними.

Правила побудови ієрархічної моделі


1. На верхньому рівні ієрархії знаходиться лише один сегмент, який
називається кореневим.
2. Зв'язки в ієрархічних моделях будують за принципом «вихідний-
породжений».
3. В ієрархічній моделі підтримуються лише такі типи співвідношень між
даними: 1:1 і 1:M.
4. Кожний вихідний сегмент може мати кілька породжених, але
породжений сегмент може мати щонайбільше два вихідних, один з яких є
фізично, а інший логічно вихідним.
Логічний зв’язок – це зв’язок між двома фізичними базами даних.
Переваги і недоліки ієрархічної моделі
Переваги: • ефективне використання пам’яті; • швидкість виконання
основних операцій над даними.
Недоліки: • громіздкість обробки інформації з достатньо складними
логічними зв’язками; • складність для розуміння.

Засоби маніпулювання даними. Оновлення даних. Оператор UPDATE.

4. UPDATE Laptop
5. SET code = 5
6. WHERE code = 4;

Варіант 23
Сіткова модель даних
Сіткова модель БД — це орієнтований граф з пойменованими дугами і
вершинами.
Найбільш повно концепція сіткових БД вперше було викладено
Асоціацією з мов систем обробки даних — КОДАСИЛ (Conference On Date
Systems Languages — CODASYL).

Основними структурними елементами моделей цього типу є агрегат,


запис і набір даних.
Кожний запис вміщує деяку множину атрибутів. Розрізняють такі
поняття, як «тип запису» і «екземпляр запису». Тип запису — це абстрактні
характеристики, а «екземпляр запису» — їх конкретні значення.
Усередині запису можуть виділятись агрегати. Агрегат — це пойменована
сукупність логічно взаємозв'язаних атрибутів усередині типу запису: ними
можуть бути вектори, групи і повторюючі групи.
Запис — це агрегат, який не входить до складу інших агрегатів і є
основною одиницею обробки БД (записи запам'ятовуються, вилучаються,
поповнюються).
Набір даних — це пойменована сукупність зв'язаних записів.
Переваги і недоліки сіткової моделі даних
Переваги: • можливість ефективної реалізації за показниками затрат
пам’яті і оперативності.
Недоліки: • неможливість реалізації зв’язків виду N:M;
• висока складність і жорсткість схеми БД;
• складність для розуміння і виконання обробки інформації в БД.

Аутентифікація
 Аутентификация — процедура проверки подлинности, доказательство что
пользователь именно тот, за кого себя выдает.

Система безпеки DATABASE ENGINE включає дві підсистеми безпеки:


 безпека Windows (довірча безпека) – задає механізм безпеки на рівні
операційної системи (вхід у СУБД відбувається за допомогою облікового
запису користувача Windows).
 безпека SQL Server – задає механізм безпеки на рівні СУБД шляхом
вводу логіну і паролю.
Для вибору режимів аутентифікації необхідно:
 клікнути правою кнопкою миші по серверу і вибрати пункт Properties;
 у діалоговому вікні Server Properties вибрати закладку Security;
 вибрати режим аутентифікації: Windows Authentication Mode або Server
and Windows Authentication Mode.

Варіант 24
Основні елементи реляційної моделі даних
Реляційна модель – модель даних, яка заснована на математичному
понятті відношення (relation) і представленні відношень у формі двовимірних
таблиць.
Відношення складається з множини елементів (рядків таблиці) однакової
структури, які називають кортежами. Стовпці таблиці називають атрибутами
відношення.
Для опису складних логічних структур даних з предметної області
використовують зв’язування таблиць за допомогою зовнішніх ключів.
Переваги: • простота, зрозумілість та зручність фізичної реалізації.
Недоліки: • відсутність стандартних засобів ідентифікації окремих
записів; • складність описання ієрархічних та сіткових зв’язків; • надмірність по
полях (для створення зв'язків між різними об'єктами бази даних).
Реляційна база даних – це скінчений набір відношень (таблиць).
Основні елементи реляційної моделі:
• відношення;
• кортеж;
• атрибут;
• ключ;
• домен;
• схема відношення
Відношення – це двовимірна таблиця, яка має унікальне ім’я.
Властивості реляційної таблиці:
• Кожен рядок (називають кортеж) описує певну сутність (певний
екземпляр) серед набору сутностей.
• Кожен стовпець таблиці описує атрибут, який має унікальне ім’я.
• На перетині рядка і стовпця може бути тільки одне (єдине) значення.
• В таблиці не може бути однокових рядків (кортежів).
• Всі значення в стовпці мають мати однаковий формат.
• Порядок розміщення стовпців та рядків немає значення.
Список назв атрибутів відношення та назв доменів (або типів даних, якщо
домени не підтримуються) називають схемою відношення.
Степінь відношення – це кількість його атрибутів.
Множину кортежів називають тілом відношення.
Кардинальним числом називають кількість кортежів відношення.
Кожен стовпець має певний діапазон значень, який називають доменом
атрибута (attribute domain).
Суперключем (superkey) називають атрибут (набір атрибутів), які
унікально ідентифікують деяку сутність в таблиці.
Потенційним ключем (candidate key) називають мінімальну підмножину
атрибутів відношення, які однозначно визначають деякий кортеж.
Первинним ключем (primary key) називають потенційний ключ, який
обрано для унікальної ідентифікації кортежів відношення.
Вторинним ключем (secondary key) називають ключ, кожному значенню
якого може відповідати більш ніж один екземпляр індексованих даних.
Використовують для пошуку даних.
Зовнішнім ключем (foreign key) називають сукупність атрибутів
відношення, значення яких є одночасно і значеннями первинного або
потенційного ключа іншого відношення.
Якщо ключ містить один атрибут, то його називають простим, якщо
декілька – складеним (composite key).
Штучний (сурогатний) ключ – ключ, який створений СУБД або
користувачем за допомогою деякої процедури і не містить жодної інформації.
Здебільшого штучним ключем є порядковий номер записів.
Під час зв’язування відношень необхідно визначити основне (головне) та
підлегле відношення. Це дозволяє підтримувати ієрархічні зв’язки між
відношеннями у реляційній моделі.
Основні види зв’язків:
•Зв’язок “один-до-одного” (1:1) → одному кортежу основного
відношення відповідає один кортеж підлеглого відношення. Обидва
відношення фактично є рівноправними.
•Зв’язок “один-до-багатьох” (1:М) → одному кортежу основного
відношення відповідає множина кортежів підлеглого відношення.
•Зв’язок “багато-до-багатьох” (М:М) → декільком кортежам основного
відношення відповідає множина кортежів підлеглого відношення. В такому
виді не підтримується реляційною СУБД, а реалізується за допомогою
стикувальної таблиці.

Засоби пошуку даних. Вибірка з кількох таблиць (JOIN)


Оператор JOIN "з'єднує" дві або більше таблиці з використанням тільки
одного оператора SELECT.
Форми оператора JOIN:
• CROSS JOIN – задає декартовий добуток двох таблиць; (1-1; 1-2; 2-1;2-
2)
Синтаксис
SELECT column_name(s)
FROM table1 CROSS JOIN table2
• [ INNER ] JOIN – визначає природне з'єднання двох таблиць;
(пересічення таблиць)
Синтаксис
SELECT column_name(s)
FROM table1 [ INNER ] JOIN table2
ON table1.column_name=table2.column_name
• LEFT [ OUTER ] JOIN – задає операцію лівого з'єднання (з двох таблиць
головна ліва);
Синтаксис
SELECT column_name(s)
FROM table1 LEFT [ OUTER ] JOIN table2
ON table1.column_name=table2.column_name
• RIGHT [ OUTER ] JOIN – задає операцію правого з'єднання;
Синтаксис
SELECT column_name(s)
FROM table1 RIGHT [ OUTER ] JOIN table2
ON table1.column_name=table2.column_name
• FULL [ OUTER ] JOIN – визначає об'єднання правого і лівого з'єднання.
Синтаксис
SELECT column_name(s)
FROM table1 FULL [ OUTER ] JOIN table2
ON table1.column_name=table2.column_name

Варіант 25
Цілісність реляційної бази даних
Цілісність баз даних – властивість даних, що визначає повноту і
правильність інформації, яка вміщується в БД.
За способами реалізації обмеження цілісності поділяються на:
• декларативні, які реалізовані засобами мови SQL;
• процедурні, які реалізовані за допомогою тригерів і збережених
процедур.
Підтримка цілісності даних включає такі складові:
• структурна цілісність;
• обмеження реальних значень даних;
• посилкова цілісність.
Структурна цілісність передбачає виконання таких умов:
• наявність тільки однорідних структур даних типу “реляційне
відношення”;
• відсутність дублікатів кортежів;
• обов’язкова наявність у відношенні первинного ключа;
• обов’ язкове визначення доменів;
• можливість застосування невизначених значень NULL (позначає
відсутність будь-якого значення атрибуту).
Обмеження реальних значень даних вимагають, щоби значення поля
належали деякому діапазону значень, або задовольняли певному
арифметичному співвідношенню між значеннями різних полів.
Обмеження значень можуть включати також визначення певних форматів
для полів, задоволення значень полів певним статистичним умовам, бізнес
правилам предметної області тощо.
Посилкова цілісність означає, що зміни в таблицях повинні виконуватися
синхронно, а зміст двох пов’язаних таблиць має відповідати таким правилам:
• кожному запису основної таблиці відповідає нуль (жодного) або більше
записів підлеглої таблиці;
• в підлеглій таблиці немає записів, які не мають батьківських записів в
основній таблиці;
• кожний запис підлеглої таблиці має тільки один батьківський запис
основної таблиці.
Засоби пошуку даних. Підзапити.
Конструкція, де один або більше операторів SELECT є вкладеними в
інструкцію WHERE в іншому операторі SELECT, називають підзапитом.
Перший оператор SELECT у підзапиті називають зовнішнім запитом, а
оператори SELECT, які використовують у порівняннях, - внутрішніми
запитами.
Внутрішній запит виконується першим, а зовнішній запит отримує
значення від внутрішнього запиту.
Існують два типи підзапитів:
♦ замкнутий (некорельований) – внутрішній запит логічно виконується
тільки один раз;
♦ корельований – внутрішній запит логічно виконується щоразу, коли
система відшукує новий рядок із зовнішнього запиту.
Замкнутий підзапит може бути використаний в таких операторах:
♦ оператори порівняння;
♦ оператор IN;
♦ оператори ANY і ALL.

Варіант 26
Реляційна алгебра
Алгеброю називають множину об'єктів із заданою на ній сукупністю
операцій, які замкнені відносно цієї множини.
Основною множиною в реляційній алгебрі є множина відношень.
Реляційна алгебра містить такі основні операції:
• об’єднання,
• проекція,
• різниця,
• селекція,
• перетин,
• з’єднання,
• декартовий добуток,
• ділення.
Схеми
Схемою називають колекцію об’єктів бази даних, якими володіє одна
особа.
Принципал (адміністратор доступу) – особа, яка має доступ до об’єктів
схеми.
Володіння схемою можна передати іншому принципалу без зміни назви
схеми.
Принципал може бути:
індивідуальним – представляє одного користувача, у вигляді облікового
запису SQL Server або Windows.
груповим – група користувачів, наприклад, роль або група Windows.
guest (гість) – забезпечує доступ користувачам, як не мають облікового
запису;
dbo – містить усі об’єкти, для яких не була оголошена явно схема;
information_schema – містить інформацію про представлення схеми;
sys – містить системні об’єкти.
Варіант 27
Етапи проектування бази даних

Етапи проектування бази даних


1. Концептуальне (інфологічне) проектування → полягає в одержанні
семантичних (концептуальних) моделей, що описують предметну область і
інформаційні потреби користувачів. Визначаються об'єкти, зв'язки між
об'єктами, атрибути, ключові атрибути.
2. Логічне проектування → полягає в організації даних, виділених на
етапі інфологічного проектування, у форму, прийняту в обраній СУБД. Треба
знати яка СУБД буде застосовуватися в системі (ієрархічна, мережна,
реляційна, об'єктно-орієнтована).
3. Фізичне проектування → полягає в описі засобів фізичної реалізації
логічного проекту БД. Визначають засоби розміщення даних в середовищі
зберігання і засоби доступу до цих даних.
Концептуальні моделі
Розрізняють два головних підходи до моделювання даних під час
концептуального проектування: • семантичні моделі → головну увагу
приділяють структурі даних. Найбільш поширеною семантичною моделлю є
модель "сутність – зв'язок" (Entity Relationship model, ER-модель);
• об'єктні моделі → головну увагу приділяють поведінці об'єктів даних і
засобам маніпуляції даними. Головне поняття таких моделей – об'єкт, тобто
сутність, яка має стан і поведінку. Стан об'єкта визначається сукупністю його
атрибутів, а поведінка об'єкта визначається сукупністю операцій
специфікованих для нього.
Етапи побудови моделі "сутність – зв'язок"
• Визначення типів сутностей
• Визначення типів зв'язків
• Визначення атрибутів сутностей і зв'язків
• Визначення потенційних і первинних ключів
• Розширене моделювання
• Перевірка моделі на відсутність збитковості
• Перевірка моделі на відповідність транзакціям користувачів

Авторизація
 Авторизация — предоставление определённых прав.
Оператори, пов’язані з авторизацією: 
GRANT – надає повноваження до об’єктів безпеки; 
DENY – забороняє користувачу доступ до повноважень, отриманих через
їхню участь у певній ролі або групі; 
REVOKE – видаляє одне або більше раніше наданих або заборонених
повноважень.
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ]
[ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Опції повноважень (PRIVILEGES) оператора GRANT :
 SELECT
 INSERT
 UPDATE
 DELETE
 REFERENCES
 EXECUTE
 CONTROL
 ALTER
 TAKE OWNERSHIP
 VIEW DEFINITION

Варіант 28
Характеристика та визначення складових iнфологiчної моделі
Основні елементи інфологічних моделей
Моделювання предметної області базується на використанні графічних
діаграм, що включають невелике число різнорідних компонентів.
Модель "сутність-зв'язок" не визначає операцій над даними й
обмежується описом тільки їхньої логічної структури.
Основними поняттями ER-моделі є:
• сутність,
• зв'язок;
• атрибут
Сутність
Сутність (entity) – об'єкт, що може бути ідентифікований деяким
способом, що відрізняє його від інших об'єктів. Це реальний чи уявний об'єкт
предметної області, інформація про який повинна зберігатися у базі даних і
бути доступною.
Набір (тип) сутностей (entity set) - множина сутностей одного типу (тобто
сутностей, що мають однакові властивості). Поняття тип сутності відноситься
до набору однорідних предметів, подій, осіб, що виступають як єдине ціле.
Екземпляр сутності відноситься до конкретного об'єкту в наборі.
Атрибут
Сутність фактично задається множиною атрибутів, що описують
властивості всіх членів набору сутностей і складають кортеж, що задає
екземпляр сутності.
Атрибут (attribute) – це пойменована характеристика сутності, що
визначає її властивості і приймає значення з деякої множини значень (домену).
Кожен атрибут забезпечується ім'ям, унікальним у межах сутності. При
табличному представленні найменування атрибутів утворюють назви стовпців
таблиці.
Набір можливих значень атрибуту називають доменом.
Множину з одного чи декількох атрибутів, значення яких однозначно
визначають кожен екземпляр сутності, називають ідентифікатором (ключем)
(key attribute).
Кожен екземпляр сутності повинен мати хоча б один ідентифікатор
(ключ).
Якщо ідентифікаторів кілька, один з них вибирають як привілейований,
чи первинний; інші вважають потенційними ключами.
Види атрибутів
Атрибути поділяють на;
• прості (simple) – атрибути, які є атомарними, тобто їх не можна
поділити на окремі частини.
• складені (composite) – атрибути, які можна розділити на кілька
додаткових простих атрибутів.
За кількістю значень, які можуть приймати атрибути, поділяють на:
• однозначні атрибути, які приймають лише одне значення, тобто не може
бути двох сутностей, що мають таке значення атрибута. Однозначні атрибути
можуть бути складеними;
• багатозначні атрибути, які можуть приймати кілька значень.
Атрибути можуть класифікуватися за приналежністю до одного з трьох
різних типів:
• описові атрибути представляють факти, внутрішньо притаманні
кожному екземпляру сутності;
• вказівні атрибути використовують для присвоєння імені чи позначення
екземплярів сутності;
• допоміжні атрибути використовують для зв'язку екземпляра однієї
сутності з екземпляром іншої.
Нарешті, можуть існувати похідні (derived) атрибути, тобто атрибути, які
не треба зберігати у БД, а можна отримати за допомогою певного алгоритму
Зв’язок
Зв'язок (relationship) - це асоціація, установлена між кількома сутностями,
яка описує відносини, що систематично виникають між різними видами
предметів у реальному світі.
Зв'язки вказують яким чином сутності співвідносяться або взаємодіють
між собою.
Розрізняють такі зв'язки:
• між двома сутностями (бінарний зв'язок);
• між трьома сутностями (тернарний зв'язок);
• між N сутностями (N-арний зв'язок);
• між однією сутністю (рекурсивний зв'язок).
Види зв’язків
Серед бінарних зв'язків існують три фундаментальних види зв'язку (типи
зв'язності, connectivity):
•зв'язок «один-до-одного» (1:1) існує, коли один екземпляр однієї
сутності зв'язаний з єдиним екземпляром іншої сутності;
•зв'язок «один-до-багатьох» (1:M) має місце, коли один екземпляр однієї
сутності зв'язаний з одним чи більше екземпляром іншої сутності, а кожен
екземпляр другої сутності зв'язаний тільки з одним екземпляром першої
сутності;
•зв'язок «багато-до-багатьох» (М:N) існує, коли один екземпляр однієї
сутності зв'язаний з одним чи більше екземпляром іншої сутності і кожен
екземпляр другої сутності зв'язаний з одним чи більше екземпляром першої
сутності.
Потужність зв'язку
Потужність зв'язку (кардинальність, сardinality) відображає максимальну
кількість екземплярів сутностей, які зв'язані з одним екземпляром зв'язаної
сутності.
Необов’язковість зв'язку (оptionality) відображає мінімальну кількість
екземплярів сутностей, які зв'язані з одним екземпляром зв'язаної сутності.
Виділяють 4 типи потужності зв’язку:
• Загальний випадок – потужність може дорівнювати 0, 1 або N (не
позначають жодним символом);
• Символом P позначають випадок, коли потужність може дорівнювати 1
або N;
• Символом Z позначають випадок, коли потужність може дорівнювати 0
або 1;
• Цифрою позначають випадок, коли потужність дорівнює наперед
заданому числу.
Якщо сутність може існувати незалежно від інших сутностей, то вона є
незалежною.
Якщо сутність залежить від існування інших сутностей, то вона є
залежною.
Якщо одна сутність незалежна від існування іншої сутності, то зв'язок
між ними називають необов’язковим (слабким, non-identifying) зв'язком.
Ідентифікаційний (сильний, identifying) зв'язок має місце у тому випадку,
коли одна зв'язана сутність (дочірна сутність, child) залежить від існування
іншої (батьківської сутності, parent).
Типи сутностей і ієрархія спадкування
Розрізняють кілька типів залежних сутностей.
Характеристична - залежна дочірня сутність, що зв'язана тільки з одною
батьківською і за змістом зберігає інформацію про характеристики батьківської
сутності (формалізує зв'язок виду 1:M чи 1:1).
Асоціативна - сутність, зв'язана з декількома батьківськими сутностями.
Така сутність містить інформацію про зв'язки сутностей.
Сутність, що позначає - окремий випадок асоціативної сутності, що не
має власних атрибутів (тільки атрибути батьківських сутностей, що мігрували
як зовнішній ключ; формалізує зв'язок виду 1:M чи 1:1 між двома сутностями).
Категоріальна - дочірня сутність в ієрархії спадкування.
Ієрархія спадкування (чи ієрархія категорій) являє собою особливий тип
об'єднання сутностей, що поділяють загальні характеристики.
Звичайно ієрархію спадкування створюють, коли кілька сутностей мають
спільні за змістом атрибути, або коли сутності мають спільні за змістом зв'язку,
або коли це диктується бізнес-правилами.
Для кожної категорії можна вказати дискримінатор - атрибут родового
предка, що показує, як відрізнити одну категоріальну сутність від іншої.

Засоби пошуку даних. Фраза GROUP BY, HAVING, ORDER BY.


Інструкція GROUP BY задає один або більше стовпців в якості групи, в
якій всі рядки даної групи мають одне і те ж значення цих стовпців.
Кожен стовпець, що з'являється в списку SELECT, повинен також
з'явитися і в інструкції GROUP BY (крім констант і агрегатних функцій).
Послідовність назв стовпців в інструкції GROUP BY не обов'язково
повинна відповідати послідовності назв у списку SELECT.
Варіант 29
Нормальні форми подання бази даних
Нормалізація відношень — це ітераційний зворотний процес
декомпозиції початкового відношення на кілька простіших відношень меншої
розмірності.
Під зворотністю процесу розуміють те, що операція об'єднання
відношень, отриманих в результаті декомпозиції, має дати початкове
відношення, тобто при виконанні декомпозиції повинна виконуватись умова
об'єднання без втрат інформації.
Теорема Хеза (Heath) визначає умови зворотності декомпозиції
відношень:
Нехай R (А, В, С) – відношення, де А, В, C – підмножини множини його
атрибутів.
Якщо у R існує ФЗ А → В, то R дорівнює з'єднанню його проекцій {А, В}
та {А, С}.
Отримані в результаті нормалізації відношення БД мають відповідати
таким вимогам:
• між атрибутами не має бути небажаних функціональних залежностей;
• групування атрибутів має забезпечувати мінімальне дублювання даних;
• обробка і поновлення даних без ускладнень і аномалій;
• відношення не повинні втратити функціональні залежності початкового
відношення.
Нормальні форми відношень
Процес нормалізації відношень заснований на концепції нормальних
форм (НФ).
Виділяють такі нормальні форми:
• перша нормальна форма (1НФ, 1NF);
• друга нормальна форма (2НФ, 2NF);
• третя нормальна форма (3НФ, 3NF);
• нормальна форма Бойса-Кодда (БКНФ, BCNF);
• четверта нормальна форма (4НФ, 4NF);
• п’ята нормальна форма (5НФ, 5NF).
Перша нормальна форма (1НФ, 1NF)
Відношення перебуває в 1НФ тоді і тільки тоді, коли усі домени, що в
ньому використовуються, містять тільки скалярні (атомарні) значення.
Наприклад, якщо у відношенні є поле ПІБ, відношення не знаходиться в
1НФ, оскільки значення цього поля можна розділити на Прізвище, І'мя і По
батькові.
Відповідно поле Адреса потрібно розділити на такі поля:
• Країна;
• Область;
• Район;
• Місто (село);
• Вулиця;
• Дім;
• Квартира.
Друга нормальна форма (2НФ, 2NF)
Відношення знаходиться в 2НФ тоді і тільки тоді, коли воно знаходиться
у 1НФ і кожен неключовий атрибут функціонально повно залежить від
складеного ключа.
Приклад.
Успішність (НомерЗалКнижки, Прізвище, І'мя, По батькові, Дисципліна,
Оцінка).
Відношення Успішність задовольняє таким ФЗ: •{НомерЗалКнижки} →
{Прізвище, І'мя, По батькові} (А → В).
Поза цією ФЗ залишилася така множина атрибутів : •{Дисципліна,
Оцінка} (С).
Тоді за теоремою Хеза відношення Успішність дорівнює з'єднанню його
проекцій з такими множинами атрибутів :
•Студенти (НомерЗалКнижки, Прізвище, І'мя, По батькові) ({А, В}),
•Успішність1 (НомерЗалКнижки, Дисципліна, Оцінка) ({А, С}).
Третя нормальна форма (3НФ, 3NF)
Відношення знаходиться в 3НФ тоді і тільки тоді, коли воно знаходиться
у 2НФ і кожен неключовий атрибут нетранзитивно залежить від первинного
ключа.
Транзитивна залежність — це залежність між неключовими атрибутами.
R(A, C, D): якщо А → {C, D} та С → D, то D транзитивно залежить від A
(A транзитивно визначає D).
Щоб таблиця перебувала в 3НФ, необхідно, щоб неключові стовпці в ній
не залежали від інших неключових стовпців, а залежали лише від первинного
ключа.
Будь-який атрибут, що залежить від основного ключа та від будь-якого
іншого атрибута, має виноситись в окрему таблицю.
Приклад. Успішність (НомерЗалКнижки, Прізвище, І'мя, По батькові,
КодГрупи, СтаростаГрупи, Дисципліна, Оцінка).
Які є функціональні залежності між атрибутами?
Можна виявити такі функціональні залежності у цьому відношенні:
• {НомерЗалКнижки} → {Прізвище, І'мя, По батькові, КодГрупи},
• {КодГрупи} → {СтаростаГрупи},
• {НомерЗалКнижки, Дисципліна} → {Оцінка}.
Відношення Успішність можна розбити на три проекції:
• Студент (НомерЗалКнижки,Прізвище,І'мя,По батькові, КодГрупи),
• Групи (КодГрупи, СтаростаГрупи),
• Успішніть1 (НомерЗалКнижки, Дисципліна, Оцінка).
Нормальна форма Бойса-Кодда (БКНФ, BCNF)
Нормальна форма Бойса-Кодда вимагає, щоб в таблиці був тільки один
потенційний первинний ключ.
Тобто якщо виявився другий стовпець (комбінація стовпців), що дозволяє
однозначно ідентифікувати рядок, то для приведення до БКНФ такі дані треба
винести в окрему таблицю.
Якщо проводити нормалізацію послідовно, то в переважній більшості
випадків при досягненні 3НФ автоматично будуть задовольнятися вимоги
НФБК.
Третя нормальна форма не збігається з НФБК лише тоді, коли одночасно
виконуються такі 3 умови:
• Відношення має 2 або більше потенційних ключів.
• Ці потенційні ключі складені (містять більш ніж один атрибут)
• Ці потенційні ключі перекриваються, тобто мають щонайменше один
спільний атрибут
Приклад.
Успішність (НомерЗалКнижки, КодДисципліни, НазваДисципліни,
Оцінка).
Це відношення не в НФБК, оскільки у ньому є такі ФЗ:
• КодДисципліни → НазваДисципліни;
• НазваДисципліни → КодДисципліни.
Потенційні ключі цього відношення:
• {НомерЗалКнижки, КодДисципліни};
• {НомерЗалКнижки, НазваДисципліни}.
Можлива декомпозиція на два відношення:
Дисципліна (КодДисципліни, НазваДисципліни),
Успішність1 (НомерЗалКнижки, КодДисципліни, Оцінка).
Четверта нормальна форма(4НФ, 4NF)
Для приведення таблиці, що перебуває в нормальній формі Бойса-Кодда,
до 4НФ необхідно усунути наявні в ній багатозначні залежності.
Атрибут А багатозначно визначає атрибут В у відношенні R (А, В, С),
якщо В залежить лише від А при будь-яких його комбінаціях з іншими
атрибутами відношення R.
Позначають так: А → → В. Іншими словами, А багатозначно визначає В,
якщо для кожного значення А не існує єдиного значення В, що відповідає їй,
тобто не існує ФЗ А → В, але кожне значення А визначає множину значень В,
що їй відповідають.
Теорема Фейджіна (Фейгіна)
Декомпозицію без втрат відношення R (А, В, С) на відношення R1 (А, В)
та R2 (А, С) можна провести тоді, коли у відношенні R існують дві багатозначні
залежності атрибутів В і С від атрибуту А:
А → → В;
А → → С.
Приклад:
Відношення R (НомерЗалКнижки, Група, Предмет) можна поділити на
такі відношення: R1 (НомерЗалКнижки, Група); R2 (Група, Предмет).

П‘ята нормальна форма(5НФ, 5NF)


Відношення знаходиться в 5НФ тоді і тільки тоді, коли будь-яка
залежність з'єднання (project-join dependence) у відношенні виходить з
існування деякого можливого ключа.
Відношення R (X, Y, …, Z) задовольняє залежності з'єднання (X, Y, …, Z)
тоді і тільки тоді, коли R відновлюється без втрат інформації шляхом з'єднання
своїх проекцій на X, Y, …, Z.
Залежність з'єднання є узагальненням функціональної і багатозначної
залежностей.
Для зведення вихідного відношення до 5НФ виконують його
декомпозицію на відношення, кількість яких перевищує два.
Приклад залежності з’єднання
Заняття (Студент, Викладач, Дисципліна).
У відношенні можливі аномалії, які пов'язані з повтором значень
атрибутів в декількох кортежах.
Наприклад, якщо студент навчається у багатьох викладачів, то при його
відрахуванні з університету необхідно знайти і вилучити декілька записів з
цього відношення.
Утворимо такі складені атрибути відношення:
R1 (Студент, Викладач);
R2 (Студент, Дисципліна);
R3 (Викладач, Дисципліна).
Якщо відношення R спроектувати на відношення R1, R2, R3, то з'єднання
цих проекцій дасть вихідне відношення. Це означає, що у відношенні Заняття
існувала залежність з'єднання.

Операції над схемою бази даних. Створення бази даних. Оператор


CREATE DATABASE.
CREATE DATABASE [IF NOT EXISTS] db_name
Оператор CREATE DATABASE создает базу данных с указанным
именем. Правила для допустимых имен базы данных приведены в разделе
section 6.1.2 Имена баз данных, таблиц, столбцов, индексы псевдонимы. Если
база данных уже существует и не указан ключевой параметр IF NOT EXISTS,
то возникает ошибка выполнения команды
Варіант 30
Основні елементи реляційної моделі даних
Реляційна модель – модель даних, яка заснована на математичному
понятті відношення (relation) і представленні відношень у формі двовимірних
таблиць.
Відношення складається з множини елементів (рядків таблиці) однакової
структури, які називають кортежами. Стовпці таблиці називають атрибутами
відношення.
Для опису складних логічних структур даних з предметної області
використовують зв’язування таблиць за допомогою зовнішніх ключів.

Переваги: • простота, зрозумілість та зручність фізичної реалізації.


Недоліки: • відсутність стандартних засобів ідентифікації окремих
записів; • складність описання ієрархічних та сіткових зв’язків; • надмірність по
полях (для створення зв'язків між різними об'єктами бази даних).
Реляційна база даних – це скінчений набір відношень (таблиць).
Основні елементи реляційної моделі:
• відношення;
• кортеж;
• атрибут;
• ключ;
• домен;
• схема відношення
Відношення – це двовимірна таблиця, яка має унікальне ім’я.
Властивості реляційної таблиці:
• Кожен рядок (називають кортеж) описує певну сутність (певний
екземпляр) серед набору сутностей.
• Кожен стовпець таблиці описує атрибут, який має унікальне ім’я.
• На перетині рядка і стовпця може бути тільки одне (єдине) значення.
• В таблиці не може бути однокових рядків (кортежів).
• Всі значення в стовпці мають мати однаковий формат.
• Порядок розміщення стовпців та рядків немає значення.
Список назв атрибутів відношення та назв доменів (або типів даних, якщо
домени не підтримуються) називають схемою відношення.
Степінь відношення – це кількість його атрибутів.
Множину кортежів називають тілом відношення.
Кардинальним числом називають кількість кортежів відношення.
Кожен стовпець має певний діапазон значень, який називають доменом
атрибута (attribute domain).
Суперключем (superkey) називають атрибут (набір атрибутів), які
унікально ідентифікують деяку сутність в таблиці.
Потенційним ключем (candidate key) називають мінімальну підмножину
атрибутів відношення, які однозначно визначають деякий кортеж.
Первинним ключем (primary key) називають потенційний ключ, який
обрано для унікальної ідентифікації кортежів відношення.
Вторинним ключем (secondary key) називають ключ, кожному значенню
якого може відповідати більш ніж один екземпляр індексованих даних.
Використовують для пошуку даних.
Зовнішнім ключем (foreign key) називають сукупність атрибутів
відношення, значення яких є одночасно і значеннями первинного або
потенційного ключа іншого відношення.
Якщо ключ містить один атрибут, то його називають простим, якщо
декілька – складеним (composite key).
Штучний (сурогатний) ключ – ключ, який створений СУБД або
користувачем за допомогою деякої процедури і не містить жодної інформації.
Здебільшого штучним ключем є порядковий номер записів.
Під час зв’язування відношень необхідно визначити основне (головне) та
підлегле відношення. Це дозволяє підтримувати ієрархічні зв’язки між
відношеннями у реляційній моделі.
Основні види зв’язків:
•Зв’язок “один-до-одного” (1:1) → одному кортежу основного
відношення відповідає один кортеж підлеглого відношення. Обидва
відношення фактично є рівноправними.
•Зв’язок “один-до-багатьох” (1:М) → одному кортежу основного
відношення відповідає множина кортежів підлеглого відношення.
•Зв’язок “багато-до-багатьох” (М:М) → декільком кортежам основного
відношення відповідає множина кортежів підлеглого відношення. В такому
виді не підтримується реляційною СУБД, а реалізується за допомогою
стикувальної таблиці.

Засоби маніпулювання даними. Видалення рядків таблиці. Оператор


DELETE.

Оператор SQL DELETE предназначен для удаления данных из таблицы. Он


имеет следующий синтаксис:

DELETE FROM ИМЯ_ТАБЛИЦЫ


WHERE УСЛОВИЕ

Чтобы удалить все данные из таблицы ADS, достаточно написать следующий


запрос:
DELETE FROM ADS

You might also like