adoconnection1.Connected:=false; {Перед изменением свойства ConnectionString необходимо разрывать соединение с базой данных}
adoconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+opendialog2.FileName+';Mode=ReadWrite|Share Deny None;Persist Security Info=False'; {Добавление в ConnectionString пути к файлу базы данных, полученному в результате работы диалога открытия файла (подчеркнуто)}
adoconnection1.Connected:=true; {Создание соединения с базой данных}
end;
end;
Во вторую очередь заполняется свойство TableName. Здесь необходимо из выпадающего списка справа от имени свойства выбрать необходимую таблицу из подключенной ранее базы данных.
В конце, выполнив двойной щелчок левой кнопкой мыши на иконке объекта ADOTable, требуется указать посредством пункта контекстного меню (вызывается щелчком правой кнопки мыши) Add Fields поля выбранной таблицы, обращение к которым будет осуществляться в ходе работы программы (см. рис. 2.12).
Рис.2.12. Выбор полей таблицы
Работа с данными, содержащимися в базе, осуществляется посредством объекта ADOQuery при помощи языка SQL. После размещения объекта ADOQuery на форме, необходимо заполнить некоторые его свойства. В первую очередь заполняется свойство ConnectionString аналогично одноименному свойству объекта ADOTable. Затем заполняется свойство SQL, которое представляет собой запрос к базе данных, составленный на языке SQL. Не останавливаясь подробно на самом языке, приведем пример запроса на выборку модели станка из таблицы mtools (используется в объекте ADOQuery1): select model from mtools where cod = :cod. Как видно из примера, выборка осуществляется не по конкретному значению поля cod, а по параметру cod, значение которому присваивается в ходе выполнения программы. Параметры, используемые в запросе, перечисляются в свойстве Parameters объекта ADOQuery, где им присваивается тип данных.
Для окончательной настройки объекта ADOQuery по двойному щелчку мыши на нем вызывается диалог добавления полей таблицы, значения которых будут возвращаться соответствующим запросом. Поля добавляются при помощи пункта контекстного меню Add Fields.
Приведенный выше запрос ADOQuery1 используется при заполнении объекта ComboBox моделями станков в момент запуска программы «Оптимизация трех стадий токарной обработки». Приведем соответствующий программный код.
procedure TForm1.FormCreate(Sender: TObject);
var i, cod: integer;
adotable1.Open; {Открывается база данных, указанная в объекте ADOTable1}
i:=0;
cod:=1;
while i<>adotable1.RecordCount do{Цикл добавления моделей станков в объект ComboBox1 осуществляется до тех пор, пока не кончатся записи в таблице}
adoquery1.Open; {Открывается запрос на выборку модели станка по параметру из таблицы}
combobox1.Items.Add(adoquery1model.Value); {Результат выполнения запроса (модель станка) заносится в объект combobox1}
adoquery1.Close;
i:=i+1;
cod:=cod+1;
end;
adotable1.Close;
end;
Заполнение объекта ComboBox моделями станков в момент запуска программы «Оптимизация трех стадий токарной обработки» может осуществляться также по SQL запросу без указания конкретных параметров: select model from mtools. Для это необходимо выполнить следующий программный код:
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
ADOTable1.Open;
ADOQuery3.Open;
i:=1;
while i<=ADOQuery3.RecordCount do{метод ADOQuery3.RecordCount определяет количество записей, удовлетворяющих запросу}
ComboBox1.Items.Add(ADOQuery3model.Value);
ADOQuery3.Next; {осуществляется переход к следующей записи}
inc(i);
end;
ADOTable1.Close;
ADOQuery3.Close;
end;
В ходе дальнейшей работы программы, когда пользователь выбирает какую-либо модель станка, происходит заполнение соответствующих свойств объектов Edit техническими данными выбранного станка. За это отвечает метод ComboBox1Change класса TForm1. SQL код запроса, содержащегося в объекте ADOQuery2 выглядит следующим образом: select nmax, nmin, smax, smin, npriv from mtools where model = :model.
В настоящее время успешное функционирование различных фирм, организаций и предприятий просто не возможно без развитой информационной системы, которая позволяет автоматизировать сбор и обработку данных. Обычно для хранения и доступа к данным, содержащим сведения о некоторой предметной области, создается база данных.
База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.
Под предметной областью принято понимать некоторую область человеческой деятельности или область реального мира, подлежащих изучению для организации управления и автоматизации, например, предприятие, вуз и.т.д.
Система управления базами данных (СУБД) — совокупность языковых и программных средств, предназначенных для создания, наполнения, обновления и удаления баз данных.
Основополагающими понятиями в концепции баз данных являются обобщенные категории «данные» и «модель данных».
Понятие «данные» в концепции баз данных — это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы, Примеры данных: Петров Николай Степанович, $30 и т. д. Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, то есть осознает их смысловое содержание. Поэтому центральным понятием в области баз данных является понятие модели. Не существует однозначного определения этого термина, у разных авторов эта абстракция определяется с некоторыми различиями но, тем не менее, можно выделить нечто общее в этих определениях.
Модель данных — это некоторая абстракция, которая, будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними.
С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. В зависимости от вида организации данных различают следующие важнейшие модели БД:
· иерархическую
· сетевую
· реляционную
· объектно-ориентированную
В иерархическойБД данные представляются в виде древовидной структуры. Подобная структура БД удобна для работы с данными, упорядоченными иерархически. При оперировании данными со сложными логическими связями иерархическая модель оказывается слишком громоздкой.
В сетевойБД данные организуются в виде графа. Недостатком сетевой структуры является жесткость структуры и сложность ее организации.
РеляционнаяБД получила свое название от английского термина relation (отношение). Была предложена в 70-м году сотрудником фирмы IBM Эдгаром Коддом. Реляционная БД представляет собой совокупность таблиц, связанных отношениями. Достоинствами реляционной модели данных являются простота, гибкость структуры. Кроме того ее удобно реализовывать на компьютере. Большинство современных БД для персональных компьютеров являются реляционными.
Объектно-ориентированные БД объединяют сетевую и реляционную модели и используются для создания крупных БД с данными сложной структуры.
Базы данных можно разделить на базы данных первого поколения: иерархические, сетевые; второго поколения:реляционные; третьего поколения:объектно-ориентированные, обектно-реляционные.
Программы, с помощью которых пользователи работают с базой данных, называются приложениями. В общем случае с одной базой данных могут работать множество различных приложений. Например, если база данных моделирует некоторое предприятие, то для работы с ней может быть создано приложение, которое обслуживает подсистему учета кадров, другое приложение может быть посвящено работе подсистемы расчета заработной платы сотрудников, третье приложение работает как подсистемы складского учета, четвертое приложение посвящено планированию производственного процесса. При рассмотрении приложений, работающих с одной базой данных, предполагается, что они могут работать параллельно и независимо друг от друга, и именно СУБД призвана обеспечить работу множества приложений с единой базой данных таким образом, чтобы каждое из них выполнялось корректно, то учитывало все изменения в базе данных, вносимые другими приложениями.
Для поиска информации в базах данных используется информационно-поисковая система. Информационно-поисковая система опирается на базу данных, в которой осуществляется поиск нужных документов по заявкам пользователей.
Различаютфактографические автоматизированные информационные системы (АИС), у которых базы данных составляются из форматированных (формализованных) записей, и документальные АИС, записями которых могут служить различные неформализованные документы (статьи, письма и т.п.). В фактографических АИС примером форматированных записей могут служить, скажем, записи об операциях по приему и выдаче денег в сберкассе; запись имеет четыре основных атрибута: дата, характер операции (принято, выдано), сумма, остаток вклада.
В качестве форматированной записи может рассматриваться кадровая анкета (личный листок по учету кадров). Правда, такие ее разделы, как «прежняя работа», «поездки за границу» и др. в обычной анкете не до конца формализованы и имеют переменную длину, поэтому при автоматизации этой задачи необходимы некоторые поправки. Обычно бывает целесообразно фиксировать максимальное количество позиций в каждом разделе и тем самым выравнивать длину записей (у многих записей при этом могут возникать позиции с пустым заполнением).
Основной задачей, решаемой в документальных АИС, является поиск документов по их содержанию. Документальная система по заданию пользователя выдает необходимые ему документы (книги, статьи, законы, патенты, отчеты и т.д.). В задании могут указываться сведения об искомых документах: автор, наименование, время издания, издательство и т.д.