Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_BD.doc
Скачиваний:
12
Добавлен:
14.04.2019
Размер:
1.55 Mб
Скачать
    1. Вопросы и упражнения для самоконтроля к главе 4

  1. Сколько версий языка SQL было принято?

  2. Используется ли в какой-либо СУБД язык SQL в том виде, как он описан в стандарте?

  3. Что означает символ «*» в операторе SELECT?

  4. Как организуется вывод данных с группированием по какому-либо полю (столбцу) таблицы?

  5. Как подсчитать число строк таблицы?

  6. Как задаются имена столбцов, если в запросе используются несколько таблиц?

  7. Какие виды подзапросов вы знаете и каковы ограничения при их использовании?

  8. Что может включать предикат в предложениях WHERE и HAVING?

  9. В каком случае запрос, содержащий конструкцию … EXISTS (подзапрос), может не вывести никаких данных?

  10. Как выполнить объединение таблиц?

  11. Какие действия выполняет оператор DELETE без фразы WHERE?

  12. Какими способами можно заполнить созданную таблицу данными?

  13. Как организовать перерасчет значений каких-либо столбцов таблицы?

  14. Напишите оператор создания таблицы Товары с указанием значений по умолчанию и условий проверки данных в некоторых полях.

  15. Как задать составной первичный ключ при создании таблицы?

  16. Для чего нужны представления?

  17. Как определяются модифицируемые представления?

  18. Что показывает фраза WITH CHECK OPTION при создании представлений?

  19. Что понимается под привилегиями языка SQL и как они передаются?

  20. Что такое транзакция в БД и как она задается?

  21. В чем заключается проблема параллелизма?

Глава 5 Проектирование баз данных

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

  1. Системный анализ и словесное описание информационных объектов ПО. Существуют два подхода к выбору состава и структуры предметной области:

    • Функциональный подход. Он реализует принцип движения «от задач» и применяется тогда, когда известны функции некоторой группы лиц и комплексов задач, для облуживания информационных потребностей которых создается БД. В этом случае можно четко выделить необходимый минимальный набор объектов, которые должны быть описаны.

    • Предметный подход. Информационные потребности будущих пользователей жестко не зафиксированы. Невозможно выделить необходимый минимальный набор объектов, которые необходимо описывать. В описание ПО в этом случае включаются такие объекты и взаимосвязи, которые наиболее характерны и существенны для нее. Проектируемая БД называется предметной и может быть использована для множества разнообразных, заранее неопределенных задач. Такой подход кажется наиболее перспективным, однако может привести к избыточночности задачи или потребности пользователей, а с другой стороны, учитывает возможность наращивания новых приложений.

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

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

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

При проектировании базы данных решаются две основных проблемы:

  • Каким образом отобразить объекты предметной области в абстрактные объекты модели данных? Эту проблему называют проблемой логического проектирования баз данных.

  • Как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создание каких дополнительных структур (например, индексов) потребовать и т.д.? Эту проблему называют проблемой физического проектирования баз данных.

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

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

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

  • из каких отношений должна состоять БД и

  • какие атрибуты должны быть у этих отношений

Можно выделить три основных подхода к проектированию БД:

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

  2. переход от семантической (инфологической) модели второго этапа с помощью CASE-средств к готовой схеме БД или даже готовой прикладной информационной системе (ИС);

  3. структурирование информации для использования в ИС в процессе проведения системного анализа на основе совокупности практических правил и рекомендаций.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]