Основы проектирования баз данных. Нормализация как процесс, направленный на уменьшение избыточности информации в реляционной базе данных. Базы знаний

Основные этапы проектирования баз данных

1) Концептуальное (инфологическое) проектирование Концептуальное (инфологическое) проектирование — построение семантической (смысловой) модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области», поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности. Обычно концептуальная модель базы данных включает в себя наиболее общее описание информационных объектов, или понятий предметной области и связей между ними. Для построения инфологической модели необходимо быть компетентным в предметной области для которой разрабатывается модель или консультироваться со специалистами в этой области.

2) Логическое (даталогическое) проектирование Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор таблиц, обычно с указанием первичных ключей, а также «связей» между таблицами, представляющих собой внешние ключи. На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД. На этом этапе выполняется нормализации баз данных, которая будет рассмотрена далее.

3) Физическое проектирование Физическое проектирование — создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т. п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным) и т.д. Выполняется в среде конкретной СУБД (напр, Firebird), с помощью соответствующих инструментальных средств (IBExpert). Будет рассматриваться на следующих практических занятиях.

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

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

Основные преимущества нормализации:

· Лучшая общая организация базы данных

· Сокращение избыточности информации

· Непротиворечивость информации внутри базы данных

· Более гибкий проект базы данных

· Большая безопасность данных

Процесс нормализации данных приводит к улучшению их общей организации, тем самым облегчая работу каждому — от пользователя, который обращается к таблицам, до администратора базы данных (DBA), ответственного за управление всеми объектами базы данных в целом. Снижение избыточности данных влечет за собой упрощение их структуры и способствует рациональному использованию дискового пространства. Вследствие минимизации дублирующей информации значительно уменьшается вероятность появления противоречивых данных — это относится, например, к случаю, когда в одну таблицу имя сотрудника компании введено как STEVE SMITH, в то время как в другой таблице он значится под именем STEPHEN R. SMITH. Нормализация базы данных с разбиением ее на более мелкие таблицы дает вам большую гибкость при изменении существующих структур данных. Согласитесь, что намного проще изменить несколько небольших таблиц, содержащих ограниченное количество данных, чем одну огромную таблицу, в которой хранится вся жизненно важная информация. И наконец, нормализация способствует повышению безопасности информации в том смысле, что администратор базы данных может предоставлять некоторым пользователям доступ лишь к ограниченному числу таблиц. После проведения нормализации базы данных организация защиты хранимой в ней информации значительно упрощается.

База знаний - совокупность систематизированных основополагающих сведений, относящихся к определённой области знания, хранящихся в памяти ЭВМ, объём которых необходим и достаточен для решения заданного круга теоретических или практических задач. В системе управления БЗ используются методы искусственного интеллекта, специальные языки описания знаний, интеллектуальный интерфейс. Машины, реализующие алгоритмы искусственного интеллекта, называются машинами, основанными на знаниях, а подраздел теории искусственного интеллекта, связанный с построением экспертных систем, - инженерией знаний.

Системы управления базами данных (СУБД): понятие и основные объекты. Access, Oracle, MySQL, Foxpro, dBase, SQL Server и др.

Система управления базами данными (СУБД) – это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Функции СУБД – это: описание данных, манипулирование данными, использование данных.

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных (СУБД)[1] корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Основные компоненты MS Access:

· построитель таблиц;

· построитель экранных форм;

· построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);

· построитель отчётов, выводимых на печать.

Oracle Database - это объектно-реляционная система поддерживающая некоторые технологии, реализующие объектно-ориентированный подход, то есть обеспечивающих управление создания и использования баз данных.

Ключевые возможности Oracle Database

· Real Application Cluster (RAC) обеспечивает работу одного экземпляра базы данных на нескольких узлах grid, позволяя управлять нагрузкой и гибко масштабировать систему в случае необходимости.

· Automatic Storage Management (ASM) позволяет автоматически распределять данные между имеющимися ресурсами систем хранения данных, что повышает отказоустойчивость системы и снижает общую стоимость владения (TCO).

· Производительность. Oracle Database позволяет автоматически управлять уровнями сервиса и тиражировать эталонные конфигурации в рамках всей сети.

· Простые средства разработки. Новый инструмент разработки приложений HTML DB позволит простым пользователям создавать эффективные приложения для работы с базами данных в короткие сроки.

· Самоуправление. Специальные механизмы Oracle Database позволяют самостоятельно перераспределять нагрузку на систему, оптимизировать и корректировать SQL-запросы, выявлять и прогнозировать ошибки.

· Большие базы данных. Теперь максимальный размер экземпляра базы данных Oracle может достигать 8 экзабайт.

· Недорогие серверные системы. Oracle Database может использовать недорогие однопроцессорные компьютеры или модульные системы из “серверов-лезвий”.

· В новой версии базы данных реализована поддержка переносимых табличных пространств, система управления потоками данных Oracle Streams и модель распределенных SQL-запросов. Для переноса существующих баз данных в среду Grid в них не потребуется вносить изменений, что позволяет быстро начать использовать все преимущества Oracle Database.

MySQL (МФА: [maɪ ˌɛskjuːˈɛl]) — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

FoxPro (Фокс-про́) — один из диалектов языка программирования xBase, применяемый в одноименном программном пакете. Как язык программирования, в основном применяется для разработки Файл-серверных реляционных СУБД, хотя существует, за счет гибких и богатых средств языка, возможность разработки и других классов программ. В настоящее время используется в среде разработки Microsoft Visual FoxPro.

dBase — семейство широко распространённых систем управления базами данных, а также язык программирования, используемый в них. Самая первая СУБД этого семейства называлась dBase II и была выпущена в 1980 году компанией Ashton-Tate под CP/M, позже появились версии для Apple II, Apple Macintosh, UNIX, VMS и IBM PC под DOS. Версия для PC вместе с пришедшими ей на смену dBase III и dBase IV были несколько лет одной из самых распродаваемых программ. Долгое время dBase не портировали под Microsoft Windows, в результате чего в этой нише у программы оказались сильные конкуренты — Paradox, Clipper, FoxPro и Microsoft Access.

Microsoft SQL Server — система управления реляционными базами данных (СУРБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.


Наши рекомендации