Сущность и значение баз данных в информационной системе обеспечения градостроительной деятельности.
Существующие современные информационные системы характеризуются огромными объемами хранимых и обрабатываемых данных, сложной организацией, необходимостью удовлетворять разнообразные требования многочисленных пользователей.
Информационная система – это система, которая реализует автоматизированный сбор, обработку и манипулирование данными и включает технические средства обработки данных, программное обеспечение и обслуживающий персонал.
Цель любой информационной системы – обработка данных об объектах реального мира. Основой информационной системы является база данных. В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления его объектами и, в конечном счете, автоматизации, например, предприятие, вуз и т. д.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро производить выборку с произвольным сочетанием признаков. При этом очень важно выбрать правильную модель данных. Модель данных – это формализованное представление основных категорий восприятия реального мира, представленных его объектами, связями, свойствами, а также их взаимодействиями.
База данных - это совокупность сведений, объединенных по какому-то общему признаку.
Типы баз данных
Группу связанных между собой элементов данных называют обычно записью. Известны три основных типа организации данных и связей между ними: иерархический (в виде дерева), сетевой и реляционный.
Иерархическая БД
В иерархической БД существует упорядоченность элементов в записи, один элемент считается главным, остальные – подчиненными. Данные в записи упорядочены в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться лишь последовательным «спуском» со ступеньки на ступеньку. Поиск какого-либо элемента данных в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней. Иерархическую базу данных образует каталог файлов, хранимых на диске; дерево каталогов, доступное для просмотра в Norton Commander, – наглядная демонстрация структуры такой БД и поиска в ней нужного элемента (при работе в операционной системе MS-DOS). Такой же базой данных является родовое генеалогическое дерево.
Сетевая БД
Эта база данных отличается большей гибкостью, так как в ней существует возможность устанавливать дополнительно к вертикальным иерархическим связям горизонтальные связи. Это облегчает процесс поиска требуемых элементов данных, так как уже не требует обязательного прохождения всех предшествующих ступеней.
Реляционная БД
Наиболее распространенным способом организации данных является третий, к которому можно свести как иерархический, так и сетевой – реляционный (англ. relation – отношение, связь). В реляционной БД под записью понимается строка прямоугольной таблицы. Элементы записи образуют столбцы этой таблицы (поля). Все элементы в столбце имеют одинаковый тип (числовой, символьный), а каждый столбец – неповторяющееся имя. Одинаковые строки в таблице отсутствуют. Преимущество таких БД – наглядность и понятность организации данных, скорость поиска нужной информации. Примером реляционной БД служит таблица на странице классного журнала, в которой записью является строка с данными о конкретном ученике, а имена полей (столбцов) указывают, какие данные о каждом ученике должны быть записаны в ячейках таблицы.
Совокупность БД и программы СУБД образует информационно-поисковую систему, называемую банком данных.
1. По технологии обработки данных базы данных делятся на централизованные и распределенные. Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная Система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Этот способ использования баз данных часто применяют в локальных сетях ПК. Распределенная база данных состоит из нескольких, возможно, пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
2. По способу доступа к данным базы данных делятся на базы данных с локальным доступом и базы данных с удаленным (сетевым доступом). Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры таких систем: файл-сервер; клиент-сервер.
Системы управления базами данных
Система управления базами данных (СУБД) – это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ.
Различают 2 класса СУБД:
1) системы общего назначения;
2) специализированные системы.
Системы СУБД общего назначения не ориентированы на какую-либо конкретную предметную область или на информационные потребности конкретной группы пользователей. Реализуются как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе. Использование СУБД общего назначения в качестве инструментального средства для создания информационных систем, основанных на технологии баз данных, позволяет существенно сокращать сроки разработки и экономить трудовые ресурсы.
В процессе реализации своих функций СУБД постоянно взаимодействует с базой данных и с другими прикладными программными продуктами пользователя.
В ряде случаев предъявляемого задачей набора свойств нет ни у одной из существующих СУБД. Способов разрешения такой ситуации может быть много, но наиболее очевидных три: либо взять универсальную СУБД и попытаться «обойти узкие места», либо начать создавать собственный сервер баз данных, либо доработать одну из СУБД под требования задачи. Второй способ наиболее правильный с точки зрения оптимизации решения поставленной задачи, но и самый затратный. В большинстве случаев, принимая такое решение, люди просто не отдают себе отчета в том, каков масштаб затеваемого проекта и хватит ли у них сил и знаний на его реализацию.
Вообще говоря, любое приложение нуждается в специализированной системе управления данными, но, как было сказано выше, разработка своей СУБД далеко не всегда экономически оправдана и физически возможна Тем не менее существуют информационные системы, для которых остро ощущается потребность в специализированной СУБД, ориентированной на специфические задачи. В качестве примера можно привести:
· биометрические системы;
· системы военного назначения;
· государственные информационные системы и т.д.
Современные СУБД имеют следующие возможности:
1) включают язык определения данных, с помощью которого можно определить базу данных, ее структуру, типы данных, а также средства задания ограничения для хранимой информации;
2) позволяют вставлять, удалять, обновлять и извлекать информацию из базы данных посредством языка запросов;
3) большинство СУБД могут работать на компьютерах с разной архитектурой и под разными операционными системами;
4) многопользовательские СУБД имеют развитые средства администрирования баз данных.
В работе с СУБД возможны следующие режимы: создание, редактирование, поиск, манипулирование. Под манипулированием понимаются такие действия с БД, как с целым: просмотр; копирование файлов, например, на бумажный носитель; сортировка данных по заданному признаку
Для работы с базой данных СУБД должна обеспечивать:
• возможность внесения и чтения информации;
• работу с большим объемом данных;
• быстроту поиска данных;
• целостность данных (их непротиворечивость);
• защиту от разрушения, уничтожения (не только при случайных ошибках пользователя), от несанкционированного доступа;
• систему дружественных подсказок (в расчете на пользователя без специальной подготовки).
СУБД могут использоваться как в однопользовательском, так и в многопользовательском режиме.
На рынке программного обеспечения можно выделить такие наиболее востребованные СУБД, как Microsoft Access, Microsoft Visual FoxPro, Borland dBase, Borland Paradox, Oracle MySQL.
Проектирование базы данных
Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности
Проектирование структуры базы данных является достаточно сложной задачей. Сложности, возникающие в процессе проектирования, можно разделить на две группы. К первой группе можно отнести сложности, связанные со сложностью предметной области, для которой проектируется база данных. Вторую группу составляют сложности технического характера, связанные с выбором и использованием конкретной СУБД.
Основные задачи:
К современным базам данных предъявляются следующие основные требования:
· Высокое быстродействие (малое время отклика на запрос);
· Простота обновления данных;
· Независимость данных - возможность изменения логической и физической структуры БД без изменения представлений пользователей.
· Совместное использование данных многими пользователями;
· Безопасность данных - защита данных от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения;
· Простота и удобство интерфейса;
Целостность данных – это устойчивость хранимых данных к разрушению и уничтожению, связанных с неисправностями технических средств, системными ошибками и ошибочными действиями пользователей.
Под целостностью данных понимается:
· отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте;
· защита от ошибок при обновлении БД;
· невозможность удаления (или каскадное удаление) связанных данных разных таблиц;
· Неизменность данных при работе в многопользовательском режиме и в распределенных базах данных;
· сохранность данных при сбоях техники (восстановление данных).
Защита данных от несанкционированного доступа достигается:
· введением системы паролей;
· получением разрешений от администратора базы данных;
· запретом от администратора базы данных на доступ к данным;
· формирование видов - таблиц, производных от исходных и предназначенных конкретным пользователям.
Основные этапы проектирования баз данных
Первый этап.
Проектирования базы данных состоит в разработке концептуальных моделей данных для каждого из существующих типов пользователей создаваемого приложения. Суть в том, чтобы в любом случае выполнение требуемых пользователю действий должно обеспечиваться создаваемой системой.
Далее нужно выполнить определение атрибутов и связывание их с типами сущностей и связей, т.е. какую именно информацию о сущностях следует хранить в базе.
Концептуальное проектирование – обобщенное представление схемы базы данных. Уровень описывает, какие данные хранятся в базе данных и какие связи хранятся между ними.
Цель – создание локальной концептуальной модели данных предприятия на основе представления о предметной области каждого отдельного типа пользователей.
Далее идет построение локальной концептуальной модели данных состоит в определении доменов атрибутов для всех атрибутов, присутствующих в модели. Доменом называется некоторые значения, элементы которого выбираются для присвоения значений одному или более атрибутам. Полностью разработанная модель данных должна включать домены для каждого из присутствующих в ней атрибутов. Домены должны содержать следующие данные:
· - набор допустимых значений для атрибута;
· - сведения о размере и формате каждого из полей атрибутов.
Второй этап.
Логическое проектирование – преобразование концептуального представления в логическую структуру базы данных, не зависимую от особенностей базы данных, включая проектирование отношений.
Логическое проектирование базы данных включает в себя:
· Выбор модели данных.
· Определение требований поддержки целостности данных и их документирование.
· Создание окончательного варианта логической модели данных и обсуждение его с пользователями.
Задачи логического проектирования:
· Преобразование локальной концептуальной модели данных в локальную логическую модель. (Удаление связей М: Н, сложных связей, рекурсивных связей, связей с атрибутами, удаление множественных атрибутов.)
· Определение набора отношений исходя из структуры локальной логической модели данных.
· Проверка модели с помощью правил нормализации.
· Проверка модели в отношении транзакций пользователей.
· Создание диаграммы сущность-связь.
· Определение требований поддержки целостности данных. (Обязательные данные, ограничения для доменов атрибутов, целостность сущностей, требования данного предприятия).
· Обсуждение разработанных локальных логических моделей данных с конечными пользователями.
· Слияние локальных моделей в единую глобальную модель данных
· Проверка глобальной логической модели данных (нормализация и транзакции).
· Проверка возможностей расширения модели в будущем.
· Создание окончательного варианта диаграммы сущность-связь
· Обсуждение глобальной модели данных с пользователем.
Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. Примеры понятий – «сотрудник», «отдел», «проект», «зарплата». Примеры взаимосвязей между понятиями – «сотрудник числится ровно в одном отделе», «сотрудник может выполнять несколько проектов». Логическая модель данных является начальным прототипом будущей базы данных.
Третий этап
Физическое проектирование базы данных - процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты.
Физическое проектирование является третьим и последним этапом создания проекта базы данных, при выполнении которого проектировщик принимает решения о способах реализации разрабатываемой базы данных. Приступая к физическому проектированию базы данных, прежде всего необходимо выбрать конкретную целевую СУБД. Поэтому физическое проектирование неразрывно связано с конкретной СУБД. Между логическим и физическим проектированием существует постоянная обратная связь, так как решения, принимаемые на этапе физического проектирования с целью повышения производительности системы, способны повлиять на структуру логической модели данных.
Задачи физического проектирования:
· Перенос глобальной логической модели данных в среду целевой СУБД (Создание базовой функциональной схемы реляционной БД).
· Проектирование таблиц, данных в среде целевой СУБД.
· Реализация бизнес-правил предприятия.
· Проектирование физического представления БД.
· Анализ транзакций (выбор важнейших из них).
· Выбор файловой системы (последовательные файлы, хешированные файлы, двоичные деревья).
· Определение вторичных индексов (определение того будет ли добавление вторичных индексов способствовать повышению производительности).
· Определение требований к памяти.
· Разработка механизмов защиты.
· Разработка пользовательских видов.
· Определение прав доступа.
· Проектирование таблиц данных
· Реализация бизнес-правил предприятия.
· Проектирование физического представления БД.
· Определение требований к памяти.
· Разработка механизмов защиты.
· Определение прав доступа.
Так же в этап физического проектирования баз данных входит одна из важнейших составляющих проекта базы данных - разработка средств защиты. Защита данных имеет два аспекта: защита от сбоев и защита от несанкционированного доступа. Для защиты от сбоев разрабатывается стратегия резервного копирования. Для защиты от несанкционированного доступа каждому пользователю доступ к данным предоставляется только в соответствии с его правами доступа.
Все эти этапы являются важными и неотъемлемым процедурами при разработке базы данных которые влияют на её использования в повседневной работе независимо от сферы ее применения. Необходимо качественно реализовать все задачи этих трёх этапов, чтобы достичь должной безопасности, удобства, и стабильной работы базы данных.