Смекни!
smekni.com

Разработка АИС управления взаимоотношениями с клиентами (стр. 2 из 10)

SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL – это сокращенное название структурированного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных одного определенного типа, называемых реляционными. На рисунке 1 изображена схема работы SQL. [4]

Рисунок 1. Схема работы SQL

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

Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название – структурированный язык запросов.

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

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

· чтение данных: SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.

· обработка данных: SQL дает пользователю или приложению возможность изменять базу данных, то есть добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.

· управление доступом: с помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.

· совместное использование данных: SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу.

· целостность данных: SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.[5]

Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.

Во-вторых, SQL – это не полноценный компьютерный язык типа COBOL, FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов и нет операторов DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс вызовов функций.

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

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

Успех языку SQL принесли следующие его особенности:

· независимость от конкретных СУБД;

· переносимость с одной вычислительной системы на другую;

· наличие стандартов;

· одобрение компанией IBM (СУБД DB2);

· поддержка со стороны компании Microsoft (протокол ODBC);

· реляционная основа;

· высокоуровневая структура, напоминающая английский язык;

· возможность выполнения специальных интерактивных запросов:

· обеспечение программного доступа к базам данных;

· возможность различного представления данных;

· полноценность как языка, предназначенного для работы с базами данных;

· возможность динамического определения данных;

· поддержка архитектуры клиент / сервер.[6]

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

1.3 Анализ сред разработки программ ввода / вывода

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

Такими языками, к примеру, являются Perl, PHP, JAVA и ASP.

Рассмотрим некоторые черты этих языков в общем, сравнении друг с другом: РНР, PERL и Java.

Вообще говоря, различают язык Java и технологию Java. Язык Java представляет собой С-подобный язык, который разрабатывался как «улучшенный C++». Технология Java включает в себя клиентскую и серверную часть, а также доступ к базам данных, поэтому наиболее корректно проводить сравнение технологии Java со связкой Apache/PHP/MySQL. Технология Java разрабатывалась как межплатформенная технология, позволяющая создавать Web‑приложения корпоративного масштаба. Основными достоинствами этой технологии являются межплатформенная переносимость и объектно-ориентированный язык, что позволяет создавать сложные и объемные приложения. К числу недостатков можно отнести медленное выполнение, потребление большого количества памяти (плата за межплатформенную переносимость) и сложность разработки Web‑приложений по сравнению с РНР или Perl. Между тем РНР и PERL почти не уступают Java в гибкости и масштабируемости созданных приложений. Кроме того, использование Java для разработки достаточно простых приложений вряд ли оправдано, а при работе над серьезными задачами Java обходится дороже.[7]

PERL и ASP.NET

ASP (Active Server Pages) – язык сценариев от Microsoft. Основное достоинство ASP.NET заключается в возможности применения всей мощи интерфейса Windows для разработки Web‑приложений. Это позволяет разрабатывать страницы со сложным интерфейсом, не заботясь о сохранении, шифровании и передаче переменных, используемых на динамических страницах.[8]

Код Web‑приложения на ASP.NET компилируется в промежуточный язык MSIL (Microsoft Intermediate Language), иногда просто называемый IL. Аппаратно-независимый код на языке IL помещается в кэш Web‑сервера для повышения производительности, по аналоги с байт-кодом Java. Но в отличие от технологии Java, обеспечивающей платформенную независимость, NET обеспечивает независимость от языка разработки. Выполнение Web‑приложений ASP.NET на серверах, работающих не под Windows, практически невозможно. Поэтому в смысле переносимости PERL, безусловно, отличается от ASP.NET в лучшую сторону. Другой крайне немаловажный довод в пользу PERL заключается в быстром исправлении обнаруженных ошибок. Теоретически исправить их можно самостоятельно, если обладаете достаточной квалификацией. Таким образом, при выборе между ASP.NET и PERL следует исходить из стоящей задачи. Если в сети Интранет крупной корпорации большинство серверов и клиентских машин работают под управлением Windows, применение ASP.NET более чем оправдано. В то же время для разработки Web‑сайта, размещаемого в Интернете, целесообразнее использовать PERL.[9]

Я реализовал модули для АИС «Отдела сбыта» на языке программирования Perl (Practical Extraction and Report Language – Практический язык извлечений и отчетов).

Язык программирования Perl был выбран мною не случайно.

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

Первым в цепочке достоинств языка Perl можно назвать его интерпретируемость. Если вспомнить, для чего он предназначен – задач администрирования и обработки текстовых файлов – небольших по размерам сценариев, решающих нетрадиционные задачи, для программирования которых могло бы потребоваться взаимодействие нескольких специализированных языков. Разработка подобных решений с помощью компилируемых языков программирования потребовала бы на много больше времени, чем использование одного интерпретируемого: ведь цикл разработки программ на таком языке короче и проще, чем на компилируемом. Мы постепенно создаем программу, добавляя, необходимые операторы, и сразу же получаем результаты, когда она завершена: интерпретатор perl постепенно компилирует все операторы во внутренний байт-код и программа готова к выполнению, как только в ней поставлена последняя точка (точнее точка с запятой, завершающая последний оператор).

Суммируя все сказанное, можно заключить, что Perl позволяет легко и быстро получить требуемое решение задачи, сочетая в себе элементы компилируемых и интерпретируемых языков программирования. Это несравненный плюс языка программирования Perl для решения задачи написания программы ввода / вывода данных и генераций отчетов для АИС управления и взаимоотношения с клиентами так как каждый модуль не велик по объёму, но требует быстрого взаимодействия с таблицами БД.

2. Разработка структуры базы данных и пользовательского интерфейса

2.1 Разработка структуры базы данных

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