Файл: Основы проектирования программ. Этапы создания программного обеспечения (ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ).pdf
Добавлен: 31.03.2023
Просмотров: 126
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ
1.1. Основные проектирования программ
ГЛАВА 2 ОСНОВНЫЕ СТРУКТУРНЫЕ ЭЛЕМЕНТЫ И КОНСТРУКЦИИ ЯЗЫКА СТРУКТУРИРОВАННЫХ ЗАПРОСОВ
2.1. Роль языка структурированных запросов на современном этапе
ГЛАВА 3 СРЕДСТВА АДМИНИСТРИРОВАНИЯ ДАННЫХ И ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ SQL
3.1. Администрирование данных при помощи средств языка структурированных запросов
ВВЕДЕНИЕ
На сегодняшний день реляционные модели данных доказали свою жизнеспособность даже наряду с относительно новыми моделями такими, как объектно-ориентированные. Реализация реляционных моделей данных немыслима без языка структурированных запросов (SQL). В последнее время язык структурированных запросов превратился из единичного коммерческого программного продукта в целый динамично развивающийся сегмент программного рынка стоимостью в сотни миллиардов долларов в год, а язык структурированных запросов рассматривается сегодня как стандартный язык баз данных компьютера. Тысячи современных программных продуктов, функционирующих с базами данными теперь поддерживают сервера баз данных основанные на языке структурированных запросов. Эти сервера функционируют в компьютерных системах основанных на различных моделях реализации данных. Реляционные базы данных, могут встраиваться в планшеты или другие персональные вычислительные устройства, включая телефоны и компьютеры, мультимедийные системы.
На сегодняшний день известны различные международные стандарты языка структурированных запросов, которые пересматривались несколько раз. Однако, несмотря на различные стандарты, язык структурированных запросов используется в большинстве сложных программных систем предприятий.
Язык структурированных запросов занимает важное место в динамично развивающихся программных продуктах с открытым исходным кодом базы данных, таких как MySQL [7] и Postgres [8], которые помогают питать популярность Linux [5, c.5]. Из малозаметного исследовательского проекта фирмы IBM, SQL превратился в важную составляющую современных информационных технологий.
Актуальность данной работы продиктована тем, что несмотря на свою длительную историю развития, на сегодняшний момент отсутствует точное определение языка структурированных запросов (SQL), а его структура и состав основных операторов динамически изменяется. В связи с тем, что язык структурированных запросов динамически развивается важно определить современные функциональные возможности языка, существующие стандарты, составные элементы, и существующие программные средства, которые позволяют его эффективно использовать на основе текущего понимания терминов, определений и методов проектирования баз данных.
В связи с этим объектом исследования в данной работе является база данных.
Предмет исследования являются базы данных, а также средство для работы с ними – язык структурированных запросов, его структура и основные операторы.
Проблемами анализа структуры языка SQL, его элементов и синтаксических конструкций занимался ряд исследователей среди которых можно выделить таких авторов Ф.Андон, Л.Аткинсон, А.Д.Хомоненко, М.Грабер, К.Дейт, А.Нанди [26].
Целью курсового проекта является анализ структуры языка SQL, историческое развитие и его основных стандартов и составляющих элементов, а так же оценка перспектив его дальнейшего использования совместно с понятийным и методологическим аппаратом баз данных.
Для достижения целей курсового проекта необходимо решение следующих частных задач:
- Провести исследование основных теоретических понятий в области баз данных.
- Анализ структуры языка SQL и его составных элементов, а так же особенностей их практического использования.
- Синтаксический анализ основных конструкций языка структурированных запросов.
- Формирование выводов на основе анализа структуры языка SQL и его основных конструкций.
- Формирование перспектив дальнейшего развития и использования языка структурированных запросов.
Поставленные задачи структурно сформировали пояснительную записку к курсовому проекту, которая так же состоит из 3-х разделов.
ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ
1.1. Основные проектирования программ
Язык структурированных запросов SQL невозможно рассматривать изолировано от таких понятий, как база данных (БД), система управления БД (СУБД), распределенная модель обработки данных, в которой в качестве базового узла вычислительной сети выступает сервер БД.
На сегодняшний день известно большое количество определений понятию «база данных», все эти определения не являются противоречивыми или взаимоисключающими. Скорее, они представляют разные точки зрения авторов на одно и то же понятие. Сложность определения заключается в том, что компьютерные базы данных за свою не очень длинную историю прошли несколько этапов развития, от файловых систем, хранящих в себе «сырые» (неупорядоченные) данные, до постреляционных СУБД, содержимым которых являются данные, обладающие поведением (объекты). Остановимся на определении, которое примем для определения понятия базы данных. База данных — это информационная модель предметной области в виде совокупности данных, хранимых в памяти компьютера и связанных между собой по правилам, которые определяют их общие принципы описания, хранения и манипулирования.
Под информационной моделью понимают информацию об объекте, отобранную и структурированную в соответствии с заданной целью [18; c.5].
Модель данных — это описание методов представления и обработки данных в СУБД, в том числе методов определения типов и логических структур в базе данных, методов манипулирования данными и методов определения и поддержки целостности базы данных [19; с.45].
Исторически первые базы данных создавались на основе файловых систем, и вся ответственность за работу с ними возлагалась на прикладное программное обеспечение, использовавшее эти базы. Файловые базы данных сегодня практически не применяются. В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария — системы управления базами данных.
Система управления базами данных (СУБД) — это комплекс языковых и программных средств, предназначенный для создания, ведения и применения базы данных пользователями [28].
Кроме базы данных и программного обеспечения, обеспечивающего основную функциональность СУБД, в состав современных серверов баз данных входят всевозможные средства разработки и механизмы взаимодействия с пользователем на высоком уровне (генераторы отчетов, конструкторы таблиц, построители запросов и форм). Эти средства разработки, сами являясь приложениями пользователя, позволяют создавать приложения, функционирующие как часть СУБД (например, формы и отчеты MS Access или веб-публикации в Oracle и MS SQL Server).
На рис. 1 представлена схема, в которой определены основные термины, используемые при обсуждении СУБД.
Рассмотрим классификацию баз данных по типу принятой модели данных [9].
Классификацию баз данных по модели данных иллюстрирует рис. 2.
Иерархические базы данных основаны на иерархической модели данных, в которой связь между объектами базы данных образует перевернутое дерево. При такой модели каждый нижележащий элемент иерархии соединен только с одним расположенным выше элементом [10].
Рис.1 – Основные термины базы данных
Рис. 2. – Классификация баз данных по модели данных
Сетевые базы данных основаны на сетевой модели данных, в которой связи между объектами данных могут быть установлены в произвольном порядке.
Реляционные базы данных основаны на реляционной модели данных, в которой каждая единица данных в базе данных однозначно определяется именем таблицы (называемой отношением), идентификатором записи (кортежа) и именем поля.
Объектно-реляционные базы данных содержат объектно-ориентированные механизмы построения структур данных (как минимум, механизмы наследования и поддержки методов) в виде расширений языка и программных надстроек над ядром СУБД.
Объектно-ориентированные базы данных определяют как новое поколение баз данных, основанное на сочетании трех принципов: реляционной модели, стандартов на описание объектов и принципов объектно-ориентированного программирования [12].
Классификацию баз данных по архитектуре иллюстрирует рис. 3
Рис.3 – Классификацию баз данных по архитектуре
В локальных базах данных все данные и объекты СУБД находятся на одном компьютере.
В распределенных базах данных различные части данных (группы таблиц, таблицы и даже фрагменты таблиц) и объекты СУБД могут находится на разных компьютерах.
В качестве примера можно привести сложное производство (или сеть супермаркетов), разные части которого находятся в разных городах. Каждое предприятие накапливает «свои» данные. Необходимо, чтобы каждое из предприятий имело доступ к одним и тем же данным, как своим, так и данным других предприятий. Решением данной проблемы может быть создание одной локальной базы данных на одном компьютере с механизмом удаленного доступа. Однако это решение нерационально, поскольку быстрый доступ к данным будут получать клиентские компьютеры только того предприятия, на котором находится СУБД.
Другим решением данной проблемы может быть создание на каждом предприятии своей копии СУБД. В этом случае возникает затруднение с синхронизацией данных между . Распределенная СУБД в этом случае обеспечивает механизм хранения данных в разных базах данных таким образом, что при обращении совокупность разных баз данных выглядит как одна база. Тогда часто используемые данные («свои» данные) находятся в той части базы данных, которая расположена на предприятии. А при необходимости обратиться к «чужим» данным, СУБД делает запрос к удаленной СУБД и получает данные оттуда. Совокупность разных баз данных на разных компьютерах с точки зрения клиента выглядит как одна база данных.
Классификацию баз данных по способу доступа иллюстрирует рис. 4.
Рис.4 – Классификацию баз данных по способу доступа
В мэйнфреймовых базах данных пользовательское рабочее место представляет собой текстовый или графический терминал, а вся информация обрабатывается на том же компьютере, где находится СУБД.
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере, а ядро СУБД находится на каждом клиентском компьютере. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера, а недостатком — высокая загрузка локальной сети.
СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера. Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и при необходимости его можно заменить другим. Недостаток клиент-серверных СУБД состоит в самом факте существования сервера (что плохо для локальных программ — в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером.
Встраиваемая СУБД представляет собой программную библиотеку, которая позволяет унифицированным образом хранить большие объемы данных на локальной машине. Доступ к данным может происходить посредством запросов на языке SQL либо путем вызова функций библиотеки из приложения пользователя.
ГЛАВА 2 ОСНОВНЫЕ СТРУКТУРНЫЕ ЭЛЕМЕНТЫ И КОНСТРУКЦИИ ЯЗЫКА СТРУКТУРИРОВАННЫХ ЗАПРОСОВ
2.1. Роль языка структурированных запросов на современном этапе
Сегодня язык структурированных запросов является инструментом для организации, управления и получения данных, хранящихся на компьютере данных. Можно рассматривать язык структурированных запросов в качестве языка программирования, который используется для взаимодействия с базой данных. На самом деле SQL работает с одним определенным типом базы данных, который называется реляционной базой данных, которая стала основной способ организации данных по очень широкому спектру компьютерных приложений.