Принятые сокращения
БД – база данных
ГОВД – городской отдел внутренних дел
РСУБД - реляционная СУБД
СУБД – системы управления базами данных
RAD - Rapid Application Development
SQL - Structured Query Language (язык структурированных запросов)
VBA – Visual Basic Application
Содержание
Принятые сокращения. 2
Содержание. 3
ВВЕДЕНИЕ. 4
1.ВВЕДЕНИЕ В СУБД.. 7
1.1.Разновидности СУБД.. 11
1.1.1.Реляционная СУБД.. 11
1.1.2.Объектно-ориентированная СУБД.. 11
1.1.3. Многомерная СУБД.. 12
1.1.4. Иерархическая СУБД.. 16
1.1.5. Сетевая СУБД.. 17
1.2. Обзор рынка программного обеспечения СУБД в РБ. 19
1.2.1.Visual FoxPro.20
1.2.2. Visual Basic. 22
1.2.3. MS SQL Server. 24
1.2.3 Clipper. 27
1.2.4 Visual FoxPro. 28
1.2.5 Access. 28
Выбор СУБД для курсового проекта. 31
Практическая реализация проекта. 32
Список использованных источников. 43
Приложения. 44
ВВЕДЕНИЕ
Тема данного курсового проекта – «База данных учета людей, объявленных в розыск Барановичским ГОВД».
Для реализации поставленной задачи был проведён анализ предоставленных ГОВД документов, изучены структурные подразделения и принципы передачи данных внутри организации.
Барановичский ГОВД состоит из пяти подразделений:
- ЛИЦЕНЗИОННО-РАЗРЕШИТЕЛЬНАЯ СИСТЕМА 50 лет ВЛКСМ 1 (0163) 489727 - МРЭО ГАИ МЕЖРАЙОННОЕ 50 лет ВЛКСМ 1 (0163) 489790 - ГАИ 50 лет ВЛКСМ 1 (0163) 489841 - ОТДЕЛ ОХРАНЫ Чкалова 5а (0163) 452584 - ОТДЕЛЕНИЕ ПО ГРАЖДАНСТВУ И МИГРАЦИИ Чкалова 5 (0163) 489771
База данных создается для учета людей, находящихся в розыске по различным причинам.
База данных (БД) – это совокупность сведений (о реальных объектах, процессах, событиях), относящихся к определенной теме, организованная таким образом, чтобы обеспечить удобное представление этой совокупности, как в целом, так и в любой ее части.
Система управления базами данных (СУБД)– это комплекс программных и языковых средств, необходимых для создания БД, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Система СУБД Access является универсальным средством для создания и обслуживания базы данных, обеспечения доступа к данным и их обработки.
Каждая база данных хранится в виде файла с расширением*.mdb
База данных создается пользователем для решения определенных задач. Работа над созданием БД должна начинаться с постановки задач и целей, основных функций, выполняемых БД и информации, содержащейся в ней. Эта работа выполняется внекомпьютерной сфере. При проектировке таблиц нужно помнить, что информация в таблице не должна дублироваться, не должно быть повторений и между таблицами. Если определенная информация хранится только в одной таблице, то и изменять ее придется только в одном месте. Это делает работу более эффективной, а также исключает возможность несовпадения информации в разных таблицах.
Основные цели, преследуемые при создании реляционной БД:
-обеспечить быстрый доступ к данным в таблицах;
-исключить ненужное повторение данных, которое может являться причиной ошибок при вводе и нерационального использования дискового пространства компьютера;
-обеспечение целостности данных таким образом, чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ними объектов.
Интерфейс программного обеспечения должен быть ориентирован на конечного пользователя и учитывать возможность того, что пользователь не имеет необходимой базы знаний по теории баз данных.
Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще - диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом «де-факто» стала «быстрая разработка приложений» или RAD (от английского Rapid Application Development), основанная на широко декларируемом в литературе «открытом подходе», то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с «классическими» СУБД все чаще упоминаются языки программирования Visual Basic 4.0 и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД.
1. ВВЕДЕНИЕ В СУБД
Одной из функций баз данных является упорядочение и индексация информации. Как и в библиотечной картотеке, не нужно просматривать половину архива, чтобы найти нужную запись. Все выполняется гораздо быстрее.
Не все базы данных создаются на основе одних и тех же принципов, но традиционно в них применяется идея организации данных в виде записей. Каждая запись имеет фиксированный набор полей. Записи помещаются в таблицы, а совокупность таблиц формирует базу данных.
Для работы с базой данных необходима СУБД (система управления базами данных), т.е. программа, которая берет на себя все заботы, связанные с доступом к данным. Она содержит команды, позволяющие создавать таблицы, вставлять в них записи, искать и даже удалять записи.
СУБД управляет одной или несколькими базами данных. База данных представляет собой совокупность информации, организованной в виде множеств. Каждое множество содержит записи унифицированного вида.
Сами записи состоят из полей. Обычно множества называют таблицами, а записи — строками таблиц.
Такова логическая модель данных. На жестком диске вся база данных может находиться в одном файле.
В MySQL для каждой базы данных создается отдельный каталог, а каждой таблице соответствуют три файла.
В других СУБД могут использоваться иные принципы физического хранения данных.
Строки таблиц могут быть связаны друг с другом одним из трех способов. Простейшее отношение — "один к одному". В этом случае строка первой таблицы соответствует одной единственной строке второй таблицы. На диаграммах такое отношение выражается записью 1:1.
Отношение "один ко многим" означает ситуацию, когда строка одной таблицы соответствует нескольким строкам другой таблицы. Это наиболее распространенный тип отношений. На диаграммах он выражается записью 1:N.
Наконец, при отношении "многие ко многим" строки первой таблицы могут быть связаны с произвольным числом строк во второй таблице. Такое отношение записывается как N:M.
Программист, работающий с базой данных, не заботится о том, как эти данные хранятся, и приложения, взаимодействующие с СУБД, не знают о способе записи данных на диск. "Снаружи" виден лишь логический образ данных, и это позволяет менять код СУБД, не затрагивая код самих приложений.
Подобная обработка данных осуществляется посредством языка четвертого поколения (4GL), который поддерживает запросы, записываемые и исполняемые немедленно. Данные быстро утрачивают свою актуальность, поэтому скорость доступа к ним важна. Кроме того, программист должен иметь возможность формулировать новые запросы. Они называются нерегламентированными (ad hoc), поскольку не хранятся в самой базе данных и служат узкоспециализированным целям.
Язык четвертого поколения позволяет создавать схемы — точные определения данных и отношений между ними.
Схема хранится как часть базы данных и может быть изменена без ущерба для данных.
Схема предназначена для контроля целостности данных. Если, к примеру, объявлено, что поле содержит целочисленные значения, то СУБД откажется записывать в него числа с плавающей запятой или строки.
Отношения между записями тоже четко контролируются, и несогласованные данные не допускаются. Операции можно группировать в транзакции, выполняемые по принципу "все или ничего".
СУБД обеспечивает безопасность данных. Пользователям предоставляются определенные права доступа к информации. Некоторым пользователям разрешено лишь просматривать данные, тогда как другие пользователи могут менять содержимое таблиц.
СУБД поддерживает параллельный доступ к базе данных. Приложения могут обращаться к базе данных одновременно, что повышает общую производительность системы. Кроме того, отдельные операции могут "распараллеливаться" для еще большего улучшения производительности.
Наконец, СУБД помогает восстанавливать информацию в случае непредвиденного сбоя, незаметно для пользователей создавая резервные копии данных. Все изменения, вносимые в базу данных, регистрируются, поэтому многие операции можно отменять и выполнять повторно.
Конечно, и электронные таблицы, и текстовые редакторы позволяют хранить и обрабатывать данные очень гибко, но как быть, если требуется хранить информацию обо всех сотрудниках большого предприятия и периодически выдавать ответы на запросы типа "представить список всех сотрудников, принятых на работу не позднее трех лет назад, имеющих по крайней мере одного ребенка, не имеющих взысканий и с зарплатой не выше 1000 р.". Для получения ответов на подобные запросы и предназначены Системы Управления Базами Данных (СУБД).
Классическая реляционная модель данных требует, чтобы данные хранились в так называемых плоских таблицах.
Более точно, пользователи и приложения, обращающиеся к данным, должны работать с данными так, как если бы они размещались в таких таблицах. В упрощенном виде плоская таблица - это таблица, каждая ячейка, которой может быть однозначно идентифицирована указанием строки и столбца таблицы. Кроме того, в одном столбце все ячейки должны содержать данные одного простого типа.
Реляционная модель основана на теории множеств и математической логике. Такой фундамент обеспечивает математическую строгость реляционной модели данных.
В свою очередь, на основе реляционной модели были разработаны различные языки для доступа к реляционным данным, такие как SEQUEL, SQL, QUEL и другие. Фактическим промышленным стандартом в настоящее время стал язык SQL (Structured Query Language - язык структурированных запросов).
1.1.Разновидности СУБД
Кроме реляционных, объектно-ориентированных и многомерных СУБД, также давно известны иерархические и сетевые базы данных.
1.1.1. Реляционная СУБД
Реляционная СУБД (РСУБД; иначе Система управления реляционными базами данных, СУРБД) — СУБД, управляющая реляционными базами данных.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
– каждый элемент таблицы — один элемент данных;
– все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.);
– каждый столбец имеет уникальное имя;
– одинаковые строки в таблице отсутствуют;
– порядок следования строк и столбцов может быть произвольным.
Базовыми понятиями реляционных СУБД являются:
-атрибут;
-отношение;
-кортеж.
1.1.2. Объектно-ориентированная СУБД
Объектно-ориентированная СУБД — реализующая объектно-ориентированный подход. Эта система управления обрабатывает данные как абстрактные объекты, наделённые свойствами, в виде неструктурированных данных, и использующие методы взаимодействия с другими объектами окружающего мира.
Примеры объектно-ориентированной СУБД:
-IBM Lotus Notes/Domino
-Jasmine
-ObjectStore
-Caché
-СООБЗ Cerebrum
-db4objects
1.1.3. Многомерная СУБД
OLAP(On-line Analytical Processing) - многомерныебазыданных.
Программное обеспечение OLAP используется при обработке данных из различных источников. Эти программные продукты позволяют реализовать множество различных представлений данных и характеризуются тремя основными чертами: многомерное представление данных; сложные вычисления над данными; вычисления, связанные с изменением данных во времени.
В СУБД, основанных на многомерном представлении данных, данные организованы не в форме реляционных таблиц, а в виде упорядоченных многомерных массивов: гиперкубов (все хранимые в базе данных ячейки должны иметь одинаковую мерность, то есть находиться в максимально полном базисе измерений) и/или витрин данных, представляющих собой предметно-ориентированные подмножества хранилища данных, спроектированные для удовлетворения нужд отдельной группы (сообщества) пользователей и удовлетворяющие требованиям защиты от несанкционированного доступа в организации; они обеспечивают более быструю реакцию на запросы сведений за счет того, что обращения поступают к относительно небольшим блокам данных, необходимых для конкретной группы пользователей. Для достижения сравнимой производительности реляционные системы требуют тщательной проработки схемы базы данных, определения способов индексации и специальной настройки. В случае многомерных баз данных, как правило, не требуется даже указание на то, по каким реквизитам (группам реквизитов) требуется индексация данных. Ограничения SQL остаются реальностью, что не позволяет реализовать в реляционных СУБД многие встроенные функции, легко обеспечиваемые в системах основанных на многомерном представлении данных. Вместе с тем, реляционные СУБД обеспечивают качественно более высокий уровень защиты данных и разграничения прав доступа, а также имеют более развитые средства администрирования и реальный опыт работы с большими и сверхбольшими базами данных. В то время, как для многомерных баз данных, в настоящее время отсутствуют единые стандарты на интерфейс, языки описания и манипулирования данными. Многомерные СУБД не поддерживают репликацию данных, наиболее часто используемую в качестве механизма загрузки.
Многомерные базы, в силу чисто исторических причин, “не умеют” работать с большими объемами данных. На сегодняшний день, их реальный предел - база объемом в 10-20 гигабайт. И хотя это ограничение не связано с какими-либо внутренними объективными недостатками многомерного подхода и, скорее всего, является временным, сегодня это так. С этим нельзя не считаться. К тому же, за счет денормализации и предварительно выполненной агрегации, 20 гигабайт в многомерной базе, в лучшем случае эквивалентны не более чем 1 гигабайту исходных данных. По оценкам Кодда, для систем основанных на многомерном представлении данных, это соотношение лежит в диапазоне от 2.5 до 100. Здесь необходимо остановиться на основном недостатке многомерных баз данных – неэффективному, по сравнению с реляционными базами данных, использованию внешней памяти. В основе многомерного подхода лежит представление данных в виде многомерных гиперкубов, при этом обычно предполагается, что внутри такого гиперкуба нет пустот. То есть все ячейки куба всегда заполнены. Это связано с тем, что данные в них обычно хранятся в виде множества логически упорядоченных блоков (массивов), имеющих фиксированную длину, причем именно блок является минимальной индексируемой единицей. В многомерных СУБД обычно предполагается, что блоки, полностью заполненные неопределенными значениями, не хранятся, это обеспечивает лишь частичное решение проблемы. Данные в таких системах хранятся в упорядоченном виде. Неопределенные значения устраняются, и то частично, только в том случае, если мы за счет выбора порядка сортировки сгруппируем их в максимально большие непрерывные группы. Следовательно, использование многомерных СУБД оправдано только при следующих условиях:
-объем исходных данных для анализа не слишком велик (не более нескольких гигабайт), то есть уровень агрегации данных достаточно высок;
-набор информационных измерений стабилен (поскольку любое изменение в их структуре почти всегда требует полной перестройки гиперкуба);
-время ответа системы на нерегламентированные запросы является наиболее критичным параметром;
-требуется широкое использование сложных встроенных функций для выполнения кроссмерных вычислений над ячейками гиперкуба, в том числе возможность написания пользовательских функций.
Однако неверно было бы противопоставлять или говорить о какой либо конкуренции реляционного и многомерного подходов. Эти два подхода взаимно дополняют друг друга. Реляционный подход никогда не предназначался для решения на его основе задач, требующих синтеза, анализа и консолидации данных. Предполагалось, что такого рода функции, должны реализовываться с помощью внешних по отношению к реляционным СУБД инструментальных средств. В настоящее время, многомерные СУБД всё чаще используются не только как самостоятельный программный продукт, но и как аналитические средства в хранилищах данных или традиционных оперативных системам, реализуемых средствами реляционных СУБД. Такое решение позволяет наиболее полно реализовать и использовать достоинства каждого из подходов: компактное хранение детализированных данных и поддержка очень больших баз данных, обеспечиваемые реляционными СУБД и простота настройки и хорошие времена отклика, при работе с агрегированными данными, обеспечиваемые многомерными СУБД.
Достоинства этих СУБД
-в случае использования многомерных СУБД поиск и выборка данных осуществляется значительно быстрее, чем при многомерном концептуальном взгляде на реляционную базу данных, так как многомерная база данных денормализована, содержит заранее агрегированные показатели и обеспечивает оптимизированный доступ к запрашиваемым ячейкам.
-многомерные СУБД легко справляются с задачами включения в информационную модель разнообразных встроенных функций, тогда как объективно существующие ограничения языка SQL делают выполнение этих задач на основе реляционных СУБД достаточно сложным, а иногда и невозможным.
А так же они имеют и ряд недостатков:
- необходимость привлечения высококвалифицированных программистов для малейших изменений структуры базы данных.
- невозможность для конечного пользователя самостоятельно анализировать данные в порядке, не предусмотренном программистами.
1.1.4. Иерархическая СУБД
Иерархическая СУБД (ИСУБД) - система управления базами данных, использующих в своей основе древовидную структуру.
Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор существуют базы, которые поддерживаются этой СУБД. Иерархические модели имеют древовидную структуру, где каждому узлу соответствует один сегмент, представляющий собой поименованный линейный кортеж полей данных. Каждому сегменту соответствует один входной и несколько выходных сегментов. Каждый элемент структуры лежит на единственном иерархическом пути, начинающемся от корневого. Иерархические базы данных наиболее пригодны для моделирования структур, по своей природе являющихся иерархическими. В качестве примеров можно привести воинские подразделения или сложные механизмы, состоящие из более простых узлов, которые в свою очередь тоже можно подвергнуть декомпозиции. Тем не менее существует значительное количество организаций, не сводящихся к простой иерархии. В этой модели запрос, направленный вниз по иерархии, прост, однако запрос, направленный вверх по иерархии, более сложен. К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. Иерархической базой данных является файловая система, состоящая из корневой директории, в которой имеется древовидная структура поддиректорий и файлов.
Недостатки СУБД иерархического типа:
- неэффективность;
- медленный доступ к сегментам данных нижних уровней иерархии;
- четкая ориентация на определенные типы запросов;
- громоздкость для обработки информации с достаточно сложными логическими связями;
- сложность понимания для обычного пользователя.
Иерархические СУБД быстро прошли пик популярности, которая обусловливалась их ранним появлением на рынке. Затем их недостатки сделали их неконкурентоспособными, и в настоящее время иерархическая модель представляет исключительно исторический интерес.
1.1.5. Сетевая СУБД
Сетевая СУБД - система управления базами данных, поддерживающая сетевую организацию: любая запись, называемая записью старшего уровня, может содержать данные, которые относятся к набору других записей, называемых записями подчиненного уровня.
Типичным представителем является Integrated Database Management System (IDMS) появилась в 70-х годах. Сетевой подход к организации данных является расширением иерархического. Сетевая БД состоит из набора записей и набора связей между этими записями. На формирование связи особых ограничений не накладывается. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности. В сравнении с иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования произвольных связей. В рамках сетевых СУБД легко реализуются и иерархические даталогические модели. Сетевые СУБД поддерживают сложные соотношения между типами данных, что делает их пригодными во многих различных приложениях. Однако пользователи таких СУБД ограничены связями, определенными для них разработчиками БД-приложений. Более того, подобно иерархическим сетевые СУБД предполагают разработку БД приложений опытными программистами и системными аналитиками.
Недостатки сетевых СУБД:
- высокая сложность и жесткость схемы БД, построенной на ее основе;
- сложность для понимания и выполнения обработки информации в БД обычным пользователем;
- ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями.
1.2. Обзор рынка программного обеспечения СУБД
в РБ
Существует очень простое понятие БД как большого по объему хранилища, в которое организация помещает все используемые ею данные и из которого различные пользователи могут их получать, используя различные приложения. Такая единая база данных представляется идеальным вариантом, хотя на практике это решение по различным причинам труднодостижимо. Поэтому чаще всего под базой данных понимают любой набор хранящихся в компьютере взаимосвязанных данных.
В основу проектирования БД должны быть положены представления конечных пользователей конкретной организации – концептуальные требования к системе. Именно конечный пользователь в своей работе принимает решения с учетом получаемой в результате доступа к базе данных информации. От оперативности и качества этой информации будет зависеть эффективность работы организации. Данные, помещаемые в базу данных, также предоставляет конечный пользователь.
При рассмотрении требований конечных пользователей необходимо принимать во внимание следующее:
– база данных должна удовлетворять актуальным информационным потребностям организации;
– получаемая информация должна по структуре и содержанию соответствовать решаемым задачам;
– база данных должна обеспечивать получение требуемых данных за приемлемое время, то есть отвечать заданным требованиям производительности;
– база данных должна удовлетворять выявленным и вновь возникающим требованиям конечных пользователей;
– база данных должна легко расширяться при реорганизации и расширении предметной области;
– база данных должна легко изменяться при изменении программной и аппаратной среды;
– загруженные в базу данных корректные данные должны оставаться корректными;
– данные до включения в базу данных должны проверяться на достоверность;
–
– база данных должна иметь дружественный интерфейс к пользованию.
Рассмотрим средства разработки, которые предлагает Microsoft:
- Access;
- SQL Server;
- Visual Basic;
- Visual C++;
- Visual FoxPro.
Эти средства могут быть использованы, так по отдельности – для решения конкретно поставленной задачи, как и в качестве интегрированного набора, каждый компонент которого может быть применен при разработке больших проектов масштаба предприятия.
Рассмотрим некоторые примеры СУБД реляционного типа.
1.2.1.Visual FoxPro.
Visual FoxPro - не просто следующая версия одной из наиболее быстрых СУБД для персональных компьютеров. Это совершенно новая программа, которая легко позволяет сделать то, что в предыдущих версиях давалось с величайшим трудом или было просто недоступно.
Интерфейс Visual FoxPro отвечает представлениям о современной графической среде, напоминая интерфейс иных программ Microsoft. Здесь основная работа с данными выполняется с помощью различных инструментальных средств, поэтому команды меню часто имеют вспомогательный характер и их состав гибко меняется в зависимости от того, какое средство активно в данный момент.
Отличительные черты Visual FoxPro можно описать следующим образом:
- Обеспечение возможности быстрой разработки прикладной программы базируется на включении средств, которые позволяют повысить скорость работы программиста. В первую очередь это средства объективно-ориентировочного программирования, позволяющие пользователю формировать компоненты своего проекта (объекта), которые затем могут многократно использоваться. В связи с этим традиционный Xbase язык в Visual FoxPro 3.0 значительно расширен, что позволяет создавать истинные объекты, классы и подклассы. Кроме того, объекты могут быть созданы с помощью визуальных средств и визуально использоваться в любое время.
- Обеспечение полного набора средств для управления событиями. Традиционно в Xbase от программиста требовалось написать собственный драйвер для обработки необходимого набора событий или положиться на READ-состояние ожидания, которое моделирует обработку события системой. В WINDOWS, число событий, к которым может обращаться пользователь, весьма велико, и , следовательно, обработка событий является непростой задачей. Visual FoxPro 3.0 имеет истинно управляемую событиями модель, так что по умолчанию система раньше, чем пользователи обрабатывает объектные события. Кроме того, программист теперь имеет полный доступ к набору стандартных на функционировании WINDOWS событий (например, движение мыши, которые допускают перетаскивание объектов).
- Обеспечение мощного набора инструментальных средств для программиста. Разработчики систем автоматизации обработки данных, кроме мощного набора визуальных средств проектирования могут использовать широкие возможности по интеграции систем хранения данных и доступа к серверам данных с помощью технологии ODBC. Основные новшества - это расширение встроенного языка SQL, возможность обновления данных на сервере через редактирование курсоров, встроенный механизм обеспечения транзакций, возможность обращения к серверу на том диалекте SQL, который поддерживает сервер. Наличие словаря данных делает более быстрой разработку структуры баз данных и облегчает ее дальнейшую эксплуатацию и поддержку.
- Обеспечение полной интеграции Visual FoxPro 3.0 в семейство прикладных программ Micrpоsoft. Единый интерфейс с наиболее популярными прикладными программами Microsoft делает работу в интерактивном режиме интуитивно понятной. Поддержка правой кнопки мыши позволяет избежать долгих путешествий по системе меню и значительно облегчает изучение новых возможностей СУБД. Просто выберите курсором объект и нажмите правую кнопку мыши. На некоторых диалоговых окнах, которые часто используются в работе на полосе заголовка, появился переключатель в виде анимационной пиктограммы (push pin), позволяющий легко включить режим, при котором это окно будет всегда расположено на переднем плане. Visual FoxPro обеспечивает полную поддержку OLE 2.0, что облегчает взаимодействие с другим программным обеспечением в среде WINDOWS. Помимо оставшейся возможности загрузки внешних функций посредством команды SET LIBRARY появилась возможность обращения к функциям динамических DLL библиотек WINDOWS посредством команды DECLARE.
- Совместимость с ранее разработанным обеспечением в среде FoxPro.
1.2.2. Visual Basic
Visual Basic является универсальным средством программирования, однако рассматривать его возможности только с точки зрения создания приложений по обработке данных нельзя.
В отличие от большинства пакетов программ Visual Basic не имеет главного окна, объединяющего все остальные элементы интерфейса разработчика. Каждый элемент Visual Basic имеет свое независимое окно, которое может быть убрано или расположено независимо от других в любом месте экрана.
Основные возможности Visual Basic, применяемые в разработке приложений для обработки информации, могут быть реализованы благодаря наличию в нем объектов для доступа к данным - Data Access Object (DAO), 32-разрядного процессора данных- JET 3.0 и предназначенных специально для работы с данными элементов управления.
Процессор данных в Visual Basic поддерживает все стандартные операции по созданию, изменению и удалению таблиц, индексов и запросов.
Формат БД процессора данных Visual Basic соответствует формату Access. JET 3.0 также обеспечивает поддержку целостности и проверку вводимых и изменяемых данных на уровне полей и записей. Для изменения данных JET 3.0 позволяет использовать язык SQL.
Управление базой данных обеспечивается процессором данных с помощью объектов для доступа к данным. Эти объекты позволяют разработчику программным путем, с помощью соответствующих свойств и методов DAO, как манипулировать данными так и управлять структурой БД, включая ее создание. По сравнению с предыдущей версией Visual Basic возможности объектов для доступа к данным теперь существенно расширены. В Visual Basic для работы с данными можно применять для работы с данными несколько рабочих областей, поддерживать целостность данных, включая каскадное удаление и обновление, и обеспечивать их защиту от несанкционированного доступа. Кроме этого применение коллекций существенно сокращает программный код.
Уникальным свойством JET 3.0 является возможность создания копий данных (репликации БД). Для создания копий БД разработчику достаточно воспользоваться методом MakeReplica при задании метода Synchronize выполняется согласование данных в обновляемой и оригинальной БД. Причем эти операции могут выполняться как с файлами формата БД процессора данных, так и с БД других форматов, поддерживаемых через ODBC.
Нельзя не отметить, что JET 3.0 используют индексы новой, более компактной структуры, позволяющие уменьшить время их создания и ускорить процесс поиска данных.
В Visual Basic Enterprice Edition включены объекты для доступа к внешним данным - Remote Data Object (RDO) и соответствующие элементы управления- Remote Data Control (RDC). Это позволяет, не прибегая к помощи процессора данных JET 3.0, использовать все возможности работы с курсорами на сервере, достигая максимально возможной скорости доступа к данным минимизируя сетевой трафик.
1.2.3. MS SQL Server
Microsoft SQL Server 6.5 - одна из наиболее мощных СУБД архитектуры клиент - сервер. Эта СУБД позволяет удовлетворять такие требования, предъявляемые к системам распределенной обработке данных, как тиражирование данных, параллельная обработка, поддержка больших баз данных на относительно не дорогих аппаратных платформах при сохранении несмежного управления.
MS SQL Server представляет собой систему, конечно, плохо сравнимую с рассмотренными выше СУБД. Он не предназначен непосредственно для разработки пользовательских приложений, а выполняет функции управления базой данных. Для пользовательского приложения SQL Server является мощным источником генерации и управления нужными данными.
Сервер имеет средства удаленного администрирования и управления операциями, организованные на базе объектно – ориентированной распределенной среды управления. Microsoft SQL Server 6.5 входит в состав семейства Microsoft BackOffice, объединяющего 5 серверных приложений, разработанных для совместного функционирования в качестве интегрированной системы.
Microsoft SQL Server 6.5 предназначен исключительно для поддержки систем, работающих в среде клиент-сервер. Он поддерживает широкий спектр средств разработки и максимально прост в интеграции с приложениями, работающими на ПК.
Построенная на основе технологических решений, появившихся в Microsoft SQL Server 6.0, версия 6.5 демонстрирует много значительных нововведений. SQL Server 6.5 превосходит предыдущую версию с точки зрения применения многопоточной параллельной архитектуры операционной системы для повышения производительности и масштабируемости, когда на компьютере установлено несколько процессоров.
SQL Server 6.5 имеет новую масштабируемую архитектуру блокировок, называемую Динамической блокировкой ( Dinamic Locking), которая комбинирует блокировку на уровне страницы и записи для достижения максимальной производительности и подключения максимального числа пользователей.
SQL Server может тиражировать информацию в БД иных форматов включая Oracle, BM DB2, Sybase, Microsoft Access и другие СУБД (при наличии ODBC драйвера, отвечающего определенным требованиям).
Хранимые процедуры, поддерживающие OLE Automation, позволяют разработчику применять практически любой инструмент из тех, что поддерживают OLE, в целях создания хранимых процедур для SQL Server. Visual Basic 4.0 поддерживается посредствам новой 32-разрядной DB-Library (OCX). Многочисленные расширения языка Transact-SQL включают расширенную поддержку курсоров, возможность использования команд определения данных внутри транзакций и т .д.
Microsoft SQL Server 6.5 содержит Ассистент администратора. Этот инструмент позволяет назначать основные процедуры сопровождения базы данных и определять для них график выполнения. Операции по сопровождению баз данных включают проверку распределения страниц, целостности указателей в таблицах (включая системные) и индексах, обновления информации, необходимой оптимизатору, реорганизацию страниц в таблицах и индексах, создание страховочных копий таблиц и журналов транзакций. Все эти операции могут быть установлены для автоматического выполнения по заданному администратором графику.
Пакет Enterprise Manager включает утилиту, позволяющую переносить некоторые или все объекты из одной базы данных в другую. Используя эту утилиту разработчик или администратор может:
-выполнять копирование объектов любого типа с указанием, какого типа объекты подлежат копированию ( или копировать все объекты всех типов);
-переносить схему базы данных вместе с данными или без них;
-дополнять или замещать существующие данные;
-уничтожать объекты в базе-приемнике перед копированием схемы;
-для копируемого объекта включать объекты от него зависящие;
-использовать стандартные настройки генерации кода создания/удаление объектов или использовать собственные;
-определять момент выполнения переноса объектов: немедленно однократно в определенный момент времени, многократно по определенному графику.
Сервер, который получает объекты, должен быть Microsoft SQL Server версии 6.5.Сервер-источник может быть Microsoft SQL Server версии 4.х или 6.х или сервер Sybase.
SQL Server предоставляет возможность создания страховочных копий и восстановления индивидуальных таблиц. Загрузка таблицы может быть выполнена либо из копии индивидуальной таблицы, либо из копии базы данных. Загрузка индивидуальных таблиц может оказаться хорошим решением при необходимости восстановления данных после сбоя, когда загрузка всей базы данных неэффективна.
На основании проведенного анализа СУБД можно сказать, что Microsoft Access наиболее удобен не только для программиста, но и для пользователя из-за наличия русифицированного интерфейса.
1.2.3 Clipper
Clipper — это созданная фирмой Nantucket Corp. система программирования приложений в среде БД, включающая в себя быстрый компилятор программ, написанных на языке, близком к языку СУБД dBaseIII PLUS, редактор связей, развитый интерактивный символический отладчик, обладающий пользовательским интерфейсом в стиле меню, который можно связать с разрабатываемой программой для облегчения её отладки, большую библиотеку объектных модулей системных функций, а также ряд служебных программ (утилит).
Система Clipper представляет собой, по существу, СУБД компилирующего типа с автономным (self-contained) языком, в значительной мере совместимую по входному языку программирования и организации базы данных с СУБД dBaseIII PLUS. Основная цель разработки этого программного продукта — достижение более высокой производительности прикладных систем по сравнению с созданными с помощью средств dBaseIII PLUS. Эта задача решается благодаря использованию на стадии исполнения заранее скомпилированного кода вместо интерпретации исходных программ, а также за счёт более эффективных механизмов индексирования файлов БД. Clipper имеет средства расширения, позволяющие компоновать объектные модули, созданные компилятором Clipper с объектными модулями, созданными другими компиляторами, например компиляторами Си или Ассемблера. Это позволяет создавать готовые программы самого разнообразного назначения.
1.2.4 Visual FoxPro
Visual FoxPro (VFP) — визуальная среда разработки систем управления реляционными базами данных, выпускаемая в настоящее время корпорацией Майкрософт. Последней версией является 9.0. Использует язык программирования FoxPro. Среда разработки версии 7.0 может работать в операционных системах Windows 9x и ядра NT, версии 8.0 и 9.0 — только в Windows XP, 2000, 2003. Среда исполнения (runtime) версий 8.0 и 9.0 работает под любой версией Windows, начиная с 98.
Первоначально FoxPro (первоначальное название — FoxBASE) разрабатывалась Fox Software, начиная с 1984 года. В 1992 году Fox Technologies объединилась с Microsoft, новые версии продукта обрели ряд новых функций и приставку «Visual». Последняя версия оригинального FoxPro — версия 2.6 — работала под Mac OS, DOS, Windows и Unix; уже в версии Visual FoxPro 3.0 список поддерживаемых платформ сократился до Mac OS и Windows, а в более поздних версиях — уже только до Windows. Текущая версия Visual FoxPro основана на COM, и Microsoft утверждает, что .NET-версии продукта не будет. Существует проект Sedna, который должен обеспечить возможность взаимодействия Visual FoxPro с .NET.
Разработка продукта прекращена с выходом SP2 для версии 9.0, поддержка продукта будет осуществляться до 2015 года.
1.2.5 Access
Microsoft Access - это самая популярная сегодня настольная система управления базами данных. Ее успех можно связывать с великолепной рекламной компанией, организованной Microsoft, или включением ее в богатое окружение семейства Microsoft Office. Вполне возможно, что это так. Но корень успеха скорее всего заключается в прекрасной реализации продукта, рассчитанного как на начинающего, так и на квалифицированного пользователя. Не будем сейчас вдаваться в подробности сравнения отдельных характеристик Access, и его основных конкурентов, например Paradox for Windows или Lotus Approach. Эта система прекрасно освещена в периодической компьютерной печати.
Несмотря на свою ориентированность на конечного пользователя в Access присутствует язык программирования Visual Basic for Application, который позволяет создавать массивы, свои типы данных, вызывать DLL-функции, с помощью OLE Automation контролировать работу приложений, которые могут функционировать как OLE-серверы. Можно целиком создавать базы данных с помощью кодирования, когда в этом появляется необходимость.
MS Access из всех рассматриваемых средств разработки имеет, пожалуй, самый богатый набор визуальных средств. Тем не менее кодировать в Access приходится. Так как ни одно приложение не предназначенное для себя лично, создать хотя бы без одной строчки кода невозможно. Для коммерческого распространения приложений, разработанных на Access, как мы уже писали, предназначен пакет Access Developer Toolkit, вместе с которым поставляются и несколько дополнительных объектов ActiveX.
Главное качество Access, которое привлекает к нему многих пользователей,– тесная интеграция с Microsoft Office. К примеру, скопировав в буфер графический образ таблицы, открыв Microsoft Word и применив вставку из буфера, мы тут же получим в документе готовую таблицу с данными из БД.
Вся работа с базой данных осуществляется через контейнеры базы данных. Отсюда осуществляется доступ ко всем объектам, а именно: таблицам, запросам, формам, отчетам, макросам, модулям.
Посредством драйверов ISAM можно получить доступ к файлам таблиц некоторых других форматов: DBASE, Paradox, Excel, текстовым файлам, FoxPro 2.x, а посредством технологии ODBC - и к файлам многих других форматов.
Access 7.0 может выступать как в роли OLE- контролера, так и OLE сервера. Это значит, что можно контролировать работу приложений Access из любого приложения, при условии, что оно может выступать в роли OLE контролера и наоборот.
Встроенный SQL позволяет максимально гибко работать с данными и значительно ускоряет доступ к внешним данным.
Пользователем, малознакомым с понятиями реляционных баз данных Access дает возможность разделять свои сложные по структуре таблицы на несколько, связанных по ключевым полям.
Access – это типичная платформа для разработки настольной базы данных. В то же время на небольшом предприятии с количеством компьютеров не больше десяти, ресурсов Access вполне может хватить для обслуживания всего делопроизводства, естественно в связке с Microsoft Office. То есть все пользователи могут обращаться к одной базе данных, установленной на одной рабочей станции, которая не обязательно должна быть выделенным сервером. Для того чтобы не возникли проблемы сохранности и доступа к данным, имеет смысл воспользоваться средствами защиты, которые предоставляет Access. При этом вы можете воспользоваться мастером, если не уверены, что сами правильно установите права и ограничения для пользователей.
В отличие от других рассмотренных средств разработки, СУБД Access имеет русифицированный интерфейс и частично переведенный на русский язык файл контекстной помощи.
А также Access обладает лучшей встроенной системой защиты среди всех настольных приложений СУБД. Вы можете создавать группы, пользователей, присваивать права доступа ко всем объектам, в том числе и модулям. Так как для Access нет компилятора, то необходимость защиты становится очень актуальной для разработчиков. Система защиты доступна только при открытой базе данных. Каждому пользователю можно предоставить индивидуальный пароль. Система защиты доступна как с помощью визуальных средств, так и программным путем.
Другие СУБД могут найти широкое применение в определенных условиях.
Выбор СУБД для курсового проекта
Для проектирования данной БД была выбрана среда программирования Microsoft Access.
Среда программирования в Access 2002 включает все средства, необходимые для написания программ отладки процедур VBA. Самым главным компонентом этой среды является редактор кода Visual Basic Editor (VBE), обладающий богатыми возможностями для облегчения процесса ввода программного кода. Кроме того, среда программирования содержит еще массу диалоговых окон, в которых отображается дополнительная информация, требующаяся как в процессе создания, так и в процессе отладки кода.
СУБД Access 7.0 для работы с данными использует процессор баз данных Microsoft Jet 3.0, объекты доступа к данным и средства быстрого построения интерфейса - Конструктор форм. Для получения распечаток используются Конструкторы отчетов. Автоматизация рутинных операций может быть выполнена с помощью макрокоманд. На тот случай, когда не хватает функциональности визуальных средств пользователи Access могут обратиться к созданию процедур и функций. При этом как в макрокомандах можно использовать вызовы функций, так и из кода процедур и функций можно выполнять макрокоманды.
Практическая реализация проекта
Данный курсовой проект состоит из таблиц, запросов, форм, отчетов и макросов. Создано три таблицы: «Розыск», «Приметы» и «Причины розыска». Основной из этих трех таблиц является «Розыск», которая содержит наиболее полную информацию о людях, объявленных в розыск.
Так, полями этой таблицы являются:
- код;
- фамилия;
- имя;
- отчество;
- дата рождения;
- гражданство;
- место жительства;
- на данный момент (разыскивается, отбывает наказание, снят с учёта);
- приметы;
- был одет;
- другое;
- мера пресечения (арест, ограничение свободы, заключение под стражу).
Рис. 1. – Таблица «Розыск»
Во второй таблице – «Приметы» есть поля:
- код;
- был одет;
- внешние данные;
- особые приметы;
- фото.
Рис. 2 – Таблица «Приметы»
Третья таблица – «Причины розыска» отображает наиболее полную информацию о содеянных преступлениях и пропажах без вести, т.е.:
- тип (пропал без вести, уголовное дело);
- наименование статьи;
- статья;
- категории преступлений (не представляющие большой общественной опасности, менее тяжкие, тяжкие, особо тяжкие);
- прочие отметки.
Рис. 3 – Таблица «Причины розыска»
Все таблицы были связаны между собой по полю «Код» связями «Один к многим».
Рис. 4 – Схема данных
Также в базе данных были созданы несколько запросов:
1) запрос по гражданству – введя страну, можно получить данные на разыскиваемых, граждан разных стран.
Рис. 5 – запрос по гражданству
2) запрос по категориям преступлениям – введя категорию преступления, можно получить данные о категориях преступления и людях, совершивших их.
Рис. 6 – запрос по категориям преступлений
3) поиск по фамилии – введя фамилию, вы получите все данные о разыскиваемом человеке.
Рис. 7 – поиск по фамилии
В базе данных реализованы такие формы как:
Рис. 8 – мастер форм
Рис. 9 – справка для осужденных
Рис. 10 – о программе
И отчеты:
Рис. 11 – отчет на запрос по фамилии
Рис. 12 – отчет «Розыск»
Рис. 13 – отчет «Справка для разыскиваемых»
Появление баз данных знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно храниться большие объемы информации, а специальные средства, образующие систему управления базами данных (СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из базы данных и записывать их в нужном порядке в базу.
Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных, текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д.
Список использованных источников
www.google.com.by
www.comp.sprinter.ru
www.ozon.ru
www.dialektika.com
www.litera.by
www.mirknig.com
Приложения
Приложение 1 – таблица «Розыск»
Приложение 2 – таблица «Причины розыска»
Приложение 3 – таблица «Приметы»
Приложение 4 – форма «Для осужденных»
Приложение 5 – форма «Для осужденных (запрос по фамилии)»
Приложение 6 – форма «Запросы»
Приложение 7 – форма «О программе»
Приложение 8 – форма «Розыск (мастер)»
Приложение 9 – форма «Розыск (в столбец)»
Приложение 10 – запрос по гражданству
Приложение 11 – запрос по категориям преступлений
Приложение 12 – поиск по фамилии
Приложение 13 – отчет на запрос по фамилии
Приложение 14 – отчет «Розыск»
Приложение 15 – отчет «Справка для осужденных»
Приложение 16 – отчет «Справка для разыскиваемых»
Приложение 17 – отчет «Справка для снятых с учета»
Приложение 18 – главная форма