- •Предисловие
- •1. Основы информационного обеспечения процессов и систем
- •1.1. Понятие и содержание информационного обеспечения
- •1.2. Структура и классификация информационных систем
- •1.3. Система представления и обработки данных фактографических аис
- •Вопросы и упражнения
- •2. Системы управления базами данных фактографических информационных систем
- •2.1. Функции, классификация и структура субд
- •2.2. Модели организации данных
- •2.2.1. Иерархическая и сетевая модели организации данных
- •2.2.2. Реляционная модель организации данных
- •2.3. Внутренняя схема баз данных фактографических аис
- •2.3.1. Физические структуры данных
- •2.3.2. Индексирование данных
- •2.3.3. Расстановка (хеширование) записей
- •Вопросы и упражнения
- •3. Основы создания автоматизированных информационных систем
- •3.1. Общие положения по созданию автоматизированных систем
- •3.2. Проектирование банков данных фактографических аис
- •3.2.1. Концептуальное проектирование
- •3.2.2. Проектирование схем реляционных баз данных
- •3.2.2.1. Проектирование и создание таблиц
- •3.2.2.2. Нормализация таблиц
- •Вопросы и упражнения
- •4. Ввод, обработка и вывод данных в фактографических аис
- •4.1. Языки баз данных
- •4.2. Ввод, загрузка и редактирование данных
- •4.2.1. Ввод и редактирование данных в реляционных субд
- •4.2.2. Особенности ввода и загрузки данных в субд с сетевой моделью организации данных
- •4.3. Обработка данных
- •4.3.1. Поиск, фильтрация и сортировка данных
- •4.3.2. Запросы в реляционных субд
- •4.3.2.1. Запросы на выборку данных
- •4.3.2.1.1. Запросы на выборку данных из одной таблицы
- •4.3.2.1.2. Запросы на выборку данных из нескольких таблиц
- •4.3.2.1.3. Вычисления и групповые операции в запросах
- •4.3.2.2. Запросы на изменение данных
- •4.3.2.3. Управляющие запросы
- •4.3.2.4. Подчиненные (сложные) запросы
- •4.3.2.5. Оптимизация запросов
- •4.3.3. Процедуры, правила (триггеры) и события в базах данных
- •4.3.4. Особенности обработки данных в субд с сетевой моделью организации данных
- •4.4. Вывод данных
- •Вопросы и упражнения
- •5. Распределенные информационные системы
- •5.1. Понятие распределенных информационных систем, принципы их создания и функционирования
- •5.2. Технологии и модели «Клиент-сервер»
- •5.2.1. Модель файлового сервера
- •5.2.2. Модель удаленного доступа к данным
- •5.2.3. Модель сервера базы данных
- •5.2.4. Модель сервера приложений
- •5.2.5. Мониторы транзакций
- •5.3. Технологии объектного связывания данных
- •5.4. Технологии реплицирования данных
- •Вопросы и упражнения
- •6. Документальные информационные системы
- •6.1. Общая характеристика и виды документальных информационных систем
- •6.2. Информационно-поисковые каталоги и тезаурусы
- •6.2.1. Классификационные системы поиска документов
- •6.2.2. Координация понятий в классификационных системах
- •6.2.3. Информационно-поисковые тезаурусы
- •6.2.4. Автоматизация индексирования документов
- •6.3. Полнотекстовые информационно-поисковые системы
- •6.3.1. Информационно-технологическая структура полнотекстовых ипс
- •6.3.2. Механизмы поиска документов в полнотекстовых ипс
- •6.3.3. Методы количественной оценки релевантности документов
- •6.4. Гипертекстовые информационно-поисковые системы
- •6.4.1. Гипертекст
- •6.4.2. Структура, принципы построения и использования гипертекстовых ипс
- •6.4.3. Модель организации данных в гипертекстовых ипс
- •6.4.4. Формирование связей документов в гипертекстовых ипс
- •Вопросы и упражнения
- •7. Администрирование информационных систем и защита данных
- •7.1. Администрирование информационных систем
- •7.2. Разграничение доступа и защита данных
- •7.2.1. Понятие и модели безопасности данных
- •7.2.2. Технологические аспекты защиты информации
- •7.2.2.1. Идентификация и аутентификация
- •7.2.2.2. Языки безопасности баз данных
- •7.2.2.3. Безопасность повторного использования объектов
- •7.2.2.4. Надежное проектирование и администрирование
- •7.2.3. Требования и классы защищенности автоматизированных (информационных) систем в «Руководящих документах...» Государственной технической комиссии при Президенте рф
- •Вопросы и упражнения
- •Литература
- •Алфавитно-предметный указатель Содержание
4.2. Ввод, загрузка и редактирование данных
Базы данных создаются для удовлетворения информационных потребностей пользователей. Однако для выполнения этой главной задачи базу данных необходимо не только правильно организовать и построить, но и наполнитьсамимиданными.Как правило, эта задача требует больших затрат особенно на начальном этапе ввода информационных систем в эксплуатацию. Поэтому способам, удобству ввода и редактирования данных в СУБД всегда придавалось и придается важное значение.
4.2.1. Ввод и редактирование данных в реляционных субд
В настоящее время можно выделить четыре основных способаввода, загрузки и редактирования данных в современных реляционных СУБД:
• непосредственный ввод и редактирование данных в табличном режиме;
• ввод и редактирование данных через формы;*
• ввод, загрузка и редактирование данных через запросы на изменения;
• ввод данных через импортиз внешних источников.
*Если формы предназначены только для ввода, просмотра и изменения данных их еще называют входными (вводными) формами.
Ввод данных в табличном режиме и через формыявляется наиболее естественным с точки зрения табличного характера организации данных в реляционных СУБД. Как отмечалось при рассмотрении реляционной модели организации данных, единичным элементом информации, имеющим отдельное смысловое значение, является кортеж, т. е. табличная строка-запись, состоящая из дискретного набора значений по полям таблицы. Иначе говоря, данные в реляционные базы вводятся или удаляются кортежами-записями.
Отображать кортежи-записиможнодвумя способами, располагая поля записивертикальноилигоризонтально(см. рис. 4.4 и рис. 4.5).
Рис. 4.4. Вертикальный способ расположения полей записей
В первом случае пользователь «видит» и имеет доступ, как правило, сразу ко всем полям одной записи и его внимание сосредоточивается на одной записи как отдельном объекте. Записи располагаются друг за другом вертикально, и на экране компьютера обеспечивается вертикальная прокрутка (скроллинг) записей.
Рис. 4.5. Горизонтальный способ расположения полей записей
Во втором способе каждая запись отображается в виде табличной строки и на экране может отображаться не одна, а несколько строк, что дает возможность пользователю производить анализ и просмотр сразу группы записей. Вместе с тем при достаточно большом количестве полей (столбцов) таблицы все они могут не уместиться на экране по горизонтальным строкам. В этом случае пользователь видит сразу не всю запись (записи), а лишь некоторый вертикальный фрагмент, и восприятие записи как отдельного объекта несколько расплывается. Для просмотра всех полей организуется их горизонтальная прокрутка. С учетом того что, как правило, ключевые поля располагаются первыми в строках-записях, при использовании горизонтальной прокрутки происходит «отрыв» ключевой информации, идентифицирующей каждую конкретную строку, от информации по другим полям записи.
Таким образом, и тот и другой способ отображения записей имеет свои преимущества и недостатки. Практически все реляционные СУБД предоставляют возможность работы с данными и тем и другим способом.
Реализация непосредственного ввода данных в табличном режиме или через формы осуществляется через «открытие» соответствующей таблицыбазы данных. При открытии таблицы страницы файла данных, содержащие просматриваемые записи таблицы, помещаются в буферы оперативной памяти и отображаются в том или ином режиме. Непосредственный ввод и корректировка данных при этом осуществляются через использование табличного курсора,позаимствованного из технологии работы в табличных редакторах.
В табличном режиме табличный курсор может свободно перемещаться по ячейкам таблицы, определяя в каждый момент так называемую текущую строкуитекущую ячейку.Вводимые с клавиатуры данные автоматически помещаются в текущую ячейку, т. е. имитируется работа с таблицами в табличных редакторах. Вместе с тем по сравнению с табличными редакторами имеется все же одно принципиальное отличие. Единичным элементом ввода данных в СУБД, как уже отмечалось, является кортеж-запись, т. е. табличная строка целиком, а не отдельно взятая ячейка. Поэтому СУБД в режиме открытой таблицы явно (через специальные команды) или неявно (при перемещении табличного курсора на другую строку) осуществляет фиксацию изменений в существующей строке или фиксирует новую строку в файле базы данных, т. е. фиксирует соответствующую транзакцию. При этом проверяется соответствие введенных или откорректированных данных установленным типам полей, уникальность значений ключевых полей, выполнение других ограничений целостности данных. Если обнаруживается какое-либо несоответствие, то отвергается фиксация сразу всей строки, а не конкретной ячейки.
Ввод новой записи осуществляется через активизацию в конце таблицы специальной «пустой» строки открытой таблицы. В некоторых случаях таблицы могут открываться только для ввода новых данных—так называемый режим открытия на добавление.В этом случае в открытой таблице показывается только одна «пустая» строка для ввода новых данных.
Вертикальный способ отображения полей записейв современных СУБД вместе с идеями электронных бланков трансформировался в технику форм.Естественным и интуитивно-понятным способом работы со структурированной информацией для большинства «обычных»* людей являются всевозможные бланки, анкеты и т.п. «бумажные» формы. Формы в СУБД как раз и выполняют функции предоставления пользователям привычного интерфейса при вводе структурированных данных с имитацией «заполнения» бланков, анкет и т.п.
* То есть в данном контексте не являющихся профессиональными программистами.
Таким образом, формав СУБД представляет собойспециальный экранный объект, включающий поля для ввода данных одной записи базовой таблицы и другую поясняющую информацию.На рис. 4.6 приведен пример формы для ввода, просмотра и изменения данных в таблице «Сотрудники» базы данных известной организации.
Рис. 4.6. Пример формы для ввода/просмотра/изменения данных
Записи соответствующей таблицы через форму «прокручиваются»по вертикали. Присутствует также аналог табличного курсора, определяющий текущее поле для ввода/изменения данных. Так же как и в табличном режиме, форма может открываться только на ввод новых данных, т.е. в режиме добавления без возможности просмотра ранее введенных в таблицу данных.
Форма может отображать записи или предоставлять возможность для ввода новых записей одной (базовой)таблицы. Однако идея экранных форм в реляционных СУБД оказалась более плодотворной, чем просто предоставление удобств для ввода/просмотра сразу всех полей одной записи. В определенных случаях «бумажная» информационная технология, которую автоматизирует банк данных АИС, предусматривает накопление и образование данных сразу в комплексе по ряду информационных задач. К примеру, при ведении учета командировок сотрудников в бухгалтерии используются специальные бланки, в которых отображается информация по сотруднику (ФИО, Подразделение, Должность, Сл. тел.) и данные собственно по командировке (Дата начала. Дата окончания, Полученный аванс, Фактические расходы, Пункты назначения, Служебные задания). При проектировании базы данных для автоматизации такого учета, исходя из требований нормализации таблиц, перечисленные выше в «бумажном» бланке данные распределяются сразу по нескольким связанным таблицам «Сотрудник», «Командировка», «Пункты», «Служебные задания».
Техника форм СУБД предоставляет возможность создавать «комплексные»электронные бланки длявводаинформации сразув несколько связанных таблиц.Такие формы называютсяструктурными(сложными) и обеспечивают естественный в технологическом плане совместный ввод данных в связанные таблицы. Чаще всего такой способ позволяет вводить и просматривать записи, находящиеся в таблицах, связанных отношением «Один-ко-многим». При прокрутке записей в главной форме, отражающей записи базовой таблицы на стороне «один», в структурных элементах, называемых иногда «подчиненными» формами, прокручиваются связанные записи из таблиц на стороне «многие». На рис. 4.7 приведен пример такой формы.
Рис. 4.7. Пример формы для ввода данных в таблицы, связанные отношением «Один-ко-многнм»
Зачастую при создании базы данных новой АИС часть данных уже имеется в электронном виде в других, ранее созданных базах данных. Если это базы данных того же формата, т. е. созданные и функционирующие под управлением той же СУБД, или другой реляционной СУБД, поддерживающей основанный на языке SQLспециальный протокол обмена данными между реляционными СУБД — ODBC* (Open Database Connectivity), то имеется возможность вводить, или, как в этом случае говорят, загружать данные из таблиц, находящихся в файлах других (внешних) баз данных. Такая загрузка реализуется на основе техники запросов на изменение данных, в качестве источников которых указываются таблицы в других БД.**
* Стандартный протокол доступа к данным на серверах баз данных SQL...
** Запросы на изменения данных рассматриваются в п. 4.3.2.2.
Ряд СУБД предоставляет возможность загружать табличные данные, созданные и находящиеся под управлением не СУБД, а приложений другого типа — табличных и текстовых редакторов. В этом случае говорят об импорте данных из внешних источников.Ввод данных при этом осуществляется на основе «знания» СУБД формата внешних табличных данных и соответствующей их трансформации в структуры реляционных таблиц. Некоторые СУБД предоставляют возможность ввода в реляционные таблицы текстовых данных, размеченных специальными разделителями на последовательно расположенные дискретные порции. Каждая такая порция помещается в соответствующее поле табличной строки по принципу последовательного заполнения строк таблицы«Слева-направо, Сверху-вниз».При этом СУБД проверяет соответствие вводимых значений установленным типам полей, а также другим параметрам полей и ограничениям целостности данных.
Таким образом, в современных реляционных СУБД имеется развитый арсенал возможностей по вводу и загрузке данных, который позволяет эффективно решать задачи по наполнению БД данными.