Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ГОС ПрИЭ / Т3. BD_otvety.docx
Скачиваний:
27
Добавлен:
13.05.2015
Размер:
127.38 Кб
Скачать
  1. Жизненный цикл базы данных (ЖЦ БД). Определение, виды моделей ЖЦ БД, их достоинства и недостатки.

Жизненный цикл базы данных (ЖЦ БД)представляет со­бой непрерывный процесс с момента начала разработки базы данных до завершения её эксплуатации.

Модель ЖЦПО ‑ структура, задающая последовательность выпол­не­ния и взаимосвязи процессов, задач и действий, выполняемых при соз­да­нии базы данных.

Типы моделей

Каскадная модель предполагает последовательное выполнение эта­пов: анализ (определение требований и анализ), проектирование, реа­ли­за­ция, внедрение и сопровождение (моди­фи­ка­ция базы данных при изменении предметной области).

Дос­тоинства: формирование на каждом этапе тех­ни­чес­кой до­ку­ментации, возможность планирования сроков и затрат.

Не­дос­таток: от­сутствие возможности пересмотра отдельных этапов.

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

Достоинство - спецификация может разрабатываться постепенно, по мере того, как заказчик осознает, что ему нужно.

Недостатки – плохая документированность и структурируемость БД; перепроектирование БД. Используется при разработки небольших БД.

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

Достоинства - заказчику не нужно ждать полного завершения разработки; заказчик может использовать компоненты системы, которые получены на первых шагах как прототипы; уменьшение риска общих системных ошибок; наиболее важные подсистемы подвергаются более тщательному тестированию и проверке.

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

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

Анализ

Определение

Проектирование требований

1 2 3

Реализация Внедрение

и тестирование версий

Интеграция

  1. Индексирование таблиц. Определение индекса, его назначение и типы.

Для таблиц могут создаваться индексы.Индекслогически представляет собой таблицу из двух колонок: в первой находятся значения индекса в порядке убывания или возрастания, а во второй – адреса записи таблицы со значением данного индекса. Адреса могут быть абсолютными (номер цилиндра, дорожки, сектора), отно­ситель­ными (номер записи в таблице) или сим­во­ли­ческими.

Индексом может быть поле или группа полей (сос­тав­ной индекс).

Физическая организация индексов, обычно скрыта от программиста и для различных СУБД она различная. Например, для Access индексы хранятся вместе с данными в одном файле, а для Visual FoxPro – в отдельном файле для одного и группы индексов.

Наличие индекса позволяет:

  1. Обработать таблицу в нужной последовательности (логическая сортировка таблицы). Для этого назначается главный индекс, который задает порядок (по возрастанию или убыванию значения индекса) чтения записей таблицы (в примере по возрастанию значения табельного номера). Глав­­ный индекс можно определить при помощи специальных ко­манд управления индексами (например, Set Index to для FoxPro, или фразой фраза Set Order To оператора Select языка SQL).

  2. Осуществить прямой поиск нужной записи по ее индексу (например, табельного номера равного 30) методом двоичного поиска записи индексной таблицы и сравнения текущего индекса с искомым значением индекса (30). Если текущий индекс не совпадает с исходным, то СУБД выводит сообщение об отсутствии записи с исходным значение индекса (обычно, это может случиться после аварийного завершения работы с базой данных, например, при отключении электропитания или “зависания” операционной системы). После нахождения записи в индексном файле выби­ра­ет­ся адрес (номер записи 3), и запись таблицы с данным адресом (под номером 3) становится текущей. Так как размеры индексных файлов небольшие, то они хранятся в оперативной памяти и двоичный поиск в оперативной памяти производится максимально быстро.

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

  4. Связать родительскую таблицу с дочерней таблицей по индексу.

Обычно выделяют следующие типы индексов.

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

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

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

Регулярный (Regular) индекс хранит значения индексов всех за­писей таблицы. Обычно такой индекс является внешним ключом.

Фильтрованный индекс – индекс формируется только для тех записей, которые удовлетворяют некоторому заданному условию.

Кластерный индекс – при создании индекса происходит физическая сортировка индексируемой таблицы, что ускоряет работу с этой таблицей. Обычно, кластерный индекс создается для редко изменяемых таблиц, например, справочников единиц измерения, подразделений, должностей.

  1. Концептуальная, логическая, внутренняя, внешняя модели данных и их назначения. Формы записи моделей. Физическая и логическая независимость данных. Соответствие терминов реляционных СУБД для концептуальной, логической и физической моделей.

Выделяют четыре уровня моделей представления данных в базе.

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

Логическая модель (логическая схема) - это сово­куп­ность объектов и их взаимосвязей в терминах конкретной СУБД.

Внутренняя модель (физическая схема, модель) - это пред­став­ление данных на внешнем носителе.

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

Такое многоуровневое представление упрощает реализацию, управ­ле­ние и использование таблицы. Проектирование и управление базой ве­дется на каждом уровне представления.

Рассмотрим четыре формы записи концептуальной модели.

Овал‑диаграммы Бахмана. Наименование каждого объекта заклю­ча­ется в овал, и овалы соединяются линиями связей объектов.

Достоинст­ва: наглядность и компактность. Недостаток ‑ отсутст­вие атрибутов.

Табличная форма. Объект представляется в виде таблицы: на­име­но­ва­ние объекта ‑ это наименование таблицы, а наименования атрибу­тов указываются в ее строках или колонках. Ключевые атрибуты выделяются (обычно под­чер­­ки­­ва­ни­ем).

Достоинст­во: детализация. Недостатки: громоздкость при боль­шом числе объектов и трудо­емкость.

Списки. Объект представляется в виде списка: на­име­но­ва­ние объ­ек­та является наименованием списка, которое указывается перед списком, а наименования атрибутов указываются через запятые в виде списка, зак­лю­ченного в круглые скобки. Ключевые атрибуты выделяются.

Достоин­ст­­ва: детализация и меньшая трудоемкость. Не­дос­тат­ки: мень­шая наглядность и громоздкость при большом числе объектов.

ER‑диаграммы. Графическое изображение взаимо­свя­зей объектов и их экземпляров в виде ER‑диаграмм и диаграмм ER‑эк­зем­п­ля­ров (ER - Es­­sence Relation) ‑ англ. “сущность” и “связь”).

ПРОИЗВОДИТ

M М

ЗАВОД

ИЗДЕЛИЕ

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

(???) Реляционная модель представляет базу данных в виде множества взаимосвязанных отношений. В отличие от иерархических и сетевых моделей в реляционной модели связи между отношениями поддерживаются неявным образом. В этой модели, так же как и в остальных, поддерживаются иерархические связи между отношениями. В каждой связи одно отношение может выступать как основное (родительского), а другое отношение выступает в роли подчиненного (дочернего). Это означает, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они связаны. В основном отношении это первичный ключ отношения (PRIMARY KEY), который однозначно определяет кортеж основного отношения. В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу основного отношения. Однако здесь этот набор атрибутов уже является внешним ключом (FOREIGN KEY), то есть он определяет множество кортежей подчиненного отношения, которые связаны с единственным кортежем основного отношения.

  1. Классификация СУБД по областям применения (локальные и корпоративные) и их сравнительный анализ.

По областям применения принято выделять две группы СУБД.

1) Сетевые, корпоративные, распределенные, клиент-серверные, полнофункциональные, масштабируемые, “большие” субд.

СУБД данной группы рассчитаны на объём информации сотни ГБ и более (информационные “грузовики”). Рассмотрим основные СУБД из этой группы.

СУБД ORACLE (фирма ORACLE) возникла в 60-х годах, является одной из самых первых и популярных СУБД.

Достоинства этой СУБД: это самая универсальная СУБД, которая может выполняться на всех типах компьютеров и под всеми операционными системами. Она полнофункциональная - в ней реализованы все функции СУБД и имеются прекрасные средства автоматизации проектирования и разработки приложений, оперативного анализа информации (OLAP-средства) и принятия решений (DSS-средства).

Недостатки этой системы: сложность, громоздкость её применения для простых БД, высокая стоимость.

СУБД DB 2 (фирма IBM) создана в 60-е годы и по своим возможностям приближается к ORACLE.

СУБД SQL Server (фирма Microsoft), возникла в начале 70-х, первая СУБД Microsoft.

Достоинства: она проще, чем предыдущие СУБД и дешевле.

Недостатки: работает только под Windows, не имеет средств разработки приложений. В настоящее время более половины корпоративных БД работающих под windows имеют СУБД SQL Server.

СУБД MySQL создавалась на общественных началах сообществом программистов и распространялась как свободная СУБД с исходными текстами и с возможностью корректировать исходные тексты программ. В настоящее время она куплена фирмой ORACLE с обещанием сохранить бесплатное использование. Для неё есть много оболочек, которые можно разделить на 2 группы: локальные оболочки, работающие на клиентской машине, где находится БД и удалённые оболочки, которые подключаются через Интернет к удалённым БД. В основном СУБД используется для создания баз данных для сайтов и Web-приложений, особенно написанных на PHP.

Достоинства: бесплатность, её простота, интеграция с языком программирования PHP.

Недостатки: отсутствие собственной визуальной оболочки и собственных средств разработки приложений.

СУБД InterBase (фирма Borland). Достоинства - интеграция с языком программирования Delphi. Для неё существует множество визуальных оболочек. Недостаток - специализирована для Delphi.

СУБД Firebird (сообщество Firebird) - компактная СУБД, основанная на кодах InterBase и работающая на различных платформах

2) Локальные, персональные, настольные, файл-серверные, “малые” субд.

СУБД этой группы рассчитаны на объём информации в несколько ГБ (информационные “легковые автомобили”). Рассмотрим основные СУБД из этой группы.

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

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

Наличие трёх уровней работы c БД:

1) визуальный уровень - можно создавать БД, отчёты, запросы, формы без всякого программирования.

2) уровень макрокоманд - в Access имеется более сотни различных макрокоманд и с помощью макрокоманд составляются макросы, которые реализуют алгоритмы работы с базой данных, которые нельзя реализовать визуальными средствами, например: копирование таблиц, формирование и выполнение зависимых друг от друга запросов макросов и других процессов. Макросы в какой-то мере реализуют механизм хранимых процедур, который отсутствуют в Access.

3) программный уровень на котором пишутся программы на языке программирования VBA (подмножество языка Visual Basic). Таким образом, можно реализовать алгоритмы в виде процедур и функций, которые указываются в вычисляемых полях в запросах, формах или отчётах.

Разработчик может выбирать уровни, которые соответствуют сложности решаемых им задач.

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

В качестве недостатков СУБД Access можно отметить следующие.

- Отсутствие возможности непосредственного хранения данных не в одном файле, а нескольких на различных дисководах, что позволило бы распараллелить обработку данных на различных дисководах и вместо одной головки чтения и записи использовать несколько, что многократно повышает скорость обработки данных. - Ограничение на объем базы данных в 2 ГБ. - Отсутствие поисковых средств быстрого поиска запросов, форм, отчетов, модулей по их наименованиям и/или содержанию. - Небольшие размеры полей для ввода параметров макрокоманд (например, текста SQL-команды), что приводит к необходимости переходить на использование языка программирования VBA. - Достаточно сложный процесс формирования ленты пользователя и отсутствия возможности формирования меню в версиях Access 2007 и выше.

Все эти замечания проявляются при разработке больших баз данных и приложений.

Таким образом, можно сделать вывод в наличии разнообразных и мощных возможностей СУБД Access.

СУБД Visual FoxPro (Microsoft). Достоинства: наличие собственно языка программирования, наличие средств разработки приложений, каждая таблица хранится в отдельном файле. Недостатки: плохие визуальные средства.

Visual Clarion - она уступает предыдущим СУБД и в настоящее время практически не используется.

  1. Классификация СУБД по организации данных (иерархические, сетевые, реляционные, постреляционные, многомерные, объектно-ориентированные), определения, термины и их сравнительный анализ.

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

Рассмотрим ряд терминов иерархической модели.

Высота, вес и момент дерева ‑ число уровней, листьев и узлов в дереве.

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

Сцепленный ключ ‑ соединение в один ключ всех ключей узлов на пути доступа к искомому узлу в порядке их обхода. Такой ключ обеспечивает наиболее простой и быстрый доступ к искомому узлу.

Сбалансированное дерево - дерево, в котором любой исходный узел имеет одинаковую степень (одинаковое число ветвей или под­чи­нен­ных узлов).

Бинарное (двоичное) дерево ‑ сбалансированное дерево с исходными уз­ла­ми степени два. Любое дерево можно преобразовать в бинарное дерево. Поиск дан­ных в бинарном дереве наиболее быстрый.

Основными информационными единицами в иерархической модели являются: база данных (БД), сегмент и поле.

Поле данных - это минимальная, неделимая единица данных, доступная пользователю с помощью СУБД.

Сегмент – это запись, при этом определяются два понятия: тип сегмента или тип записи и экземпляр сегмента или экземпляр записи.

Тип сегмента - это поименованная совокупность типов элементов данных, в него входящих.

Ключ - это набор элементов данных, однозначно идентифицирующих экземпляр сегмента.

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

К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией. 

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

На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Team-Up и Data Edge, а также отечественные системы Ока, ИНЭС и МИРИС.

Ключ - это набор элементов данных, однозначно идентифицирующих экземпляр сегмента.

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

К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией. 

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

На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Team-Up и Data Edge, а также отечественные системы Ока, ИНЭС и МИРИС.

Соседние файлы в папке Ответы ГОС ПрИЭ