Зв’язки в реляційних базах даних. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Зв’язки в реляційних базах даних.



Моделі даних.

Дані, які зберігаються в БД мають визначену логічну структуру, тобто описуються деякою моделлю представлення даних (моделлю даних), яка підтримується СУБД. До числа класичних відносяться наступні моделі даних:

· Ієрархічна,

· Мережна

· Реляційна.

Крім того, в останні роки з’явились та стали більш активно впроваджуватись на практиці наступні моделі даних:

· Постреляційна,

· Багатовимірна

· Об’єктно-орієнтована

Ієрархічна модель:

Об'єкти, що перебуваю-----------------------------------ть в ієрархічних відношеннях, утворюють дерево «орієнтований граф», у якого є тільки одна вершина, не підлегла жодній іншій вершині (цю вершину називають коренем дерева); будь-яка інша вершина графа підлегла лише одній іншій вершині (рис. 3.2).
Концептуальна схема ієрархічної моделі являє собою сукупність типів записів, пов'язаних типами зв'язків в одне чи кілька дерев. Усі типи зв'язків цієї моделі належать до виду «один до декількох».

До переваг ієрархічної моделі даних відносяться ефективне використання пам’яті ЕОМ та непогані показники часу виконання основних операцій над даними. Ієрархічна модель даних зручна для роботи з ієрархічно упорядкованою інформацією.

Недоліки – громіздкість обробки інформації із складними логічними зв’язками, а також складність для розуміння звичайними користувачами (IMS, PC/Focus, Ока, ИНЭС, МИРИС).

Мережна модель:

Мережна БД складається з набору записів та набору відповідних зв’язків. Якщо в ієрархічних структурах запис-нащадок міг мати тільки один запис-попередник, то в сітьовій моделі даних він може мати довільне число записів-попередників.

Перевагами мережної моделі є можливість ефективної реалізації по показниках затрат пам’яті та оперативності. Порівняно з ієрархічною моделлю, Мережна модель надає великі можливості в припустимості утворення довільних зв’язків.

Недоліками мережної моделі є велика складність схеми БД, а також складність обробки інформаціі для звичайного користувача.(IDMS, СЕТЬ, КОМПАС).

Реляційна модель:

Реляційна модель даних запропонована співробітником фірми IBM Коддои та базується на понятті відношення (relation)

Відношення являють собою множину елементів, які називаються кортежами. Наглядною формою представлення відношення є звичайна таблиця, яка має рядки (записи) та стовпчики (колонки). Кожний рядок має однакову структуру та складається з полів. Рядкам таблиці відповідають кортежі, а стовпчикам – атрибути відношень. Наприклад, таблиця може містити відомості про групу студентів, про кожного з яких відомі наступні характеристики: ПІБ, стать, вік, домашня адреса. Для опису складних логічних структур застосовують зв’язування таблиць.

Перевагою реляційної моделі є простота, наочність та зручність реалізації на ЕОМ. Це є основною причиною їх широкого використання.

Недоліки – складність опису ієрархічних та сітьових зв’язків. Приклади реляційних СУБД (dBase IV, FoxBase, Paradox, Visual Foxpro, Access, Oracle).

 

 

Структура баз даних.


База даних (БД) — це значка кількість однорідних даних з конкретної предметної галузі, які зберігаються на комп'ютерних носіях. БД створюють, якщо є потреба регулярно опрацьовувати великі обсяги однорідної інформації: списки абітурієнтів чи студентів з їхніми оцінками, анкетні дані співробітників деякого закладу чи фірми, розклади руху різних видів транспорту, про­позиції товарів на ринку чи облік матеріалів на складах тощо.

СУБД – це спеціальний пакет програм, що забезпечує створення, супроводження і використання баз даних багатьма користувачами.

Робота з БД складається з таких етапів:

1) створення структури БД;
2) введення даних;
3) редагування структури і даних;
4) відшукання інформації в БД;
5) оформлення звітів.

Властивості відношень.

Відношення являють собою множину елементів, які називаються кортежами. Наглядною формою представлення відношення є звичайна таблиця, яка має рядки (записи) та стовпчики (колонки). Кожний рядок має однакову структуру та складається з полів. Рядкам таблиці відповідають кортежі, а стовпчикам – атрибути відношень. Наприклад, таблиця може містити відомості про групу студентів, про кожного з яких відомі наступні характеристики: ПІБ, стать, вік, домашня адреса. Для опису складних логічних структур застосовують зв’язування таблиць.

Така таблиця має ряд властивостей:

1. В таблиці немає двох однакових рядків.

2. Таблиця має стовпці, відповідні атрибутам відношення.

3. Кожний атрибут у відношенні має унікальне ім'я.

4. Порядок рядків в таблиці довільний.

Зв’язки в реляційних базах даних.

Реляційна база даних складається з взаємопов’язаних таблиць. Структура таблиці визначається сукупністю стовпців (полів), типом і розміром даних кожного стовпця, а також первинним ключем таблиці. Рядки таблиці однозначно ідентифікуються значенням ключа. Логічні зв'язки між таблицями в реляційній базі даних реалізуються за рахунок однакових полів в зв'язуваних таблицях.

Отже, у результаті проектування має бути визначена логічна структура бази даних, тобто склад реляційних таблиць, їх структура і міжтабличні зв'язки.

Зв’язок виду 1:1:
Зв’язок виду 1:1 утворюється у випадку, коли всі поля зв’язку основної та додаткової таблиці є ключовими. Оскільки значення в ключових полях обох таблиць не повторюються, забезпечується взаємооднозначна відповідність записів з цих таблиць, тобто таблиці є рівноправними.

Зв’язок виду 1:М:

Зв’язок 1:М має місце, коли одному запису основної таблиці відповідає декілька записів допоміжної таблиці.

Зв’язок виду М:1:

Зв’язок М:1 має місце у випадку, коли одній чи декільком записам основної таблиці ставиться у відповідності один запис додаткової таблиці.

Зв’язок вигляду М:М

Загальний вигляд зв’язку М:М виникає у випадках, коли декільком записам основної таблиці відповідає декілька записів додаткової таблиці.

 

Реляційна алгебра


Реляційна модель баз даних надає можливість маніпулювати над доменами відношень. Для цих цілей існує два види апарата маніпулювання відношеннями: реляційна алгебра (алгебра відношень) і реляційне обчислення (обчислення відношень). маніпулювання відношеннями: реляційна алгебра (алгебра відношень) і реляційне обчислення (обчислення відношень).
Алгеброю відношень називають систему операцій маніпулювання відношеннями, кожний оператор якого в якості операнда (операндів) використовує одне чи більше відношень і утворює нове відношення по попередньо обумовленому правилу.
В реляційній алгебрі використовують п'ять основних операцій: об'єднання, різниця, декартовий добуток, проекція і селекція.

 

6. Нормалізація бази даних.

Нормалізація схеми бази даних — покроковий процес розбиття одного відношення (на практиці: таблиці) відповідно до алгоритму нормалізації на декілька відношень на базі функціональних залежностей.

Нормальна форма — властивість відношення в реляційній моделі даних, що характеризує його з точки зору надмірності, яка потенційно може призвести до логічно помилкових результатів вибірки або зміни даних. Нормальна форма визначається як сукупність вимог, яким має задовольняти відношення.

Таким чином, схема реляційної бази даних переходить у першу, другу, третю і так далі нормальні форми. Якщо відношення відповідає критеріям нормальної форми n, та всіх попередніх нормальних форм, тоді вважається, що це відношення знаходиться у нормальній формі рівня n.

 

Види ключів.

Ключ — це стовпець (може бути декілька стовпців), що додається до таблиці і дозволяє встановити зв’язок із записами в іншій таблиці.

Існують ключі двох типів: первинні і вторинні (зовнішні).

Первинний ключ — це одне або кілька полів (стовпців), комбінація значень яких однозначно визначає кожний запис у таблиці. Первинний ключ не допускає значень Null і завжди повинен мати унікальний індекс. Первинний ключ використовується для зв’язування таблиці з зовнішніми ключами в інших таблицях.

Зовнішній (вторинний) ключ — це одне або кілька полів (стовпців) у таблиці, що містять посилання на поле або поля первинного ключа в іншій таблиці. Зовнішній ключ визначає спосіб об’єднання таблиць.

З двох логічно пов’язаних таблиць одну називають таблицею первинного ключа або головною таблицею, а іншу таблицею вторинного (зовнішнього) ключа або підпорядкованою таблицею. СУБД дозволяють зіставити споріднені записи з обох таблиць і спільно вивести їх у формі, звіті або запиті.

Існує три типи первинних ключів: ключові поля лічильника (лічильник), простий ключ і складовий ключ.

Поле лічильника (Тип даних «Счетчик»). Для кожного запису цього поля таблиці автоматично заноситься унікальне числове значення.

Простий ключ. Якщо поле містить унікальні значення, такі як коди чи інвентарні номери, то це поле можна визначити як первинний ключ. В якості ключа можна визначити всі поля, що містить дані, якщо це поле не містить повторювані значення або значення Null.

Складові ключі. У випадках, коли неможливо гарантувати унікальність значень кожного поля, існує можливість створити ключ, що складається з декількох полів. Найчастіше така ситуація виникає для таблиці, використовуваної для зв’язування двох таблиць відношенням «багато — до — багатьох».

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

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

Зв’язок вигляду М:М

Загальний вигляд зв’язку М:М виникає у випадках, коли декільком записам основної таблиці відповідає декілька записів додаткової таблиці

 

ACCESS.Запит на вибірку.

 

Запит на вибірку — вибирає дані з таблиць, які задовольняють умови відбору. За допомогою запитів можна проглядати, аналізувати і змінювати дані з декількох таблиць. Вони також використовуються як джерело даних для форм і звітів. При його виконанні дані, які задовольняють умовам відбору, вибираються з однієї або декількох таблиць чи інших запитів і виводяться у певному порядку на екран. Монітора

Запит на вибірку встановлюється декількома способами. Перший спосіб — щоб спростити створення запитів, слід користуватися Мастером запросов. Мастер запросов на вибірку використовується для створення запитів для відтворення даних з полів однієї або декількох таблиць або запитів. За допомогою того ж майстра можна розраховувати суми, середні для усіх записів або їх певних груп, знаходити максимальне і мінімальне значення в полі тощо. Другий спосіб – використання конструктора

3)Процес створення запиту можна розбити на кроки, на яких, зокрема, визначаються:

поля, які повинні бути включені до запиту;

-порядок сортування, або упорядкування, даних;

-умови відбору, які мають бути використані в запиті.

4)Необхідні умови для групування даних при формування запиту на вибірку засобами майстру

Для групування даних при створенні запиту на вибірку за допомогою “Майстра Запросов” повинні бути зв’язки.

5)Щоб створити запит використовуючи конструктор запитів потрібно виконати наступні дії:

-в вкладці Создать вибрати Конструктор запросив

-в новому вікні вибрати таблиці з яких потрібно вибрати данні

— вибрати потрібні поля з даних таблиць та встановити умови вибірки

6)Сортування в запиті на вибірку має два варіанти – сортування данних по возростанию або по убіванию

7)Групування в запиті на вибірку.

Операція Угрупування (Group By) призначена для об’єднання записів, що мають однакові значення в группіруемих полях, в один запис. Для полів, у яких зазначене статистична функція (Sum, Count і т.д), проводяться відповідні обчислення.

8) Логічні оператори. В випадку, якщо нас цікавить декілька значень, вводяться в рядок Условие отбора і розділяються логічним оператором OR. Коли задаються для деякого поля декілька умов відбору, які з’єднані логічним оператором OR, то для того, щоб запис був відібраний запитом, істинним повинна бути хоча б одна з них. Можна ввести всі умови в одну чарунку рядка Условие отбора і з’єднати їх оператором OR.

 

ACCESS. Сортування даних.

Відповідь на запитання в завданні 20.

 

ACCESS. Підсумкові запити.

 

Щоб вибрати не окремі записи, а підсумкові значення для певної групи даних (наприклад, кількість книг по інформатиці, по кожному видавництву, кількість читачів по кафедрах тощо), треба скористатись підсумковими запитами. Таким запитам треба вказати характер групування даних і тип групової операції. Щоб конкретизувати характер групування входимо до «Груповые операции → Группировка». Це можна зробити так:

 ввійти до режиму «Конструктора» запиту;

 сформувати поля, що будуть складати запит;

 встановити курсор всередину таблиці із параметрами запиту (у режимі «Конструктора») запитом;

 натиснути на піктограму, що знаходиться на панелі інструментів (виглядає як значок «»). Замість піктограми можна клацнути правою кнопкою миші й вибрати з контекстного меню пункт «Групповые операции».

У таблиці з параметрами запиту Access додасть рядок з іменем «Групповаяоперация». Щоб створити групу записів з однаковими значеннями по деякому полю, треба в рядку «Групповая операция» цього поля ввести «Группировка». Accessвибере множину записів з однаковим значенням поля групування й підрахує для них підсумки. Такі дії Access повторить для кожної групи. Спосіб рахування підсумків вказують у тому ж рядку «Групповая операция». Для цього переходимо до поля, по якому планують визначити підсумкове значення. Клацаємо лівою кнопкою миші на списку «Группировка». Список розкриється, з нього вибираємо тип операції для одержання підсумків. Список операцій має такі функції:

SUM – обчислення суми значень для групи;

AVG – середнє значення поля для даних із групи записів;

MIN – мінімальне значення для даних із групи записів;

MAX – максимальне значення для даних із групи записів;

COUNT – кількість записів, у яких є значення із групи;

STDEV – стандартне відхилення;

VAR – дисперсія;

FIRST – значення в першому записі групи;

LAST – значення в останньому записі групи.

 

ACCESS. Імпорт даних.

До настільних баз даних Access можна імпортувати більше типів файлів, ніж до застосунків. Якщо ви не можете імпортувати певний тип файлу безпосередньо до застосунку, спробуйте імпортувати його спершу до настільної бази даних, а потім імпортувати таблиці настільної бази даних до застосунку.

Крім того, настільні бази даних дають змогу додавати зовнішні дані до наявної таблиці, чого не можна зробити в застосунках.

Імпортування даних до настільної бази даних

1. На вкладці Зовнішні дані у групі Імпорт і зв’язування виберіть тип файлу, який потрібно імпортувати.

 

 

2. Виконайте вказівки майстра Отримати зовнішні дані.

Операції із зовнішніми даними, доступні в застосунках і настільних базах даних

У цій таблиці коротко описано типи файлів, які можна імпортувати до веб-застосунків чи настільних баз даних Access або зв’язувати з ними.

До веб-застосунків Access можна імпортувати… Веб-застосунки Access можна зв’язувати з… До настільних баз даних можна імпортувати… Настільні бази даних можна зв’язувати з…

Microsoft Excel

 

(лише для читання)

Microsoft Access

Бази даних ODBC, як-от SQL Server

Текстові файли або файли даних із роздільниками-комами (CSV)

(лише для додавання нових записів)

Список SharePoint

(лише для читання)

XML

Служби даних

(лише для читання)

Документ HTML

ACCESS. Створення звітів.

Для точнішого вибору полів, які слід відображати в звіті, можна скористатися майстром звітів. Також можна визначити спосіб групування й сортування даних і використати поля з кількох таблиць або запитів за умови, що зв’язки між таблицями й запитами попередньо визначено. Посилання на додаткові відомості про створення зв’язків див. у розділі Див. також.

1. На вкладці Створити у групі Звіти клацніть елемент Майстер звітів.

2. Дотримуйтесь вказівок майстра звітів. На останній сторінці натисніть кнопку Готово.

Під час перегляду звіт буде відображено так, як він виглядатиме після друку. Можна також змінити масштаб документа, щоб переглянути певні деталі. Для отримання додаткових відомостей про перегляд і друк звіту див. розділ Перегляд, друк або надсилання звіту електронною поштою.

ПРИМІТКА Якщо потрібно додати до звіту поля з кількох таблиць і запитів, не натискайте кнопку Далі абоГотово після вибору полів із першої таблиці або запиту на першій сторінці майстра звітів. Повторіть кроки для вибору таблиці або запиту та виберіть додаткові поля, які потрібно включити до звіту. Після цього натисніть кнопку Далі або Готово, щоб продовжити.

 

DDL. Видалення баз даних.

При выполнении команды DROP DATABASE удаляется как сама база данных, так и все таблицы, которые в ней находятся.

Если производится удаление базы данных, которая символически связана с другой базой данных, тоудалиться как сама ссылка, так и оригинальная база данных.

В следующем примере мы удалим базу данных db_test:

1 DROP DATABASE `db_test`

 

 

DDL. Створення таблиць.

Цей оператор створює структуру таблиці, заповнювати яку можна за допомогою оператора INSERT. Оператор CREATE TABLE визначає ім’я таблиці а також її стовпчики із типами та розмірами. Таблиця повинна містити хоча б один стовпчик, наприклад

CREATE TABLE student

(student _id INTEGER,

surname VARCHAR(40),

name VARCHAR(30),

stipend DECIMAL,

kurs INTEGER,

city VARCHAR(60),

birthday DATE,

univ_id INTEGER);

 

 

DDL. Створення баз даних.

Користувач запускає програму SQL Server Enterprise Manager -Пуск/ Все программы/ Microsoft SQL Server/ Enterprise Manager - на екрані з'являється вікно програми

Для папки SQL Server Group слід, викликати контекстне меню, з якого вибрати пункт New SQL Server Registration... ~ з'являється перше із шести вікон програми Майстер реєстрації з повідомленням про необхідність визначення сервера, методу аутентифікації користувача і Specify SQL Server Group. Робота з вікном Майстра реєстрації закінчується натиском клавіші Далее (з останнім вікном Готово).

3. Друге вікно Майстра реєстрації пропонує користувачеві ввести в поле Available servers ім'я сервера, а потім за допомогою кнопки Add перевести його в зону Added Servers.

4. Третє вікно призначене для вибору методу аутентифікації (Win-dows чи SQL Server аутентифікація). Якщо буде вибраний метод SQL Server, тоді в наступному (додатковому) вікні користувач повинен із клавіатури ввести ім'я і пароль доступу до сервера.

5. Четверте вікно Майстра реєстрації пропонує користувачеві погодитися з підключенням сервера до визначеної адміністратором групи користування.

6. П'яте вікно інформує користувача, що визначений сервер включений до групи користування, роботу з яким слід підтвердити натиском кнопки Готово.

7. Шосте (останнє) вікно виводить на екран повідомлення про результат реєстрації користувача, у разі успішної реєстрації на екрані має з'явитись повідомлення Reqistered successfully (реєстрація успішна) - Close. Система повертається до вікна програми Enterprise Manager, у якому фіксує сервер і метод реєстрації.

 

DML Заміна існуючих даних.

Оператор ALTER TABLE забезпечує можливість змінювати структуру існуючої таблиці. Наприклад, можна додавати або видаляти стовпці, створювати або знищувати індекси або перейменовувати стовпці або саму таблицю. Можна також змінювати коментар для таблиці та її тип. See section 6.5.3 Синтаксис оператора CREATE TABLE.

 

Якщо оператор ALTER TABLE використовується для зміни визначення типу стовпця, але DESCRIBE tbl_name показує, що стовпець не змінився, то, можливо, MySQL ігнорує дану модифікацію по одній з причин, описаних у розділі section 6.5.3.1 Мовчазні зміни визначень стовпців. Наприклад, при спробі змінити стовпець VARCHAR на CHAR MySQL буде продовжувати використовувати VARCHAR, якщо дана таблиця містить інші стовпці з змінною довжиною.

 

Оператор ALTER TABLE під час роботи створює тимчасову копію вихідної таблиці. Необхідну зміна виконується на копії, потім вихідна таблиця віддаляється, а нова перейменовується. Так робиться для того, щоб в нову таблицю автоматично потрапляли всі оновлення крім невдалих. Під час виконання ALTER TABLE вихідна таблиця доступна для читання іншими клієнтами. Операції оновлення та записи в цій таблиці припиняються, поки не буде готова нова таблиця.

 

DDL. Видалення баз даних

db_name

- Задает имя базы данных, которую необходимо удалить.

IF EXISTS

- Если не указать этот параметр, то при попытке удаления не существующей базы данных, возникнет ошибка выполнения команды. Данный параметр доступен в MySQL 3.22 и более поздних версиях.

При выполнении команды DROP DATABASE удаляется как сама база данных, так и все таблицы, которые в ней находятся.

Если производится удаление базы данных, которая символически связана с другой базой данных, то удалиться как сама ссылка, так и оригинальная база данных.

В следующем примере мы удалим базу данных db_test:

1 DROP DATABASE `db_test`

 

SQL. Вкладені запити.

Вкладений запит дозволяє використовувати результат, що повертається одним запитом, в іншому запиті. Можливість застосування одного запиту всередині іншого і була причиною появи слова "структурований" в назві "структурована мова запитів" (SQL). Так як результат повертає лише оператор SELECT, то в якості "вкладеного" запиту завжди виступає SELECT-запит (інформаційні SQL-запити з використанням нестандартних операторів SHOW, DESCRIBE до уваги не приймаються). В якості зовнішнього запиту може виступати запит з участю будь-якого SQL-оператора: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE та ін.

Приклад

SELECT name FROM catalogs

WHERE id_catalog = (SELECT id_catalog FROM products

WHERE price = (SELECT MAX(price) FROM products));

name

Процесори

Як видно ступінь вкладення запитів не обмежений другим рівнем, можутьвикористовуватися трирівневі і багаторівневі вкладені запити. Першийвнутрішній запит визначає максимальну ціну в таблиці products:

SELECT MAX (price) FROM products

Зовнішній по відношенню до нього запит визначає значення первинного ключа (id_catalog) для товарної позиції з максимальним значенням ціни (725.00):

SELECT id catalog FROM products WHERE price = 725.00

Отримане значення поля id catalog (рівне 1) підставляється у зовнішній запит

SELECT name FROM catalogs WHERE id_catalog = 1

 

SQL. Об’єднання таблиць.

Об'єднання дуже часто використовуються для аналізу даних. Як правило, дані знаходяться в різних таблицях, що дозволяє їх більш ефективно зберігати (оскільки інформація не дублюється), спрощує обробку даних та дозволяє масштабувати базу даних (можливо додавати нові таблиці з додатковою інформацією). Таблиці баз даних, які використовуються в СУБД Access являються реляційними таблицями, тобто всі таблиці можна пов'язати між собою по спільним полям.

Об'єднання таблиць дуже проста процедура. Потрібно вказати всі таблиці, які будуть включені в об'єднання та "пояснити" СУБД, як вони будуть пов'язані між собою. Поєднання робиться за допомогою слова WHERE.

 

SQL. Агрегатні функції.

Взагалі кажучи, запити можуть проводити узагальнену групову обробку значень полів, що реалізується за допомогою агрегатних функцій. Агрегатні функції проводять одиночне значення для всієї групи таблиці. У SQL допускаються наступні агрегатні функції:

 

ƒ COUNT – робить підрахунок кількості рядків або не-NULL значень полів, які вибрав запит;

 

ƒ SUM – розраховує арифметичну суму всіх вибраних значень даного поля;

ƒ AVG – проводить усереднювання всіх вибраних значень даного поля;

ƒ МАХ – знаходить і повертає найбільше зі всіх вибраних значень даного поля;

ƒ MIN – знаходить і повертає найменше зі всіх вибраних значень даного поля

Агрегатні функції використовуються подібно до імен полів в пропозиції SELECT запиту, але з врахуванням того, що вони беруть імена поля як аргументи. Варто мати на увазі, що із SUM і AVG використовуються тільки числові поля, а з COUNT, МАХ і MIN можуть використовуватися числові або символьні поля. Коли функції записуються з символьними полями, МАХ і MIN використовують їх в еквівалент ASCII, відповідно до якого вибирається максимальне або мінімальне значення.

 

Щоб знайти суму всієї виплаченої стипендії в таблиці з даними про студентів, можна використовувати наступний запит:

 

SELECT SUM (STYP)

 

FROM STUDENTS;

 

вивід якого складається з одного числа грн.670,50.

 

Дія агрегатних функцій, як видно, відрізняється від вибору поля, при якому повертається, наприклад, одиночне значення. З цієї причини агрегатні функції і поля не можуть спільно використовуватися без пропозиції GROUP BY, про яку мова піде нижче.

 

Функція COUNT дещо відрізняється від інших – як вже було відмічено, вона рахує кількість значень в даному стовпці, або число рядків в таблиці. Зокрема, для підрахунку кількості значень в стовпці, вона використовується з DISTINCT. Наприклад, можна підрахувати кількість студентів, що складали навчальні предмети по таблиці успішності за допомогою наступного запиту:

 

SELECT COUNT (DISTINCT SNUM)

 

 

 

 

FROM USP;

 

Як результат цього запиту буде отримане значення 4. Зверніть увагу на обов'язкову вимогу того, щоб DISTINCT був поміщений в круглі дужки на відміну від попередніх прикладів. Крім того, допускається можливість використання DISTINCT з будь-якими агрегатними функціями, але найчастіше він використовується з COUNT.

 

Для того, щоб підрахувати загальне число рядків в таблиці, використовують функцію COUNT із зірочкою замість імені поля, наприклад як в наступному прикладі:

 

SELECT COUNT (*)

FROM STUDENTS;

що як результат дасть значення 5.

 

COUNT із зірочкою включає записи з NULL значеннями, а також дублікати, з цієї причини DISTINCT в даному випадку не може бути використаний.

 

Агрегатні функції в більшості реалізацій допускають використання аргументу ALL, який поміщається перед ім'ям поля аналогічно DISTINCT, проте означає протилежну дію – включати дублікати. Необхідно пояснити відмінності між ALL і *, коли вони використовуються з COUNT – ALL використовує ім'я поля як аргумент і не може підрахувати значення NULL. При цьому варто пам'ятати, що функції, відмінні від COUNT, ігнорують значення NULL у будь-якому випадку. Наступний приклад підрахує кількість не-NULL значень в полі SNUM, включаючи повторення:

 

 

SELECT COUNT (ALL SNUM)

 

FROM USP;

 

Як результат цього запиту буде отримане значення 5.

 

У SQL допускається використовувати агрегатні функції з аргументами, які складаються з виразів, що включають одне або більше полів, при цьому команда DISTINCT не дозволяється. Припустимо, що необхідно знайти максимальну величину проіндексованої (у прикладі, збільшеної вдвічі) стипендії. Для кожного рядка таблиці такий запит повинен множити STYP на 2 і вибирати найбільше значення, яке буде знайдене. Для цього можна скористатися наступним:

 

SELECT MAX (STYP*2)

 

FROM STUDENTS;

 

Як результат тут буде отримане число грн.501,00

 

SQL. Типи даних.

Тип даних Розмір Опис
BINARY 1 байт на символ У полі цього типу можна зберігати будь-який тип даних. Перетворення даних (наприклад, на текст) не виконується. Спосіб введення даних у двійкове поле визначає їх відображення на виводі.
BIT 1 байт Значення «Так» і «Ні» та поля, які містять лише одне з двох значень.
TINYINT 1 байт Ціле значення між 0 і 255.
MONEY 8 байтів Масштабоване ціле число між – 922 337 203 685 477,5808 і 922 337 203 685 477,5807.
DATETIME (Див. DOUBLE) 8 байтів Значення дати або часу між роками 100 та 9999.
UNIQUEIDENTIFIER 128 бітів Унікальний ідентифікаційний номер, який використовується з віддаленими викликами процедур.
REAL 4 байти Одинарне значення з рухомою комою в діапазоні від – 3,402823E38 до – 1,401298E-45 для від’ємних значень, від 1,401298E-45 до 3,402823E38 для додатних значень і 0.
FLOAT 8 байтів Подвійне значення з рухомою комою в діапазоні від – 1,79769313486232E308 до – 4,94065645841247E-324 для від’ємних значень, від 4,94065645841247E-324 до 1,79769313486232E308 для додатних значень і 0.
SMALLINT 2 байти Коротке ціле число в діапазоні від – 32 768 до 32 767.
INTEGER 4 байти Довге ціле число в діапазоні від – 2 147 483 648 до 2 147 483 647.
DECIMAL 17 байтів Точний числовий тип даних, який містить значення від 1028 - 1 до - 1028 - 1. Можна визначити як точність (1 - 28), так і масштаб (точність визначено як 0). Точність і масштаб за промовчанням складають 18 і 0 відповідно.
TEXT 2 байти на символ (див. «Примітки») Від нуля до максимум 2,14 Гбайт.
IMAGE За потреби Від нуля до максимум 2,14 Гбайт. Використовується для об’єктів OLE.
CHARACTER 2 байти на символ (див. «Примітки») Від нуля до 255 символів.

 

 

Моделі даних.

Дані, які зберігаються в БД мають визначену логічну структуру, тобто описуються деякою моделлю представлення даних (моделлю даних), яка підтримується СУБД. До числа класичних відносяться наступні моделі даних:

· Ієрархічна,

· Мережна

· Реляційна.

Крім того, в останні роки з’явились та стали більш активно впроваджуватись на практиці наступні моделі даних:

· Постреляційна,

· Багатовимірна

· Об’єктно-орієнтована

Ієрархічна модель:

Об'єкти, що перебуваю-----------------------------------ть в ієрархічних відношеннях, утворюють дерево «орієнтований граф», у якого є тільки одна вершина, не підлегла жодній іншій вершині (цю вершину називають коренем дерева); будь-яка інша вершина графа підлегла лише одній іншій вершині (рис. 3.2).
Концептуальна схема ієрархічної моделі являє собою сукупність типів записів, пов'язаних типами зв'язків в одне чи кілька дерев. Усі типи зв'язків цієї моделі належать до виду «один до декількох».

До переваг ієрархічної моделі даних відносяться ефективне використання пам’яті ЕОМ та непогані показники часу виконання основних операцій над даними. Ієрархічна модель даних зручна для роботи з ієрархічно упорядкованою інформацією.

Недоліки – громіздкість обробки інформації із складними логічними зв’язками, а також складність для розуміння звичайними користувачами (IMS, PC/Focus, Ока, ИНЭС, МИРИС).

Мережна модель:

Мережна БД складається з набору записів та набору відповідних зв’язків. Якщо в ієрархічних структурах запис-нащадок міг мати тільки один запис-попередник, то в сітьовій моделі даних він може мати довільне число записів-попередників.

Перевагами мережної моделі є можливість ефективної реалізації по показниках затрат пам’яті та оперативності. Порівняно з ієрархічною моделлю, Мережна модель надає великі можливості в припустимості утворення довільних зв’язків.

Недоліками мережної моделі є велика складність схеми БД, а також складність обробки інформаціі для звичайного користувача.(IDMS, СЕТЬ, КОМПАС).

Реляційна модель:

Реляційна модель даних запропонована співробітником фірми IBM Коддои та базується на понятті відношення (relation)

Відношення являють собою множину елементів, які називаються кортежами. Наглядною формою представлення відношення є звичайна таблиця, яка має рядки (записи) та стовпчики (колонки). Кожний рядок має однакову структуру та складається з полів. Рядкам таблиці відповідають кортежі, а стовпчикам – атрибути відношень. Наприклад, таблиця може містити відомості про групу студентів, про кожного з яких відомі наступні характеристики: ПІБ, стать, вік, домашня адреса. Для опису складних логічних структур застосовують зв’язування таблиць.

Перевагою реляційної моделі є простота, наочність та зручність реалізації на ЕОМ. Це є основною причиною їх широкого використання.

Недоліки – складність опису ієрархічних та сітьових зв’язків. Приклади реляційних СУБД (dBase IV, FoxBase, Paradox, Visual Foxpro, Access, Oracle).

 

 

Структура баз даних.


База даних (БД) — це значка кількість однорідних даних з конкретної предметної галузі, які зберігаються на комп'ютерних носіях. БД створюють, якщо є потреба регулярно опрацьовувати великі обсяги однорідної інформації: списки абітурієнтів чи студентів з їхніми оцінками, анкетні дані співробітників деякого закладу чи фірми, розклади руху різних видів транспорту, про­позиції товарів на ринку чи облік матеріалів на складах тощо.

СУБД – це спеціальний пакет програм, що забезпечує створення, супроводження і використання баз даних багатьма користувачами.

Робота з БД складається з таких етапів:

1) створення структури БД;
2) введення даних;
3) редагування структури і даних;
4) відшукання інформації в БД;
5) оформлення звітів.

Властивості відношень.

Відношення являють собою множину елементів, які називаються кортежами. Наглядною формою представлення відношення є звичайна таблиця, яка має рядки (записи) та стовпчики (колонки). Кожний рядок має однакову структуру та складається з полів. Рядкам таблиці відповідають кортежі, а стовпчикам – атрибути відношень. Наприклад, таблиця може містити відомості про групу студентів, про кожного з яких відомі наступні характеристики: ПІБ, стать, вік, домашня адреса. Для опису складних логічних структур застосовують зв’язування таблиць.

Така таблиця має ряд властивостей:

1. В таблиці немає двох однакових рядків.

2. Таблиця має стовпці, відповідні атрибутам відношення.

3. Кожний атрибут у відношенні має унікальне ім'я.

4. Порядок рядків в таблиці довільний.

Зв’язки в реляційних базах даних.

Реляційна база даних складається з взаємопов’язаних таблиць. Структура таблиці визначається сукупністю стовпців (полів), типом і розміром даних кожного стовпця, а також первинним ключем таблиці. Рядки таблиці однозначно ідентифікуються значенням ключа. Логічні зв'язки між таблицями в реляційній базі даних реалізуються за рахунок однакових полів в зв'язуваних таблицях.

Отже, у результаті проектування має бути визначена логічна структура бази даних, тобто склад реляційних таблиць, їх структура і міжтабличні зв'язки.

Зв’язок виду 1:1:
Зв’язок виду 1:1 утворюється у випадку, коли всі поля зв’язку основної та додаткової таблиці є ключовими. Оскільки значення в ключових полях обох таблиць не повторюються, забезпечується взаємооднозначна відповідність записів з цих таблиць, тобто таблиці є рівноправними.

Зв’язок виду 1:М:

Зв’язок 1:М має місце, коли одному запису основної таблиці відповідає декілька записів допоміжної таблиці.

Зв’язок виду М:1:

Зв’язок М:1 має місце у випадку, коли одній чи декільком записам основної таблиці ставиться у відповідності один запис додаткової таблиці.

Зв’язок вигляду М:М

Загальний вигляд зв’язку М:М виникає у випадках, коли декільком записам основної таблиці відповідає декілька записів додаткової таблиці.

 

Реляційна алгебра



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 4900; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.211.107 (0.189 с.)