
- •Введение
- •Глава 1 информационные системы
- •1.1 Информация как ресурс
- •1.2 Файловые системы
- •1.3 Информационные системы, использующие базы данных
- •1.3.1 Иерархические и сетевые модели данных
- •1.3.2 Реляционные системы управления базами данных
- •1.4 Компоненты информационных систем
- •1.4.1 Технические средства
- •1.4.2 Программное обеспечение
- •1.4.3 Данные
- •1.4.4 Пользователи
- •1.4.5 Организационное обеспечение
- •1.4.6 Отношения между компонентами системы
- •1.5 Основы проектирования информационных систем
- •1.5.1 Жизненный цикл программного обеспечения
- •1.5.2 Модели жизненного цикла по
- •1.5.3 Подходы к проектированию ис
- •1.6 Задания и вопросы для повторения
- •2.2 Подходы к проектированию баз данных
- •2.3 Создание базы данных
- •2.4 Основы концептуального проектирования баз данных
- •Объекты и отношения
- •2.3.2. Атрибуты
- •2.3.3 Ключи
- •2.3.4 Наследование
- •2.3.5 Составные объекты
- •2.3.6 Моделирование концептуальных и физических объектов
- •2.4 Реляционная модель данных
- •2.4.1 Поддержка целостности данных
- •Процесс нормализации таблиц
- •2.4.3 Пример построения нормализованной базы данных
- •2.4.4 Преобразование концептуальной модели в реляционную
- •2.5 Элементы er-моделирования
- •2.5.1 Основные понятия модели «сущность-связь»
- •2.5.2 Основные графические обозначения элементов модели
- •2.6 Заключительный этап проектирования
- •2.7 Сравнение концептуального и реляционного моделирования
- •2.8 Вопросы и задания для повторения
- •2.9 Упражнения и задачи
- •2.10 Проекты и профессиональные вопросы
- •Глава 3 реляционная алгебра и реляционное исчисление
- •3.1 Реляционная алгебра
- •3.1.1 Обзор реляционной алгебры
- •3.1.2 Теоретико-множественные операторы
- •3.1.3 Специальные реляционные операторы
- •3.1.4 Зависимые реляционные операторы
- •3.1.5 Примитивные реляционные операторы
- •3.2 Реляционное исчисление
- •3.2.1 Целевой список и определяющее выражение
- •3.2.2 Квантор существования
- •3.2.3 Квантор всеобщности
- •3.3 Заключение
- •3.4 Вопросы на повторение
- •3.5 Упражнения и задачи
- •Глава 4 управление реляционной базой данных с помощью sql
- •4.1 Элементы Transact-sql
- •Комментарии
- •4.1.2 Алфавит
- •4.1.3 Идентификаторы
- •Выражения
- •4.1.5 Ключевые слова
- •Операторы
- •4.1.7 Логические операторы
- •Типы данных
- •- Функции Transact-sql
- •4.2 Выборка данных из таблиц
- •4.2.1 Структура команды select
- •Результаты выборки
- •Отбор столбцов
- •Select Фамилия, Город from Гостиница.Dbo.Клиент
- •4.2.4 Определение заголовков столбцов
- •Выражения в выборках
- •Отбор записей
- •Порядок вывода данных
- •Котов Кузьма Кузьмич
- •Группировка данных
- •Отбор данных для групп
- •4.2.10 Директива compute
- •Выборка данных из нескольких таблиц
- •Объединение с помощью предложения where
- •Внутреннее объединение
- •4.2.14 Объединение и опция join
- •Оператор union
- •Подзапросы и структурированные запросы
- •Создание таблицы на основе выборки
- •Предложение for browse
- •4.3 Модификация данных
- •Добавление данных
- •Изменение данных
- •Удаление строк
- •Управляющие конструкции
- •Создание таблиц базы данных
- •4.6 Транзакции и блокировки
- •4.6.1 Понятие транзакций и блокировок
- •Управление транзакциями
- •Явные транзакции
- •Автоматические транзакции
- •Неявные транзакции
- •Управление блокировками
- •4.7 Хранимые процедуры
- •4.7.1 Типы хранимых процедур
- •Создание хранимых процедур
- •4.8 Триггеры
- •Создание триггера
- •Ограничения при создании триггеров
- •Использование триггеров
- •Вопросы на повторение
- •4.10 Упражнения и задачи
- •4.11 Проекты и профессиональные вопросы
- •Заключение
- •Приложение а sql скрпит, для создания таблиц согласно модели бд "Университет"
- •Литература
2.6 Заключительный этап проектирования
Выше продемонстрированы способы преобразований конструкций концептуальной модели – объектов, атрибутов, отношений, конкретизаций и составных объектов – в реляционные таблицы. После завершения преобразований всех конкретных конструкций полученную реляционную схему необходимо пересмотреть на предмет избавления от избыточности. Любые избыточные таблицы (то есть таблицы, информация которых полностью содержится в других таблицах схемы) необходимо удалить из схемы.
Следует обратить внимание на то, что все полученные таким образом таблицы имеют четвертую нормальную форму. Это объясняется следующим. Функциональные зависимости, определенные для реляционной модели, являются атрибутами отношения один-к-одному или один-ко-многим. Описанный выше процесс преобразования каждой из этих конструкций в атрибуты реляционных таблиц гарантирует, что они будут зависеть только от ключевых атрибутов. Следовательно, каждая полученная реляционная таблица будет иметь 3НФ. Многозначные атрибуты реляционной модели встречаются только в отношениях много-ко-многим. Эти отношения преобразуются в реляционные таблицы, обладающие составными ключами из ключевых атрибутов отдельных объектных множеств. Следовательно, они гарантированно имеют 4НФ.
2.7 Сравнение концептуального и реляционного моделирования
Чем сложнее модель базы данных, тем труднее разобраться в ней и правильно спроектировать. Эта сложность растет с добавлением объектных множеств, конкретизаций, составных объектов и отношений. В результате проектирования важно, чтобы структура базы данных была логичной и не имела изъянов. Графический подход значительно повышает вероятность получения точных моделей по сравнению с текстовым подходом реляционного моделирования.
В реляционной модели единственными средствами, которыми располагает проектировщик, являются реляционные таблицы и внешние ключи. С одного взгляда на реляционную схему не просто понять, какие таблицы представляют объекты, а какие – отношения. При большом количестве таблиц в модели трудно разобраться без графики.
Зачем нужно преобразование концептуальной модели в реляционную схему базы данных? В настоящее время большинство СУБД основано на реляционной (или более ранней) модели. Объектно-ориентированные СУБД, которые могли бы напрямую реализовать концептуальную схему, еще не достигли «промышленной мощности», необходимой для больших приложений. Кроме того, для простой базы данных напрямую создать реляционную модель не сложнее, чем создать концептуальную модель. Следовательно, оба подхода вполне жизнеспособны и могут адекватно использоваться.
2.8 Вопросы и задания для повторения
1) Объясните своими словами смысл терминов:
База данных.
Жизненный цикл базы данных.
Пользователи базы данных.
Физическое проектирование базы данных.
Предварительное планирование базы данных.
Реализация базы данных.
Модель.
Объектное множество.
Суррогатный ключ.
Обобщение.
Составное объектное множество.
Мощность.
N-арное отношение.
Атрибут.
Реляционная модель данных.
ER-модель.
Рекурсивное отношение.
Внешний ключ.
Реляционная схема базы данных.
Правило категорной целостности.
Нормализация.
Аномалия обновления.
Аномалия ввода.
Нормальные формы.
Атомарное значение.
Многозначная зависимость.
2) Опишите взаимосвязь трех видов моделей (внешней, концептуальной и внутренней).
3) Из каких этапов состоит жизненный цикл базы данных?
4) Опишите разницу между концептуальным и внешним уровнями базы данных.
Назовите и опишите основные конструкции, используемые при моделировании данных.
Каким образом опросы пользователей и анализ отчетов используются при концептуальном моделировании данных в процессе проектирования базы данных?
Обсудите, каким образом анализируются запросы пользователей для определения следующих конструкций модели данных:
объектных множеств;
атрибутов;
отношений;
конкретизаций.
Обсудите, как анализируются отчеты для определения следующих конструкций концептуальной модели данных:
объектных множеств;
атрибутов;
отношений;
конкретизаций.
В каких случаях при моделировании данных требуются составные объектные множества? Когда следует пользоваться отношениями высокого порядка? Приведите примеры.
Сравните следующие термины и назовите различия между ними:
ключи и внешние ключи;
атрибуты и столбцы;
кортежи и строки;
категорная целостность и целостность на уровне ссылок.
Проанализируйте следующее утверждение: «Реляционная таблица имеет третью нормальную форму, если каждый неключевой атрибут зависит от ключа, от ключа целиком и ни отчего, кроме ключа». Какая часть утверждения относится ко второй нормальной форме, а какая – к третьей?
В чем заключаются недостатки таблиц, не отвечающих требованиям второй и третьей нормальных форм?
Опишите процесс преобразования концептуальной модели в реляционную для каждой из следующих конструкций:
объектное множество с атрибутами с ключом и без него;
отношение один-к-одному;
отношение один-ко-многим;
отношение много-ко-многим;
отношение конкретизации;
составное множество;
рекурсивное отношение.
Сравните следующие два подхода к моделированию данных:
создание концептуальной модели и последующее преобразование ее в нормализованную реляционную схему базы данных;
пропуск этапа создания концептуальной модели и прямое создание реляционной модели с последующим применением теории нормализации для исключения аномалий.
На каком этапе (этапах) жизненного цикла базы данных выполняются следующие действия:
определение файлов, необходимых для квартального отчета о продажах;
выяснение того, располагает ли фирма специалистами, имеющими техническую подготовку, необходимую для создания и поддержания базы данных;
определение основных функций системы;
ввод данных в базу данных;
определение информации, необходимой менеджеру отдела закупок, связанной с качеством услуг и товаров, предоставляемых поставщиками;
определение изменений, необходимых для повышения эффективности базы данных;
определение полной концептуальной структуры базы данных;
написание и отладка прикладных программ для работы пользователей с базой данных;
определение функций, выполняемых системой для каждого отдела предприятия.