На основании системного проекта осуществляется:
составление перечня автоматизированных рабочих мест предприятия и способов взаимодействия между ними;
анализ применимости существующих систем управления предприятиями для решения требуемых задач и формирование рекомендаций по выбору такой системы;
совместное с заказчиком принятие решения о выборе конкретной системы управления предприятием или разработке собственной системы;
разработка требований к техническим средствам;
разработка требований к программным средствам;
разработка предложений по этапам и срокам автоматизации.
Что касается конкретно нашей задачи, то исключительно практическая необходимость и целесообразность позволяет правильно сформировать постановку задачи и разработать схему интерфейса, а также саму структуру данных.
Что касается информационного обеспечения комплекса для решения поставленной задачи, то как мы выше уже указывали для этих целей нам необходимо подобрать максимально простую, но эффективную СУБД для работы с данными, а также собственно язык программирования, который сможет обеспечить взаимодействие с данными и пользовательский интерфейс. Начнем с СУБД.
Общая классификация. База данных (БД) - это данные, организованные в виде набора записей определенной структуры и хранящиеся в файлах, где, помимо самих данных, содержится описание их структуры. Система управления базами данных (СУБД) - это система, обеспечивающая ввод данных в БД, их хранение и восстановление в случае сбоев, манипулирование данными, поиск и вывод данных по запросу пользователя. По моделям представления данных базы данных делят на:
иерархические
сетевые
реляционные
объектно-реляционные
Иерархические базы данных - это самая первая модель представления данных, в которой все записи базы данных представлены в виде дерева, с отношениями предок-потомок. Физически данные отношения реализуются в виде указателей на предков и потомков, содержащихся в самой записи. Такая модель представления данных связана с тем, что на ранних этапах базы данных часто использовались для планирования производственного процесса: каждое выпускаемое изделие состоит из узлов, каждый узел из деталей и т.п.
Однако иерархическая модель не является оптимальной. Допустим, что один и тот же тип болтов используется в автомобиле 300 раз в различных узлах. При использовании иерархической модели, данный тип болтов будет фигурировать в базе данных не 1 раз, а 300 раз (в каждом узле - отдельно). Налицо дублирование информации. Чтобы устранить этот недостаток была введена сетевая модель представления данных.
Сетевая база данных - это база данных, в которой одна запись может участвовать в нескольких отношениях предок-потомок. Т.е. фактически, база данных представляет собой не дерево, а граф.
Физически данная модель также реализуется за счет хранящихся внутри самой записи указателей на другие записи, только, в отличие от иерархической модели, число этих указателей может быть произвольным. И иерархическая и сетевая модель достаточно просты, однако они имеют общий недостаток: для того, чтобы получить ответ даже на простой вопрос, программист был должен написать программу, которая просматривала базу данных, двигаясь по указателям от одной записи к другой. Написание программы занимало некоторое время, и часто к тому моменту, когда такая программа была написана, необходимость в получении данных уже отпадала. Поэтому в середине 80-х годов 20 века произошел практически повсеместный переход к реляционным базам данных.
В реляционной базе данных вся информация представляется в виде таблиц и любые операции над данными - это операции над таблицами. Таблицы состоят из строк и столбцов. Строки - это записи, а столбцы представляют структуру записи (каждый столбец имеет определенный тип данных и длину данных). Строки в таблице не упорядочены - не существует первой или десятой строки. Однако поскольку на строки надо как-то ссылаться, то вводится понятие "первичный ключ". Первичный ключ - это столбец, значения которого во всех строках разные. Используя первичный ключ можно однозначно сослаться на какую-либо строку таблицы. Первичный ключ может состоять и из нескольких столбцов (составной первичный ключ).
Некоторые СУБД требуют в явном виде указать первичный ключ таблицы, а некоторые позволяют пользователю не задавать для таблицы первичный ключ - в таком случае СУБД сама добавляет в таблицу столбец - первичный ключ, не отображаемый на экране (так, например, в СУБД Oracle у любой таблицы существует псевдо-столбец ROWID, формируемый Oracle, который содержит уникальный адрес каждой строки).
Отношения предок-потомок в реляционных БД реализуются при помощи внешних ключей. Внешний ключ это столбец таблицы, значения которого совпадают со значениями первичного ключа некоторой другой таблицы.
Объектно-реляционные базы данных появились в последнее время у значительного числа производителей СУБД (Oracle, Informix, PostgreSQL) и сочетают в себе реляционную модель данных с концепциями объектно-ориентированного программирования (полиморфизм, инкапсуляция, наследование).
СУБД Oracle. СУБД ORACLE является на сегодняшний день самой мощной, многофункциональной и легко масштабируемой СУБД, построенной по архитектуре "клиент/сервер", поддерживающей практически все существующие платформы. Это прекрасный выбор для крупной организации: первоначальные затраты на установку (лицензия, приобретение высокопроизводительных серверов) в будущем обернутся значительной экономией средств при необходимости расширения базы данных. Для небольшой организации мощь Oracle может оказаться чрезмерной, в таком случае можно рекомендовать использование Microsoft SQL Server (Windows NT/2000) или PostgreSQL (Linux/Unix). Для фирм малого бизнеса стандартом остается СУБД MS Access. Тем не менее, Oracle продолжает занимать значительную долю рынка, являясь пожалуй самой передовой СУБД.
База данных Oracle содержит различные типы объектов. Эти объекты можно подразделить на две категории: объекты схемы и объекты, не принадлежащие схемам. Схема (schema) - это набор объектов различной логической структуры данных. Каждая схема принадлежит пользователю базы данных и имеет одинаковое с ним имя. Каждый пользователь владеет одной схемой. Схема может содержать следующие объекты:
таблицы;
индексы;
кластеры;
представления (виды);
снимки - snapshots, журналы репликаций;
линки/связи базы данных (содержат информацию о подключении к удаленной базе данных);
последовательности;
синонимы;
пакеты, хранимые процедуры, функции, триггеры;
библиотеки внешних процедур;
СУБД MS SQL Server, сравнение с MS Access. MS SQL Server - это реляционная СУБД, построенная по архитектуре клиент-сервер. MS SQL Server ориентирован на использование в операционных системах Windows NT/2000 и использует в своей работе системные функции этих ОС, что значительно упрощает архитектуру MS SQL Server, в отличие от других СУБД, вынужденных дублировать некоторые функции ядра операционной системы, для обеспечения межплатформенной переносимости. За счет такой тесной интеграции с Windows NT/2000, СУБД MS SQL Server работает на всех платформах, для которых реализована Windows NT/2000.
SQL Server - это не просто улучшенный Access. В SQL Server реализована система разграничения доступа к объектам базы данных (разные пользователи имеют разные права по работе с различными таблицами, запросами и т.д.). Ограничения доступа можно выставлять не только на таблицу в целом, но даже и на отдельные ее столбцы. Также в SQL Server поддерживается механизм ролей. Роль - это набор прав доступа к объектам базы данных. Роли для каждой базы данных можно определять самостоятельно или пользоваться заранее определенными ролями. Например, роль администраторы безопасности (security admin) - это пользователи которые могут допускать других пользователей к работе с базой данных, роль создатели базы данных (db creators, database creators) - пользователи которые могут создавать и изменять структуру базы данных и т.д. Используя роли можно быстро и удобно разграничить доступ между пользователями, предоставив им только те права, которые действительно необходимы. Причем нарушения прав доступа, также как и сама работа SQL Server будут протоколироваться в специальных log-файлах. SQL Server также позволяет пользователям, правильно указавшим свой пароль при входе в сеть (домен Windows NT/2000), повторно не вводить пароль при доступе к базе данных (Windows authentication mode).
К другим существенным отличиям относится то, что если в Access хранимые процедуры и функции пишутся на VBA (Visual Basic for Applications), то в SQL Server основным языком написания хранимых процедур является Transact SQL (хотя могут использоваться и внешние хранимые процедуры, написанные на других языках). Transact SQL - это диалект SQL, в котором, помимо стандартных инструкций SQL, предусмотрены возможности организации циклов, условного выполнения операторов и т.д.
MS SQL Server может содержать несколько баз данных. На одном компьютере может быть установлено несколько экземпляров MS SQL Server. Каждая база данных содержит следующие объекты:
таблицы
индексы
представления (виды, запросы)
диаграммы (схема данных)