Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы к экзамену.docx
Скачиваний:
0
Добавлен:
02.01.2025
Размер:
521.41 Кб
Скачать

Система обработки БД.

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

Понятие БД и её назначение.

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

БД нужны для эффективной обработки и анализирования большого числа данных.

Функции СУБД.

Система управления БД (СУБД) – программа, посредством которой реализуется создание БД и управление ею, включая:

  • добавление новых данных,

  • модификация существующих данных,

  • осуществление доступа к данным

Дополнительные функции СУБД:

1. Обеспечение целостности данных – поддержка согласованности и достоверности данных в БД в любой момент времени.

1.1. Обеспечение физической целостности данных – защита данных от разрушений при сбоях оборудования.

  • Поддержка понятия транзакции.

  • Использование источников бесперебойного питания UPS.

  • Резервное копирование и восстановление БД.

1.2. Обеспечение логической целостности данных – защита данных от некорректных обновлений.

  • Задание ограничений на значения данных (диапазоны, шаблоны и т.д.).

  • Задание уникальности значений данных.

  • Запрет редактирования значений данных.

  • Средства управления транзакциями.

2. Обеспечение безопасности данных – предоставление доступа к данным определённого объёма только тем лицам, которые имеют на это право.

  • Аутентификация пользователя – проверка подлинности пользователя.

  • Авторизация пользователя – предоставление прав на выполнение тех или иных действий с БД.

  • Хранение информации о пользователях, выполняющих изменение данных, т.е. установление автора тех или иных изменений в БД.

3. Обеспечение одновременного доступа к данным множества пользователей:

  • Управление блокировками.

  • Параллельная обработка транзакций.

Понятие концептуальной модели данных.

Концептуальная модель данных – концептуальное представление хранимой информации, использующейся в проектируемой ИС; первоначальный проект БД.

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

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

Модель «сущность-связь», ER-диаграмма, ERD (Entity Relationship Diagram)

Это средство моделирования данных.

Ключевые элементы ER-диаграммы:

  • сущности;

  • атрибуты;

  • идентификаторы;

  • связи.

1). Сущность (Entity) – реальный или абстрактный объект, являющийся узловой точкой сбора информации.

Класс сущностей – совокупность сущностей одного типа.

Экземпляр сущности – конкретная сущность.

2). Атрибут (Attribute) – поименованная характеристика сущности.

Композитный атрибут – атрибут, состоящий из группы атрибутов.

Многозначный атрибут – атрибут, содержащий несколько значений.

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

Графическое представление ER-диаграмм:

  • сущности – прямоугольники,

  • атрибуты – эллипсы,

  • идентификатор – подчеркнутый атрибут.

4). Связь (Relationship) – моделирует отношение между сущностями.

Свойства связи:

а). Степень связи – число классов сущностей, участвующих в связи.

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

Связь «один-к-одному» (1:1) – один экземпляр первой сущности связан с одним экземпляром второй сущности и наоборот.

Связь «один-ко-многим» (1:М) – один экземпляр первой сущности связан со многими экземплярами второй сущности, но один экземпляр второй сущности связан только с одним экземпляром первой сущности.

Связь «многие-ко-многим» (М:N) – один экземпляр первой сущности связан со многими экземплярами второй сущности и наоборот.

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

Максимальные кардинальные числа могут иметь значения, отличные от 1:1, 1:М, М:N.

г). Минимальная кардинальность связи – минимальное количество экземпляров сущностей, участвующих в связи.

Минимальная кардинальность связи рассматривается как характеристика обязательности или необязательности участия экземпляра сущности в связи.

Подтипы сущности – сущности, уточняющие варианты типов исходной сущности, являющейся надтипом; наследуют атрибуты от надтипов.

Взаимоисключающие подтипы – экземпляр надтипа может принадлежать только к одному подтипу.

Невзаимоисключающие подтипы – экземпляр надтипа может принадлежать к нескольким подтипам.

Диаграмма классов UML.

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

Класс (Class)– абстрактное описание множества однородных объектов.

Виды отношений:

1. Отношение ассоциации – произвольное отношение между классами.

Кратность ассоциации – кардинальность, представленная в формате X..Y,

где X – необходимый минимум,

Y – допустимый максимум,

X и Y – целые числа от 0 до * (неограниченное значение).

2. Отношение обобщения – описывает иерархическое строение классов и наследование их свойств и поведения.

3. Отношение композиции – для представления связи «часть – целое».

Понятие логической структуры БД.

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

Логическая структура БД (схема БД) – структура элементов данных и логических связей между ними:

  • соответствующая концептуальной модели данных,

  • совместимая с определённым типом модели данных, поддерживаемой СУБД.

Типы моделей данных, поддерживаемые СУБД.

1. Дореляционные модели данных

1.1. Иерархическая модель данных – иерархия типов объектов, между которыми установлена связь 1:М.

Недостаток – неиерархические по своей природе данные трудно представить средствами иерархической модели данных.

1.2. Сетевая модель данных – не имеет ограничений на связи между объектами.

Недостаток – выполнение даже простых запросов является сложным процессом.

2. Реляционные модели данных

Relation (отношение) – подмножество декартова произведения доменов.

Домен – множество допустимых значений атрибута (элемента данных).

Декартово произведение доменов D1, D2, …, Dk

D = D1 * D2 *…* Dk : – множество всех кортежей длины k, состоящих из k элементов по одному из каждого домена,

– позволяет получить все возможные комбинации значений рассматриваемых доменов

Отношение R на множествах D1, D2, …, Dk:

– подмножество декартова произведения доменов D,

– некоторое множество кортежей арности k.

Отношение удобно представлять в виде таблицы, где строки соответствуют кортежам, а столбцы – атрибутам, каждый из которых определён на некотором домене.

Реляционная терминология:

Отношение = Таблица – двумерная таблица

Атрибут = Столбец = Поле = Элемент данных – столбец таблицы

Кортеж = Строка = Запись – строка таблицы

Отношение должно удовлетворять ограничениям:

  • Значения атрибута должны принадлежать домену, на котором определён атрибут.

  • Порядок следования кортежей в отношении не имеет значения.

  • Два кортежа не могут иметь полностью совпадающих наборов значений атрибутов.

Первичный ключ – один или более атрибутов, значения которых однозначно идентифицируют кортеж (строку) отношения.

Замечания:

  • Каждое отношение должно иметь первичный ключ.

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

Схема отношения (структура отношения) – список имён атрибутов отношения.

Индекс – дополнительная структура, которая строится для атрибута или совокупности атрибутов с целью увеличения быстродействия работы БД.

Замечания:

  • Для первичного ключа индекс строится автоматически.

  • Дополнительно индекс позволяет обеспечить уникальность значений атрибутов.

Реляционная модель данных – совокупность отношений (таблиц).

Недостаток реляционной модели данных – не приспособлены для хранения объектов, содержащих сложные структуры данных, а также методы, определяющие поведение объектов.

3. Другие типы моделей данных

3.1. Объектно-ориентированная модель данных (ООСУБД) – позволяет хранить объекты.

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

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

Реляционная модель данных.

Реляционная модель данных – совокупность отношений (таблиц).

Недостаток реляционной модели данных – не приспособлены для хранения объектов, содержащих сложные структуры данных, а также методы, определяющие поведение объектов.

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

Соответствие между основными элементами моделей:

Элемент ER-диаграммы

Элемент диаграммы классов UML

Элемент реляционной модели

Сущность

Класс

Отношение (таблица)

Атрибут сущности

Атрибут класса

Атрибут (столбец, поле) отношения

Связь

Отношение ассоциации

Дублирование атрибутов (столбцов, полей) связываемых отношений

1. Представление связи «один-к-одному»:

  • Каждая сущность (класс) представляется отношением.

  • Ключ одного из отношений помещается в другое отношение.

«Подозрительные» связи 1:1 имеют место, если:

  • Связь обязательна в обоих направлениях.

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

  • Сущности содержат одинаковый идентификатор.

В этом случае сущности следует объединить в одно отношение.

2. Представление связи «один-ко-многим»:

  • Каждая сущность (класс) представляется отношением.

  • Ключ отношения, находящегося на стороне 1, помещается в отношение, находящееся на стороне М (внешний ключ).

3. Представление связи «многие-ко-многим»:

  • Каждая сущность (класс) представляется отношением.

  • Создаётся третье отношение (отношение пересечения), представляющее связь между сущностями.

  • Ключ отношения пересечения является комбинацией ключей связываемых отношений.

4. Представление подтипов:

  • Надтип представляется отношением.

  • Подтипы представляются отношениями.

  • К каждому отношению подтипа добавляется ключ отношения надтипа.

Понятия: первичный ключ, внешний ключ, суррогатный ключ, индекс.

Первичный ключ – один или более атрибутов, значения которых однозначно идентифицируют кортеж (строку) отношения.

Внешний ключ – атрибут (или группа атрибутов), являющийся копией первичного ключа другого отношения.

Суррогатный ключ – уникальный идентификатор, используемый в качестве первичного ключа отношения, не имеющий смысла для пользователя.

Основная причина использования суррогатных ключей – индексы, определённые на текстовом домене, слишком велики.

1). Первичный ключ, созданный на основе текстового атрибута, требует построения уникального индекса, который получается большим.

2). Первичный ключ отношения пересечения (связь M:N), созданный на основе текстовых атрибутов, получается большим.

Индекс – дополнительная структура, которая строится для атрибута или совокупности атрибутов с целью увеличения быстродействия работы БД.

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

Достоинства суррогатных ключей:

  • компактность значений,

  • снижение занимаемого объёма памяти,

  • лёгкость индексирования,

  • постоянная идентификация.

Способы генерации значений суррогатного ключа:

  • генерация системой (тип Счётчик, AutoNumber),

  • генерация пользователем или программой (вручную или программно).

Замечания:

  • Не следует вводить суррогатный ключ в отношение, имеющее в качестве естественного ключа легко индексируемые данные.

  • С осторожностью относиться к суррогатным ключам, генерируемым системой.

Ограничения на значения данных.

1. Ограничения на данные

1.1. Ограничения доменов

Способы реализации ограничения доменов:

  • Тип данных (Data Type).

  • Шаблон для ввода данных (Input Mask).

  • Условие на значения (Validation Rule).

1.2. Ограничение обязательности значения

Способы реализации ограничения обязательности значения:

  • Свойство Required = Yes.

  • Значение по умолчанию (Default Value).

Пустое значение атрибута допускает множество толкований:

  • Значение атрибута неизвестно.

  • Атрибут неприменим.

  • Значение атрибута равно 0.

1.3. Ограничение уникальности значения

Способ реализации ограничения уникальности значения:

  • Свойство Indexed = Yes (No Duplicates).

Ограничения на связи между данными.

2. Ограничения на связи между данными

2.1. Ограничение ссылочной целостности

Ссылочная целостность – обеспечение соответствия значения внешнего ключа одного отношения значениям первичного ключа другого отношения.

2.2. Ограничение кардинальности связи

Максимальная кардинальность связи реализуется при преобразовании связей 1:1, 1:M, M:N во внешние ключи реляционной модели.

Минимальная кардинальность связи реализуется заданием обязательности (необязательности) значений внешнего ключа в реляционной модели.

2.3. Ограничения на изменения в записях

Изменения в записях:

  • Удаление строки.

  • Обновление первичного ключа.

  • Вставка новой строки.

Каскадное обновление полей – изменение значения первичного ключа одного отношения приводит к автоматическому изменению соответствующих значений внешнего ключа другого отношения.

Каскадное удаление записей – удаление записи одного отношения приводит к автоматическому удалению записей другого отношения, имеющих значения внешнего ключа, равные значению первичного ключа удаляемой записи.