Курсовая работа (т): Использование SQL в прикладном программировании

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Использование SQL в прикладном программировании

Негосударственное образовательное учреждение высшего образования

Московский технологический институт

Факультет: Техники и современных технологий

Кафедра: Информатики и автоматизации









КУРСОВАЯ РАБОТА

по дисциплине «Базы данных»

на тему: «ИСПОЛЬЗОВАНИЕ SQL В ПРИКЛАДНОМ ПРОГРАММИРОВАНИИ»


Уровень образования: бакалавриат

Направление: 230100 «Информатика и вычислительная техника»

Профиль: «WEB разработка»

Выполнил:

Студент 5-го курса

Форма обучения: заочная

Иванов Иван Иванович

Москва 2015

Оглавление

Введение

1. Основные понятия и технологии распределенной обработки данных

1.1 Основные понятия и классификация баз данных и систем управления базами данных

1.2 Модели построения баз данных

1.3 Технологии распределенной обработки данных

2. Особенности языка структурированных запросов SQL

2.1 Общие понятия о языке SQL

2.2 Структура и назначение операторов SQL

2.3 Преимущества и недостатки языка SQL

3. Использование SQL в прикладном программировании

3.1 Обоснование выбора применяемых технологий для решения задачи

3.2 Реализация программной части веб - приложения

3.3 Описание общей схемы взаимодействия компонент веб -приложения, основные сценарии работы

Заключение

Список использованной литературы

Приложение А. Характеристики объектно-ориентированной модели данных

Приложение Б. Описание таблиц базы данных

Приложение В. Запросы, формирующие базу данных

Приложение Г. Взаимодействие с БД средствами PHP

Приложение Д. Основные элементы интерфейса пользователя сервиса подписки

Введение

Актуальность темы курсовой работы заключается в том, что в современном компьютерном мире язык структурированных запросов SQL предоставляет пользователю большое количество возможностей по применению и объединению информации из различных источников. Кроме того, в настоящее время SQL нашел широкое применение в прикладном программировании, поскольку значительно сокращает объем работ, который пришлось бы выполнять при использовании универсальных языков программирования.

Язык структурированных запросов SQL (Structured Query Language) предназначен для создания и работы с реляционными базами данных, которые представляют собой наборы связанных данных, хранящихся в таблицах. Для управления реляционными базами данных используются программы, называемые системами управления базами данных, СУБД.

В области баз данных наблюдается все большая интеграция, которая повышает важность стандартного языка, пригодного для использования на различных компьютерных платформах и с разными СУБД.

При наличии стандартного языка достаточно изучить один набор команд и применять его для ввода, поиска, изменения и передачи информации независимо от имеющейся платформы: персональный компьютер, рабочая станция или большая ЭВМ.

Приложения, написанные на стандартном языке, способны работать со многими базами данных, как при использовании API ODBC.

Объектом исследования курсовой работы являются «Базы данных», а предметом исследования - «Использование SQL в прикладном программировании».

Целью курсовой работы является изучение возможностей использования SQL в прикладном программировании.

Для достижения поставленной цели в курсовой работе необходимо решить следующие задачи:

) раскрыть сущность понятий база данных, система управления базами данных путем изучения классификации баз данных и СУБД по степени распределенности, по технологии хранения данных, по содержимому, по моделям построения;

) изучить особенности реляционной модели данных;

) изучить технологии распределенной обработки данных путем определения из достоинств и недостатков, проведения сравнительного анализа, а также выделить технологию, которая наиболее подходит для распределенной обработки данных с использованием SQL-запросов к серверам БД;

) рассмотреть структуру и назначение операторов SQL: операторов определения данных DDL, операторов манипулирования данных DML, операторов управления данными DCL;

) изучить возможности использования SQL в прикладном программировании.

При написании курсовой работы использовались научные труды следующих авторов: Астахова И.Ф.[1], Боуман Дж.С. [2], Гарсиа-Молина Г.[3], Дейт К.[4-6], Дунаев В.В.[7], Жилин Д.М.[9] и другие.

1. Основные понятия и технологии распределенной обработки данных

1.1 Основные понятия и классификация баз данных и систем управления базами данных

База данных (БД) - это совместно используемый набор логически связанных данных (и их описание), предназначенный для удовлетворения информационных потребностей пользователей.

Система управления базами данных (СУБД) - программное обеспечение (ПО), с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также получать к ней контролируемый доступ [5, с. 123].

По степени распределенности базы данных и СУБД разделяются локальные и распределенные, групповые и корпоративные, как показано на рисунке 1 [6, с. 102].

Рисунок 1 - Классификация баз данных и СУБД по степени распределенности

Локальные базы данных и системы управления базами данных, как правило, реализуются на одном автономном компьютере и рассчитаны на работу одного пользователя. Как правило, приложения разрабатываются с помощью локальных баз данных, например [7, с.88]: Clarion, Clipper, FoxPro, Paradox, dBase, Microsoft Access.

Групповые базы данных и системы управления базами данных реализуются в локальной сети и рассчитаны на работу группы пользователей подключенных к одному серверу баз данных, которые называются SQL серверами. Наиболее часто используемыми являются: Oracle, DB2, Microsoft SQL Server, Inter Base, Sybase, Informix.

Корпоративные базы данных и системы управления базами данных реализуются на больших предприятиях и могут поддерживать территориально разнесенные узлы в сети. Как правило, корпоративные БД и СУБД имеют иерархическую структуру, состоящую из нескольких уровней. Наибольшее распространение получили серверы баз данных: Oracle, DB2, Microsoft SQL Server [8, с. 76].

По технологии хранения данных базы данных и СУБД классифицируются следующим образом (рисунок 2) [9, с. 123]:

Рисунок 2 - Классификация баз данных и СУБД по технологии хранения данных

Фактографические базы данных и СУБД являются аналогами бумажных карточек и предназначены для хранения данных представленных в строго фиксированных форматах и краткой форме.

Документальные базы данных и СУБД являются аналогами исторических документов или архивов документов, обеспечены формализованным аппаратом поиска и предназначены для хранения графических объектов и неструктурированных текстовых документов [10, с. 156].

Централизованные базы данных и СУБД реализуются, как правило, либо на одном автономном компьютере, либо в сети на основании архитектуры «клиент-сервер», хранение данных организовано только на одном компьютере.

Распределенные базы данных и СУБД отличаются от централизованных тем, что данные могут быть разбиты на разные части и храниться на нескольких компьютерах в вычислительной сети.

По содержимому базы данных и СУБД разделяются на следующие группы [11, с. 336]:

) графические, предназначенные для хранения данных графических форматов, как правило, это базы данных фотографий, архивы изображений различного стилевого оформления;

) исторические, предназначенные для хранения текстовых данных представляющих историческую ценность, это, как правило, базы данных для ведения исторических архивов предприятий, выдающихся деятелей искусства, культуры и науки;

) научные, предназначенные для хранения текстовых и графических данных, проведения научных исследований и отражения последних достижений науки и техники;

1.2 Модели построения баз данных

Модель данных - это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы - поведение данных.

В настоящее время существуют следующие основные модели построения баз данных: иерархическая, сетевая, объектная, объектно-ориентированная, реляционная.

Рассмотрим особенности каждой из моделей построения баз данных.

Иерархическая структура представляет множество элементов, имеющих между собой связи по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.

Узел - это совокупность атрибутов данных, которые описывают некоторый объект.

На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на низшем уровне связан только с одним узлом, который находится на более высоком уровне.

Иерархическое дерево имеет единственную вершину (корень дерева), не подчиненную никакой другой вершине и находится на самом верхнем (первому) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и так далее уровнях. Количество деревьев в базе данных соответствует числу корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи.

Особенностью реализации операций поиска в иерархической модели является то, что операция всегда начинает поиск с корневой вершины и специфицирует иерархический путь (последовательность связанных вершин) от корня до вершины, экземпляры которой удовлетворяют условиям поиска.

Структура иерархической модели данных представлена на рисунке 3 [12, с. 206].

Рисунок 3 - Структура иерархической модели данных

Структура иерархической модели данных (рисунок 3) состоит из структурной части и управляющий части. В структурной части иерархической модели данных выделяют поле, представляющие собой наименьшую единицу данных, доступную пользователю и сегмент, для которого определяются тип и экземпляр. Причем экземпляр сегмента образуется из значений полей данных заданных определенным образом и поименованной совокупности входящих в него типов полей данных определяемых типом сегмента.

Основными достоинствами иерархической модели данных являются: эффективное использование памяти ЭВМ; высокая скорость выполнения операций над данными; удобство работы с иерархически упорядоченной информацией.

Недостатком иерархической модели является ее громоздкость для обработки информации с достаточно сложными логическими связями.

На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS , PC / Focus, Team - Up и Data Edge , а также отечественные системы Ока, ИНЭС и МИРИС.

Сетевая модель данных является расширением иерархического подхода, описывается строгой математической теорией, отражающей структурный, целостный и аспект обработки данных, и состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.

Основное отличие сетевой структуры от иерархической структуры данных заключается в том, что каждый элемент в сетевой структуре может быть связан с любым другим элементом.

Достоинствами сетевой модели данных являются: эффективность в использовании памяти компьютера; высокая скорость выполнения основных операций над данными; огромные возможности по сравнению с иерархической модели по образованию произвольных связей.

Недостатками сетевой модели данных являются: высокая сложность и жесткость схемы базы данных, которая построена на ее основе; трудность для понимания и выполнения обработки информации в базе данных непрофессиональным пользователем.

Наиболее известными сетевыми СУБД являются: IDMS, db _ VistaIII , СЕТЬ, СЕТОР и КОМПАС.

Объектная модель базы данных используется в основном для создания высокого уровня абстракции и работы с объектными данными, такими как изображение, музыка, видео и различного текста,

Характеристика современных объектных моделей баз данных приведена в таблице 1 [13, с. 199].

Таблица 1 - Современные объектные модели баз данных

НазваниеНазначениеVersant (разработка Versant Technologies)Используется для разработки телекоммуникацийPOET (компания POET Software)Поддержка интерфейсов C++, Java, Visual BasicObject Store PSE (разработка компании Object Design)Модули объектов Java

Объектно-ориентированная модель отличается от объектной модели тем, что данные могут, как моделироваться в виде объектов, так и представляться атрибутами, методами и классами [14, с. 22].

Объектно-ориентированные модели представления данных позволяют идентифицировать отдельные записи базы. Между записями базы данных и функциями их обработки формируются определенные взаимосвязи с помощью механизмов, похожих на соответствующие средства в объектно-ориентированных языках программирования. Характеристики объектно-ориентированной модели данных приведены в Приложении А.

Достоинствами объектно-ориентированной модели данных являются: возможность показа информации о сложных взаимосвязях объектов; способность идентификации отдельной записи базы данных и определения функции ее обработки.

К недостаткам объектно-ориентированной модели данных относятся: трудность в понимании ее деятельности непрофессиональным пользователем; неудобство обработки данных; небольшая скорость выполнения запросов.

Среди объектно-ориентированных СУБД можно выделить системы фирмы РОЕТ: Software, Versant фирмы Versant Technologies и др.

Реляционная база данных представляет собой хранилище данных, организованных в виде двумерных таблиц. Таблицы отражают тип объекта (сущности), разделенные на строки, представляющие собой экземпляры объекта и столбцы, соответствующие атрибутам, на пересечении которых содержатся значения данных, составляющие основу организации реляционной модели данных.

Для упорядочивания строк в реляционной таблице модели данных используется первичный ключ, который представляет собой атрибут или группу атрибутов, а для упорядочивания столбцов одной таблицы, значения в котором совпадают со значениями в другой таблице, используется внешний ключ. Реляционная модель данных поддерживает операторы обработки отношений, таких как реляционная алгебра и реляционное исчисление.

Основные правила реляционной модели данных отражены на рисунке 4 [15, с. 49].

Источник: https://www.bibliofond.ru/detail.aspx?id=863802