Разработка программного обеспечения, Структура хранения транзакций в базах данных - Разработка программного обеспечения для реализации и тестирования алгоритма нахождения частых множеств в транзакционных данных вертикального формата
Для разработки программного обеспечения использован язык Java. Разработка проводилась в среде Eclipse Ganymede 3.2. В качестве СУБД для тестирования приложения использован MySQL 5.1
Структура хранения транзакций в базах данных
Так как для примера области применения алгоритма мы выбрали анализ транзакций покупок в магазине, необходимо представлять, как и в какой структуре хранятся эти транзакции.
Для примера возьмем 4 транзакции:
1: Вода, Мясо, Хлеб
2: Молоко
3: Сметана, Мясо, Макароны, Вода
4: Хлеб, Молоко
В основном, для хранения данных используются реляционные базы данных (Oracle, DB2,MySql и другие). В реляционных базах данные хранятся в таблицах. Одной из структур хранения транзакций покупок может быть разделение данных на 2 таблицы:
- - Таблица товаров - Таблица транзакций
Рассмотрим таблицу товаров
Id |
Name |
10 |
Молоко |
20 |
Хлеб |
30 |
Мясо |
40 |
Макароны |
50 |
Сметана |
60 |
Вода |
В таблице товаров хранится список всех товаров, присутствующих в базе.
Таблица состоит из 2 столбцов. В столбце "Id" хранится уникальный иденти-фикатор товара, первичный ключ. Столбец "Name" содержит наименование товара.
Tid |
Element |
1 |
60 |
1 |
30 |
1 |
20 |
2 |
10 |
3 |
50 |
3 |
30 |
3 |
40 |
3 |
60 |
4 |
20 |
4 |
10 |
Таблица транзакций (Рисунок 11) также состоит из 2 столбцов. В столбце "Tid" находятся номера транзакций (их также можно назвать идентификаторами транзакций). Столбец "Element" содержит идентификатор одного из товаров, купленного в эту транзакцию. Таким образом, первая транзакция из нашего примера (Вода, Мясо, Хлеб) представлена в таблице транзакций тремя записями. Вторая транзакция, состоящая из одного товара, представлена одной записью и т. д.
Как видно из вышесказанного, названия товаров не хранятся в таблице транзакций, для них заведена специальная таблица. Вместо названий товаров таблице транзакций хранятся первичные ключи товаров (то есть ссылки на эти товары).
Данный способ представления данных дает следующие преимущества:
- - Экономия памяти - наименование товара, как правило, занимает больше памяти, чем его идентификатор. - Упрощение модификации товара - при изменении наименования товара, достаточно, изменить значение столбца "Name" в таблице товаров для данного товара. Таблицу транзакций изменять не надо, так как в ней хранятся только идентификаторы товаров. - Упрощение модификации транзакции - поскольку транзакции хранятся поэлементно, то при удалении товара из транзакции или добавлении товара в транзакцию, происходит добавление или удаление записи в таблице транзакций.
Для сравнения рассмотрим другие способы представления.
Tid |
Elements |
1 |
60,30,20 |
2 |
10 |
3 |
50,30,40,60 |
4 |
20,10 |
В таблице транзакций на рисунке 12 столбец "Elements", содержащий идентификаторы товаров, является многозначным. При удалении товара из транзакции придется удалять идентификатор товара из cтроки, это более трудоемкая операция, чем удаление одной записи из таблицы транзакций на рисунке 11.
Tid |
Молоко |
Хлеб |
Мясо |
Макароны |
Сметана |
Вода |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
2 |
1 |
0 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
1 |
1 |
1 |
1 |
4 |
1 |
1 |
0 |
0 |
0 |
0 |
В таблице транзакций на рисунке 13 для каждого товара есть свой столбец. Каждая транзакция является отдельной записью, номер транзакции хранится в столбце "Tid". Если товар присутствует в транзакции, то значение столбца товара для данной транзакции равно 1, иначе 0. Данный способ представления нежизнеспособен, поскольку число столбцов не фиксировано, и при удалении или добавлении товара придется удалять или добавлять столбец, это приведет к пересчету всей таблицы.
Похожие статьи
-
Термин "транзакция" относится к подмножеству предметов из общей совокупности с переменным числом предметов (мощностью подмножества). Транзакциями...
-
В наше время все большее количество компаний, стремясь к повышению эффективности и прибыльности бизнеса пользуются цифровыми (автоматизированными)...
-
Понятие Data Mining Средства Data Mining включают в себя очень широкий класс различных технологий и инструментов. Средства Data Mining на рынке...
-
Коллекция транзакций хранится в файле на диске. Алгоритм читает каждую транзакцию t последовательно и присоединяет t к существующему кластеру, или...
-
Рис. 9 Пример B+ дерева, связывающего ключи 1-7 с данными d1-d7. Связи (выделены красным) позволяют быстро обходить дерево в порядке возрастания ключей....
-
Базовый интерфейс двоичного дерева поиска состоит из трех операций: - FIND(K) -- поиск узла, в котором хранится пара (key, value) с key = K. - INSERT(K,...
-
Рис. 7 Пример двоичного дерева поиска Двоичное дерево поиска (binary search tree, BST) -- это двоичное дерево, для которого выполняются следующие...
-
Допустим, что MinSupi = и * |Ci|. Поддержка данного предмета в Ci характеризует число транзакций в этом кластере, которые содержат этот предмет. Поэтому...
-
Кластеризация (или кластерный анализ) -- это задача разбиения множества объектов на группы, называемые кластерами. Внутри каждой группы должны оказаться...
-
Подход, основанный на "больших" предметах и функциональный критерий кластеризации Поддержка предмета в кластере Ci есть относительное число транзакций в...
-
Алгоритм для обновления дан на рис.6. Для каждого предмета е в t отыскивается Hashi. Если е найдено хэше кластера, то увеличиваем на 1 его sup в Btreei....
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
ER - диаграмма базы данных была представлена на рис. 2. Рис.2. ER-диаграмма базы данных. Таблица admin - содержит два столбца login и password которые...
-
Вычислительная сложность алгоритмов Алгоритм кластеризации Вычислительная сложность Иерархический O(n2) K-средних O(nkl), где k - число кластеров, l -...
-
Разработка структур БД Информационная структура БД (Рисунок 2.1) Рисунок 2.1 - Структура БД. Разработка интерфейса для работы с БД В проект в первую...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Назначение и функции программной системы Разработанная база данных "Библиотека" предназначена для использования в учреждениях библиотек. Основной...
-
Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой...
-
Модели транзакций - Банки и базы данных. Системы управления базами данных
Под транзакциями понимаются действия, производимые над базой данных и переводящие ее из одного согласованного состояния в другое согласованное состояние....
-
Структура SQL - Банки и базы данных. Системы управления базами данных
Широкое развитие информационных систем и связанная с этим унифицированность информационного пространства привело к необходимости создания стандартного...
-
Триггеры - База данных "Определение факультативов для студентов"
Триггер -- это особая разновидность хранимой процедуры, выполняемая автоматически при возникновении события на сервере базы данных. Триггеры языка...
-
Для того чтобы выполнить автоматическое тестирование с использованием Cucumber, прежде всего необходимо иметь представление о структуре инструмента и...
-
Тестируемый программный продукт является высокопроизводительным приложением, которое предоставляет возможность создания и настройки сетей беспроводного...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Обоснование выбора средств разработки проекта Для реализации корпоративной информационной системы "Бюджетное планирование и отчетность" в исследуемой...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
В процессе разработки программного средства было создано 12 таблиц. Для их создания использовалось графическое средство SqlYong и кодирование на языке...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
При запуске программы с входными параметрами {"-makexls" "filename. xls" "температурная_точка" "отклонение" "элемент"} происходит извлечение результатов...
-
Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC
С ростом приложения существует проблема обновления схемы базы данных с сохранением внесенных данных. Если информация в базе данных не может быть легко...
-
Моделирование предметной области Этапом проектирования базы данных любого типа начинается с анализа предметной области, который заканчивается построением...
-
Основные конструкции для разработки базы данных - База данных "Кинотеатр"
База данных - это организованная структура, предназначенная для хранения информации. Систему управления базой данных (СУБД) можно определить, как...
-
Выбор программ и алгоритмы реализации базы данных - База данных "Кинотеатр"
Microsoft Office Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows....
-
Обновленная база данных должна иметь продвинутую структуру пользователей для использования на информационном портале под управлением новой CMS. Для...
-
Записи, множества, файлы - Структуры данных
Обобщением массива является комбинированный тип данных - запись, являющаяся неоднородной упорядоченной статической структурой прямого доступа. Запись...
-
Основные термины теории баз данных - БД (База данных) - совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы...
-
При использовании этого способа данные во всех консолидируемых областях должны располагаться идентично. Для консолидации следует выполнить следующие...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
Обоснование выбора СУБД База данных - это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определенной теме...
Разработка программного обеспечения, Структура хранения транзакций в базах данных - Разработка программного обеспечения для реализации и тестирования алгоритма нахождения частых множеств в транзакционных данных вертикального формата