
- •1. Управление и управленческие решения
- •2. Организация информационных систем
- •3. Классификация информационных систем
- •Разновидности существующих ис
- •4. Системный анализ информационной системы
- •5. Архитектура информационной системы
- •6. Понятие архитектуры клиент–сервер
- •8. Что такое гис?
- •9. Составные части гис
- •10. Как работает гис
- •11.Задачи, решаемые с помощью гис
- •12. Основные понятия
- •13. Базовые модели данных, применяемые в гис
- •14. Технология моделирования в гис
- •15. Ввод графической информации в гис
- •16. Цифровые модели местности
- •17. Связанные технологии
- •18. Отечественные специализированные системы
- •19. Зарубежные разработки в области гис
- •20. Системы четвертого поколения
- •21. Применение концепции ''открытых систем'' в инструментальных пакетах гис
- •22. История развития субд
- •23. База данных. Основные понятия.
- •24. Уровни представления данных
- •27. Методология проектирования бд
- •28. Тактика и стратегия организации проектирования баз данных
- •29. Архитектура Microsoft Access
- •30. Создание базы данных, таблиц, форм
- •31. Ввод и редактирование данных в таблице
- •32. Запросы к базам данных
- •33. Создание отчетов, печать данных
- •36.1 Устаревание информационной технологии. Для информационных технологий является вполне естественным то, что они устаревают и заменяются новыми.
23. База данных. Основные понятия.
Данные предметной области удобно хранить в интегрированной базе данных по следующей основной причине: такая организация обеспечивает централизованное управление данными. Отметим преимущества, которые вытекают из централизованного управления данными.
Во–первых, может быть сокращена избыточность в хранимых данных.
Во–вторых, может быть устранена возможность возникновения противоречивости хранимых данных.
В–третьих, хранимые данные могут использоваться совместно. Совместное использование предполагает не только то, что все данные существующих приложений интегрированы, но также и то, что новые приложения могут быть построены на той же самой базе данных.
В–четвертых, централизованное управление обеспечивает соблюдение стандартов в представлении данных, принятых в данной предметной области.
В–пятых, могут быть выполнены условия безопасности данных.
В–шестых, может поддерживаться целостность данных. Благодаря централизованному управлению, могут быть определены процедуры проверки, выполняющиеся при операциях запоминания.
В–седьмых, может быть обеспечена независимость данных. В системе баз данных приложения (программы обработки) не зависят от данных. Это связано с тем, что в разных приложениях одни и те же данные требуется представлять по–разному. Различия могут существовать между представлением данных в приложении и формой их физического хранения. Кроме того, должна быть возможность изменения структуры хранения или метода доступа без изменения существующих приложений.
Сказанное выше подразумевает, что база данных может развиваться, не оказывая влияния на существующие программные приложения.
Программное обеспечение, называемое системой управления базами данных (СУБД), поддерживает общий интерфейс между всеми пользователями и интегрированной базой данных. СУБД способствует обеспечению секретности и целостности данных, а также позволяет осуществлять контроль данных. Интерфейс СУБД с различными классами пользователей обычно обеспечивается широким диапазоном языков.
Введем понятие администратора базы данных (АБД). Это лицо (или группа лиц), ответственное за общее управление системой базы данных. АБД является ответственным за анализ потребностей пользователей, проектирование базы данных, ее внедрение, обновление, реорганизацию базы данных, а также за консультацию и обучение пользователей. Естественно, что администратору базы данных потребуются программные средства для выполнения этой работы, к которым относятся программы загрузки для создания первоначальной версии базы данных, программы реорганизации, программы восстановления. Важным инструментом администратора базы данных является словарь данных, содержащий "данные о данных". В словаре хранятся все схемы, процедуры проверки достоверности данных, проверки полномочий, а также может храниться информация о перекрестных ссылках, показывая связь программ с данными.
24. Уровни представления данных
В настоящее время общепризнанны три уровня абстракции для определения структуры базы данных: внутренний, концептуальный и внешний. Внутренний уровень близок к физической памяти, так как связан со способом физического хранения данных (с позиций системного программиста). Внешний уровень отражает представления прикладного программиста или конечного пользователя, так как связан с тем, как отдельные пользователи представляют себе эти данные. Концептуальный уровень можно представить себе определяющим обобщенное представление пользователей (с позиций администратора предприятия).
Внутренняя модель есть представление самого низкого уровня всей базы данных. Основными компонентами физической базы данных являются физические блоки, хранимые записи, указатели, данные переполнения и промежутки между блоками. Взаимосвязи между хранимыми записями, возникающие в результате их группирования или использования индексных структур, являются частью физической структуры.
Отдельного пользователя интересует только некоторая часть всей базы данных. Представление пользователя об этой части базы данных будет до некоторой степени абстрактным по сравнению с тем, как данные хранятся на физическом уровне. Другими словами можно сказать, что пользователь представляет базу данных посредством внешней модели. Внешняя модель является информационным содержанием базы данных в том виде, в каком его представляет конкретный пользователь. Внешняя модель определяется посредством внешней схемы, которая состоит из описаний всех типов внешних записей этой внешней модели. Представление данных на внешнем уровне рассматривается как представление на уровне реализации. Представление реализации состоит из логических записей, составляющих их элементов данных и взаимосвязей записей. Наиболее часто применяются три модели данных: иерархическая, сетевая и реляционная.
С концептуальным уровнем представления данных согласуется понятие концептуальной модели. Концептуальная модель есть представление полного информационного содержания базы данных в абстрактной форме по сравнению со способом физического хранения данных. Это представление может полностью отличаться от представления данных отдельным пользователем. Другими словами, это представление данных скорее ближе к данным в том виде, как они есть, чем в том, какими их видят пользователи при обработке. Концептуальная модель состоит из множества экземпляров различных типов объектов и связей (концептуальных записей).
Система управления базами данных (СУБД) является программой, которая управляет всем доступом к базе данных по следующей схеме:
пользователь посылает запрос на доступ, используя конкретный язык;
СУБД воспринимает запрос и интерпретирует его;
СУБД анализирует по очереди внешнюю схему, отображение "внешний–концептуальный", концептуальную схему, отображение "концептуальный–внутренний" и определение структуры хранения;
СУБД выполняет необходимые операции над хранимой базой данных.
Интерфейс пользователя может быть определен как граница в системе, за которой пользователь ничего не видит. Следовательно, интерфейс пользователя является внешним уровнем.
25. Функциональные возможности СУБД
Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.
По степени универсальности различают два класса СУБД:
системы общего назначения;
специализированные системы.
СУБД общего назначения не ориентированы на какую–либо предметную область или на информационные потребности какой–либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных. Использование СУБД общего назначения в качестве инструментального средства для создания автоматизированных информационных систем, основанных на технологии баз данных, позволяет существенно сокращать сроки разработки, экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные возможности, и даже определенная функциональная избыточность.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
СУБД общего назначения – это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы.
Рынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем.
Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Рассмотрим основные характеристики некоторых СУБД – лидеров на рынке программ, предназначенных как для разработчиков информационных систем, так и для конечных пользователей.
В рассматриваемую группу программных продуктов вошли:
– dBASE IV 2.0, компании Borland International;
– Microsoft Access 2.0;
– Microsoft FoxPro 2.6 for DOS;
– Microsoft FoxPro 2.6 for Windows, корпорации Microsoft Corp;
– Paradox for DOS 4.5;
– Paradox for Windows, версия 4.5 компании Borland.
Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования базы данных из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчета
На производительность СУБД оказывают влияние два фактора:
СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.
Самые быстрые программные изделия отнюдь не обладают самыми развитыми функциональными возможностями на уровне процессора СУБД.
По таблице 5.1. можно заключить, что самой быстрой СУБД является FoxPro 2.6, однако она не обладает средствами соблюдения целостности данных в отличие от более медленной СУБД Access 2.0.
Обеспечение целостности данных на уровне базы данных. Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Должны быть установлены правила целостности, и они должны храниться вместе с базой данных и соблюдаться на глобальном уровне. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы).
К средствам обеспечения целостности данных на уровне СУБД относятся:
встроенные средства для назначения первичного ключа, в том числе средства для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;
средства поддержания ссылочной целостности, которые обеспечивают запись информации о связях таблиц и автоматически пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Некоторые СУБД имеют хорошо разработанный процессор СУБД для реализации таких возможностей, как уникальность первичных ключей, ограничение (пресечение) операций и даже каскадное обновление и удаление информации. В таких системах проверка корректности, назначаемая полю или таблице, будет проводиться всегда после изменения данных, а не только во время ввода информации с помощью экранной формы. Это свойство можно настраивать для каждого поля и для записи в целом, что позволяет контролировать не только значения отдельных полей, но и взаимосвязи между несколькими полями данной записи.
Access и Paradox for Windows гораздо ближе других СУБД соответствуют реляционной модели по надежности сохранения целостности данных на уровне базы данных; правила хранятся вместе с базой данных и автоматически соблюдаются.
СУБД dBASE IV и FoxPro 2.6 (DOS и WINDOWS) совсем не обладают средствами этого рода, и ввод в программу процедур, обеспечивающих выполнение правил целостности, возлагается на программиста.
Обеспечение безопасности. Некоторые СУБД предусматривают средства обеспечения безопасности данных. Такие средства обеспечивают выполнение следующих операций:
шифрование прикладных программ;
шифрование данных;
защиту паролем;
ограничение уровня доступа (к базе данных, к таблице, к словарю, для пользователя).
Самый высокий уровень безопасности данных реализован в СУБД dBASE IV. Администратор может назначать системе различные права доступа на уровне файла, поля, а также организовать автоматическое шифрование данных.
Хорошими характеристиками обеспечения безопасности отличается Access 2.0. Он предусматривает назначение паролей для индивидуальных пользователей или групп пользователей и присвоение различных прав доступа отдельно таблицам, запросам, отчетам, макрокомандам или новым объектам на уровне пользователя или группы.
Работа в многопользовательских средах. Практически все рассматриваемые СУБД предназначены для работы в многопользовательских средах, но обладают для этого различными возможностями. Обработка данных в многопользовательских средах предполагает выполнение программным продуктом следующих функций:
блокировку базы данных, файла, записи, поля;
идентификацию станции, установившей блокировку;
обновление информации после модификации;
контроль над временем и повторение обращения;
обработку транзакций (транзакция — последовательность операций пользователя над базой данных, которая сохраняет ее логическую целостность);
работу с сетевыми системами (LAN Manager, NetWare, Unix).
Лучшими возможностями для работы в многопользовательских средах обладают СУБД Paradox for DOS 4.5, Access 2.0 и dBASE IV.
Импорт–экспорт. Эта характеристика отражает:
возможность обработки СУБД информации, подготовленной другими программными средствами;
возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД.
Особый интерес представляют следующие форматы файлов: ASCII–файлы, .DBF, .WK*, .XLS.
Все рассматриваемые здесь СУБД обладают хорошими возможностями импорта–экспорта данных.
Доступ к данным посредством языка SQL. Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов. Язык SQL предоставляет развитые возможности как конечным пользователям, так и специалистам в области обработки данных.
Совместимость с SQL–системами играет большую роль, когда предполагается проведение работы с корпоративными данными. СУБД, хорошо подготовленные к работе в качестве средств первичной обработки информации для SQL–систем, могут использоваться в системах с архитектурой клиент–сервер.
СУБД имеют доступ к данным SQL в следующих случаях:
базы данных совместимы с ODBC (Open Database Connectivity — открытое соединение баз данных);
реализована естественная поддержка SQL–баз данных;
возможна реализация SQL–запросов локальных данных.
Многие СУБД могут "прозрачно" подключаться к входным SQL–подсистемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты совместимы также с SQL при обработке интерактивных запросов на получение данных, находящихся на сервере или на рабочем месте.
Access 2.0 и Paradox for Windows работают с источниками SQL–данных, совместимых с системой ODBC.
FoxPro (for Dos и for Windows) поставляются с дополнительными библиотеками, которые обеспечивают доступ к SQL–базам данных, способным работать совместно с системой ODBC, но эта возможность менее интегрирована, чем средства первичного ввода информации в Access и Paradox for Windows.
Можно напрямую управлять базами данных Access с помощью языка SQL и передавать сквозные SQL–запросы совместимым со спецификацией ODBC SQL–базам данных, таким, как MS SQL Server и Oracle, так что Access способна служить средством разработки масштабируемых систем клиент–сервер.
Возможности запросов и инструментальные средства разработки прикладных программ. СУБД, ориентированные на разработчиков, обладают развитыми средствами для создания приложений. К элементам инструментария разработки приложений можно отнести:
мощные языки программирования;
средства реализации меню, экранных форм ввода–вывода данных и генерации отчетов;
средства генерации приложений (прикладных программ);
генерацию исполнимых файлов.
Функциональные возможности моделей данных доступны пользователю СУБД благодаря ее языковым средствам.
Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме. В других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. Примером такого языка является язык QBE (Query–By–Example).
Языковые средства используются для выполнения двух основных функций:
описания представления базы данных;
выполнения операций манипулирования данными.
Первая из этих функций обеспечивается языком описания (определения) данных (ЯОД). Описание базы данных средствами ЯОД называется схемой базы данных. Оно включает описание структуры базы данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. ЯОД некоторых СУБД обеспечивают также возможности задания ограничений доступа к данным или полномочий пользователей.
ЯОД не всегда синтаксически оформляется в виде самостоятельного языка. Он может быть составной частью единого языка данных, сочетающего возможности определения данных и манипулирования данными.
Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные в системе операции над данными из базы данных.
Имеются многочисленные примеры языков СУБД, объединяющих возможности описания данных и манипулирования данными в единых синтаксических рамках. Популярным языком такого рода является реляционный язык SQL.
СУБД dBASE IV и FoxPro поддерживают язык программирования xBASE, который до сих пор является важным стандартом для баз данных. FoxPro 2.6 придает xBASE–программам оконные, событийно–управляемые качества. При составлении прикладной программы FoxPro использует диспетчер проекта, управляющий различными файлами исходного текста и данных. Эта составляющая отслеживает индивидуальные элементы: программы, наборы экранных форм, отчеты и файлы баз данных и позволяет компилировать прикладную программу в исполнимый файл.
Язык программирования Access Basic содержит функции обеспечения связи по протоколу OLE 2.0, позволяющие управлять объектами из других прикладных программ, совместимых с OLE 2.0. Кроме того, этот язык позволяет создавать объекты баз данных (запросы, таблицы), изменять структуру базы данных и создавать индексы непосредственно из прикладной программы.
Все рассматриваемые программные средства обладают автоматизированными средствами создания экранных форм, запросов, отчетов, меню, наклеек, стандартных писем. Для создания указанных визуальных и структурных объектов ряд СУБД использует специальные инструментальные средства, называемые "мастерами" или " волшебниками", позволяющими наиболее эффективно организовывать работу в интерактивном режиме.
26. Требования и проблемы проектирования
Процесс разработки структуры базы данных в соответствии с требованиями пользователей называется проектированием базы данных.
Поэтому перед проектировщиком базы данных (администратором базы данных) возникают следующие вопросы:
Что представляют собой требования пользователей и в какой форме они могут быть выражены?
Как эти требования могут быть преобразованы в эффективную структуру базы данных?
Как часто и каким образом структура базы данных должна перестраиваться в соответствии с новыми или изменяющимися требованиями?
При проектировании базы данных возникают проблема разноаспектного и многоуровневого представления данных и информации. Например, с одной стороны, необходимо учитывать взгляды пользователей, а с другой – аспекты компьютерной организации и ведения данных.
Процесс проектирования базы данных состоит из следующих отдельных шагов: концептуального проектирования, проектирования логической структуры базы данных, которая поддерживается СУБД и описывает представление пользователя о данных, и выбора физической структуры, которая включает представление данных, методы доступа и физическое группирование (кластеризацию данных).
При проектировании базы данных можно пользоваться широко известными методами проектирования программного обеспечения, а именно, методом нисходящего проектирования с последовательными итерациями. Концептуальная модель, представляющая элементы данных и взаимосвязи предметной области, последовательно преобразуется в СУБД ориентированную структуру базы данных. Процесс проектирования хорошо структурирован, так как каждый его этап завершается четко определенным результатом, а также потому, что допускается итеративное повторение предыдущих шагов (этапов) в случае, если полученный результат не соответствует требованиям пользователей или системным ограничениям.
Информационные требования проходят через весь процесс поэтапного проектирования базы данных. Информационные требования удобно разделять на:
информацию, формирующую концептуальное структурное представление;
информацию, формирующую концептуальное прикладное представление.
Информация, отнесенная к концептуальному структурному представлению (ISP – information structure perspective), описывает естественные концептуальные связи всех данных в базе данных. Она не связана ни с конкретным способом обработки, ни с конкретным приложением. ISP–информация отображает образы реального мира в сущности и атрибуты, а взаимосвязи между образами реального мира – в связи между элементами данных. Информационные требования всегда имеются в любой организации.
Информация, отнесенная к концептуальному прикладному представлению ( UP – usage perspective), определяет требования организации к обработке данных. Она описывает (в отличие от естественных концептуальных связей и данных) данные и связи, используемые в приложениях. Эта информация отображает требования к обработке данных текущих приложений и предполагаемые требования планируемых в будущем приложений.
Между этими двумя представлениями существует значительное пересечение. Используемые в приложениях элементы данных, входящие в состав UP–информации, представляют собой соответствующее подмножество элементов данных, при условии, что набор ISP–информации является полным и согласованным.
Каждый из этих наборов требований воздействует на результаты проектирования в разных направлениях: ISP обеспечивает гибкость и адаптивность, а UP – эффективность. Выгоды UP – ориентированного проектирования проявляются незамедлительно и легко поддаются измерению. Однако польза, получаемая за счет гибкости и адаптивности, может быть намного больше, поскольку проектные решения ориентированные на достижение сиюминутной эффективности, более чувствительны ко всякого рода изменениям как в процессе обработки данных, так и в их структуре. Такие структуры подвержены более частой реорганизации с целью поддержания эффективности и полноты базы данных. Выгоды от гибкости и адаптивности более долговременны, но их трудно выразить в количественном отношении. ISP–ориентированное проектирование чувствительно к изменениям реального мира, которые определяют требования к данным и время жизни которых намного больше, чем прикладных программ.
Методология поэтапного проектирования баз данных может быть определена как построение структуры баз данных на основе множества информационных и процедурных требований пользователей.
Цели первого этапа состоят в следующем:
изучение области деятельности моделируемой организации;
определение информационных потребностей организации;
документирование требований к базе данных в форме, доступной как конечному пользователю, так и проектировщику базы данных;
собранные и документированные требования должны включать ограничения, обусловливающие безопасность и надежность
Второй этап концептуального проектирования связан с описанием и синтезом разнообразных информационных требований пользователей в первоначальный проект базы данных. Результатом этого этапа является высокоуровневое представление информационных требований, описание которых может быть выполнено с помощью модели данных высокого уровня "сущность–связь".
Модель данных ''сущность–связь" или ER–модель (Entity Relationship) дает представление о предметной области в виде объектов, называемых сущностями, между которыми фиксируются связи.
Для каждой связи определено число связываемых ею объектов. На схеме проектирования ГИС сущности изображаются прямоугольниками, связи – ромбами. Число связываемых объектов указывается цифрой на линии соединения объекта и связи. Появление модели типа ''сущность–связь" было обусловлено практическими потребностями проектирования баз данных для коммерческих СУБД.
Теоретической основой этого подхода является известная модель М. Чена (1976г.), ставшая распространенной в качестве концептуального проектирования баз данных. В основе модели лежит представление о том, что предметная область состоит из отдельных объектов, находящихся друг с другом в определенных связях. Объекты характеризуются различными атрибутами; однотипные объекты описываются одним набором атрибутов и объединяются во множества или классы (сущности). Объект, входящий в класс, называется экземпляром соответствующей сущности. Между сущностями определяют взаимосвязи различного вида: один к одному (1:1), один ко многим (1:M), Многие к одному (M:1), многие ко многим (M:N).
Проектированием реализации будем называть третий этап между концептуальным и физическим проектированием, в результате выполнения которого получается СУБД–ориентированная схема базы данных, удовлетворяющая всем требованиям пользователей, начиная с требований целостности и непротиворечивости проектируемой базы данных и кончая показателями эффективности функционирования при ее расширении и усложнении.
Вначале анализируется содержание требований обработки данных, затем формируется предварительные типы записей, допускаемых СУБД. Для отображения связей типа М:N в реляционной модели строится новое отношение.
Далее схема может быть усовершенствована использованием такого средства СУБД как индексация.
Основными составляющими в проектировании физической структуры базы данных являются четвертый этап проектирования формата хранимой записи, кластеризации хранимых записей и выбора метода доступа. Кластеризация – это выявление групп объектов с общими признаками и расположение их в смежных блоках внешнего запоминающего устройства.
Проектирование физической базы данных прошло несколько этапов развития от проектирования файлов до проектирования физических структур интегрированных баз данных в рамках существующих в настоящее время СУБД. Современные СУБД используют физические структуры и методы доступа, опирающиеся на технологию проектирования файлов. Разработчика конкретной информационной системы обычно не интересует физическое хранение базы данных и методы доступа, так как этим управляет СУБД.