- •Вопрос 1. Модель предметной области, концептуальная модель, модели данных. Основные понятия и модели.
- •Вопрос 4. Реляционная модель данных. Математическое определение отношения. Схема отношения, его степень и мощность. Определение реляционной базы данных.
- •Вопрос 5. Объектные и свазаные отношения. Понятия первичного, возможного и вторичного ключа. Ограничения, накладываемые реляционной моделью.
- •Вопрос 6. Операции над отношениямии их реализация на языке sql.
- •Вопрос 2. Цели проектирования бд и пути их достижения. Понятие универсального отношения и проблемы, связанные с его использованием.
- •Вопрос 3. Понятие функциональной зависимости (фз). Избыточные фз и пути их удаления. Правила вывода. Понятие минимального покрытия.
- •Вопрос 7. Проектирование бд методом декомпозиции.
- •Вопрос 18. Метод проектирования “сущность-связь”. Правила генерации отношений из er-диаграммы. Правила генерации отношений из er-диаграмм:
- •Вопрос 16. Нормальные формы: 1-3 нф, нфбк и её отличие от 3нф. Метод нормальных форм. Типы функциональных зависимостей, устраняемые в процессе нормальизации отношений.
- •Вопрос 19. Case-средства для разработки приложений баз данных.
- •Вопрос 8. Сортировка, индексация, поиск и фильтрация данных в субд Access.
- •Вопрос 9. Импорт, экспорт и присоединение данных.
- •Вопрос 10. Формирование запроса – выборки на языке qbe. Сортировка и группировка данных, являющихся результатом запроса.
- •Вопрос 11. Язык sql. Команды select и другие команды обработки данных.
Вопрос 1. Модель предметной области, концептуальная модель, модели данных. Основные понятия и модели.
Термин «База данных» (БД) появился в начале шестидесятых годов двадцатого века, когда были сформулированы требования к организации данных в автоматизированных системах управления предприятиями. Суть этих требований сводилась к двум положениям:
Данные должны накапливаться и храниться централизованно, создавая динамически обновляемую модель предметной области (МПО).
Данные должны быть максимально независимы от программ их обработки.
Выполнение этих требований привело к созданию единого для всех задач, решаемых в рамках автоматизированной системы, блока данных – базы данных и к разработке управляющей программы, предназначенной для манипулирования данными – системы управления базой данных (СУБД).
База данных – это совокупность данных, хранящихся во внешней памяти и обладающая такими свойствами, как:
интегрированность, направленная на решение общих задач;
структурированность, отражающая часть реального мира;
взаимосвязанность;
независимость описания данных от программ их обработки.
СУБД выполняет роль посредника между БД и пользователем или прикладными программами. Схематично это можно изобразить следующим образом.
Рис.1.1. Схема взаимодействия пользователей с базой данных.
СУБД представляет собой программную систему, которая решает следующие задачи:
обеспечивает пользователей языковыми средствами описания данных и манипулирования ими;
поддерживает логические модели данных;
обеспечивает поддержку манипулирования данными на логическом уровне, т.е. выполнение таких операций как выбор, вставка, обновление, удаление, с одновременным отображением этих операций на физическом уровне;
обеспечивает защиту и поддерживает целостность данных.
Под банком данных принято понимать совокупность БД, СУБД, а также аппаратных и организационных средств, поддерживающих их функционирование.
При формулировке и решении любой задачи обычно выбирают некоторую абстракцию действительности, выделяют ограниченную область реального мира, которую называют предметной областью. Примерами предметных областей могут служить завод, факультет, библиотека, жители города, чемпионат по футболу. В выбранной предметной области выделяются предметы, которые называются объектами предметной области. Каждому объекту приписывается имя и совокупность свойств, характерных для этого объекта, или атрибутов. Причем нас интересуют не все свойства, присущие данному объекту, а только необходимые для получения результата. Остальные свойства считаются несущественными и не учитываются при формулировке задачи. Например, при решении задачи об итогах сессии существенными свойствами объекта «студент» являются следующие: наличие несданных экзаменов, средний балл, а к несущественным свойствам относятся рост студента или цвет волос и глаз. После того как определены существенные атрибуты объектов, выявляются взаимозависимости между ними, то есть связи между объектами и между атрибутами. Связь между объектами характеризуется направлением и количеством экземпляров объектов, которые могут в ней участвовать. Различают несколько видов связи: 1:1, 1:n, n:1, n:m. Например, в предметной области «институт» связь «секретарь представляет кафедру» является связью между объектом «секретарь» и объектом «кафедра». Это связь 1:1, поскольку секретарь представляет только одну кафедру. Обратная связь «кафедра имеет секретаря» - это тоже связь 1:1. Примером связи 1:n может служить связь между секретарем приемной комиссии и абитуриентом – «секретарь регистрирует абитуриента», поскольку каждый секретарь регистрирует много абитуриентов, но каждого абитуриента регистрирует только 1 секретарь, даже если их в приемной комиссии несколько, поэтому связь между абитуриентом и секретарем n:1. Связь «абитуриент сдает предмет» является примером связи n:m, так как каждый абитуриент сдает несколько экзаменов по разным предметам, а каждый из предметов сдает не один, а несколько абитуриентов.
Совокупность объектов, выделенных из предметной области, их свойств, необходимых для решения определенной задачи, и связей между объектами называется моделью предметной области (МПО).
Для представления модели предметной области в конкретной СУБД надо описать ее средствами модели данных, которую эта СУБД поддерживает. Такое описание называется концептуальной моделью. Иначе говоря, концептуальная модель – это представление модели предметной области в терминах модели данных.. Процесс построения концептуальной модели называется логическим проектированием базы данных. Построенная концептуальная модель затем средствами СУБД отображается в соответствующие структуры физической базы данных.
Модели данных, которые поддерживают СУБД делят на сетевые, иерархические, реляционные, объектно-ориентированные. Каждая СУБД поддерживает какую-нибудь одну, но иногда и одновременно несколько моделей данных. Для ранних СУБД были характерны сетевая модель и ее частный случай – иерархическая модель. Сетевые СУБД используют модель представления данных в виде произвольного графа, а иерархические – в виде древовидной структуры. Большинство СУБД, которые сейчас присутствуют на рынке, являются СУБД реляционного или объектно-реляционного типа, однако, в связи с ограниченностью реляционной модели и невозможностью ее использования во всех областях деятельности человека, существуют и постреляционные СУБД.
В этом пособии мы познакомимся с реляционной моделью данных, которая на сегодняшний день является самой распространенной. Эту модель поддерживает и СУБД Access.