
- •1. Проблема нормализации отношений. Нормальные формы. Способ нормализации отношений.
- •2. Понятие базы данных и субд. Платформы субд.
- •3. Технологии поиска данных (на примере платформы Sybase).
- •4. Применение ключей в субд.
- •5. Правила Джексона и их применение.
- •6. Технологии поддержки целостности в базах данных.
- •7. Реляционная модель данных. Понятие отношения. Свойства отношений. Операции над отношениями.
- •Операции, определённые над отношениями
- •8. Функциональные зависимости на отношениях и их применение.
- •Применение в проектировании бд
- •9. Технология olap и ее применение. Архитектура olap-системы
- •10. Многомерная модель данных olap.
- •11. Язык PowerScript: характеристики, возможности программирования.
- •12. Понятие отношения и его применение. Операции на отношениях.
- •13. Технология DataWindow: назначение, состав, примеры применения.
- •14. Объектная модель в инструментальной субд на примере Power Builder.
- •15. Проектирование Web – приложений в трехслойной архитектуре “клиент - сервер”.
- •16. Жизненный цикл субд. Модели жц. Технологии поддержки жизненных циклов.
- •17. Технологии «клиент-сервер» управления данными
- •18. Оператор select sql.
- •19. Концептуальное моделирование баз данных. Модель "сущность-связь" и ее применение.
- •20. Развитие технологий баз данных: банки данных, хранилища данных, базы знаний.
- •21. Правила Джексона и их применение.
- •22. Функциональные зависимости на отношениях и их применение.
- •23. Ссылочная целостность баз данных.
- •24. Модели данных баз данных.
- •25. Этапы проектирования баз данных: состав, назначение, модели.
- •26. Возвращаемые аргументы в технологии DataWindow.
- •27. Состав современных баз данных: объекты, их назначение, примеры применения.
- •28. Реляционная алгебра: определение, операции, применение.
- •29. Оператор update sql
- •30. Разработка веб-приложений, включающих субд.
- •31. Оператор insert sql
- •32. Обработка ошибок в субд
- •33. Оператор delete sql.
- •34. Принципы и средства разработки Web – интерфейсов.
- •35. Нормальная форма Бойса-Кодда.
- •36. Реляционное исчисление: определение, операции, применение.
3. Технологии поиска данных (на примере платформы Sybase).
СУБД позволяет не только создавать базы, но и предоставляет различные возможности быстрого поиска нужной информации.
Запросы — важное средство поиска данных в базе в соответствии с заданными условиями. От того, насколько правильно будет составлен запрос к базе данных справочной системы программы, зависит, получим ли мы нужную для работы информацию.
Пример запроса:
SELECT * FROM people WHERE people.name = 'Иван'
PowerScript позволяет использовать в запросах аргументы (retrieve argument):
SELECT * FROM people WHERE people.name = :search_name
Для поиска данных в базе используют не только запросы, но и сортировку данных, а также различные фильтры, которые применяют для сужения списка с целью исключения из него (на время) ненужных данных.
Пример использования фильтра в PowerScript:
string search_string;
search_string = "first_name LIKE '%" + sle_search.text + "%'";
dw_people.setFilter(search_string);
dw_people.SetTransObject(sqlca);
dw_people.retrieve();
4. Применение ключей в субд.
Определение первичного ключа гарантирует уникальность данных в соответствующем столбце (или столбцах) таблицы. Первичные ключи служат основой для определения внешних ключей. В таблице может быть только один первичный ключ, который единственным образом идентифицирует каждую строку в таблице. Он может быть составным, но его значения должны быть уникальны. Внешние ключи описывают связи (соединения) между таблицами базы данных. Описание внешнего ключа гарантирует, что при выполнении SQL-команд INSERT или UPDATE невозможно занести элемент данных, который бы не совпадал с ключом одной из других записей.
Правила:
1. Внешний ключ должен иметь столько же полей, что и первичный ключ родительской таблицы
2. Типы полей первичного и соответствующего внешнего ключа должны совпадать. Это означает, что при связывании таблиц мы «экспортируем» элементы первичного ключа в другую таблицу, но не требуем уникальности значений внешнего ключа.
Потенциальные ключи
По определению, тело отношения есть множество кортежей, поэтому отношения не могут содержать одинаковые кортежи. Это значит, что каждый кортеж должен обладать свойством уникальности. На самом деле, свойством уникальности в пределах отношения могут обладать отдельные атрибуты кортежей или группы атрибутов. Такие уникальные атрибуты удобно использовать для идентификации кортежей.
Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные - альтернативными. Различия между первичным и альтернативными ключами могут быть важны в конкретной реализации реляционной СУБД, но с точки зрения реляционной модели данных, нет оснований выделять таким образом один из потенциальных ключей.
Целостность сущностей
Т.к. потенциальные ключи фактически служат идентификаторами объектов предметной области (т.е. предназначены для различения объектов), то значения этих идентификаторов не могут содержать неизвестные значения. Действительно, если бы идентификаторы могли содержать null-значения, то мы не могли бы дать ответ "да" или "нет" на вопрос, совпадают или нет два идентификатора.
Это определяет следующее правило целостности сущностей:
Правило целостности сущностей. Атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений.
Внешние ключи
Различные объекты предметной области, информация о которых хранится в базе данных, всегда взаимосвязаны друг с другом. Например, накладная на поставку товара содержит список товаров с количествами и ценами, сотрудник предприятия имеет детей, числится в подразделении и т.д. Термины "содержит", "имеет", "числится" отражают взаимосвязи между понятиями "накладная" и "список товаров", "сотрудник" и "дети", "сотрудник" и "подразделение". Такие взаимосвязи отражаются в реляционных базах данных при
Целостность внешних ключей
Т.к. внешние ключи фактически служат ссылками на кортежи в другом (или в том же самом) отношении, то эти ссылки не должны указывать на несуществующие объекты. Это определяет следующее правило целостности внешних ключей:
Правило целостности внешних ключей. Внешние ключи не должны быть несогласованными, т.е. для каждого значения внешнего ключа должно существовать соответствующее значение первичного ключа в родительском отношении.