- •Вопросы к экзамену с ответами
- •6. Приведите классификацию субд.
- •3. По способу доступа к бд Файл-серверные
- •7. Перечислите функции администратора базы данных
- •8.Что представляет собой вычислительная система?
- •9.Назовите основные способы работы пользователя с базой данных при решении прикладных задач.
- •10.Укажите технологии создания приложений работы с базами данных.
- •11.Охарактеризуйте способы выполнения приложений работы с базами данных.
- •13.Перечислите основные модели жизненного цикла бд.
- •14.Перечислите основные признаки фактографических и документальных бд.
- •15.Укажите достоинства и недостатки иерархической модели данных.
- •16.Охарактеризуйте сетевую модель данных.
- •17.Охарактеризуйте реляционную модель данных.
- •18.В чем отличие реляционной и постреляционной модели данных?
- •20.Назовите и поясните смысл операций выполняемых над данными в случае многомерной модели.
- •21.Перечислите основные принципы, на которых основаны временные бд.
- •22.Охарактеризуйте методы обработки транзакций в активных базах данных.
- •23.В чем основные особенности архитектуры клиент-сервер? Особенности архитектуры клиент/сервер
- •24.Какие стандарты разработаны для архитектуры клиент-сервер?
- •25.В чем особенность создания приложений в архитектуре клиент-сервер?
- •26.Какова типичная распределенная система баз данных?
- •27.В чем состоят преимущества использования распределенных бд?
- •28.Перечислите основные принципы организации распределенных бд
- •29.Что представляет собой фрагментация данных?
- •31.В чем состоит проблема обновления в распределенных системах?
- •32.Дайте определение хранилищ данных.
- •33.Какие свойства присущи хранилищам данных?
- •34.Какие задачи требуется решать при создании хранилищ данных?
- •35.Перечислите основные компоненты хранилищ данных.
- •36.Какие модели данных используются для построения хранилищ?
- •37.Опишите процесс загрузки данных в хранилище.
- •38.Какие задачи решают средства анализа данных в системах поддержки принятия решений?
- •39.Дайте определение транзакции.
- •Isolation — Изолированность
- •41.Назовите три проблемы параллелизма.
- •42.Что представляет собой блокировка?
- •43.Какие типы блокировок могут существовать в системе? Типы блокировок
- •Автоматическая блокировка
- •Полная блокировка таблицы и блокировка изменений
- •Блокировка таблицы
- •Блокировка записей
- •44.Что представляет собой тупиковая ситуация и каким образом она разрешается?
- •45.Что представляет собой задача обеспечения безопасности в бд?
- •46.Какие типы управления доступом поддерживаются субд?
- •47.Перечислите известные вам правила безопасности.
- •48.Дайте определение целостности данных.
- •49.Каковы основные виды ограничений целостности данных, которые должны поддерживаться в субд?
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •51.Модели данных. Классификация моделей данных.
- •53.Иерархическая модель данных. Основные понятия. Область применения. Достоинства и недостатки.
- •55.Реляционная модель данных. Основные понятия. Область применения. Достоинства и недостатки.
- •2.4.2. Свойства отношений
- •2.4.3. Достоинства и недостатки рмд
- •56.Операции реляционной алгебры.
- •2.4.5. Преобразования операций реляционной алгебры
- •57.Нормальные формы схем отношений. Первая нормальная форма. Вторая нормальная форма.
- •2. Первая нормальная форма (1nf)
- •3. Вторая нормальная форма (2nf)
- •58.Нормальные формы схем отношений. Третья нормальная форма.
- •59.Нормальные формы схем отношений. Нормальная форма Бойса-Кодда
- •61.Структурированный язык запросов sql. Многотабличные запросы.
- •62.Структурированный язык запросов sql. Операции изменения и обновления базы данных.
- •Предложение update.
- •Обновление единственной записи
- •Обновление множества записей
- •Обновление с подзапросом
- •Обновление нескольких таблиц
- •Предложение commit или rollback
- •Вставка единственной записи
- •Вставка единственной записи с опущенными именами полей
- •Заключение.
- •63.Структурированный язык запросов sql. Формирование запросов.
- •64.Структурированный язык запросов sql. Использование псевдонимов.
- •65.Каким образом можно создавать таблицы баз данных в ms Access?
- •66.Каким образом осуществляется связывание таблиц?
- •67.Опишите технологию создания запросов в ms Access.
- •68.Что представляют собой макросы в ms Access и как они создаются?
- •69.Укажите особенности построения sql-запросов.
- •70.Опишите технологию создания приложений в ms Access.
55.Реляционная модель данных. Основные понятия. Область применения. Достоинства и недостатки.
2.4.1. Понятие отношения
Реляционная модель данных была предложена математиком Э.Ф. Коддом (Codd E.F.) в 1970 г. РМД является наиболее широко распространенной моделью данных и единственной из трех основных моделей данных, для которой разработан теоретический базис с использованием теории множеств.
В основе РМД лежит понятие отношения, представляющего собой подмножество декартова произведения доменов. Домен – это множество значений, которое может принимать элемент (например, множество целых чисел, множество комбинаций символов длиной N и т.п.).
Пусть D1, D2 ,…, Dk – произвольные конечные и не обязательно различные множества (домены). Декартово произведение этих множеств определяется следующим образом:
Таким образом, декартово произведение позволяет получить все возможные комбинации элементов исходных множеств.
Пример. Для доменов D1 = (1,2), D2 = (A,B,C) декартово произведение D будет таким:
D = {(1,A), (1,B), (1,C), (2,A), (2,B), (2,C)}.
Подмножество декартова произведения доменов называется отношением.
Элементы отношения называют кортежами. Элементы кортежа принято называть атрибутами. Количество атрибутов кортежа определяет арность отношения. Отношения арности 1 называют унарными, арности 2 – бинарными, арности n – n-арными.
Отношение содержит информацию о сущностях одного типа. Каждый кортеж отношения соответствует одному экземпляру сущности.
2.4.2. Свойства отношений
Отношение обладает двумя основными свойствами:
1. в отношении не должно быть одинаковых кортежей, т.к. это множество;
2. порядок кортежей в отношении несущественен.
Отношение удобно представлять как таблицу, где строка является кортежем, столбец соответствует домену (рис. 2.5, отношение СТУДЕНТЫ).
домен 1 . . . . . . . . домен 2 . . . . . . . . .. . . . . . .домен 3 (ключ) . . . . . . . . .. . . . .домен 4 . . . . . . . .домен 5
Группа |
ФИО студента |
Номер зачётной книжки |
Год рождения |
Стипендия |
С–72 |
Волкова Елена Павловна |
С-12298 |
1981 |
566.40 |
С–91 |
Белов Сергей Юрьевич |
С-12299 |
1980 |
400.00 |
. . . |
||||
С–72 |
Фролов Юрий Вадимович |
С-14407 |
1981 |
0 |
Рис.2.5. Пример табличной формы представления отношения
Отношение имеет имя, которое отличает его от имён всех других отношений. Атрибутам реляционного отношения назначаются имена, уникальные в рамках отношения. Обращение к отношению происходит по его имени, а обращение к атрибуту – по имени отношения и имени атрибута.
Каждый атрибут определён на некотором домене, несколько атрибутов отношения могут быть определены на одном и том же домене (например, номера рабочего и домашнего телефона). Домен задаётся типом данных и ограничениями целостности, например, оклад – это число больше нуля. Значение атрибута может быть не определено в момент внесения записи в БД. Для таких случаев предусмотрено специальное значение – null, которое можно интерпретировать как "неизвестное значение".
Ключ отношения – это атрибут, значения которого идентифицируют кортеж. Таким образом, ключ имеет уникальные в рамках отношения значения. (На рис. 2.5 ключ выделен полужирным шрифтом). Если ключ состоит из нескольких атрибутов, он называется составным. Ключей может быть несколько; основной ключ – первичный, его значения не могут обновляться. Другие ключи называются возможными или потенциальными ключами.
РМД не поддерживает групповые отношения. Для связей между отношениями используются внешние ключи. Внешний ключ – это атрибут подчиненного отношения, который является копией первичного (или уникального) ключа родительского отношения. (Пример – отношение ДЕТИ, связанное с отношением СТУДЕНТЫ по внешнему ключу Номер зачётной книжки, рис. 2.6). Фактически, внешние ключи логически связывают экземпляры сущностей разных типов между собой. Т.о., внешний ключ можно трактовать как ограничение целостности на две таблицы, в соответствии с которым множество значений внешнего ключа является подмножеством значений ключа родительской таблицы. Если связь необязательная, то значение внешнего ключа может быть неопределённым (null).
Номер зачётной книжки |
Имя, отчество ребенка |
Дата рождения |
С-12298 |
Антон Павлович |
01.12.01 |
С-12298 |
Юлия Павловна |
01.12.01 |
С-12299 |
Ольга Сергеевна |
16.04.02 |
Рис.2.6. Связь отношений "Студенты" и "Дети" по внешнему ключу
Перечень атрибутов отношения с их типами данных и размерами определяют схему отношения. Отношения, построенные по одинаковой схеме, называют односхемными; по различным схемам – разносхемными.
Все операции над данными в РМД выполняются над отношением и требуют задания имени отношения. Если операция применяется к части отношения, то может потребоваться идентификация кортежа или группы кортежей и задания имён атрибутов. В РМД используются следующие операции над данными:
запомнить: внесение информации в БД (требует формирования значений уникального ключа и обязательных атрибутов кортежа);
обновить: модификация данных – изменение значений отдельных атрибутов кортежей;
извлечь: чтение данных;
удалить: физическое или логическое удаление данных (кортежа или группы кортежей).
Структуризация данных в РМД существенно отличается от структуризации данных по версии CODASYL. В таблице 2.1. приведено соответствие этих двух вариантов структуризации.
Таблица 2.1. Сравнение структуризации данных в РМД и по версии CODASYL
Термины версии CODASYL |
Термины (и синонимы) РМД |
Элемент данных |
Атрибут (поле) |
Агрегат |
- |
Запись (группа) |
Кортеж (запись, строка) |
Совокупность записей одного типа |
Отношение (таблица) |
Набор (групповое отношение) |
- |
База данных |
База данных |
