Назначение и основные компоненты системы баз данных.
Назначение и основные компоненты системы баз данных.
Основной составной частью СУБД является ядро – набор управляющих программ, предназначенных для автоматизации всех процессов, связанных с обращением к БД. Ядро СУБД в процессе работы с базами данных постоянно находится в основной памяти ЭВМ и организует обработку поступающих запросов пользователей, управляет очередностью их выполнения, взаимодействует с прикладными программами пользователей и операционной системой, контролирует завершение операций доступа к БД и выдает сообщения. Важнейшей функцией ядра является организация параллельного выполнения запросов. Другой частью СУБД является набор обрабатывающих программ, включающий трансляторы с языков описания данных, схемы хранения, подсхемы хранения, трансляторы с подъязыков и автономных языков программирования, а также интерпретатор с языка запросов. Следует помнить, что этот набор программ не обрабатывает данные как таковые. Отдельную группу программ составляет группа сервисных программ
Обзор современных систем управления базами данных (СУБД).
К важным признакам классификации современных СУБД относятся: • среда функционирования — класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе разрядность операционной системы, на которую ориентирована СУБД; • тип поддерживаемой в СУБД модели данных: сетевая, иерархическая или реляционная; • возможности встроенного языка СУБД, его переносимость в другие приложения (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, ассистенты (Assistants) в 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, ассистенты (Assistants) в 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 является наиболее мощным языком программирования, который обладает свойством автономности от СУБД и переносимости в другие