Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных_конспект 1-15 и 23-26 стр.docx
Скачиваний:
19
Добавлен:
25.08.2019
Размер:
904.31 Кб
Скачать

Манипулирование реляционными данными. Реляционная алгебра

Реляционная алгебра Переменные – это отношения: операторы действуют на отношения, и результатом их действия являются новые отношения. Реляционная алгебра является замкнутой, то есть результаты одной или более реляционных операций всегда представляют собой отношение. Отношения – это множества. Кортежи отношения можно рассматривать как элементы множества, следовательно, те операции, которые определены для множеств, могут выполняться и над отношениями.

Отношение ТРЕТИКУРСНИК и ПОЧЕТНЫЙ СТУДЕНТ: а -  пример отношения ТРЕТИКУРСНИК; б - пример отношения ПОЧЕТНЫЙ СТУДЕНТ. Объединение (А+В) – это комбинирование картежей одного отношения с картежами другого отношения, в результате чего получается третье отношение. Порядок, в котором следуют картежи в результирующем отношении, несущественен, но повторяющиеся строки должны быть удалены. Чтобы данная операция имела смысл, отношения должны быть совместимы по объединению, т.е. оба отношения должны иметь одинаковое количество атрибутов, и атрибуты в соответствующих столбцах должны принадлежать одному и тому же домену.

Разность (А-В)  – это отношение, содержащее все кортежи, которые присутствуют в первом отношении, но не присутствуют во втором. Отношения должны быть совместимы по объединению. А-В не равняется В-А.

Пересечение  – это отношение, содержащее кортежи, которые присутствуют и в первом и во втором отношениях. Отношения должны быть совместимы по объединению.

Произведение (декартово произведение) – это парная конкатенация всех строк одного отношения со всеми строками другого.

Произведение отношений СТУДЕНТ и ЗАПИСЬ Проектирование (проекция) – это операция, которая выделяет заданные атрибуты отношения. Результатом проектирования является новое отношение, содержащее выбранные атрибуты. При проектировании могут возникнуть избыточные кортежи, ихи необходимо исключать. Проекция отношения СТУДЕНТ [Имя, Специальность]

Выборка. Выборка выделяет горизонтальное подмножество (строки). Проектирование указывает, какие атрибуты должны быть в новом отношении, а выборка указывает, какие строки должны в нем присутствовать. Обозначается выборка путем указания имени отношения, за которым следует ключевое слово WHERE , за которым идет условие, накладываемое на атрибуты.

Выборка  СТУДЕНТ WHERE Специальность = 'МАТЕМАТИКА' Соединение. Операция соединения представляет собой комбинацию произведения, выборки и (возможно) проектирования. Бывают эквивалентное соединение (допускает наличие в результирующем отношении двух одинаковых столбцов), естественное соединение (не допускает наличие в результирующем отношении двух одинаковых столбцов) и Тетта - соединение (соединение двух отношений осуществляется, если выполняется заданное условие Тетта).

Проектирование приложений баз данных

Классификация приложений для работы с базами данных Традиционно приложений для работы с базами данных делятся на локальные приложения и приложения в архитектуре клиент/сервер, которые в свою очередь подразделяются на клиентские и сер-верные составляющие. (Локальными называются программы, расположенные на одном компьютере с базой данных.) Иногда база данных может располагаться на фиксированном сетевом диске в локальной сети. Программа называется соответствующей архитектуре клиент/сервер, если она имеет мощный сервер БД, отвечающий за обработку поступающих запросов и передачу результата клиентам. Клиентское программное обеспечение чаще всего располагается на удаленных рабочих местах, в сетях, требующих отдельного администрирования. Схема проектирования приложения выглядит следующим образом: Сбор   информации.   Необходимо  знать   все,   что   хотят  пользователи, заказчик или руководство от этой системы. Принято разделять программистов-аналитиков, проектирующих систему, от просто - программистов, пишущих код, и тем более различать администраторов и разработчиков БД. Выбор платформы. Включает в себя как выбор аппаратных средств, в соответствии с планируемой нагрузкой на БД с учетом масштабируемости, так и выбор СУБД. Существует множество критериев, и для каждого они свои. Для кого-то важна цена/бесплатность продукта, для кого-то производительность. Однако нужно реально оценивать возможности СУБД. Добавляются к этому затраты на администрирование БД. Грамотное проектирование структуры БД с максимальным вынесением логики работы на уровень сервера БД. Зачем делать лишнюю работу на клиенте, если она лучше и быстрее сделается на сервере. Плюс унифицированность системы. Чем грамотней и продуманней начальная структура БД, тем меньше проблем мы получаем на следующих этапах. Да и расходы на поддержку существенно уменьшаются. Собственно проектирование и разработка интерфейса к БД. Тут существует обратно-пропорциональная зависимость: чем универсальнее программное средство, тем тяжелей оно в понимании и эксплуатации. Пользователю надо дать интерфейс, причем интерфейс довольно узкоспециализированный. Т.е. всё должно быть настолько просто, насколько это вообще возможно. Причем, в большинстве своем пользователи хотят, чтобы все делалось при их минимальном участии. Если это возможно, то можно совместить разработчика БД с программистом. Если в силу особой сложности проекта или иных технических причин эта невоз-можно, то программист должен максимально тесно контактировать с разработчиком БД и ясно для себя представлять ее структуру.