14612

Проектування логічної структури сховища даних з архітектурою зведення даних

Лабораторная работа

Информатика, кибернетика и программирование

7 Лабораторна робота № 3 з дисципліни: Технології сховищ даних на тему: Проектування логічної структури сховища даних з архітектурою зведення даних Мета роботи: Вивчення порядку методів та засобів проектування і побудови сховища даних з ар...

Украинкский

2013-06-08

181.48 KB

9 чел.

7

Лабораторна робота № 3

з дисципліни:

«Технології сховищ даних»

на тему:

«Проектування логічної структури сховища даних з архітектурою зведення даних»

Мета роботи: Вивчення порядку, методів та засобів проектування і побудови сховища даних з архітектурою зведення даних та оцінка часу виконання запитів.

Теоретичні відомості

Зведення даних (Data Vault) (ЗД) – предметно орієнтована, історична і унікально зв'язана множина нормалізованих таблиць, які підтримують одну або більше функціональних предметних областей. Це – гібридний підхід, що поєднує кращі особливості 3-ої нормальної форми (3НФ) і схеми «зірка».

У лабораторінй роботі № 1 подано ориґінальну 3НФ модель, пристосовану до архітектури сховищ даних. Одна особливо складна проблема очевидна, коли значення часу-дати розміщена в первинному ключ таблиці батька (див рис. 1).

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

Рис 1. Використання часу у 3НФ.

Тому подальшим розвитком була схема «зірка», яка вимагала денормалізації, але водночас була краще пристосована до виконання аналітичних завдань. Модель «зірка» добре працює для швидкого подання багатовимірної інформації для певних груп кінцевих користувачів. Її перевагами є: багатовимірний аналіз, сумарні звіти (графи, пошук мінімуму, максимуму, зміна рівнів аґреґування). Проте, як виявилося, така модель не є гнучкою, оскільки її структура є незмінною, жорстко форматованою. Також вона не здатна забезпечити статистичний аналіз.

Схема «зірка» здатна до виконання операції «slice and dice» для окремого користувача або групи користувачів. Також недоліком є неможливість подання усього масиву інформації у вигляді довільних звітів. Нарешті, модель дуже надмірна і важка для здійснення змін у структурі.

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

На рис. 2 подано модель зв’язків між сутностями предметної області «Торговельна фірма», яка дозволяє перейти до моделі СД зведення даних.

Рис. 2. Схема зведення даних.

Компоненти зведення даних

Є мінімальний ряд компонентів архітектури зведення даних:

  1.  центральна таблиця (Hub) – моделює первинний ключ певної ґранули, тобто є центром зірки,
  2.  таблиця зв’язку (Link entities) – сутність, що є зв’язком між екземплярами Hub,
  3.  таблиці-супутники (Satellite entities) – забезпечують описовий контекст для відповідного екземпляра Hub або Link.

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

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

  1.  Business key – первинний ключ об’єкту певної ґранули описуваної зірки,
  2.  Surrogate key – суроґатний ключ, номер стрічки; використовується тоді, коли певний об’єкт описується декількома рядками,
  3.  Load Date time stamp – дата появи запису в контенті сховища даних,
  4.  Record source – запис про систему, звідки прийшов business key.

Таблиця зв’язку моделює зв'язок багато-до-багатьох на фізичному рівні між двома або більше центральними таблицями. Має наступні атрибути:

  1.  Hub1…HubN key – зовнішні ключі таблиць центрів,
  2.  Surrogate key – суроґатний ключ, номер стрічки; використовується тоді, коли описуються більше ніж два центри і неможливо однозначно визначити унікальний рядок  у зв’язку з повторами значень зовнішніх ключів,
  3.  Load Date time stamp – дата, коли зв'язок вперше був відображений у сховищі даних,
  4.  Record source – запис про систему, звідки прийшов зв'язок.

Таблиці-супутники містять описовий контекст екземплярів Hub або Link. Опис може змінюватися з часом і така сутність повинна вміти зберігати нові або змінені дані. Має обов'язкові атрибути:

  1.  первинний ключ Hub або первинний ключ Link – ключі відповідних екземплярів,
  2.  Load Date time stamp – дата, коли з’явився описовий контент,
  3.  Sequence surrogate number – номер стрічки для сутностей, які мають множинні значення або для організації в підгрупи,
  4.  Record source – запис про початкову систему.

Наявність таблиць центів (Hub) та таблиць зв’язків (Link) дозволяють зменшити розрідженість даних, яка виникає внаслідок багатовимірного подання інформації.

Також одним із підвидів ЗД є матрична методологія, яка розширена ще однією таблицею Малюнок (Picture) для фіксації історичності даних та історичності зв’язків. Приклад матричної методології до проектування сховищ даних подано на рис. 8.3.

Проектування на основі зведення даних передбачає такі етапи.

  1.  Моделювання Hub. Передбачає виявлення сутностей проблемної області.
  2.  Моделювання Links. Виявлення можливих взаємозв'язків між сутністю, транзакціями та процесами функціонування, що є в проблемній області.
  3.  Моделювання Satellites. Виявлення описового контенту як для сутностей – Hubs, так і для транзакцій – Links, що об’єднують сутності.

Рис. 8.3. Схема матричної ЗД.

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

Проектування за методологією ЗД вимагає дотримання таких правил.

  1.  Первинні ключі таблиць-центрів не можуть міститися в інших екземплярах таблиць центів.
  2.  Зв'язок між центрами відображається за допомогою Link.
  3.  Link повинен містити не менше двох зовнішніх ключів таблиць-центрів.
  4.  Link може використовуватися для зв'язку більше двох таблиць-центрів.
  5.  Link може посилатися на інший екземпляр Link.
  6.  Surrogate keys (номери стрічок) можуть бути присутніми в Hub і Link.
  7.  Таблиці-супутники можуть описувати як Hub, так і Link.
  8.  Таблиці-супутники повинні містити дату завантаження інформації або посилання на окрему таблицю дат.
  9.  Таблиці-супутники фіксують тільки зміни, в них немає повторів рядків, дані групуються за вмістом і частотою змін.

Перед перетворенням сховища даних з іншою архітектурою в архітектуру з використанням ЗД необхідно дослідити наявні структури даних:

  1.  незалежні таблиці – не перетворюються, копіюються повністю,
  2.  чи визначені відношення первинних-зовнішніх ключів,
  3.  чи використовуються в моделі номери стрічок – якщо використовуються, необхідно заново наповнити дані,
  4.  чи можна класифікувати інформацію за класом або типом даних,
  5.  наскільки часто змінюються атрибути.

Можливі застосування зведення даних

Зведення даних може застосовуватись для різних предметних областей. Маленький список можливостей поданий нижче.

  1.  Динамічні сховища даних – побудовані на динамічних автоматизованих змінах, що виконуються як до процесу, так і до структури в межах сховища.
  2.  Сховища дослідження – дозволяється споживачам керувати структурами сховища даних без втрати вмісту.
  3.  Застосування «брудних» даних – дозвіл використовувати історичні та неочищені дані для видобування даних (штучного інтелекту).
  4.  Швидке з'єднання зовнішньої інформації – здатність швидко зв'язати і пристосувати структури, щоб внести зовнішню інформацію і відобразити це в межах сховища даних без руйнування наявного вмісту.

Хід роботи

  1.  Додамо користувачів у таблицю Users. Результат виконання зображений на рисунку 1:

use BetBattles

go

Одиничне додавання:

insert into Users([Login], [E-Mail], RegistrationDate, PasswordHash, PasswordSault, IsAdmin)

values ('admin', 'adminBetBattles@gmail.com', GETDATE(), 'qwertyuiopasdfghjklzxcvbnmlkjhgf', 123, 1);

go

Групове додавання:

insert into Users([Login], [E-Mail], RegistrationDate, PasswordHash, PasswordSault, [IsAdmin])

values ('admin2', 'admin2BetBattles@gmail.com', GETDATE(), 'q1wertyigoasdfghjklzxcvbnmlkjhgf', 123, 1),

 ('user1', 'ololo@mail.ru', GETDATE(), '627ertyuihjgsdfhjklxcfgtimlkjhgf', 89, 0),

 ('Chuck', 'chuck@google.com', GETDATE(), '787er93ihjgsdfgklzfxcutimlkjhgf', 42, 1);

go

Рис.1. Таблиця Users після виконання додавання

  1.  Створимо файли з даними для таблиць Groups та Matches. Використовуючи настпуні скрипти додамо дані до таблиць. Результати виконання представлені на рисунку 2.

BULK

INSERT Groups

FROM 'D:\NULP\4Kurs2semestr\SUBD\groups.db'

WITH

(

FIELDTERMINATOR = '\t',

ROWTERMINATOR = '\n'

)

GO

BULK

INSERT Matches

FROM 'D:\NULP\4Kurs2semestr\SUBD\matches.db'

WITH

(

FIELDTERMINATOR = '\t',

ROWTERMINATOR = '\n'

)

GO

Рис.2. Таблиці Groups та Matches з доданими даними

Рис.3. Змінена таблиця Users

  1.  У таблиці Users замінимо всіх користувачів адміністраторів на звичайних користувачів, а користувачів не адміністраторів, а також змінимо всі логіни на жартівливі. Результати зміни даних у таблицях представлені на рисунку 3:

use BetBattles

go

UPDATE Users

SET IsAdmin = 1 - IsAdmin;

UPDATE Users

SET Login = Login + 'BetWarrior';

Рис. 4. Результат зміни даних у таблиці Users

  1.  З таблиці Matches видалимо всі матчі, що відбувалися 25 лютого та раніше. Результати представлені на рисунку 4:

use BetBattles

go

delete from Matches

where Date<='2012-02-25'

Рис. 4. Таблиця Matches після видалення даних

Висновок: Під час виконання даної лабораторної роботи, я вивчив порядок, методи та засоби проектування і побудови сховища даних з архітектурою зведення даних та способи оцінки часу виконання запитів.


 

А также другие работы, которые могут Вас заинтересовать

14750. Программное обеспечение вычислительной техники и автоматизированных систем. Структуры и алгоритмы обработки данных 1.73 MB
  Пособие содержит большое число примеров фрагментов программ, а также задания для самостоятельного практического решения. Выполнение практических заданий является абсолютно необходимым...
14751. Демонстрация работы среды Micro-CAP 149 KB
  ЛАБОРАТОРНАЯ РАБОТА №1 Демонстрация работы среды MicroCAP по дисциплине Электротехника и электроника Цель работы Приобретение навыков моделирования электронных схем на примере схемы амплитудного детектора Ознакомление методической рекомендации по выпол...
14752. Форматы графических файлов .BMP и .PCX. Групповое кодирование изображения в этих форматах 242.5 KB
  Лабораторная работа №3 Тема: Форматы графических файлов .BMP и .PCX. Групповое кодирование изображения в этих форматах. Название: Microsoft Windows Bitmap Известен также как: BMP DIB Windows BMP Windows DIB Compatible Bitmap Тип: Растровый Цвета: 1 4 8 16 24 и 32битовые Сжатие: RLE без сжати
14753. ИЗУЧЕНИЕ ПРЕДСТАВЛЕНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ В WINDOWS 144.25 KB
  Лабораторная лабота №1 Изучение представления графической информации в Windows Цель работы: Написать программу реализующую просмотр графического файла формат BMP. Программа должна: загружать и выводить на экран произвольный файл с использованием файловых функ
14754. УВЕЛИЧЕНИЕ И УМЕНЬШЕНИЕ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ 469.1 KB
  Лабораторная лабота №2 увеличение и уменьшение графических изображений Цель работы: Изучить методы увеличения и уменьшения цифровых изображений и применить полученные знания на практике. Задание: написать программу способную производить увеличение исходного и...
14755. ФИЛЬТРАЦИЯ ИЗОБРАЖЕНИЯ ОТ ИМПУЛЬСНЫХ ПОМЕХ 716.04 KB
  Лабораторная лабота №3 фильтрация изображения от импульсных помех Цель работы: фильтрация изображения от импульсных помех. Задание: Составить программу выполняющую фильтрацию изображения от импульсных помех методами функции рассеяния точки H1 H4 Код про...
14756. Написать программу, реализующую просмотр графического файла (формат BMP) 255.5 KB
  Цель работы: Написать программу реализующую просмотр графического файла формат BMP. Программа должна: загружать и выводить на экран произвольный файл с использованием файловых функций; читать все файлы с цветовой палитрой до 256 цветов black/whitegrey16256; выводи
14757. МАСШТАБИРОВАНИЕ ИЗОБРАЖЕНИЙ 683.18 KB
  Лабораторная лабота №2 Масштабирование изображений Цель: произвести уменьшение и увеличение изображения методами ближайшего соседа и билинейной интерполяцией. Текст программы: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; ...
14758. Мова, функції мови 3.37 MB
  Комунікативна функція. Цей найбільш універсальний засіб спілкування не здатні замінити всі інші — найсучасніші й найдосконаліші — навіть разом узяті. Мова, якою не спілкуються, стає мертвою і в історії людських мов дуже мало прикладів повернення мов до життя; народ, який втрачає свою мову, поступово зникає.