Назначение и основные компоненты системы баз данных.

Назначение и основные компоненты системы баз данных.

Основной составной частью СУБД является ядро – набор управляющих про­грамм, предназначенных для автоматиза­ции всех процессов, связанных с обраще­нием к БД. Ядро СУБД в процессе работы с базами данных постоянно находится в основной памяти ЭВМ и организует обра­ботку поступающих запросов пользовате­лей, управляет очередностью их выполне­ния, взаимодействует с прикладными про­граммами пользователей и операционной системой, контролирует завершение опера­ций доступа к БД и выдает сообщения. Важнейшей функцией ядра является орга­низация параллельного выполнения запро­сов. Другой частью СУБД является набор обрабатывающих программ, включаю­щий трансляторы с языков описания дан­ных, схемы хранения, подсхемы хранения, трансляторы с подъязыков и автономных языков программирования, а также интер­претатор с языка запросов. Следует пом­нить, что этот набор программ не обраба­тывает данные как таковые. Отдельную группу программ составляет группа сер­висных программ

Обзор современных систем управления базами данных (СУБД).

К важным признакам классификации современных СУБД относятся: • среда функционирования — класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе раз­рядность операционной системы, на кото­рую ориентирована СУБД; • тип поддержи­ваемой в СУБД модели данных: сетевая, иерархическая или реляционная; • возмож­ности встроенного языка СУБД, его пере­носимость в другие приложения (SQL, Visual Basic, ObjectPAL и т.п.); • наличие развитых диалоговых средств конструиро­вания (таблиц, форм, запросов, отчетов, макросов) и средств работы с базой дан­ных; • возможность работы с нетрадицион­ными данными в корпоративных сетях (страницы HTML, сообщения электронной почты, изображения, звуковые файлы, видеоклипы и т. п.); • используемая кон­цепция работы с нетрадиционными дан­ными — объектно-реляционные, объект­ные; • уровень использования — локальная (для настольных систем), архитектура клиент-сервер, с параллельной обработкой данных (многопроцессорная); • использо­вание объектной технологии OLE 2.0; • возможности интеграции данных из разных СУБД; • степень поддержки языка SQL и возможности работы с сервером баз данных (SQL-сервером); • наличие средств отчуж­даемых приложений, позволяющих не проводить полной инсталляции СУБД для тиражируемых приложений пользователя. Наиболее известными СУБД для разра­ботки простых приложений можно назвать Access, Paradox и Approach. Для создания более сложных бизнес-приложений, корпо­ративных информационных систем исполь­зуются СУБД фирм Oracle, Informix, IBM, Sybase. Относительно простой в изучении и использовании считается Approach for Windows, которая ориентирована на разра­ботку небольших приложений. Более со­вершенными, обладающими мощным языком разработки приложений пользова­теля являются СУБД Paradox и Access. К общим свойствам СУБД Approach, Paradox и Access относятся: • графический много­оконный интерфейс, позволяющий пользо­вателю в диало­говом режиме создавать таблицы, формы, запросы, отчеты и мак­росы; • специальные средства, автоматизи­рующие работу, — многочисленные мас­тера (Wizards) в Access, ассистенты (Assis­tants) в Approach и эксперты (Experts) в Paradox; • возможность работы в локальном режиме или в режиме клиента на рабочей станции (Windows NT 3.51, Novell NetWare 4.1); • использование объектной технологии OLE2 для внедрения в базу данных разной природы (текстов, электронных таблиц, изображений и т. п.); • наличие собствен­ного языка программирования. Особенно­сти СУБД Approach, Paradox, Access: • в Approach, в отличие от Paradox и Access, не обеспечивается полная поддержка языка запросов SQL, что ограничивает ее воз­можности в многопользовательских систе­мах только просмотром данных; • в Access предусмотрена автоматическая генерация кода SQL при создании запроса пользова­телем; • в Approach язык для разработки приложении Lotus Script уступает по инте­грационным возможностям и удобству работы объектно-ориентированным языкам (в Paradox — ObjectPAL, u Access — Visual Basic); • Visual Basic в Access является наиболее мощным языком программирова­ния, который обладает свойством автоном­ности от СУБД и переносимости в другие

Что называется реляционной базой данных? Дайте определение основных терминов реляционной модели. Перечислите основные свойства реляционной модели данных. Назовите достоинства и недостатки реляционной модели данных.

Реляционная база данных (РБД) представ­ляет собой хранилище данных, содержащее набор двумерных таблиц. Набор средств для управления подобным хранилищем наз. Реляционной системой управления базами данных (РСУБД). Любая таблица РБД состоит из строк (на­зываемых записями) и столбцов (называе­мых полями). Строки таблицы содержат сведения о пред­ставленных в ней фактах или документах, или людях, - об однотипных объектах. Данные в таблицах удовлетворяют сле­дующим принципам:1. Каждое значение, содержащееся на пересечении строки и колонки, должно быть атомарным (т.е. не расчленяемым на несколько значе­ний).2. Значения данных одной колонки должны принадлежать одному типу.3. Каждая запись в таблице уни­кальна.4. Каждое поле имеет уникальное имя.5. Последовательность полей в таблице несущественна. 6.Последовательность записей в таблице несущественна. Любая СУБД позволяет сортировать строки и колонки в выборках. Ключи и связи.Колонка (или набор колонок), служащая для уникальной идентификации каждой строки, наз. первичным ключом (ПК). ПК обязан содержать уникальные непустые значения для каждой строки. Типичная БД состоит из нескольких связанных таблиц. Колонка, указывающая на запись в другой таблице, связанную с данной записью, наз. внешним ключом (ВК). Иначе говоря, ВК – это колонка или набор колонок, чьи значе­ния совпадают с имеющимися значениями ПК другой таблицы. Группа связанных таблиц называется схемой данных. Ин­формация о таблицах, их колонках, пер­вичных и внешних ключах, а также иных объектах БД называется метаданными.

А так же смотри выше про связи.

Достоинства модели

1.Простота. Пользователь работает с простой моделью данных. Он формулирует запросы в терминах информационного содержания и не должен принимать во внимание сложные аспекты системной реализации. Реляционная модель легко ассоциируется с различными документами, привычными и удобными для восприятия.

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

3.Независимость данных. Это свойство является одним из важнейших для любой СУБД. При использовании реляционной модели данных интерфейс пользователя не связан с деталями физической структуры памяти ЭВМ и стратегией доступа к памяти.

4.Теоретическое обоснование. Реляционная МД основана на хорошо проработанной теории отношений (реляционной алгебре) или теории реляционного исчисления. При проектировании БД применяются строгие методы, построенные на нормализации отношений.

Недостатки модели

Хотя в настоящее время уже существует большой ряд коммерческих СУБД, базирующихся на реляционной МД, их производительность подчас значительно ниже, чем у систем, основанных на иерархической или сетевой МД. Это то, чем приходится платить за непроцедурность языка запросов и независимость данных. Низкая производительность особенно заметна для больших БД, с которыми работает множество пользователей.

Нормализация отношений. Концепция нормальных форм. Декомпозиция без потерь и функциональные зависимости. Первая нормальная форма. Вторая нормальная форма. Третья нормальная форма. Нормальная форма Бойса-Кодда.

Процесс проектирования данных - это определение метаданных в соответст­вии с задачами информационной системы. Один из основных принципов про­ектирования данных - принцип нормализа­ции. Нормализация - процесс реорганизации данных путем ликвидации повторяющихся групп и иных противоречий в хранении данных с целью приведения таблиц к виду, позволяющему осуществлять непротиворе­чивое и корректное редактирование дан­ных. Говорят, что таблица находится в данной нормальной форме, если она удовлетворяет определенному набору требований. Теоре­тически существует пять нормальных форм, но на практике используют только первые три. Более того, первые две формы являются по существу промежуточными шагами для приведения БД к третьей нор­мальной форме. Первая нормальная форма РТ находится в первой нормальной форме все значения ее полей должны быть ато­марными и все записи - уникальными. Поэтому любая реляционная таблица по определению уже находится в первой нормальной форме. Тем не менее эта таб­лица содержит избыточные данные, напри­мер: одни и те же сведения о клиенте по­вторяются в записи о каждом заказанном продукте. Результатом избыточности дан­ных являются проблемы модификации данных (добавление, изменение, удаление записей). Например, при редактировании данных в таблице. Целью второй нормаль­ной формы является помещение в отдель­ную таблицу данных, которые только частично зависят от первичного ключа. Чтобы перейти от первой нормальной формы ко второй, нужно выполнить сле­дующие шаги:

1. Определить, на какие части можно разбить первичный ключ, так чтобы некоторые из неключевых полей зависели от одной из этих частей (эти части не обя­заны состоять из одной колонки!).

2. Создать новую таблицу для каждой такой части ключа и группы зависящих от нее полей и переместить их в эту таблицу. Часть быв­шего первичного ключа станет при этом первичным ключом новой таб­лицы.

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

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

1. Определить все поля (или группы полей), от которых зависят другие поля.

2. Создать новую таблицу для каждого такого поля (или группы полей) и группы зависящих от него полей и переместить их в эту таблицу. Поле (или группа полей), от которого зависят все остальные переме­щенные поля, станет при этом первичным ключом новой таблицы.

3. Удалить переме­щенные поля из исходной таблицы, оставив лишь те из них, которые станут внешними ключами.

Преимущества нормализации.

Нормализация устраняет избыточность данных, что позволяет снизить объем хра­нимых данных и избавиться от описанных выше аномалий их изменения. Так, после приведения рассмотренной выше базы данных к третьей нормальной форме на­лицо следующие уточнения: -Сведения об адресе клиента можно хранить в БД, даже если это только потенциальный клиент, еще не разместивший ни одного заказа. -Сведения о заказанном продукте можно удалять, не опасаясь удаления данных о клиенте и заказе. -Изменение адреса кли­ента или даты регистрации заказа теперь требует изменения только одной записи.

Поиск данных

В Access существует множество способов отобрать только требуемые данные при выполнении поиска конкретного значения, одной записи или группы записей.

С помощью диалогового окна Поиск легко найти конкретные записи или определенные значения в полях. При обнаружении каждого вхождения требуемого элемента выполняется перемещение по записям. Если нужно заменить конкретные обнаруженные при поиске значения, следует воспользоваться диалоговым окном Замена.

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

При помощи индексов сортировка и поиск записей ускоряется. Можно создать индексы, основанные на одном или нескольких полях. Составные индексы позволяют пользователю провести различия между записями, в которых первые поля могут иметь одинаковые значения.

Семантическое моделирование данных (ER-диаграммы). Цель семантического моделирования. Основные этапы семантического моделирования. E/R-модель и соответствующая ей диаграммная техника (E/R-диаграммы). Проектирование базы данных на основе E/R-модели.

Модель «сущность-связь» (entity-relationship model) ER-модель данных – это графический язык определения требований пользователя к данным. Спецификации требований представляются в виде диаграммы, показывающей объекты ПО, их связи и свойства объектов и связей. Существует много различных систем графических обозначений (нотаций), используемых для построения ER-диаграмм. ER-диаграмма наглядно и точно отражает представления автора о данных. Поэтому она является хорошим источником информации для проектировщика логической модели данных. С другой стороны, диаграммы выразительны, наглядны и легко интерпретируются конечными пользователями. Поэтому их очень удобно использовать при обсуждении требований к данным с конечными пользователями.

Элементы ER-модели. Базовыми элементами ER-модели являются сущности, атрибуты, идентификаторы и связи.

Сущность (entity) – это некоторый объект, выделяемый (идентифицируемый) пользователем в предметной области. Нечто, за чем пользователь хотел бы наблюдать и сохранять результаты наблюдений (данные). Сущностями могут быть люди, предметы, места, события и т.д. Сущность – это нечто, имеющее реальное (физическое) или концептуальное существование и выделяемое в окружающем мире.

Сущности одного и того же типа образуют классы сущностей.

Класс сущностей – это абстракция, понятие выделяемое пользователем.

Атрибут – это характеристика сущности (свойство класса), значимая с точки зрения пользователя.

Атрибут может быть: простым значения принадлежат простым типам данных. композитным (составным). производным значение производного атрибута зависит от значений других атрибутов той же или других сущностей.

Идентификаторы – это атрибуты сущностей, значения которых можно использовать для идентификации или именования экземпляров. Выделяют уникальные идентификаторы (потенциальные ключи) и неуникальные. Значение уникального идентификатора не может встретиться у двух экземпляров сущности. Значение неуникального идентификатора указывает на множество экземпляров. Идентификатором может быть не любой атрибут сущности. Сущность может иметь несколько уник. и неуник. идентиф.

Связи – это отношения сущностей. ER-модель различает классы и экземпляры связей.

Описание сущностей и их связей – это и есть (с точки зрения проектировщика БД) основная часть концептуальной модели требований пользователя к данным.

Обычно на ER-диаграммах семантически значимые имена связей не указывают, а поясняют их смысл иначе. На диаграммах используются также специальные обозначения для атрибутов, спецификаторы связей, сущностей, идентификаторов и другие символы.

Изображение атрибутов на диаграммах «сущность-связь»

Некоторые версии нотаций ER-диаграмм предусматривают обозначения для атрибутов. Атрибут изображается именованным эллипсом. Эллипс соединяется дугой с прямоугольником сущности. Контур эллипса сплошной для простого атрибута, штриховой – для производного и двойной – для многозначного.

Компоненты составного атрибута обозначаются эллипсами, соединёнными дугами с эллипсом атрибута. Имена атрибутов, составляющих идентификатор сущности, подчёркиваются. Связь, как и сущность, может иметь свои атрибуты. Они изображаются эллипсами, соединёнными с ромбом связи.

Семантический подход, в отличие от формального, предполагает параллельное выполнение анализа ПО и проектирование логического макета БД. В основе подхода лежат понятия ER-модели данных. Процесс проектирования включает три этапа.

На первом этапе: формируется представление о компонентах бизнеса, идентифицируются сущности и связи. Получение детальной информации о свойствах объектов ПО и их взаимосвязях.

На втором этапе Формирование логического макета БД с точностью до ключей. Детально просматриваются экземпляры и типы сущностей, целостность данных, ссылочная целостность, первичные, внешне ключи и т.д.

На третьемэтапе Окончательно формируется представление о составе атрибутов сущностей, определяются схемы отношений между сущностями. Все отношения схемы находятся в 3 НФ.

Выделяя сущности и определяя связи между ними, проектировщик опирается на свои текущие представления о ПО и здравый смысл. На каждом этапе он может согласовать свои представления с представлениями конечных пользователей. Поэтому грубые ошибки моделирования при разумном использовании семантического подхода – редкость.

Методологии семантического подхода.

1.Использование графических языков для представления ER- модели (наглядность, точность, ясность) представления своих представлений о данных с помощью диаграмм.

2.Глоссарий для однозначного определения имен сущностей и атрибутов. Он позволяет показать то, что нельзя изобразить графически.

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

Требования к диаграммам ER-уровень

Диаграмма должна содержать сущности и связи, может показывать атрибуты и не должна показывать первичные, альтернативные или внешние ключи. На ER-уровне сущности не различаются как зависимые или независимые, а соединения – как идентифицирующие и неидентифицирующие. Сущности не содержат горизонтальных линий, отделяющих область ключей от области данных. Имена сущностей вписываются в обозначающие их прямоугольники.

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

Функциональная зависимость.

Если задано отношение R, то мы говорим, что атрибут Y отношения R функционально зависит от атрибута Х отношения R тогда и только тогда, когда каждое значение Х в отношении R связано точно с одним значением Y. Заметим, что одно и то же значение Х может появиться в нескольких различных кортежах отношения R. Если Y функционально зависит от Х, то по определению каждый из этих кортежей должен содержать также одно и то же значение Y.

Функциональная зависимость (ФЗ) может быть описана различными способами.

Можно ввести понятие полной функциональной зависимости.

Атрибут Y находится в полной функциональной зависимости от атрибута Х, если он функционально зависит от Х и не зависит функционально от любого подмножества атрибута Х (Х должен быть составным).

Что называется распределенной базой данных (РБД)? Основная задача распределенной базы данных. Перечислите способы решения этой задачи. Классификация РБД.

База данных – это сово­купность данных, обла­дающих следующими качествами: 1)интегрированностью, направленной на решение общих задач в конкретной пред­метной области; 2)модельностью (т.е. струк­турированностью, отра­жающей некоторую часть реального мира); 3)взаимосвязанностью

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

Основная задача распределенной БД – распределение данных по сети. Существуют следующие способы решения этой задачи:

1. в каждом узле хранится и используется собственный набор данных, доступный для удаления запросов; такое распределение называется разделенным;

2. некоторые данные, часто используемые на удаленных узлах, могут дублироваться; такое распределение называется частично дублированным;

3. все данные дублируются в каждом узле; такое распределение называется полностью дублированным;

4. некоторые файлы могут быть расщеплены горизонтально (выделено подмножество записей) или вертикально [выделено подмножество полей (атрибутов)], при этом выделенные подмножества хранятся в различных узлах вместе с нерасщепленными данными; такое распределение называется расщепленным(фрагментированным);

5. выделенные подмножества могут дублироваться.

Распределение и поиск данных в распределенных БД является прозрачным для пользователя.

Распределенные БД могут быть однородными или неоднородными в смысле аппаратных и программных средств (СУБД). Проблему неоднородности сравнительно легко решить, если распределенная БД является неоднородной в смысле аппаратных средств, но однородной в смысле программных средств (одинаковые СУБД в узлах). Если же в узлах распределенной системы используются разные СУБД, необходимы средства преобразования структур данных и языков. Это обеспечит прозрачность преобразования в узлах распределенной БД.

Развитая методология распределения и размещения данных, включая расщепление, является одним из основных требований к РБД.

Все функции по управлению доступом выполняют система управления распределенными базами данных (СУРБД) и сетевая операционная система (ОС), которые взаимодействуют с локальными СУБД и локальными ОС.

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

Системы с распределенными базами данных могут быть как с распределенными, так и с единой СУБД, системы же с распределенными СУБД обязательно являются системами с распределенными БД.

Назначение и основные компоненты системы баз данных.

Основной составной частью СУБД является ядро – набор управляющих про­грамм, предназначенных для автоматиза­ции всех процессов, связанных с обраще­нием к БД. Ядро СУБД в процессе работы с базами данных постоянно находится в основной памяти ЭВМ и организует обра­ботку поступающих запросов пользовате­лей, управляет очередностью их выполне­ния, взаимодействует с прикладными про­граммами пользователей и операционной системой, контролирует завершение опера­ций доступа к БД и выдает сообщения. Важнейшей функцией ядра является орга­низация параллельного выполнения запро­сов. Другой частью СУБД является набор обрабатывающих программ, включаю­щий трансляторы с языков описания дан­ных, схемы хранения, подсхемы хранения, трансляторы с подъязыков и автономных языков программирования, а также интер­претатор с языка запросов. Следует пом­нить, что этот набор программ не обраба­тывает данные как таковые. Отдельную группу программ составляет группа сер­висных программ

Обзор современных систем управления базами данных (СУБД).

К важным признакам классификации современных СУБД относятся: • среда функционирования — класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе раз­рядность операционной системы, на кото­рую ориентирована СУБД; • тип поддержи­ваемой в СУБД модели данных: сетевая, иерархическая или реляционная; • возмож­ности встроенного языка СУБД, его пере­носимость в другие приложения (SQL, Visual Basic, ObjectPAL и т.п.); • наличие развитых диалоговых средств конструиро­вания (таблиц, форм, запросов, отчетов, макросов) и средств работы с базой дан­ных; • возможность работы с нетрадицион­ными данными в корпоративных сетях (страницы HTML, сообщения электронной почты, изображения, звуковые файлы, видеоклипы и т. п.); • используемая кон­цепция работы с нетрадиционными дан­ными — объектно-реляционные, объект­ные; • уровень использования — локальная (для настольных систем), архитектура клиент-сервер, с параллельной обработкой данных (многопроцессорная); • использо­вание объектной технологии OLE 2.0; • возможности интеграции данных из разных СУБД; • степень поддержки языка SQL и возможности работы с сервером баз данных (SQL-сервером); • наличие средств отчуж­даемых приложений, позволяющих не проводить полной инсталляции СУБД для тиражируемых приложений пользователя. Наиболее известными СУБД для разра­ботки простых приложений можно назвать Access, Paradox и Approach. Для создания более сложных бизнес-приложений, корпо­ративных информационных систем исполь­зуются СУБД фирм Oracle, Informix, IBM, Sybase. Относительно простой в изучении и использовании считается Approach for Windows, которая ориентирована на разра­ботку небольших приложений. Более со­вершенными, обладающими мощным языком разработки приложений пользова­теля являются СУБД Paradox и Access. К общим свойствам СУБД Approach, Paradox и Access относятся: • графический много­оконный интерфейс, позволяющий пользо­вателю в диало­говом режиме создавать таблицы, формы, запросы, отчеты и мак­росы; • специальные средства, автоматизи­рующие работу, — многочисленные мас­тера (Wizards) в Access, ассистенты (Assis­tants) в Approach и эксперты (Experts) в Paradox; • возможность работы в локальном режиме или в режиме клиента на рабочей станции (Windows NT 3.51, Novell NetWare 4.1); • использование объектной технологии OLE2 для внедрения в базу данных разной природы (текстов, электронных таблиц, изображений и т. п.); • наличие собствен­ного языка программирования. Особенно­сти СУБД Approach, Paradox, Access: • в Approach, в отличие от Paradox и Access, не обеспечивается полная поддержка языка запросов SQL, что ограничивает ее воз­можности в многопользовательских систе­мах только просмотром данных; • в Access предусмотрена автоматическая генерация кода SQL при создании запроса пользова­телем; • в Approach язык для разработки приложении Lotus Script уступает по инте­грационным возможностям и удобству работы объектно-ориентированным языкам (в Paradox — ObjectPAL, u Access — Visual Basic); • Visual Basic в Access является наиболее мощным языком программирова­ния, который обладает свойством автоном­ности от СУБД и переносимости в другие

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