Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3.doc
Скачиваний:
34
Добавлен:
12.02.2016
Размер:
239.62 Кб
Скачать

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

 

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

Процес проектування БД являє собою процес нормалізації, тобто побудови сукупності нормальних форм, при якому кожна наступна нормальна форма має властивості кращі, ніж попередня.

Кожній нормальній формі відповідає деякий набір обмежень. Основні властивості нормальних форм:

кожна наступна нормальна форма в деякому змісті краще попередньої;

при перехід до наступної нормальної форми властивості попередніх нормальних властивостей зберігаються.

У теорії реляційних баз даних звичайно виділяється наступна послідовність нормальних форм: перша нормальна форма; друга нормальна форма; третя нормальна форма; нормальна форма Бойса-Кодда; четверта нормальна форма; п'ята нормальна форма, або нормальна форма проекції-з'єднання.

Метою нормалізації є:

Зменшення обсягу для зберігання даних.

Підвищення ефективності роботи БД.

Процедура нормалізації виконується поетапно.

Існує п'ять етапів нормалізації, які називаються в теорії проектування БД побудовою нормальних форм.

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

Двомірність означає, що таблиця повинна визначаться двома параметрами:

довжиною - кількістю рядків або записів;

шириною - кількістю стовпців або полів.

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

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

На третьому етапі ( при побудові 3-ї нормальної форми) потрібно, щоб усі не ключові стовпці були незалежні один від одного. Якщо така залежність з'являється, то це служить підставою для розбивки таблиці.

На четвертому етапі (при побудові 4-ї нормальної форми) потрібно, щоб в одній таблиці не втримувалися елементи даних, якщо між ними існують відношення "багато до багатьох " або " один до багатьох".

На п'ятому етапі (при побудові 5-ї нормальної форми) потрібно, щоб можна було відновити вихідну таблицю на основі інформації тих таблиць, на які вона була розбита.

База даних може містити будь-яке число таблиць

5.2. Особливість створення баз даних з просторово-локалізованими даними

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

Розглядаючи три характеристики "місце", "час", "тема", слід зазначити, що особливість полягає в організації зі зберіганням даних, що відбивають властивість "місце". Дані "час" і "тема" зберігаються традиційними способами в таблицях.

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

Графічні дані про місце розташування зберігаються у векторних або растровому виді, а відповідна атрибутивна інформація в безлічі таблиць, пов'язаних з описуваними об'єктами. Це називають пространст- венносвязанной структурою даних.

Просторові дані можуть бути організовані тематично у вигляді сукупності рівнів (шарів), або тем. Одна тема представляє одна безліч просторових об'єктів або явищ, об'єднаних по якихось загальних ознаках.

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

Одним з методів роботи із просторовими даними є використання індексів.

Індекс - форма посилання до даних, який прискорює доступ до даних, упорядковуючи значення по полю.

Індекс може постійно перебувати як файл на диску - постійний індекс, або це може бути індекс, створений на час сеансу роботи - тимчасовий індекс.

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

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

Одним з підходів до організації індексів є використання техніки хэширования. Ідея методів хэширования полягає в застосування до значення ключа деякої функції згортки ( хэшкфункції), що виробляє значення меншого розміру. Згортка значення ключа потім використовується для доступу до запису.

У найпростішому випадку згортка ключа використовується як адреса в таблиці, що містить ключі й запису. Основною вимогою дохэшкфункції є рівномірний розподіл значення згортки. При виникненні неоднозначності ( та сама згортка для декількох значень ключа) утворюються ланцюжки переповнення. Головним обмеженням цього методу є фіксований розмір таблиці. Якщо таблиця заповнена занадто сильно або переповнена, але виникне занадто багато ланцюжків переповнення, і головна перевага хэширования - доступ до запису майже завжди за одне звертання до таблиці - буде втрачено. Розширення таблиці вимагає її повної переробки на основі нової хэшкфункції (зі значенням згортки більшого розміру).

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

Для виключення повної переробки довідників при їхній організації використовують техніку бінарних дерев з розщепленнями й злиттями. Шляхом додаткових технічних хитрувань вдається добитися збереження порядку записів у відповідності зі значеннями ключа. При організації бази даних просторово - локалізованих інформаційних систем застосовують три схеми. Перша умовно називається внутрішньої. Вона заснована на використанні внутрішньої бази даних інформаційної системи, наприклад ГІС.

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

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

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

SQL – це скорочена назва структурованої мови запитів (Structured Query Language). Як випливає з назви SQL є мовою програмування, яка застосовується для організації взаємодії користувача з базою даних. Насправді SQL працює лише з базами даних одного типу, якіназивають реляційними.

SQL придумали в IBM на початку 1970-их, відразу після введення Коддом поняття реляційних баз даних. Від початку SQL був легкою увивченні, але потужною мовою. Він нагадує природну мову, таку як англійська, тому не втомлює тих, хто не є технічним спеціалістом. SQL став дуже популярним серед користувачів, для яких призначався, що в 1980-их компанія Oracle випустила першу в світі загальнодоступнукомерційну SQL-систему. Oracle-SQL став неймовірно популярним та породив навколо SQL цілу індустрію. Sybase, Informix, Microsoft та рядінших компаній вийшли на ринок з власними розробками реляційних систем управління базами даних (РСУБД), які ґрунтуються на SQL.

Хоча читання даних залишається однією з найважливіших функцій SQL, сьогодні ця мова використовується для реалізації всіх функціональних можливостей, які СУБД представляє користувачам:

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

Читання даних, SQL надає користувачу або програмі можливість читати із бази даних містиму в ній інформацію.

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

Управління доступом. За допомогою SQL можна обмежити можливості користувача для читання та зміни даних та захистити їх від несанкціонованого доступу.

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

Цілісність даних. SQL дозволяє забезпечити цілісність бази даних, захищаючи її від руйнування через невідповідність змін або відмову системи.

Таким чином SQL є достатньо потужною мовою для взаємодії з СУБД. SQL є мовою інтерактивних запитів, яка забезпечує користувачаммиттєвий доступ до даних. За допомогою SQL користувач може в інтерактивному режимі отримати відповіді на найскладніші запити захвилини аьо й секунди, тоді як програмісту знадобилося б дні та тижні для написання відповідної програми. Через можливість SQL допускатинегайні запити, дані стають більш доступними та можуть допомогти в прийнятті рішень, роблячи їх більш обґрунтованими.

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

Далі ми розглянемо основні оператори мови SQL, для маніпулювання даними: вставки, пошуку, поновлення та видалення даних.