Файл: Основы проектирования программ. Этапы создания программного обеспечения (ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ).pdf
Добавлен: 31.03.2023
Просмотров: 120
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ
1.1. Основные проектирования программ
ГЛАВА 2 ОСНОВНЫЕ СТРУКТУРНЫЕ ЭЛЕМЕНТЫ И КОНСТРУКЦИИ ЯЗЫКА СТРУКТУРИРОВАННЫХ ЗАПРОСОВ
2.1. Роль языка структурированных запросов на современном этапе
ГЛАВА 3 СРЕДСТВА АДМИНИСТРИРОВАНИЯ ДАННЫХ И ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ SQL
3.1. Администрирование данных при помощи средств языка структурированных запросов
Современные веб-приложений баз данных часто используют трехуровневую архитектуру. Клиентский уровень обрабатывает взаимодействия с пользователем и связывается с удаленным сервером через протоколы, такие как HTTP. Логика приложения, которое находится на сервере, называется логикой среднего уровня. Прикладная программа, в свою очередь, обращается к SQL базе данных с помощью ODBC или JDBC. База данных может быть реализована на среднем уровне или на отдельной машине.
ГЛАВА 3 СРЕДСТВА АДМИНИСТРИРОВАНИЯ ДАННЫХ И ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ SQL
3.1. Администрирование данных при помощи средств языка структурированных запросов
Кроме средств формирования запросов и обработки данных, SQL предоставляет средства для выполнения задач администрирования баз данных. Эти задачи можно разделить на три основные категории: определение данных, контроль доступа, и активные особенности данных.
Определения данных объектов в SQL включает запрос для создания или удаления таблиц и представлений, а также для добавления или удаления столбцов существующей таблицы. Определение осуществляется в форме запросов SQL о том, каким образом представление может быть получено из хранящихся таблиц и / или других просмотров.
SQL средства управления доступом на основе концепций пользователей, привилегии и роли. Привилегией является возможность действие (например, выбирать, вставлять, удалять, или обновлять) на объект (например, атрибут или, в некоторых случаях, столбец таблицы).
Роль представляет собой набор привилегий, которые могут быть предоставлены множествам пользователей [7, c.27]. В общем случае, пользователь, который создает объект, может предоставить привилегии на этот объекте для отдельных пользователей и ролей, а также может отменить эти привилегии [4, c.280].
SQL активных объектов данных включают в себя ограничения и триггеры. Ограничения служат для обеспечения целостности данных. Для здания ограничений необходимо ограничить вид обновлений, которые могут быть применены к таблице. Важные виды ограничений включают в себя следующее:
- NOT NULL ограничения, которые запрещают нулевых значений в определенном столбце.
- Проверочные ограничения, которые определяют предикат, который не должен быть ложным для любой строки таблицы.
- Первичный ключ ограничений, которые требует, чтобы значения в определенном наборе столбцов называемый первичный ключ, могло однозначно идентифицировать строку таблицы.
- Ограничения внешнего ключа, которые требуют, чтобы для каждой строки таблицы ограничений, определенного набора столбцов, которая называется внешний ключ, содержит только комбинации значений, которые также входят в первичный ключ связанной таблицы, называемой родительской таблицы. При определении внешнего ключа можно указать, что необходимо делать, когда заявление манипулирования данными пытается нарушить ограничения (например, нарушение запросом может не иметь никакого эффекта, или удаление строки из родительской таблицы может вызвать автоматическое удаление связанных строк). Исполнение ограничения внешнего ключа, позволяет защитить целостность хранимых данных.
Действие Триггера, которое автоматически вызывается всякий раз, когда происходит определенное событие, называемое инициирующим событием [22, c.54]. Определитель триггера определяет следующие свойства:
- Свойства инициирующего события, которые могут вставлять, удалять или обновлять строки (или, в некоторых случаях, столбцы) конкретной таблицы.
- Определяется вызывается ли триггер до или после инициирующего события.
- Если инициирующее событие влияет на несколько строк, то ли триггер вызывается один раз для каждой строки или пострадавших только один раз за весь инициирующего события.
- Необязательное условие запуска: предикат, который должен быть истинным во время инициирующего события для того, чтобы триггер активируется.
- Тело триггера: один или несколько SQL запросов, которые будут автоматически выполняться, когда имеет место срабатывание события и триггер условие истинно. Состояние триггера и тело триггера имеют доступ к специальным переменным, которые содержат значения данных до и после запуска события.
Ограничения и триггеры полезны для определения и применения семантик хранимых данных.
3.2. Дополнительные возможности языка SQL
На протяжении многих лет в язык SQL добавлялась все большая и большая функциональность. Полный набор функций SQL является слишком большим и сложным, чтобы быть описанным в рамках курсовой работы. Рассмотрим основные области SQL, в которую была добавлена расширенная функциональность:
Рекурсия. Рекурсивный запрос который состоит из начального подзапроса и вычисляет некоторые предварительные результаты и рекурсивного подзапроса, который вычисляет дополнительные результаты, основанные на данных, которые ранее были вычислены. Рекурсивный подзапрос выполняется несколько раз, пока не будут вычислены все необходимые результаты.
Рекурсия полезна в запросах, когда необходимо найти оптимизационное решение, например, « Найдите самые дешевые сочетание полетных сегментов поездки из Шанхая в Копенгагене'' Рекурсивные запросы были впервые определены в SQL 1999 года.
OLAP: ONLine аналитическая обработка (OLAP) используется предприятиями для анализа больших объемов данных для выявления фактов и тенденций, которые могут повлиять на бизнес-решения. Использование предложения содержащего GROUP BY или вычисление агрегированных функций (сумма, среднее и т.д.) при условии ранних стандартов SQL, является примитивной формой функции OLAP, которая была значительно расширена в более поздних версиях языка.
Например, ROLLUP объекта позволяет применять запрос объединения функций на различных уровнях (например, города, округа, и государства). CUBE установка позволяет разбивать данные по нескольким характеристикам (таким как дата, место и категории) в рамках одного запроса.
Эти средства и другие, были введены в SQL 1999 и улучшены в последующих версиях стандарта.
Функции и процедуры. Первоначально SQL поддерживал фиксированный набор функций, количество которых медленно увеличивалось в течение многих лет. В SQL 1999 введена возможность для пользователей, для определения дополнительных функций и процедур, которые могут быть вызваны из SQL запроса. (В связи с этим, процедура это просто функция, которая вызывается при вызове запроса, который не должен возвращать значение.). Объекты, определяемые пользователем функций и процедур, могут быть записаны либо в SQL, либо при помощи универсального языка программирования, такого как C или Java.
Объектно-реляционные возможности. Ранние версии SQL могли обрабатывать данные, соответствующие фиксированным наборам простых типов данных, таких как целые числа и строки.
За годы развития SQL, были введены несколько дополнительных типов данных, например, даты и др. В конце 1990-х годов, возникли требования использования расширяемой системы типов. В SQL1999 появились средства для пользовательских структурированных типов и методов.
Эти средства поддерживают ограниченные формы объектно-ориентированных функций, включая наследование и полиморфизм.
Multi-media. В 2000 году SQL стандарт был дополнен отдельным, но тесно связанных стандартом, который получил название ''SQL Мультимедиа и пакет прикладных программ'' (ISO / IEC 13249:2000), который часто упоминается как SQL / MM. В этом новом стандарте используется объектно-реляционная возможностей, представляемая стандартом SQL 1999, чтобы определить специализированные типы данных и методы для текста, изображений и пространственных данных.
XML-функции. Функции XML становятся все более популярным форматом для обмена данными, потому что она смешивает метаданные (тэги) с данными. Популярность XML привела к требованиям для обеспечения хранения XML-данных в реляционных базах данных и преобразования данных между реляционными и XML-форматами. Эти требования были рассмотрены на объекте под названием SQL / XML, который был представлен как часть 14 SQL: 2003 и был обновлен в 2006 году. SQL / XML, включает в себя новый тип данных XML, набор функций для преобразования результатов запроса в XML-формате, и функции, которую может вызвать SQL XQuery как подъязык для обработки XML-данных.
3.3 Дальнейшие направления развития языка SQL
На сегодняшний день важность использования языка структурированных запросов обуславливается следующим:
- Вторая по величине в мире софтверная компания, Oracle, была построена на успехе SQL на основе управления реляционными данными, с помощью своих флагманских серверов баз данных и инструментов, и его SQL-приложений предприятия.
- IBM, крупнейшая компьютерная компания в мире, предлагает свой SQL на основе программного обеспечения DB2 для всех своих продуктовых линеек и приобрел другие SQL-базы данных и приложения.
- Microsoft, крупнейшая софтверная компания в мире, сделал ставку на базы данных SQL Server в качестве ключевого инструмента, а также в качестве основы для управления данными для всех своих сервисов и приложений [6, c.7; 3, с.5].
- Sun Microsystems, Fortune 500 компания технологии, увидев огромное значение SQL приобрело компанию MySQL AG, таким образом, приобретение MySQL [1, c.45], которое является крупнейшим открытым исходным кодом в мире на основе SQL СУБД [4].
- XML, которое являлось потенциальным претендентом на занятие места SQL и реляционной модели, вместо этого были поглощены в структурах SQL-управления, основанного на данных.
Все основные корпоративные компактные приложения, от финансов до цепочки поставок для автоматизации продаж и управления взаимоотношениями с клиентами, построенных на основе SQL-баз данных.
SQL является стандартом для специализированных баз данных на мобильных устройствах и ноутбуках, так и для встроенных приложений в сетях телекоммуникации и производство систем [3, c.821; 2, с.44].
SQL-доступ к базам данных является обязательной частью Интернет-серверов приложений и баз данных SQL, которые лежат в основе всех крупных сайтов электронной коммерции.
Проанализируем некоторые из наиболее важных текущих тенденций и изменений на рынке баз данных и управления базами данных в течение ближайших нескольких лет.
- Тенденция к корпоративным стандартам баз данных позволит укрепить и усилить рыночные позиции занятые основными поставщиками СУБД. При этом рынок динамично развивается основные игроки имеют тенденцию концентрироваться на развитии своего бизнеса в рамках своей существующей установленной базы, вместо того чтобы попытаться взять клиентов от конкурентов.
- Поскольку все больше и больше приложений, использует на общекорпоративной основе или за его пределами, свойства единой централизованной базы данных для поддержки десятков основных приложений и тысячи одновременно работающих пользователей будет продолжать уменьшаться. Вместо этого, крупных корпоративные баз данных станет больше и больше распространяется, со специальной базы данных для поддержки основных приложений и функциональных областей корпорации. Для достижения высшего уровня обслуживания требуются общекорпоративные или интернет-приложения, данные должны быть распределены, но для обеспечения целостности бизнес-решений и операций, работа этих распределенных баз данных должна быть тесно скоординирована.
- Другой нагрузкой на централизованные архитектуры базы данных будет продолжающийся рост мобильных персональных компьютеров и других мобильных устройств прибора информации. Эти устройства которые по своей природе, могут быть более полезными, если они могут стать неотъемлемой частью распределенной сети. Базы данных в центре мобильных приложений должны иметь возможность работать в этой иногда связано окружающей среды.
- Следующей тенденцией можно назвать увеличение объемов баз данных и появление специализированных инструментов для работы с хранилищами данных.
- И еще одной тенденцией вызывающей дальнейшее развитие SQL является дальнейшая интеграция с интернет системами и интернет данными, что вызовет дальнейшую корректировку форматов, в частности работы c xml.
- Обеспечение масштабируемости базы данных для облачных вычислений
ЗАКЛЮЧЕНИЕ
SQL продолжает играть важную роль в компьютерной индустрии, и, продолжит свое эволюционное развитие в качестве важной базовой технологии: