
- •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. Реляционное исчисление: определение, операции, применение.
17. Технологии «клиент-сервер» управления данными
Вычислительная модель «клиент—сервер» исходно связана с парадигмой открытых систем, которая появилась в 90-х годах и быстро эволюционировала. Сам термин «клиент-сервер» исходно применялся к архитектуре программного обеспечения, которое описывало распределение процесса выполнения по принципу взаимодействия двух программных процессов, один из которых в этой модели назывался «клиентом», а другой — «сервером». Клиентский процесс запрашивал некоторые услуги, а серверный процесс обеспечивал их выполнение. При этом предполагалось, что один серверный процесс может обслужить множество клиентских процессов.
Основной принцип технологии «клиент—сервер» применительно к технологии баз данных заключается в разделении функций стандартного интерактивного приложения на 5 групп, имеющих различную природу:
функции ввода и отображения данных (Presentation Logic);
прикладные функции, определяющие основные алгоритмы решения задач приложения (Business Logic);
функции обработки данных внутри приложения (Database Logic),
функции управления информационными ресурсами (Database Manager System);
служебные функции, играющие роль связок между функциями первых четырех групп.
Структура типового приложения, работающего с базой данных:
Презентационная логика (Presentation Logic) как часть приложения определяется тем, что пользователь видит на своем экране, когда работает приложение.
Бизнес-логика, или логика собственно приложений (Business processing Logic), — это часть кода приложения, которая определяет собственно алгоритмы решения конкретных задач приложения.
Логика обработки данных (Data manipulation Logic) — это часть кода приложения, которая связана с обработкой данных внутри приложения. Данными управляет собственно СУБД.
Процессор управления данными (Database Manager System Processing) — это собственно СУБД, которая обеспечивает хранение и управление базами данных.
В централизованной архитектуре (Host-based processing) эти части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы. В децентрализованной архитектуре эти задачи могут быть по-разному распределены между серверным и клиентским процессами.
18. Оператор select sql.
SELECT — оператор языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.
В большинстве случаев, выборка осуществляется из одной или нескольких таблиц.
При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид (набор столбцов) и его содержимое (критерий попадания записи в набор, группировка значений, порядок вывода записей и т. п.).
Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а затем для каждой записи набора проверяется её соответствие заданному критерию.
Оператор SELECT имеет следующую структуру:
SELECT
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[FROM table_references]
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula}]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
Формат запроса с использованием данного оператора:
SELECT список полей FROM список таблиц WHERE условия…
Основные ключевые слова, относящиеся к запросу SELECT:
WHERE — используется для определения, какие строки должны быть выбраны или включены в GROUP BY.
GROUP BY — используется для объединения строк с общими значениями в элементы меньшего набора строк.
HAVING — используется для определения, какие строки после GROUP BY должны быть выбраны.
ORDER BY — используется для определения, какие столбцы используются для сортировки результирующего набора данных.
Пример:
Для таблицы T запрос
SELECT * FROM T;
вернёт все столбцы всех строк данной таблицы. Для той же таблицы запрос
SELECT C1 FROM T;
вернёт значения столбца C1 всех строк таблицы— в терминах реляционной алгебры можно сказать, что была выполнена проекция. Для той же таблицы запрос
SELECT * FROM T WHERE C1 = 1;
вернёт значения всех столбцов всех строк таблицы, у которых значение поля C1 равно '1'— в терминах реляционной алгебры можно сказать, что была выполнена выборка, так как присутствует ключевое слово WHERE. Последний запрос
SELECT * FROM T ORDER BY C1 DESC;
вернёт те же строки, что и первый, однако результат будет отсортирован в обратном порядке (Z-A) из-за использования ключевого слова ORDER BY с полем C1 в качестве поля сортировки. Этот запрос не содержит ключевого слова WHERE, поэтому он вернёт всё, что есть в таблице.