- •Понятия базы данных, системы управления базой данных, системы баз данных, банка данных.
- •Понятие и назначение баз данных. Виды баз данных.
- •Понятие и назначение баз данных. Требования к базам данных.
- •Понятие и основные функции систем управления базами данных.
- •Системы управления базами данных. Языковые средства субд.
- •Системы управления базами данных. Тенденции развития субд.
- •Архитектура многопользовательских субд. Модели двухуровневой технологии "клиент – сервер" (файловый сервер, модель удаленного доступа к данным, Модель сервера баз данных ).
- •Сервер приложений. Трехуровневая модель.
- •Характеристика современных реляционных субд.
- •Этапы проектирования базы данных.
- •Инфологическое моделирование предметной области баз данных.
- •Пример построения er-модели конкретной локальной области.
- •Понятие и виды моделей данных: Общая характеристика.
- •Понятие и виды моделей данных. Сетевая модель.
- •Понятие и виды моделей данных. Иерархическая модель.
- •Понятие и виды моделей данных. Реляционная модель.
- •Ограничения целостности. Понятие и классификация.
- •Ограничения целостности связи. Понятие. Возможности реализации в современных субд.
- •Избыточность данных и аномалии обновления в бд.
- •Нормализация баз данных. 1-ая, 2-ая и 3-я нормальные формы.
- •Нормализация баз данных. Нормальная форма Бойса – Кодда.
- •Проектирование реляционной базы данных.
- •Язык sql. Общая характеристика.
- •Общая структура команды Select языка sql.
- •Sql. Формирование запросов к базе данных.
- •Sql. Агрегатные функции языка и их использование в запросах.
- •Sql. Группировка данных.
- •Вложенные запросы в sql.
Проектирование реляционной базы данных.
Вторая фаза процесса проектирования БД — логическое проектирование базы данных, для которой уже определена модель данных — реляционная модель данных. Проектирование реляционной базы данных, где концептуальная модель используется в качестве промежуточной модели, которая в последствии посредством применения некоторой методологии преобразуется в реляционную.
Такой подход помимо всего прочего отличается от метода декомпозиции еще и тем, что функциональные зависимости привлекаются не на начальном, а на конечном этапе проектирования. Поэтому важной характеристикой указанного процесса является тот факт, что все полученные в результате отношения будут иметь четвертую нормальную форму, а, следовательно, дальнейшая нормализация не потребуется.
Логическое проектирование реляционной БД
Концептуальная модель данных состоит из ряда компонентов: объектов (простых или составных), связей, атрибутов, специализаций или генерализаций. При переходе к реляционной схеме базы данных каждый из этих компонентов должен быть проанализирован и, если это окажется необходимым, то даже и преобразован. Изменения, вносимые в процессе преобразования, должны быть такими, чтобы их результат полностью отвечал требованиям, выдвигаемым реляционной моделью данных.Созданная логическая модель базы данных далее должна пройти проверку с использованием процедуры последовательной нормализации, а также должна пройти контроль на возможность выполнения всех необходимых пользователю транзакций. Таким образом, данная фаза логического проектирования предполагает следующие действия: преобразование концептуальной модели данных в логическую модель, в результате которого будет определена схема реляционной модели данных; проверка модели с помощью концепций последовательной нормализации; проверка модели в отношении транзакций пользователей; проверка поддержки целостности данных.
Методика преобразования концептуальных структур данных в реляционные структуры. Созданием упрощенной концептуальной модели предметной области закладывается основа для получения реляционной схемы базы данных. Поскольку в такой модели присутствует очень узкий круг разрешенных структур, преобразование каждой из которых имеет свои особенности, то методика получения реляционной схемы базы данных представляет собой совокупность правил их преобразования в набор отношений.
Напомним, что в упрощенной концептуальной модели после исключения нежелательных структур могут присутствовать следующие структуры данных: объекты и атрибуты; бинарные связи типа 1:1 и типа 1:N; связи типа суперкласс–подкласс.
Язык sql. Общая характеристика.
SQL принципиально отличается от традиционных алгоритмических языков программирования прежде всего тем, что он относится к непроцедурным языкам. На языке типа Кобол или Си можно записать шаг за шагом все инструкции, необходимые для исполнения программы. Язык SQL позволяет задать только то, “что нужно делать”, а само исполнение отдельных операций (“как делать”) возлагается непосредственно на СУБД. Другой особенностью SQL является так называемая трехзначная логика. В большинстве языков булево выражение может принимать только два значения: истина и ложь. Язык SQL позволяет записывать в базу данных значение NULL (пустое значение). NULL – это специальный код, который помещается в столбец таблицы, если по какой-нибудь причине в нем отсутствуют данные. Когда значение NULL участвует в операциях сравнения, булев результат будет ни истина и ни ложь, а неизвестно. Строго говоря, SQL не является языком программирования согласно определению этого термина. SQL представляет собой субъязык данных, предназначенный для использования только в качестве интерфейса с БД. Сам по себе SQL не содержит тех средств, которые необходимы для разработки законченных программ. И может применяться в форме одной из трех прикладных реализаций: 1. Интерактивный (или автономный) SQL дает возможность пользователям непосредственно извлекать информацию из базы или записывать в нее данные. Информация, получаемая по запросу SQL, может быть выдана на экран, переадресована в файл или на принтер.
2. Статический SQL позволяет записать фиксированный исполняемый код SQL, он обычно используется в приложениях. Есть две разновидности статического SQL: встроенный и модульный. Встроенный SQL определен как код SQL, который включен в исходный текст программы, написанной на другом языке программирования. В реальной жизни большинство приложений разрабатываются на алгоритмических языка (например, Си или Кобол), однако для обращения к БД используется встроенный SQL. В модульном варианте операторы SQL записаны в отдельных модулях, которые компонуются с модулями основного языка. 3. Динамический SQL дает возможность генерировать код SQL во время исполнения приложения и используется вместо статического SQL в тех случаях, когда при разработке приложения необходимый код SQL еще не может быть определен или зависит от того, какой выбор сделает пользователь. Операторы динамического SQL обычно применяются в диалоговых средах для построения запросов и в графических средствах разработки приложений БД.