Шпоры по предмету "Введение в базы данных"

69
1. Определения: данные и информация. Содержательная и представительная стороны определения информации. Основные преобразования информации и данных (приведите пример). 2. Определение информационной системы (ИС). Основные структурные компоненты ИС. Классификация автоматизированных ИС. 3. Основные подходы к обработке информации в автоматизированных информационных системах. 4. Определения базы данных (по Дж. Мартину и согласно КОДАСИЛ). Системы управления базами данных – определение и основные функции. 5. Понятие модели данных. Основные ограничения, определяемые моделью данных. Основные аспекты моделирования при обработке данных. 6. Концепция трех схем. Основные свойства концептуальной схемы. 7. Инфологические модели. Модель «сущность-связь». Определения: атрибуты (идентификаторы), (сущности) типы сущностей, связи (тип связей), арность связи, классы принадлежности (обязательный и необязательный). Приведите примеры. 8. Инфологические модели. Модель «сущность-связь». Классификация бинарных связей. Понятие зависимой сущности. Сущности супертипы и подтипы. Приведите примеры. 9. Моделирование и объединение локальных представлений. 10. Иерархическая модель данных. Основные достоинства и недостатки иерархической модели. Приведите пример. 11. Сетевая модель данных. Основные достоинства и недостатки сетевой модели. Приведите пример. 12. Реляционная модель данных. Определения: отношение, кортеж, степень отношения, мощность отношения, домен, схема отношения, схема базы данных. Приведите пример отношения.

Upload: ketra

Post on 14-Nov-2014

48 views

Category:

Documents


1 download

DESCRIPTION

1. Определения: данные и информация. Содержательная и представительная стороны определения информации. Основные преобразования информации и данных (приведите пример).2. Определение информационной системы (ИС). Основные структурные компоненты ИС. Классификация автоматизированных ИС.3. Основные подходы к обработке информации в автоматизированных информационных системах.4. Определения базы данных (по Дж. Мартину и согласно КОДАСИЛ). Системы управления базами данных – определение и основные функции.5. Понятие модели данных. Основные ограничения, определяемые моделью данных. Основные аспекты моделирования при обработке данных.6. Концепция трех схем. Основные свойства концептуальной схемы.7. Инфологические модели. Модель «сущность-связь». Определения: атрибуты (идентификаторы), (сущности) типы сущностей, связи (тип связей), арность связи, классы принадлежности (обязательный и необязательный). Приведите примеры.8. Инфологические модели. Модель «сущность-связь». Классификация бинарных связей. Понятие зависимой сущности. Сущности супертипы и подтипы. Приведите примеры.9. Моделирование и объединение локальных представлений.10. Иерархическая модель данных. Основные достоинства и недостатки иерархической модели. Приведите пример.11. Сетевая модель данных. Основные достоинства и недостатки сетевой модели. Приведите пример.12. Реляционная модель данных. Определения: отношение, кортеж, степень отношения, мощность отношения, домен, схема отношения, схема базы данных. Приведите пример отношения.13. Реляционная модель данных. Определения: ключевые атрибуты, первичный ключ, возможный ключ, внешний ключ. Приведите примеры, демонстрирующие определения. Свойства отношений. Достоинства и недостатки реляционной модели.14. Реляционная алгебра ( проекция, разность, селекция, пересечение). Приведите примеры.15. Реляционная алгебра (объединение, декартово произведение, соединение, деление). Приведите примеры.16. Язык запросов SQL. Типы данных SQL. Подмножества языка SQL-DDL и SQLDML. Подробно опишите операторы SQL-DML (кроме SELECT). Приведите примеры.17. Язык запросов SQL. Возможности оператора SELECT. Приведите примеры.18. Проектирование реляционных БД. Уточнение целей проектирование. Нормализация отношений. Определения: функциональная зависимость (ФЗ), избыточная ФЗ, полная ФЗ, транзитивная ФЗ. Приведите примеры.19. Проектирование реляционных БД методом генерации отношений из модели «сущность-связь». Приведите примеры.20. Нормальные формы (1НФ, 2НФ, 3НФ). Алгоритм нормализации (для 1НФ). Приведите примеры.21. Нормальные формы (НФ Бойса-Кодда, 4НФ, 5НФ). Приведите примеры.22. Нормальные формы. Метод универсального отношения, декомпозиция отношений. Приведите пример.23. Разработка многопользовательских приложений. Основные типы многопользовательских приложений. Архитектура файл-сервер.24. Разработка многопользовательских приложений. Основные типы многопользовательских приложений. Архитектура клиент-сервер.25. Определения: транзакция, протокол, блокировка, взаимоблокировка. Основные методы детекции взаимоблокировки. Приведите примеры.26. Методы защиты БД: идентификация пользователей, проверка полномочий, представления данных и шифрование.27. Восстановление БД. Источники отказов. Процедура восстановления. Протокол с отложенным обновлением.28. Восстановление БД. Источники отказов. Процедура восстановления. Протокол с немедленным обновлением.29. Восстановление БД. Источники отказов. Процедура восстановления. Метод контрольных точек.30. Представление структур данных в памяти ЭВМ. Списковые структуры. Связанное распределение памяти31. Представление структур данных в памяти ЭВМ. Организация данных в памяти с использованием методов вычисления адреса по значениям ключей записей.32. Объектно-ориентированные БД.33. Базы знаний__

TRANSCRIPT

Page 1: Шпоры по предмету  "Введение в базы данных"

1. Определения: данные и информация. Содержательная и представительная стороны определения информации. Основные преобразования информации и данных (приведите пример).2. Определение информационной системы (ИС). Основные структурные компоненты ИС. Классификация автоматизированных ИС.3. Основные подходы к обработке информации в автоматизированных информационных системах.4. Определения базы данных (по Дж. Мартину и согласно КОДАСИЛ). Системы управления базами данных – определение и основные функции.5. Понятие модели данных. Основные ограничения, определяемые моделью данных. Основные аспекты моделирования при обработке данных.6. Концепция трех схем. Основные свойства концептуальной схемы.7. Инфологические модели. Модель «сущность-связь». Определения: атрибуты (идентификаторы), (сущности) типы сущностей, связи (тип связей), арность связи, классы принадлежности (обязательный и необязательный). Приведите примеры.8. Инфологические модели. Модель «сущность-связь». Классификация бинарных связей. Понятие зависимой сущности. Сущности супертипы и подтипы. Приведите примеры.9. Моделирование и объединение локальных представлений.10. Иерархическая модель данных. Основные достоинства и недостатки иерархической модели. Приведите пример.11. Сетевая модель данных. Основные достоинства и недостатки сетевой модели. Приведите пример.12. Реляционная модель данных. Определения: отношение, кортеж, степень отношения, мощность отношения, домен, схема отношения, схема базы данных. Приведите пример отношения.13. Реляционная модель данных. Определения: ключевые атрибуты, первичный ключ, возможный ключ, внешний ключ. Приведите примеры, демонстрирующие определения. Свойства отношений. Достоинства и недостатки реляционной модели.14. Реляционная алгебра ( проекция, разность, селекция, пересечение). Приведите примеры.15. Реляционная алгебра (объединение, декартово произведение, соединение, деление). Приведите примеры.16. Язык запросов SQL. Типы данных SQL. Подмножества языка SQL-DDL и SQLDML. Подробно опишите операторы SQL-DML (кроме SELECT). Приведите примеры.17. Язык запросов SQL. Возможности оператора SELECT. Приведите примеры.

Page 2: Шпоры по предмету  "Введение в базы данных"

18. Проектирование реляционных БД. Уточнение целей проектирование. Нормализация отношений. Определения: функциональная зависимость (ФЗ), избыточная ФЗ, полная ФЗ, транзитивная ФЗ. Приведите примеры.19. Проектирование реляционных БД методом генерации отношений из модели «сущность-связь». Приведите примеры.20. Нормальные формы (1НФ, 2НФ, 3НФ). Алгоритм нормализации (для 1НФ). Приведите примеры.21. Нормальные формы (НФ Бойса-Кодда, 4НФ, 5НФ). Приведите примеры.22. Нормальные формы. Метод универсального отношения, декомпозиция отношений. Приведите пример.23. Разработка многопользовательских приложений. Основные типы многопользовательских приложений. Архитектура файл-сервер.24. Разработка многопользовательских приложений. Основные типы многопользовательских приложений. Архитектура клиент-сервер.25. Определения: транзакция, протокол, блокировка, взаимоблокировка. Основные методы детекции взаимоблокировки. Приведите примеры.26. Методы защиты БД: идентификация пользователей, проверка полномочий, представления данных и шифрование.27. Восстановление БД. Источники отказов. Процедура восстановления. Протокол с отложенным обновлением.28. Восстановление БД. Источники отказов. Процедура восстановления. Протокол с немедленным обновлением.29. Восстановление БД. Источники отказов. Процедура восстановления. Метод контрольных точек.30. Представление структур данных в памяти ЭВМ. Списковые структуры. Связанное распределение памяти31. Представление структур данных в памяти ЭВМ. Организация данных в памяти с использованием методов вычисления адреса по значениям ключей записей.32. Объектно-ориентированные БД.33. Базы знаний__

Page 3: Шпоры по предмету  "Введение в базы данных"

1. Определения: данные и информация. Содержательная и представительная стороны определения информации. Основные преобразования информации и данных (приведите пример).Д – нктр представление инфы (анал, табл, граф)Данные – цифровые и графические сведения об объектах окружающего мира, введённые в ЭВМ. Информация – данные, которым передается некоторый смысл или интерпритация в конкретной ситуации, в рамках некоторой системы понятий. Представляется посредством кодирования данных; извлекается путем декодирования и интерпритации.

ПреобразванияИнформация-данные -> данные-данные -> данные-информация

Содержательная сторона:1)информацию можно генерировать и представлять в определенной форме2)Информацию можно перерабатывать (поиск, наприм)3)Информацию можно передаватьПредставительная сторона:1)Информация представляется посредством данных2)Данные могут быть собраны в документ3)Документ может иметь определенную структуру4)Документы могут быть представлены в различных форматах

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

Page 4: Шпоры по предмету  "Введение в базы данных"

интеллектуальные

простые

распределённые

локальные

Системы БД

АИС на автоном. файлах

ИСОД

ИСС

ФИПС

ДИПС

Автоматизированные ИС (АИС)

По типу хранения данных

По характеру обработки данных

По степени интеграции данных

Системы баз данных

По степени распределённости По степени интеллектуальности

2. Определение информационной системы (ИС). Основные структурные компоненты ИС. Классификация автоматизированных ИС.Информационная система – организационная совокупность технических и обеспечивающих средств, технологических процессов и кадров, реализующих функции сбора, обработки, хранения, поиска, выдачи и передачи информации.(ф-ии)Наприм библиотечный каталог

Структурные компоненты:1)Аппаратное обеспечение (средства ВТ, передачи данных, ряд спец техн устройств)2)Программное обеспечение (реализ ф-ий ввода д, размещение д на машинных носителях, модификация д, доступ к д)3)Коммуникационное обеспечение (комплех аппаратных сетевых коммуникаций и программных средств поддержки комуникации ИС)4)Лингвистическое обеспечение (решение задач формализации смыслового содержания инфы, глоссарии, рубрикаторы, индексы )5)Организационно-технологическое обеспечение (соедин разнообр компоненты в единую С, обеспечивает проц ее управлния и функ-ирования)

Классификация АИС

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

Page 5: Шпоры по предмету  "Введение в базы данных"

3. Основные подходы к обработке информации в автоматизированных информационных системах.1)Концепция файловой системы

Данные ИС представляются в виде совокупности файлов несущей ОС Структура файла определяется разработчиком ИС. В структуре файла

сочетаются логическая и физическая структура данных Любая программа, содержащая запрос к данным, должна уметь

интерпретировать структуру файла Каждый запрос требует своей программы обработки

2)Концепция БД Данные ИС размещаются в файлах несущей ОС Физическая структура файла фиксируется, а логическая представляется на

ее основе Обработка запроса к данным реализуется через специальный интерфейс (н

SQL - ) Программы разрабатываются на основе единой точки зрения – процедуры

обработки данных3)Концепция ООБД

Данные ИС размещаются в файлах несущей ОС Информация ИС представляется в виде объектов; логическая физическая

структура данных разделены Обработка запроса к данным реализуется через интерфейс

манипулирования объектами- SQL, oRACLe – яз программир Программы разрабатываются на основе единой точки зрения на классы

объектов и идеи повторного использования программного кода

Page 6: Шпоры по предмету  "Введение в базы данных"

4. Определения базы данных (по Дж. Мартину и согласно КОДАСИЛ). Системы управления базами данных – определение и основные функции.По Мартину:

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

Данные запоминаются т.о., чтобы они мо мере возможности не зависели от программы.

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

По КОДАСИЛ: БД состоит из всех экземпляров записей, экземпляров наборов записей и областей, которые контролируются конкретной схемой. Под схемой понимают карту всей логической структуры БД.

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

Функции:1)Обеспечение языковых средств описания и манипулирования данными2)Обеспечение поддержки логической модели данных3)Обеспечение взаимодействия логической и физической структур данных4)Обеспечение защиты и целостности данных5)Обеспечение поддержки БД в актуальном состоянии

Page 7: Шпоры по предмету  "Введение в базы данных"

5. Понятие модели данных. Основные ограничения, определяемые моделью данных. Основные аспекты моделирования при обработке данных.Модель данных- логическая структура данных, которая представляет присущие этим данным свойства; независима от аппаратного и программного обеспечения и не связана с функционированием компьютера.Ограничения:1)Модель данных ограничивает возможность выбора СУБД2)Модель данных определяет методы создания дружественного интерфейса пользователя3)Необходимость использования модели высокого уровня для описания семантики предметной области ИСЭтапы моделирования:1)Информационное

Инфологическое (концептуальное) Логическое

2)Физическое Создание модели доступа к данным Оптимизация физической организации доступа к данным

Page 8: Шпоры по предмету  "Введение в базы данных"

6. Концепция трех схем. Основные свойства концептуальной схемы.

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

2)С точки зрения компьютера такая схема называется внутренней. Данные определяются в терминах файловых структур для хранения и поиска. Структура данных зависит от конкретной компьютерной технологии.

3)Третий вспомогательный уровень - концептуальный. Данные определяются единым образом в рамках предметной области и не ориентированы на какое-либо использование этих данных, а также не зависящие от того, как данные физически обрабатываются на компьютере.Осн Свойства:1)Должна быть согласованной с инфраструктурой предметной области и верной во всех сферах ее применения2)При ее расширении новые данные должны определяться без изменения ранее определенных данных3)Должна адаптироваться как к точкам зрения пользователей, так и к многообразию структур хранения и поиска данных

Page 9: Шпоры по предмету  "Введение в базы данных"

7. Инфологические модели. Модель «сущность-связь». Определения: атрибуты (идентификаторы), (сущности) типы сущностей, связи (тип связей), арность связи, классы принадлежности (обязательный и необязательный). Приведите примеры.Основное назначение модели

смысловое описание предметной области представление информации для основания выбора модели видов,

структур данных.Модель сущность – связь – ER-модель, Entity-Relationship Model

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

Связь - средство, с помощью которого представляются отношения между сущностями, имеющими место в предметной области.

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

Обязательным является такой класс принадлежности, когда экземпляры сущностей участвуют в установлении связи в обязательном порядке. В противном случае сущность принадлежит к необязательному классу принадлежностей.Для необязательного класса принадлежностей сущность и степень связи может быть равной нулю. Для обязательно класса не может равняться нулю.СТУДЕНТ (№ зачетной книжки, ФИО, № группы, факультет, адрес)Тип сущности – студент, сущность – студент ТПУ, № зачетной книжки – идентификатор, ФИО – в общем сл нельзя, мб полные однофамильцы.

Page 10: Шпоры по предмету  "Введение в базы данных"

А В

А В

1МА В

8. Инфологические модели. Модель «сущность-связь». Классификация бинарных связей. Понятие зависимой сущности. Сущности супертипы и подтипы. Приведите примеры.Инфологические модели Диаграмы Чена и Мартина

Набор независимых сущностей

Набор зависимых сущностей, слабая сущность

Атрибут

Ключевой атрибут

Набор связейСупертип указать, обяз, необяз классы принадлежности, степень связи «один» и «много»

1. Отображение 1:1. Это означает, что в такой связи сущности с одной ролью всегда соответствует не более одной сущности с другой ролью

(пояснить схему!!!)

2. Отображение 1:М. В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью.

(пояснить схему!!!)

3. Отображение M:N. Каждому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В (и наоборот).

4. Отображение М:1. Одному экземпляру сущности В может соответствовать 0, 1 или несколько экземпляров сущности А. Однако каждому экземпляру сущности А может соответствовать только один экземпляр сущности В.

Page 11: Шпоры по предмету  "Введение в базы данных"

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

Если существование сущности x зависит от существования сущности y, то x называется зависимой сущностью (иногда сущность x называют "слабой", а "сущность" y - сильной). В качестве примера рассмотрим связь между ранее описанными сущностями РАБОЧАЯ_ГРУППА и КОНТРАКТ. Рабочая группа создается только после того, как будет подписан контракт с заказчиком, и прекращает свое существование по выполнению контракта.

Заметим, что кардинальность связи для сильной сущности всегда будет (1,1). Класс принадлежности и степень связи для зависимой сущности могут быть любыми. Предположим, например, что рассматриваемое нами предприятие пользуется несколькими банковскими кредитами, которые представляются набором сущностей КРЕДИТ(НОМЕР_ДОГОВОРА,СУММА, СРОК_ПОГАШЕНИЯ, БАНК). По каждому кредиту должны осуществляться выплаты процентов и платежи в счет его погашения. Этот факт представляется набором сущностей ПЛАТЕЖ(ДАТА, СУММА) и набором связей "осуществляется по". В том случае, когда получение запланированного кредита отменяется, информация о нем должна быть удалена из базы даных. Соответственно, должны быть удалены и все сведения о плановых платежах по этому кредиту. Таким образом, сущность ПЛАТЕЖ зависит от сущности КРЕДИТ.

Page 12: Шпоры по предмету  "Введение в базы данных"

9. Моделирование и объединение локальных представлений.При моделировании предм области в рамках модели сущ-cd проектировщ разбивает всю предметн область на ряд подобластей, моделирует кажд, затем объединяет ихКритерии разделения на локальные представления

1. Л.п соответствует отдельному внешнему приложению2. Л.пр. отдельной функциональной задаче3. Л.пр. соответствует отдельному пользователю

В каждой из локальных подобластей рекомендуется выделять 6-7 сущностей.Объединение локальных представлений: при объединении локальных представлений можно формировать конструкции, которые являются производными для исходных объектов.Цели ведения таких конструкций:1.Объединять в композиционное единое представление фрагментные

представления об одних и тех же объектах;2.Устранить несущественные различия в представлении подобных

объектов;3.Ввести абстрактные понятия, удобные для решения задач и

установить связи этих понятий с более конкретными понятиями;4.Образовать классы и подклассы подобных объектов и ввести

соответствующие абстрактные понятия;5.Образовать производные типы объектов, соответствующие

объединению, пересечению или разности объектов.В общем случае (при небольшом количестве локальных представлений) мы их объединяем одновременно. Если же локальных представлений много, производят их попарное объединение.При объединении л пр обычно исп бинарное объед. При объединении рез=-ты объед Н1 объектов одного представления с н2 объектами lg представления полчают н1+Н2 –Х объектов третьего представления, где х – число общих объектов этих двух локальных представлений. Два или более элементов модели идентичны, если они имеют одинаковое семантическое значение.Агрегация позволяет рассматривать связь между элементами модели как новый элемент. Н. заданный студент по конкретн предмету у такого то препода получил оценку.(в столбик)СТУДЕНТ ПРЕДМЕТ ПРЕПОД ОЦЕНКА(черта) ЭКЗАМЕНОбобщением называется абстракция данных, позволяющая трактовать класс различных типов объектов, как один поименованный обобщенный тип.

Page 13: Шпоры по предмету  "Введение в базы данных"

10. Иерархическая модель данных. Основные достоинства и недостатки иерархической модели. Приведите пример.Иерархическая модель данных. Иерархическая (древовидная) структура данных состоит из узлов и ветвей. взаимосвязи жестко фиксированы, изменение связи ведет к реорганизации стркутурыЯвл реализацией связей типа родо-видовых отношений, отношений часть-целоеДерево – совокупность первого элемента и н-множества подчиненных ему элементов, в ктр отношения между элементами носят подчиненный вертикальный характер, горизонтальные связи в такой системе не допускаются. Узел– совокупность атрибутов данных, описывающих некоторый объект. Корень на самом первом уровне и не имеет предшественников. В иерархической модели данных узлы, которые находятся на уровне 2, являются порожденными к узлам на уровне 1. В свою очередь узлы, которые находятся на уровне 1, являются исходными к узлам на уровне 2.

1

2 - лист

Свойства иерархической модели данных:1. Иерархия всегда начинается с корневого каталога;2. Каждый узел состоит из одного или нескольких атрибутов, которые описывают

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

новых зависимых узлов;4. Каждый узел на уровне 2 соединен с одним и только одним узлом уровня 1;5. Исходный узел может иметь в качестве зависимых один или несколько

порожденных узлов. Если узел не имеет порожденных узлов, он не является исходным.

6. Доступ к каждому узлу, за исключением корневых, осуществляется через исходный узел;

7. Возможно существование любого числа экземпляров узлов каждого уровня. Каждый экземпляр некоторого узла соединен с экземпляром исходного узла.

Достоинства: наличие в прошлом зарекомендовавших себя СУБД, такая модель отражает иерархичность объектов реального мира; простота понимания и исполнения структур.Недостатки: сложность отображения связи «многие-ко-многим», усложнение операции включения новых объектов и удаления устаревших, неоднозначность представления данных о предметной области.ПримерСтудент препод дисципл либо студент(таб ном, уч завед, фио)ФИО ФИО, таб ном, препод(номер студ, ФИО преп, )Номер ст инфа о дисципНомер гр

С

Page 14: Шпоры по предмету  "Введение в базы данных"

11. Сетевая модель данных. Основные достоинства и недостатки сетевой модели. Приведите пример.Сетевая модель данных: представляет собой произвольный ориентированный граф, где вершины графа – сущности, а дуги – связи между сущностями.

1)Элемент данных- наименьшая наименованная единица данных.2)Агрегат данных- наименованная совокупность элементов данных внутри записи, которую можно рассматривать как единое целое. Агрегатность данных может быть простым (ДАТА = день, месс, год), если включает только элементы данных, и составным, если включает другие агрегаты. (Предприятие = название, адрес(индекс, улица, номер дома))3)Запись- наименованная совокупность элементов данных или элементов данных и агрегатов. Запись- агрегат, который не входит не в один из элементов агрегатов.4)Набор- наименованная совокупность записей, образующих двухуровневую иерархическую структуру. Для каждого типа набора один тип записи может быть объявлен владельцем, тогда остальные типы записей его членами. Одночлен и многочлен Элемент данных агрегат запись набор

------------------- ↑

В сетевой модели с помощью записи мы представляем сущности, а с помощью наборов представляем связи между сущностями, которые соответствуют записям в этом наборе.Достоинства: легкая реализация связей типа многие ко многим.Недостатки:1)Прикладной программист должен знать логическую структуру данных2)Возможны потери независимости данных от программ при реорганизации базы данных3)Представление, используемое прикладной программой сложнее, чем в иерархической модели.

Page 15: Шпоры по предмету  "Введение в базы данных"

12. Реляционная модель данных. Определения: отношение, кортеж, степень отношения, мощность отношения, домен, схема отношения, схема базы данных. Приведите пример отношения.Реляционная модель. Таблицы независимы. Связи полностью изменчивы. Данные хранятся в виде плоского файла. Простота расширения.Декартово произведение – пусть задано конечное множество, D1, D2 … Dn , в общем сл необязат различное, Тогда дек пр этих множеств D1х D2х …х Dn наз мн-во произведений вида d1 ∙d2 ∙…∙dn где d i∈Di

Отношением R, определенным на множествах D1, D2 … Dn, называется некоторое подмножество их декартова произведения, R∈D1 , D2…Dn, при этом D1, D2 … Dn называются доменами; d1 ∙d2 ∙…∙dn - кортежами; число n – степенью отношений.n=1 – унарное отношениеn=2 – бинарное отношениеn=n – n-арное отношениеКоличество кортежей в отношении называется мощностью отношения.Пример:

тип данныхдомены

атрибуты

кортежи

СХЕМА «Сотрудник»таб.номер – номеримя – имя………….

Атрибут, значение ктр однозначно идентифицирует картежи, наз ключевым. Свойства первичного ключа – значение нельзя изменять, он не может быть пустым.Если кортежи идентифиц только сцеплением нескольких атрибутов, то говорят, что отношение имеет составной ключ. СТУДЕНТ(Фио, адрес, др, КОД) – введение дополнительного ключевого атрибута определяет использование суррогатного ключа в отношении. Имеется ввиду искусственно введенный ключ.Именнованное множество пар "имя атрибута - имя домена" называется схемой отношения. Мощность этого множества - называют степенью или "арностью" отношения. Набор именованных схем отношений представляет из себя схему базы данных.

Целое Строка Целое номер имя должность деньги

табельный номер

имя должность оклад премия

293429352936

ИвановПетров

Сидоров

инженеринспекторбухгалтер

150002000010000

5000100005000

отно

шени

е

Page 16: Шпоры по предмету  "Введение в базы данных"

13. Реляционная модель данных. Определения: ключевые атрибуты, первичный ключ, возможный ключ, внешний ключ. Приведите примеры, демонстрирующие определения. Свойства отношений. Достоинства и недостатки реляционной модели.Реляционная модель. Таблицы независимы. Связи полностью изменчивы. Данные хранятся в виде плоского файла. Простота расширения.Декартово произведение – пусть задано конечное множество, D1, D2 … Dn , в общем сл необязат различное, Тогда дек пр этих множеств D1х D2х …х Dn наз мн-во произведений вида d1 ∙d2 ∙…∙dn где d i∈Di

Отношением R, определенным на множествах D1, D2 … Dn, называется некоторое подмножество их декартова произведения, R∈D1 , D2…Dn, при этом D1, D2 … Dn называются доменами; d1 ∙d2 ∙…∙dn - кортежами; число n – степенью отношений.n=1 – унарное отношениеn=2 – бинарное отношениеn=n – n-арное отношениеАтрибут, значение которого однозначно идентифицирует кортежи, называется ключевым или ключом.Если кортежи идентифицируются только сцеплением значений нескольких атрибутов, то говорят, что отношение имеет составной ключ.В случае если несколько атрибутов являются ключевыми, выбирается один первичный ключ. Значение первичного ключа менять нельзя. Все остальные ключи называются возможными.Атрибуты, представляющие копии первичных ключей в других отношениях, называются внешними ключами.Свойства отношений:1. отсутствие кортежей-дубликатов (Из этого свойства вытекает наличие у

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

2. отсутствие упорядоченностей кортежей (строк в табл);3. отсутствие упорядоченности атрибутов;4. атомарность значений атрибутов (те среди доменов не м содержаться

множества значений).Достоинства реляционной модели:1. простота (пользователь работает с простой моделью данных и не принимает

во внимание сложные аспекты системной реализации. Удобная форма представления данных);

2. непроцедурность запросов (запросы строятся на основе заранее определенной структуры);

3. независимость данных;4. теоретическое обоснование. (РМД основана на строгой мат теории)Недостаток: низкая производительность СУБД такого типа при многопользовательности – из=за достоинств – непроц языка запросов и независимость данных.

Page 17: Шпоры по предмету  "Введение в базы данных"

14. Реляционная алгебра ( проекция, разность, селекция, пересечение). Приведите примеры.

Проекция – вып над одним отношением R[A], где R – отношение, А – некоторое подмножество атрибутов этого отношения. Тогда проекция представляет собой выборку из каждого кортежа отношений значений атрибутов, входящих в А, и удаление из полученного отношения повторяющихся строк.

Пример:

R(M ,V ,T )=[x α ay β az γ aw θ bw σ b

]

R(M ,T )=[ x ay az aw b

]Разность – R1-R2. Разностью R1 и R2 называется множество кортежей, принадлежащих R1, но не принадлежащих R2. Отношения дб совместн

Пример:

R1=[5 a3 a9 a1 b2 b4 b

]

R2=[5 a

10 b15 c2 d6 a1 b

]

R1−R2=[ 3 a9 a2 b4 b

]Селекция – вып над одним отношением

σ F(R ), где F – формула, состоящая

из операндов (названия атрибутов, номера столбцов), арифметических операций

сравнения (= ,> ,<,≤,≥,≠¿ ¿), логических операций (и (¿ ), или (¿ ), не (¬¿ ¿)).

Пример:

R=[а б вд е аа г аи к л

] σ 1≠3∧3=а(R )= [д е а ]

Пересечение – совместные R∩S = R-(R-S). Пересечением R и S называется множество кортежей, принадлежащих и R, и S

Привести примеер.

Page 18: Шпоры по предмету  "Введение в базы данных"

15. Реляционная алгебра (объединение, декартово произведение, соединение, деление). Приведите примеры.

Объединение - совместные R∪S . Операция объединения отношений R и S представляет собой множество кортежей, принадлежащих либо R, либо S, либо им обоим. пример привести

Декартово произведение – произвольные отношения R1⊗R2 . Операция

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

Пример:

R1=[ x ay az aw b

]

R2=[5 a1 b ]

R1⊗R2=[x a 5 ax a 1 by a 5 ay a 1 bz a 5 az a 1 bw b 5 aw b 1 b

]Соединение -

R1∞iθjR2=σ iθ ( j+n)R1⊗R2

, где θ - арифметическая

операция сравнения, σ - операция селекции для декартова произведения R1 и R2, n – арность отношения R1.

Пример:

R1=[ а б вд е аа г аи к л

]

R2=[а гб а ]

R1 ∞3≠2

R2=[а б в а га б в б ад е а а га г а а ги к л а ги к л б а

]Деление –

R1 /R2 , причем арность отношения делимого n1≥2

, а арность

отношения делителя - n2≤n1−1. Результатом деления R1 /R2 , R1(X ,Y ) и R2(Y ), атрибуты Y – это атрибуты связи, тогда результирующее отношение определено на множестве атрибутов Х и содержит кортежи отношения R1 с одинаковыми значениями атрибутов связи в отношении R2.

Page 19: Шпоры по предмету  "Введение в базы данных"

16. Язык запросов SQL. Типы данных SQL. Подмножества языка SQL-DDL и SQLDML. Подробно опишите операторы SQL-DML (кроме SELECT). Приведите примеры.70 SEQUEL – Structured English Query Language81 – SQL, 87 – SQL (Level 1), 92 SQL (Level 2), 2000 SQL (Level 3)Типы данных SQL:

1) символьный CHAR и CHAR(n) n-строка2) VAR CHAR(n) – строковый тип с гибким выделением памяти3) INTEGER, INT – целочисленный тип4) FLOAT – вещественный тип5) DECIMAL(m,n) – m-общее число цифр, n-количество цифр после

запятой(вещественный тип)6) DATE7) TIME8) BLOB – позволяет хранить данные в двоичном виде, произвольных

размеров9) Последовательные типы данных - используются для представления

возрастающих числовых последовательностей.10) SERIAL - тип данных на основе INTEGER, позволяющий

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

DDL-SQL (DATA Definition Language) CREATE TABLE – создание таблицыALERT TABLE – служит для изменения схемы отношенияDROP TABLE – удаляет таблицуCREATE VIEW – создаёт представление (виртуальную таблицу)DROP VIEW – удаляет представление (виртуальную таблицу)CREATE INDEX – создаёт индекс БД(либо одно, либо несколько полей, по

которым производится поиск)DROP INDEX – удаляет индекс БДDML-SQL (Data Manipulation Language) К этой группе относятся операторы

добавления, изменения и удаления записей. DELETE – удаление записи

DELETE FROM <имя_таблицы> [ WHERE <условие> ]Удаляются все записи, удовлетворяющие указанному условию. Если ключевое слово WHERE и условие отстутствуют, из таблицы удаляются все записи. Пример:DELETE FROM publishers WHERE publisher = "SuperComputer Publishing";

UPDATE – выполняет обновление данныхМодификация_записей:UPDATE<имя_таблицы>SET<имя_столбца>=<значение>,... [WHERE <условие>] Если задано ключевое слово WHERE и условие, то команда UPDATE применяется только к тем записям, для которых оно выполняется. Если условие не задано, UPDATE применяется ко всем записям. Пример: UPDATE publishers SET url="http://www.superpub.com" WHERE pub_id=17;

WHERE <условие>, где R-имя отношения, которое мы обновляем, С- список операторов присваивания, опред. множество атрибутов. В качестве

Page 20: Шпоры по предмету  "Введение в базы данных"

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

операции сравнения: > , < , >= , <= , = , <> , != . В SQL эти операции могут применяться не только к числовым значениям, но и к строкам ( "<" означает раньше, а ">" позже в алфавитном порядке) и датам ( "<" раньше и ">" позже в хронологическом порядке).

оперции проверки поля на значение NULL: IS NULL, IS NOT NULL операции проверки на вхождение в диапазон: BETWEEN и NOT BETWEEN. операции проверки на вхождение в список: IN и NOT IN операции проверки на вхождение подстроки: LIKE и NOT LIKE отдельные операции соединяются связями AND, OR, NOT и группируются с

помощью скобок.UPDATE publishers SET url="url not defined" WHERE url IS NULL;

INSERT – оператор добавления кортежа в отношенияДобавить новую запись в таблицу:INSERT INTO <имя_таблицы> [ (<имя_столбца>,<имя_столбца>,...) ]

VALUES (<значение>,<значение>,..)В этом случае должны быть указаны значения для всех полей таблицы в

том порядке, как эти столбцы были перечислены в команде CREATE TABLE, например:INSERT_INTO publishers VALUES (16,"Microsoft Press", "http://www.microsoft.com");

Пример с указанием списка столбцов: INSERT INTO publishers (publisher,pub_id) VALUES ("Super Computer Publishing",17);INSERT INTO R VALVES(<список значений>)

SELECT – выполняет выборку данныхSELECT A FROM B WHERE CA – список атрибутов, необходимых пользователю В – имя отношения С – условия, представленные виде предикатов>,<,=,!=,>=,<=,<> AND, OR, NOT

Агрегатные ф-ии (Групповые ) count maX MIN AVG SUM примеры

Page 21: Шпоры по предмету  "Введение в базы данных"

17. Язык запросов SQL. Возможности оператора SELECT. Приведите примеры.70 SEQUEL – Structured English Query Language81 – SQL, 87 – SQL (Level 1), 92 SQL (Level 2), 2000 SQL (Level 3)Оператор SELECT является фактически самым важным для пользователя и самым сложным оператором SQL. Он предназначен для выборки данных из таблиц, т.е. он, собственно, и реализует одно их основных назначение базы данных- предоставлять информацию пользователю. Оператор SELECT всегда выполняется над некоторыми таблицами, входящими в базу данных. Результатом выполнения оператора SELECT всегда является таблица. Таким образом, по результатам действий оператор SELECT похож на операторы реляционной алгебры. Любой оператор реляционной алгебры может быть выражен подходящим образом сформулированным оператором SELECT. Сложность оператора SELECT определяется тем, что он содержит в себе все возможности реляционной алгебры, а также дополнительные возможности, которых в реляционной алгебре нет. Общая форма оператора SELECT выглядит так:SELECT <список атрибутов, нужных пользователю> FROM таблицы [WHERE условия выборки, поставленные в виде предиката] [GROUP ВУ группа [HAVING групповые-условия]] [ORDER ВУ сортировка-столбцов] [LIMIT пределы];

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

Выбрать все данные из таблицы поставщиков (ключевые слова SELECT * FROM P;

Выбрать все строки из таблицы поставщиков, удовлетворяющих некоторому условию SELECT * FROM P WHERE P.PN > 2;

Выдать список имен сотр, с указанием должности SELECT ФИО, должность FROM SOTRВыдать инфу об окладе сотр > 500$ SELECT Сотр.Фио Должность.оклад

FROM Сотр, Должность WHERE Должность.Оклад >500$SELECT Сотрудник.ФИО, Должность.Оклад FROM Сотрудник INNER JOIN

Должность ON Сотрудник.Должность = Должность.Должность. – работать будет быстрее, чем WHERE

Упорядочивание результата ASC – по возрастанию (по умолчанию), DESC – по убыванию.

Добавить в конец ORDER BY Атрибут1 [ASC/DESC], Атрибут 2 [ASC/DESC]. Select * from sort where дол= «инженер» order by год_рожд desc

Использование подзапросов в select

In определяет вхождение в список not in – не вх. Выдать инфу о сотр, ктр полу оклад меньше 10тр select * from sort where дол in (select дол from Должность where Оклад Б 10 000); Без использования подзапросов было бы быстрее.

Page 22: Шпоры по предмету  "Введение в базы данных"

18. Проектирование реляционных БД. Уточнение целей проектирование. Нормализация отношений. Определения: функциональная зависимость (ФЗ), избыточная ФЗ, полная ФЗ, транзитивная ФЗ. Приведите примеры.Реляционная база данных представляется пользователю как совокупность таблиц и ничего кроме таблиц.Цели проектирования:1. Возможность хранения всех данных в базе данных2. Исключение избыточности данных3. Сведения числа хранимых в базе данных связей к минимуму4. Нормализация отношений в базе данных для улучшения решения проблем, связанных с обновлением, удалением записей, включением данных.

Фио Группа Куратор

Чернов 444 Чудаков

Козлов 333 Суворов

Кошкин 444 Чудаков

Краснов

333 Суворов

Нормализация отношений - это процесс построения оптимальной структуры таблиц и связей в реляционной БД (процесс уменьшения избыточности информации). Разбивают таюлицы на 2 и более отношений в целях улучшения выполнения операций удаления, добавления, обновления. В процессе нормализации данные группируются в таблицы, представляющие классы объектов и их взаимодействие.Цели, которые преследуются при построении наиболее эффективной структуры данных:1) обеспечить быстрый доступ к данным;2) исключить ненужное повторение данных, которое может являться причиной ошибок при вводе, а также привести к нерациональному использованию дискового пространства;3) обеспечить целостность данных, т.о. чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ними объектовфункциональная зависимость - В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y. X->Y Y->Z Тогда X->Z Студент(№ ЗК, ФИО, группа, кафедра, факультет, паспортные данные, адрес)№ЗК->ФИО (ФИО зависит от № ЗК)

ПД->ФИО Группы->Кафедра->Факультет

избыточная ФЗ – зависимость содержащая такую информацию которая может быть получена на основе других зависимостей, имеющихся в БДполная ФЗ - Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X. № ЗК и ПД-> ФИО

№ЗК ФИО; ПД ФИОтранзитивная ФЗ - Функциональная зависимость R.X -> R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X ->

Page 23: Шпоры по предмету  "Введение в базы данных"

R.Z и R.Z -> R.Y и отсутствует функциональная зависимость R.Z --> R.X. (При отсутствии последнего требования мы имели бы "неинтересные" транзитивные зависимости в любом отношении, обладающем несколькими ключами.)

Page 24: Шпоры по предмету  "Введение в базы данных"

19. Проектирование реляционных БД методом генерации отношений из модели «сущность-связь». Приведите примеры.Он примечателен тем, что функциональные зависимости используются не на начальном этапе проектирования, а на завершающем. Подход оснащен различными формами диаграмм, что позволяет визуализировать различные этапы проектирования баз данных.Основная идея:

Строим ER диаграмму. Расширяем ER диаграмму. Если экземпляры данной сущности должны участвовать в связи, то участие называется обязательным и этот факт на диаграмме отмечается блоком с точкой

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

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

принадлежности.

Необходимо использовать три отношения: по одному для каждой сущности (ключи сущностей служат первичными ключами отношений) и одно отношение для связи. Отношение, выделенное для связи, имеет два атрибута - внешних ключа - по одному от каждой сущности.

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

Page 25: Шпоры по предмету  "Введение в базы данных"

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

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

N - арные связиОбщее правило: для представления n-сторонней связи всегда требуется n+1 отношение. Например, в случае трехсторонней связи необходимо использовать четыре отношения, по одному для каждой сущности (причем ключ сущности служит первичным ключом соответствующего отношения), и одно для связи. Отношение, порождаемой для связи, будет иметь среди своих атрибутов ключи от каждой сущности.

Иерархические связи.М получить 2 варианта реляционных схемВ1 одно отношение, куда мы помещаем все атрибуты отношений, входящих в эту иерархическую связьB2 получаем n отношений, где n-количество подтипов, в каждом отношении все атрибуты супертипа и соответствующего подтипа.

Page 26: Шпоры по предмету  "Введение в базы данных"

20. Нормальные формы (1НФ, 2НФ, 3НФ). Алгоритм нормализации (для 1НФ). Приведите примеры.1NF - первая нормальная форма.Простой атрибут - атрибут, значения которого атомарны (неделимы). Сложный атрибут - получается соединением нескольких атомарных атрибутов, которые могут быть определены на одном или разных доменах. (его также называют вектор или агрегат данных). Опр отношение находится в 1NF если значения всех его атрибутов атомарны. В базе данных отдела кадров предприятия необходимо хранить сведения о служащих, которые можно попытаться представить в отношении СЛУЖАЩИЙ(НОМЕР_СЛУЖАЩЕГО, ИМЯ, ДАТА_РОЖДЕНИЯ, ИСТОРИЯ_РАБОТЫ, ДЕТИ).Атрибуты "история_работы" и "дети" сложные, атрибут "история_работы" включает еще один сложный атрибут "история_зарплаты". Данные агрегаты - ИСТОРИЯ_РАБОТЫ (ДАТА_ПРИЕМА, НАЗВАНИЕ, ИСТОРИЯ_ЗАРПЛАТЫ),ИСТОРИЯ_ЗАРПЛАТЫ (ДАТА_НАЗНАЧЕНИЯ, ЗАРПЛАТА), ДЕТИ (ИМЯ_РЕБЕНКА, ГОД_РОЖДЕНИЯ).

их связь (рис*)

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

Алгоритм нормализации описан Е.Ф.Коддом 1. Начиная с отношения, находящегося на верху дерева (рис*.), берется его

первичный ключ, и каждое непосредственно подчиненное отношение расширяется путем вставки домена или комбинации доменов этого первичного ключа.

Page 27: Шпоры по предмету  "Введение в базы данных"

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

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

2NF - вторая нормальная форма.Опр неключевой атрибут функционально полно зависит от составного ключа если он функционально зависит от всего ключа в целом, но не находится в функциональной зависимости от какого-либо из входящих в него атрибутов. Пример: Пусть имеется отношение ПОСТАВКИ (N_ПОСТАВЩИКА, ТОВАР, ЦЕНА). Поставщик может поставлять различные товары, а один и тот же товар может поставляться разными поставщиками. Тогда ключ отношения - "N_поставщика + товар". Пусть все поставщики поставляют товар по одной и той же цене. Тогда имеем следующие функциональные зависимости: N_поставщика, товар -> ценатовар -> ценаНеполная функциональная зависимость атрибута "цена" от ключа приводит к аномалии: при изменении цены товара необходим полный просмотр отношения для того, чтобы изменить все записи о его поставщиках. Данная аномалия является следствием того факта, что в одной структуре данных объединены два семантических факта. Следующее разложение дает отношения во 2НФ: ПОСТАВКИ (N_ПОСТАВЩИКА, ТОВАР)ЦЕНА_ТОВАРА (ТОВАР, ЦЕНА)

Опр второй нормальной формы: Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от ключа.

3NF - третья нормальная форма.Понятие транзитивной функциональной зависимости.Пусть X, Y, Z - три атрибута некоторого отношения. При этом X --> Y и Y --> Z, но обратное соответствие отсутствует, т.е. Z -/-> Y и Y -/-> X. Тогда Z транзитивно зависит от X. Пусть имеется отношение ХРАНЕНИЕ (ФИРМА, СКЛАД, ОБЪЕМ), которое содержит информацию о фирмах, получающих товары со складов, и объемах этих складов. Ключевой атрибут - "фирма". Если каждая фирма может получать товар только с одного склада, то в данном отношении имеются следующие функциональные зависимости:

фирма -> склад склад -> объем

При этом возникают аномалии: если в данный момент ни одна фирма не получает товар со склада, то в базу

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

изменение кортежей для всех фирм, связанных с данным складом.Для устранения этих аномалий необходимо декомпозировать исходное отношение на два: ХРАНЕНИЕ (ФИРМА, СКЛАД)ОБЪЕМ_СКЛАДА (СКЛАД, ОБЪЕМ)

Page 28: Шпоры по предмету  "Введение в базы данных"

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

Page 29: Шпоры по предмету  "Введение в базы данных"

21. Нормальные формы (НФ Бойса-Кодда, 4НФ, 5НФ). Приведите примеры.БКНФОтношение находится в БКНФ, если оно находится в 3НФ и в ней отсутствуют зависимости атрибутов первичного ключа от неключевых атрибутов. Возникает при условии, что отношение имеет 2 или более возможных ключа, которые являются составными и имеют общий атрибут.4НФМногозначная зависимость является обобщением функциональной зависимости и рассматривает соответствия между множествами значений атрибутов.Преподаватель (Имя, курс, уч.пособие)Предположим, что профессор N читает курсы по V и D и имеет собственные пособия. Пофессор К читает М и является автором Z и Y.

имя курс уч.пособиеN V VN D VN V DN D DK M ZK M Y

Аномалия возникает потому, что в отношении преподаватель имеются: зависимость множества значений атрибутов курс множеству имя; и зависимость атрибутов уч.пособие атрибутам имя.Отношение находится в 4НФ, если оно находится в БКНФ и в нем отсутствуют многозначные зависимости являющиеся функциональными.5НФСуществуют отношения, для которых нельзя выполнить декомпозицию без потерь на две проекции, но которые можно подвергнуть декомпозиции без потерь на 3 и более проекций- зависимость по соединению.Отношения, где есть зависимость по соединению, не являющиеся одновременно ни многозначными, ни функционально зависимыми характеризуются аномальными обновлениями.Отношение находится в 5НФ, если оно находится в 4НФ и любая зависимость по соединению определяется его возможными ключами, т.е. каждая проекция такого отношения содержит не менее 1 возможного ключа и не менее 1 неключевого атрибута.

имя курс имя уч.пособиеN V N VN D N DK M K Z

K Y

Page 30: Шпоры по предмету  "Введение в базы данных"

22. Нормальные формы. Метод универсального отношения, декомпозиция отношений. Приведите пример.На начальном этапе проектирования задана ER- диаграмма. Строим универсальные отношения, включив в него все интересующие нас атрибуты из ER-диаграммы. Определяем все функциональные зависимости нашего отношения.Проверяем находится ли отношение в БКНФ. Если да, то проектирование завершаем. Если нет, то разбиваем исходное отношение на два новых. Повторяем предыдущие два шага для каждого из новых полученных, пока все отношения не будут в БКНФ.Декомпозиционной схемой отношения R={A1, A2…An} называется замена схемы совокупностью схем p={R1, R2…Rm}, для которых выполняется R1vR2v…vRm=R={A1, A2…An}. При этом Ri != Rj, или 0

PUBLICATIONS(AUTHOR, TITLE, YEARPUB, PUBLISHER, PUBL_URL, SITE, SITE_URL)Фунциональные зависимости 1) TITLE --> YEARPUB 2) TITLE -> PUBLISHER --> PUB_URL3) SITE -> SITE_URL

PUBLICATIONS(AUTHOR, TITLE, YEARPUB, PUBLISHER, PUBL_URL, SITE_ID) WWWSITES(SITE_ID,SITE,SITE_URL) – иначе неудобно без id

Устраним функциональную зависимость (2): PUBLICATIONS(AUTHOR, TITLE, YEARPUB, PUB_ID, SITE_ID) PUBLISHERS(PUB_ID,PUBLISHER,PUBL_URL) WWWSITES(SITE_ID,SITE,SITE_URL)

Теперь мы имеем следующие избыточные функциональные зависимости в отношении PUBLICATIONS: TITLE --> YEARPUB TITLE --> PUB_ID

Для их устранения необходимо вынести атрибуты TITLE, YEARPUB и PUB_ID в отдельное отношение: PUBLICATIONS(AUTHOR, TITLE_ID, SITE_ID) TITLES(TITLE_ID,TITLE,YEARPUB,PUB_ID) PUBLISHERS(PUB_ID,PUBLISHER,PUBL_URL) WWWSITES(SITE_ID,SITE,SITE_URL)

| AUTHOR | TITLE_ID | SITE_ID | |--------|----------|---------| | J.Doe | 1 | 1 | | J.Doe | 2 | 1 | | J.Doe | 1 | 2 | | J.Doe | 2 | 2 |Из этой таблицы становится ясно, что в рассматриваемом отношении существует многозначная зависимость AUTHOR ->> TITLE_ID | SITE_ID. Для ее устранения приведем отношение к четвертой нормальной форме, для чего разобъем его на три. AUTHORS(AU_ID,AUTHOR) PUBLICATIONS(AUTHOR,TITLE_ID,SITE_ID) -> TITLEAUTHORS(TITLE_ID,AU_ID) WWWSITEAUTHORS(AU_ID,SITE_ID)

Окончательно получим: AUTHORS(AU_ID,AUTHOR) TITLEAUTHORS(TITLE_ID,AU_ID) WWWSITEAUTHORS(AU_ID,SITE_ID) TITLES(TITLE_ID,TITLE,YEARPUB,PUB_ID) PUBLISHERS(PUB_ID,PUBLISHER,PUBL_URL) WWWSITES(SITE_ID,SITE,SITE_URL)

Page 31: Шпоры по предмету  "Введение в базы данных"

23. Разработка многопользовательских приложений. Основные типы многопользовательских приложений. Архитектура файл-сервер.1)Файл-сервер2)Клиент-сервер3)Репликация (тиражирование)4)Приложения на базе WEB-технологий

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

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

3. Если приложению необходимы данные, то само приложение и загруженное на локальном компьютере ядро БД определяют процедуру непосредственного доступа к сетевому ресурсу, файлы которого необходимо прочитать и получить из них требуемые данные. Когда несколько пользователей одновременно пытаются обратиться к одним и тем же данным, возникают конфликты. Нужно обеспечить либо отсутствие конфликтов, либо уметь их разрешать.

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

Page 32: Шпоры по предмету  "Введение в базы данных"

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

1. одна или неск БД, расположен на одном сервере *.MDB 2. Файл блокировок для кажд БД *.LDB3. Файл рабочей группы, расп либо на сервере, либо на раб станции

пользователя*.MDB4. Копия ядра Бд выполняется на локальной рабочей станции Jet

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

Файл рабочей группыЭто БД, Access ктр содержит сведения о польз вход в раб гр.Рабочей гр в Access наз гр польз совместно испольхз одну или несколько БД. Пароли пользователей тоже хранятся в файле РГ кроме этого в файле hu хранятся правила доступа кажд пользователя к оъектам БДБлокировка состоит в том, что обеспечивается ситуация, когда совместноиспользуемые данные м редактировать в кажд момент времени только один пользователь. Пока он вносит изменения, данные блокируются от попыток доступа. В Access cущ=ет 2 спос блокировок1.формы2. программным путемРазличают несколько стратегий блокировок

1. Блокировка отсутствует2. Бл изменений записи3. Бл всех записей

Поддерж 4 уровня блокировок1. Монопольный режим,2. Блокировка набора записей3. Бл одной зап4. Бл страницы

Page 33: Шпоры по предмету  "Введение в базы данных"

24. Разработка многопользовательских приложений. Основные типы многопользовательских приложений. Архитектура клиент-сервер.

Типы :1. Файл-сервер 2. Клиент-сервер 3. Репликация 4. Web-технологии

Связь клиента и приложения осущ-ся посредством транзакций, при выполнении ктр происх блокировки, все это осущ=ся для выполнения целостности данных. Транзакция(T) – неделимая последовательность команд БД, приводящих к изменению состояния БДCOMMIT – завершение Т после ктр происходит изменение БД

Архитектура клиент-сервер. Связь клиента и приложения осуществляется по средствам транзакции, при выполнении которых все сводится к блокировке. При этом существуют неделимые транзакции, в которых все связанные с ними действия выполняются до конца либо ни одно из этих действий не выполняется. Прерванная транзакция – это транзакция, которая производит отказ до конца совершения действия. Для обработки транзакции требуется, чтобы СУБД записывала транзакции для каждого изменения, вносимого в БД.Способы записей – протоколы, запись всех транзакции и изменяемых данных. Во время выполнения транзакции все записи операции задерживаются до тех пор, пока не будет выполнено последнее действие транзакции. Результат обновления записывается в протокол транзакции. А когда все действия выполняются, то вся информация об обновлениях заносится в БД. А если система дает отказ до завершения транзакции, то эти данные не заносятся в БД.

Любая команда из группы DDL перед своим выполнением выполняет транзакциюТипы1. неделимые Т. – те.ю в ктр все действия выполняются до конца, либо ни одно из них не

выполнется. 2. Прерванные Т – приводение к отказу до внесения изменений в БД

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

Проблемы, возникающие при обработки Т

Опр. Взаимоблокировки – когда 2 Т закрывают друг другу доступ к след записям, необх для завершения Т1Т. А,Б2Т Б,А

Способы решенияПредложить порядок обращения к Т определить порядок обращения к записям по времени (что не очень эффективно)Либо решать проблему по мере поступления1. Определить «смертельное объятие» способы

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

2. Протокол двухфазной блокировки.

Page 34: Шпоры по предмету  "Введение в базы данных"

Все операции блокировки (R,W)? предшествуют первой операции разблокирования. Двухфазная блокировка, тем не менее, может приводить к взаимоблокировкам, если не

применять протокол предотвращения последней.

Пример двухфазной блокировки с протоколом избегания взаимоблокировок с использованием частично одинаковых ресурсов

Пример двухфазной блокировки с протоколом избегания взаимоблокировок С использованием одинаковых ресурсов

Page 35: Шпоры по предмету  "Введение в базы данных"

25. Определения: транзакция, протокол, блокировка, взаимоблокировка. Основные методы детекции взаимоблокировки. Приведите примеры.Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует. При завершении транзакции оператором COMMIT результаты гарантированно фиксируются во внешней памяти; при завершении транзакции оператором ROLLBACK результаты гарантированно отсутствуют во внешней памяти.Типы транзакций: Неделимые транзакции- транзакции, в которых все действия выполняются до конца, либо ни одно из них не выполняется.Прерванные транзакции- транзакции, приведшие к отказу до внесения изменений в базу данных.Применение протокола-это запись всех транзакций и всех соответствующих изменений БД. Во время выполнений транзакций, все записанные операции зад-ся до тех пор, пока не выполнится последнее действие транзакций. Результаты изменений записаны в протокол.При работе с Базами Данных в многопользовательском режиме возникают ситуации, когда необходимо ограничить число обращающихся пользователей к данным. Это делается для того, чтобы предотвратить одновременное обновление одной и той же записи, при глобальном обновленим данных или при техническом обслуживания самой Базы Данных. Процессор Баз Данных обеспечивает три уровня блокировок:1)Блокировка Базы Данных. На этом уровне блокировки к Базе Данных может обращаться только один пользователь. Такой уровень блокировки применяется для глобального изменения или обновления данных или при техническом обслуживании Базы Данных- сжатии;2)Блокировка Таблицы. На этом уровне блокировки к таблице может обращаться только один пользователь. Такой уровень блокировки применяется в тех случаях, когда необходимо обработать сразу несколько записей таблицы.3)Блокировка страницы. На этом уровне к заблокированной странице может обращаться только один пользователь. Это самый нижний уровень блокировки. Способы блокировки: с помощью форм, программным путем.

Page 36: Шпоры по предмету  "Введение в базы данных"

Стратегии блокировок: отсутствие блокировки, блокировка изменения записи, блокировка всех записей. Уровни блокировок: монопольный режим (вся база блокируется для одного пользователя), блокировка набора записей, блокировка страницы, блокировка записи.Взаимоблокировка: это ситуация, когда две транзакции закрывают друг - другу доступ к следующим записям, необходимых для завершения транзакций. Существует несколько методов детекции взаимоблокировки: – графический способ (изображён на рисунке) (после обнаружения блокировок одна из транзакций завершается, а другая выполняется.)—Протокол двухфазной блокировки. В этом случае все операции блокировки(чтение и запись данных) предшествуют первой операции разблокирования. Тем не менее, двухфазная блокировка может приводить к взаимоблокировкам, если не применять протокол предотвращения последней. См прощлый билет для примеров

Page 37: Шпоры по предмету  "Введение в базы данных"

1

BA

2Ожидает

Ожидает

Использует

26. Методы защиты БД: идентификация пользователей, проверка полномочий, представления данных и шифрование.

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

1) проверка того, что пользователь зарегистрирован2) система вопросов на которые пользователь заранее даёт

ответы3) использование предопределённого алгоритма4) рекомендуется использовать дополнительные процедуры,

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

Page 38: Шпоры по предмету  "Введение в базы данных"

терминалом т.е. сервер сам связывается с клиентским терминалом )

Проверка полномочий и представления данных:Представление данных – это средство представления

пользователю его личной модели БД. Данные которые пользователю не нужны, просто скрыты от него. Типы доступа к представлениям данных: 1) право на чтение 2) право на запись 3) право на обновление 4) право на удалениеШифрование:

Шифрование – преобразование читаемого текста в нечитаемый при помощи некоторого алгоритма

Page 39: Шпоры по предмету  "Введение в базы данных"

27. Восстановление БД. Источники отказов. Процедура восстановления. Протокол с отложенным обновлением.Восстановление БД.Под восстановлением БД понимается приведение её в состояние, которое существует перед отказом.Основные типы отказов:

1) Системные ошибки, взаимоблокировки.2) Отказ оборудования.3) Логические ошибки(некорректные, отсутствующие данные).

Процедура восстановления:Для того чтобы поддерживать целостность данных, транзакция должна находится в одном из следующих состояний:- транзакция прервана – транзакция не всегда корректно завершается и чтобы гарантировать непротиворечивость данных, такую транзакцию необходимо прерывать и восстанавливать состояния БД до начала транзакции.- транзакция фиксирована – если транзакция успешно завершается, то говорят, что она фиксирована – всегда оставлять БД в непротиворечивое состояние.Откат БД 1. Протоколирование с отложенным и с 2. С немедленным обновлениемПротокол с отложенным обновлением.- Когда транзакция T начинается с команды <T,BEGIN>

- На протяжении выполнения транзакции T, при каждой записи нового значенияa i ,

атрибута A. WRITE(A,a i ) кажд запись б сост из след элем 1 название транзак, 2 имя

атрибьута 3. Новое значение атриб- Если все действия, из которых состоит транзакция T, успешно выполнены, то говорим, что БД частично фиксирована. <T, COMMIT>После того, как T частично фиксирована, записи протокола, относящиеся к T, используются для внесения изменений в БД.

T: READ(A,a i ) - чтение текущего баланса.

a1=a1−500 - уменьшение счёта на 500.

WRITE(A,a i ) - запись нового баланса.

READ(B,b i ) - чтение кассового баланса.

b1=b1+500

WRITE(B,b i ) - запись нового кассового баланса.

После того, как произошёл отказ, СУБД просматривает протокол и выясняет какие транзакции нужно переделать. Транзакцию необходимо переделать, если протокол содержит <T,BEGIN> и <T,COMMIT>,т.е. БД может быть нарушена, однако новые значения элементов данных содержатся в протоколе. Протокол исп-ся для восстановления системы с помощью процед REDO(T).Эта процедура заменяет все значения данных на новые, записанные в протоколе. А если отказ произошёл сразу после того, как запись была внесена в протокол, но до того, как обновляемые записи были внесены в БД, запускается процедура восстановления.A = 1000, B = 1500. <T,BEGIN> <T,A,500> <T,B,200> <T,COMMIT> Предположим, что

отказ произошёл перед выполнением WRITE(B,b i ), то никаких действий предпринимать

Page 40: Шпоры по предмету  "Введение в базы данных"

не надо, так как <T,COMMIT> отсутствует. Значит, значение атрибутов A и B прежнее => мы должны перевыполнить транзакцию.

Page 41: Шпоры по предмету  "Введение в базы данных"

28. Восстановление БД. Источники отказов. Процедура восстановления. Протокол с немедленным обновлением.Восстановление БД.Под восстановлением БД понимается приведение её в состояние, которое существует перед отказом.Основные типы отказов:

1) Системные ошибки, взаимоблокировки.2) Отказ оборудования.3) Логические ошибки(некорректные, отсутствующие данные).

Процедура восстановления:Для того чтобы поддерживать целостность данных, транзакция должна находится в одном из следующих состояний:- транзакция прервана – транзакция не всегда корректно завершается и чтобы гарантировать непротиворечивость данных, такую транзакцию необходимо прерывать и восстанавливать состояния БД до начала транзакции.- транзакция фиксирована – если транзакция успешно завершается, то говорят, что она фиксирована – всегда оставлять БД в непротиворечивое состояние.Протокол с немедленным обновлением.В данном методе все изменения вносятся в БД сразу. Это всё протоколируется. В случае отказа протокол используется для приведения БД в последнее непротиворечивое состояние.<T,BEGIN>

WRITE(A,a i )Информация заносится в протокол. Затем результат заносится в БД,

<T,A, a i ,a j > , где T – транзакция, A – атрибут, a i - новое значение, a j - старое значение.<T, COMMIT>Для восстановления данных при использовании этого метода требуется:1) REDO(T) – перевыполняет транзакцию.1) UNDO(T) – восстанавливает старые значения атрибутов.После того, как произошёл отказ, система восстановления просматривает протокол, к которой необходимо применить REDO или UNDO.1)«T» необходимо отменить, если протокол содержит <T,BEGIN>, но не содержит <T, COMMIT>. Нужно восстановить старые значения и перезапустить транзакцию.

Page 42: Шпоры по предмету  "Введение в базы данных"

2)Если содержатся и <T,BEGIN> и <T, COMMIT>, транзакцию перезапускать не нужно, но нужно ввести данные об изменениях из транзакции в БД.

Page 43: Шпоры по предмету  "Введение в базы данных"

1T

2T

3T

4T

it kit

29. Восстановление БД. Источники отказов. Процедура восстановления. Метод контрольных точек.Восстановление БД.Под восстановлением БД понимается приведение её в состояние, которое существует перед отказом.Основные типы отказов:

1) Системные ошибки, взаимоблокировки.2) Отказ оборудования.3) Логические ошибки(некорректные, отсутствующие данные).

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

,где t i - контрольная точка, t i+k - отказ системы.

Транзакция T 1в порядке, T 2иT 3- переделать, T 4 - отменить.

Page 44: Шпоры по предмету  "Введение в базы данных"

30. Представление структур данных в памяти ЭВМ. Списковые структуры. Связанное распределение памятиФорма представления структур данных в памяти ЭВМ зависит от предполагаемого использования данных, поскольку для различных типов структур эффективность выполнения тех или иных операций обработки данных различна. Основное различие форм представления структур данных в памяти ЭВМ определяется в первую очередь тем, как адресуются элементы структуры данных в памяти машины — по месту или по содержимому.В первом случае указываются логические или физические адреса данных, определяющие место расположения данных в памяти ЭВМ. Во втором случае размещение данных и их выборка осуществляются по известному значению ключа, т.е. определяются содержимым самих данных. Этот случай реализуется в специальной — ассоциативной памяти ЭВМ.Некоторый аналог ассоциативной памяти может быть реализован средствами специального программного обеспечения в обычной памяти ЭВМ. Наиболее простой формой хранения данных в памяти ЭВМ является одномерный линейный список. Линейный список — это множество n>=Ф1 объектов (узлов) X[1], X[2], … ,X[n], структурные свойства которого связаны только с линейным (одномерным) относительным расположением узлов. Если n> 1, то X[1] является первым узлом; для 1<I<n узел X[I-1] предшествует узлу X[i], а узел X[I+1] следует за ним, X[n] является последним узлом, т.е. линейный список реализует структуру, которую можно определить как линейное упорядочение элементов данных. Линейный список Х рассматривают как последовательность X[1], X[2], …, X[i],… ,X[n], компоненты которой идентифицированы порядковым номером, указывающим их относительное расположение в Х.Связанное представление линейного списка называется связанным списком.При связанном распределении памяти для построения структуры необходимо задать отношения следования и предшествования элементов с помощью указателей. Указателями служат адреса, хранимые в записях данных. В отличие от последовательного распределения памяти, при котором с помощью адресной функции вычисляется адрес следующего элемента, при связанном распределении памяти значение адресной функции можно получить только путем просмотра хранящихся указателей. Такой метод распределения памяти позволяет расширить либо сократить структуру без перемещения самих данных в памяти ЭВМ, однако для хранения структуры по сравнению с последовательным распределением требуется больше памяти.При связанном распределении каждый узел содержит указатель на следующий узел списка, т.е. адрес следующего узла списка. При этом не требуется, чтобы список хранился в последовательных элементах памяти. Структура линейного списка, представленная с помощью связанного распределения, называется также цепной структурой, или цепью.Для достижения большей гибкости при работе с линейными списками в каждый узел Х[i] вводятся два указателя. Один из них реализует связь рассматриваемого узла с узлом Х[i+1], а другой — с узлом Х[i-1].

Page 45: Шпоры по предмету  "Введение в базы данных"

31. Представление структур данных в памяти ЭВМ. Организация данных в памяти с использованием методов вычисления адреса по значениям ключей записей.Методы вычисления адреса — это преобразование ключа в адрес. В настоящее время существует большое число методов поиска, которые начинаются с вычисления адреса по имени. Такие методы наиболее полно используют свойства памяти с произвольным доступом.В методах вычисления адреса используется некоторая вычислительная операция, преобразующая значение ключа kЄK записи данных в соответствующий ему адрес памяти μЄМ , т.е. реализуется адресная функция К→М.Методы вычисления адреса подразделяются на 2 группы:• методы, в которых адресная функция реализует взаимно однозначное соответствие адресов и ключей;• методы хеширования, или перемешивания, в которых адресная функция реализует только однозначное преобразование ключа в адрес; обратное преобразование обычно не имеет места.

Page 46: Шпоры по предмету  "Введение в базы данных"

32. Объектно-ориентированные БД.Развитие объектно-ориентированного программирования привело к разработке объектно-ориентированных СУБД (ООСУБД), которые позволяют обрабатывать сложные объекты, содержат наследование и другие свойства, что делает возможным прямую реализацию объектно-ориентированных концептуальных моделей. В то же время реляционная технология баз данных расширяется, сочетая возможности управления данными с применением логических правил, обеспечивающих менеджмент более совершенной информацией. Такие системы называются базами знаний (БЗ).

Объектно-ориентированное программирование (ООП). Эффективный подход к созданию сложных программ, объединяющий понятия инкапсуляции, полиморфизма инаследования. Языки ООП имеют более высокую выразительность, чем обычные языки БД. Од-нако в языках ООП обычно не хватает поддержки постоянных объектов – объектов, которые должны существовать вне контекста взаимодействия конкретного пользователя с БД. Это естественным образом привело к разработкам, таким как ООСУБД Gemstone (Maier and Stein, 1992), которые пытаются расширить возможности языка ООП, включив обычные возможности управления данными, присущие СУБД.В ООП класс включает следующие свойства:1. Множество переменных (атрибутов), которые содержат данные для объекта класса. 2. Блоки программ, которые называются функциями, выполняющие операции над данными объекта класса. Разработки в области объектно-ориентированных систем БД Примеры наиболее известных ООСУБД. 3. Множество сообщений, на которые отвечает объект класса. Абстрактные классы Класс. Абстрактное представление (шаблон) объектного множества. Class NAME { protected: … }; Классы – абстракции в том же смысле, что и множества в концептуальной модели. Они позволяют представлять те элементы реальности, которые важны в рассматриваемой

Page 47: Шпоры по предмету  "Введение в базы данных"

проблеме. Эти классы позволяют определять любое конечное число объектов данного класса. Реляционные таблицы не могут содержать функций и обладать свойствами. При объявлении объекта класса, создается в памяти шаблон и присваивается ему имя объекта. Производный класс. Класс, наследующий свойства другого класса. Class NAME1: public NAME { protected: … }; Сложный объект. Соответствует составному объектному множеству или отноше-нию высокого порядка. Class N1 {}; Class N2 {}; Class N3 { protected: … N1 p1; N2 P2; … };

GemStone (1987) GemStone основан на языке ООП Smalltalk, с некоторыми расширениями. Это коммерческий продукт, обладающий чертами ООСУБД, такими, как идентификатор объекта и инкапсуляция, а также простое наследование и внешнее взаимодействие в виде набора сообщений. GemStone обеспечивает контроль параллельной обработки и восстановление, управление вспомогательными запоминающими устройствами, идентификацию пользова-телей. GemStone предлагает язык запросов, который позволяет формулировать команды, оперирующие переменными элементов объекта. GemStone поддерживает параллельный доступ и методы обеспечения защиты и целостности БД. Примеры ООСУБД: Vbase Orion PDM IRIS O2

Page 48: Шпоры по предмету  "Введение в базы данных"

33. Базы знаний.Развитие систем БД первоначально было мотивировано потребностью в эффективных средствах хранения, манипуляции и извлечения большого количества разнообразных данных. По достижению этих целей возникла дополнительная потребность: возможность задавать ИС правила, применяемые к хранимым фактам (данным), позволяющие выводить из них другие факты. Включение знаний в систему БД было подсказано исследованиями в области искусственного интеллекта (ИИ), которая занимается вопросом о том, как запрограммировать разумное поведение. Разработки в области ИИ включали исследования представлений логических правил, применяемых к данным. Экспертные системы — это особый раздел ИИ, посвященные представлению правил и процедур, которым следует специалист, решая задачи в конкретной предметной области.Экспертные системы — системы, моделирующие процесс принятия решений специалистами в разных предметных областях. Однако Экспертные системы не являются базами знаний, т.к. не обеспечивают полные возможности управления данными, присущие СУБД. Например, язык экспертных систем — язык ПРОЛОГ. Является мостом между БД и базами знаний. Он основан на исчислении предикатов, которые могут рассматриваться как реляционные таблицы, в нем также есть возможность выражения логики, которой пользуется человек, преобразуя факты из БД в информацию, помогающую принимать решения. Однако этот язык не обеспечивает необходимый набор возможностей СУБД —обработка транзакций, резервное копирование и восстановление, управление вспомогательными ЗУ. DATA-LOG и Logical Data Language (LDL, логический язык данных), расширенные версии ПРОЛОГа, призванные решить эти проблемы, находятся в стадии разработки. Система управления базами знаний. Система, обладающая всеми стандартными возможностями системы управления базой данных, касающихся хранения данных и манипуляций ими, а также средствами создания правил вывода, их хранения и применения к хранимым таблицам данных.Основанная на знаниях система. Альтернативный термин для системы управления базой знаний. Система базы знаний (СБЗ) — это компьютерная система, имеющая следующие составляющие:1. БД, содержащая основные факты.2. БД, содержащая правила, которые позволяют делать выводы из БД фактов.

Page 49: Шпоры по предмету  "Введение в базы данных"

3. Программное обеспечение, называемое системой управления базой знаний(СУБД), которое поддерживает обычные функции СУБД, а также управление процессом вывода а БД правил, оперирующих базой данных фактов. Наиболее активно развивающиеся области СБЗ: создание высокоскоростного оборудования, на котором выполняются операции с правилами; методы автоматического поддержания смысловой целостности баз знаний, в которых применяются правила, основанные на формальной логике, совершенствование способов применения логики к рассуждениям о знаниях, содержащих неопределенности, предположения и время.Примеры:Факт, хранящийся в БД фактовПоставщик Иванов находится в ТомскеИнформация более высокого уровня:Поставщик Иванов надеженВторое основано на выводах, полученных на основе разных данных-фактов (сопоставление дат закупок и дат поставок, и т.д.).