Prоtocol: TCP or UDP (Протокол: TCP или UDP). 10 глава




13. Перетащите кнопку Месяц в область Столбец, а кнопку Товар — в область Стра­ница. Сводная таблица автоматически перестроится в соответствии с новой структурой.

14. Дважды щелкните на кнопке Сумма по полю объем. В открывшемся диалого­вом окне Вычисление поля сводной таблицы щелкните на кнопке Дополнительно. В раскрывающемся списке Дополнительные вычисления выберите пункт Доля от суммы по строке. Щелкните на кнопке ОК.

15. Посмотрите на новый вид сводной таблицы. Среди прочего, мы определили, какую долю в общем потоке поставок имеет каждый из поставщиков.

16. Сохраните рабочую книгу book.xls.

 

Мы научились создавать сводные таблицы для получения итоговых сведений на основе содержимого базы данных. Мы узнали, как выяснить, исходя из каких данных получен элемент сводной таблицы. Мы также научились фильтровать данные сводной таблицы, динамически перестраивать сводную таблицу, а также изменять способ отображения области данных.

Упражнение 13.9. Построение сводной диаграммы

Мин

 

1. Запустите программу Excel (Пуск Программы Microsoft Excel) и откройте рабо­чую книгу book.xls, созданную ранее.

2. Откройте рабочий лист Сводная таблица поставок.

3. Щелкните на кнопке Мастер диаграмм на панели инструментов Сводная таб­лица. Сводная диаграмма строится автоматически на новом рабочем листе.

4. Переименуйте этот рабочий лист, дав ему имя Сводная диаграмма.

5. Поэкспериментируйте со сводной диаграммой, чтобы выяснить, какие ее пара­метры можно изменять.

6. Выполните фильтрацию отображаемых данных.

7. Измените величину, отображаемую на диаграмме.

8. Переместите поле базы данных в другую область диаграммы.

9. Измените тип диаграммы.

10. Измените формат отображения элементов диаграммы.

 

Мы научились создавать сводные диаграммы на основе сводных таблиц. При прямом создании сводной диаграммы соответствующая сводная таблица создается в любом случае. Мы выяснили, что при использовании сводной диаграммы нам доступны как операции, соответствующие сводной таблице, так и те, которые применяют при постро­ении диаграмм. Иными словами, сводные диаграммы объединяют средства анализа и средства графического представления информации, имеющейся в базе данных.

Упражнение 13.10. Настройка режима проверки вводимых данных

Мин

 

1. Запустите программу Excel (Пуск Программы → Microsoft Excel) и откройте рабо­чую книгу book.xls, созданную ранее.

2. Откройте рабочий лист Сведения о поставках.

3. Предполагается, что у нас имеется фиксированный список поставщиков и това­ров, так что ручной ввод этих величин необязателен. Также будем считать, что разовая поставка любого материала не может превосходить 10 тонн.

4. Для последующих экспериментов внесите произвольные искажения в базу дан­ных: задайте в одной-двух записях неверное имя поставщика, в одной-двух запи­сях используйте неверное наименование материала, в одной двух записях ука­жите завышенный объем поставки (более 10 тонн).

5. За пределами базы данных, например в столбце F, в ячейках F2-F6 укажите имена поставщиков по одному в ячейке.

6. Аналогичным образом в ячейках G2-G6 укажите правильные наименования товаров.

7. Выделите все ячейки базы данных в столбце В (Поставщик), кроме заголовка столбца. Дайте команду Данные Проверка.

8. В раскрывающемся списке Тип данных выберите вариант Список. Переключи­тесь на поле Источник и введите (или выберите) диапазон F2:F6. Если диапазон выбран, ссылка автоматически берется как абсолютная. После этого щелкните на кнопке ОК.

9. Аналогичным образом выберите допустимые значения для поля Товар. В поле Источник необходимо указать диапазон G2:G6.

10. Выберите все ячейки в столбце D. Дайте команду Данные Проверка. В поле Тип данных выберите вариант Действительное. В полях Минимум и Максимум укажите, соответственно, значения 0 и 10. Щелкните на кнопке ОК.

11. Сделайте текущей любую ячейку в столбце В. Убедитесь, что ввести в нее про­извольное значение, отсутствующее в списке, теперь невозможно. Щелкните на раскрывающей кнопке, чтобы выбрать допустимое значение из списка.

12. Аналогичным образом, попробуйте ввести недопустимое значение (текстовое или выходящее за пределы заданного интервала) в ячейку столбца D. Убеди­тесь, что это также невозможно.

13. Так как данные вводились в базу до включения проверки, они могут содер­жать ошибки. Дайте команду Сервис → Зависимости Панель зависимостей.

14. Щелкните на кнопке Обвести неверные данные. Убедитесь, что ячейки с ошиб­ками (созданные в п. 4) обнаружены и обведены красным цветом.

15. Исправьте ошибки и еще раз щелкните на кнопке Обвести неверные данные. Убедитесь, что пометки исчезли.

16. Сохраните рабочую книгу book.xls.

 

Мы научились использовать средства автоматической проверки вводимых данных. Мы узнали, что при этом гарантируется соответствие введенных данных определенному условию. Мы также познакомились с новым способом ввода данных при наличии огра­ничений. Мы научились находить ошибки в том случае, если условие на данные задано уже после того, как данные были введены.

 

Упражнение 13.11. Решение задачи оптимизации расходов предприятия

Мин

Задача. Предприятие работает по недельному графику, требующему разного числа работников в разные дни недели. Необходимое число работников приведено в таб­лице.

 

Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье
             

 

Можно использовать сотрудников с пятидневной рабочей неделей (выходные — любые два дня подряд, недельная заработная плата — 500 рублей) и с шестиднев­ной рабочей неделей (выходной — суббота или воскресенье, недельная заработная плата — 700 рублей, то есть шестой рабочий день оплачивается по двойной ставке). При этом требуется, чтобы использовались все варианты расписания работы с двумя выходными (это позволяет при болезни одного из работников привлечь на замену человека, который только что имел свободный день).

Необходимо составить график работы, обеспечивающий минимальные расходы предприятия на заработную плату.

1. Запустите программу Excel и откройте рабочую книгу book.xls.

2. Создайте новый рабочий лист (Вставка → Лист), дважды щелкните на его ярлычке и присвойте ему имя Заработная плата.

3. В первую строку рабочего листа введите заголовки столбцов: в ячейку А1 — Выходные дни, в ячейку В1 — Работники, в ячейки D1-J1 — дни недели (Пн, Вт, Ср,Чт, Пт, Сб, Вс).

4. В столбец А введите заголовки строк. В ячейках А2-А8 введите разрешенные пары выходных (от Понедельник, вторник до Воскресенье, понедельник). В ячейки А9 и А10 введите одиночные выходные (Суббота и Воскресенье). В ячейке А12 укажите заголовок Всего. Ячейка А15 должна содержать фразу Недельная оплата работника, а ячейка А16 — текст Общий недельный расход.

5. Введите фиксированные данные. В ячейке В13 напишите Всего требуется и введите в ячейках D13-J13 требования к минимальному числу работников согласно заданной таблице. В ячейку В15 введите фиксированную недельную оплату — 500 рублей.

6. В ячейках диапазона D2:J10 укажите 1, если для данного расписания день явля­ется рабочим, и 0 — если выходным.

7. В ячейки В2-В10 введите нулевые (или иные произвольные) значения. Пред­полагается, что в дальнейшем эти значения будут вычислены автоматически.

8. В ячейку D12 введите следующую формулу: =D8*$B8+D2*$B2+D3*$B3+D4*$B4+ D5*$B5+D6*$B6+D7*$B7+D10*$B10+D9*$B9. По ней рассчитывается число работников, занятых в понедельник. Элементы абсолютной адресации исполь­зованы для того, чтобы формулу можно было копировать.

9. Методом заполнения скопируйте только что введенную формулу в ячейки диа­пазона E12-J12.

10. В ячейку В12 введите формулу =СУММ(В2:В8)+СУММ(В9:В10)*1,4. Для ввода имени функции используйте строку формул или Мастер формул. По этой фор­муле вычисляется «приведенное» число сотрудников с учетом увеличенной заработной платы при шестидневной рабочей неделе.

11. В ячейку В16 введите формулу для исчисления итоговых расходов на заработ­ную плату за неделю: =В15* В12. Именно это значение необходимо свести к мини­муму.

12. Запустите надстройку Поиск решения (Сервис Поиск решения). Если пункт Поиск решения в меню отсутствует, значит, необходимо подключить эту над­стройку, дав команду Сервис Надстройки и установив соответствующий фла­жок.

13. В поле Установить целевую ячейку выберите ячейку В16.

14. Для переключателя Равной выберите вариант минимальному значению.

15. Щелкните на поле Ограничения и затем — на кнопке Добавить.

16. Щелкните на поле Ссылка на ячейку и выберите диапазон В2:В10. В качестве ограничения выберите вариант цел. Щелкните на кнопке Добавить.

17. В поле Ссылка на ячейку выберите диапазон В2:В8. Выберите операцию >= и значение 1 в поле Ограничение. Аналогичным образом для диапазона В9:В10 выберите значение >=0.

18. В поле Ссылка на ячейку выберите диапазон D12:J12. Выберите операцию >=. В поле Ограничение выберите диапазон D13:J13. Этим задается ограничение на минимальное число работников. Щелкните на кнопке ОК.

19. Щелкните на кнопке Выполнить, чтобы провести поиск оптимального варианта. По окончании расчета щелкните на кнопке ОК, чтобы сохранить найденное решение.

20. Сохраните рабочую книгу book.xls.

 

Мы научились использовать программу Excel в задачах оптимального управления. Мы научились формулировать условия задачи табличным образом, формировать ограни­чения, которым должно удовлетворять решение, выполнять поиск оптимального вари­анта. Мы также поняли, что найти нужное решение подбором крайне сложно даже для самых простых задач.

Глава 14. Введение в технологию баз данных

14.1. Основные понятия баз данных

Базы данных и системы управления базами данных

База данных — это организованная структура, предназначенная для хранения инфор­мации. Внимательный читатель, знающий из первой главы, что данные и информа­ция — понятия взаимосвязанные, но не тождественные, должен заметить несоот­ветствие в этом определении. Его причины чисто исторические. В те годы, когда формировалось понятие баз данных, в них действительно хранились только дан­ные. Однако сегодня большинство систем управления базами данных (СУБД) позво­ляют размещать в своих структурах не только данные, но и методы (то есть программ­ный код), с помощью которых происходит взаимодействие с потребителем или с другими программно-аппаратными комплексами. Таким образом, мы можем гово­рить, что в современных базах данных хранятся отнюдь не только данные, но и информация.

Это утверждение легко пояснить, если, например, рассмотреть базу данных круп­ного банка. В ней есть все необходимые сведения о клиентах, об их адресах, кре­дитной истории, состоянии расчетных счетов, финансовых операциях и т. д. Доступ к этой базе имеется у достаточно большого количества сотрудников банка, но среди них вряд ли найдется такое лицо, которое имеет доступ ко всей базе полностью и при этом способно единолично вносить в нее произвольные изменения. Кроме дан­ных, база содержит методы и средства, позволяющие каждому из сотрудников оперировать только с теми данными, которые входят в его компетенцию. В результате взаимодействия данных, содержащихся в базе, с методами, доступными конкрет­ным сотрудникам, образуется информация, которую они потребляют и на основа­нии которой в пределах собственной компетенции производят ввод и редактиро­вание данных.

С понятием базы данных тесно связано понятие системы управления базой данных. Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображае­мых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.

В мире существует множество систем управления базами данных. Несмотря на то что они могут по-разному работать с разными объектами и предоставляют пользова­телю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД. В качестве такого учебного объекта мы выберем СУБД Microsoft Access, входящую в пакет Microsoft Office наряду с рассмотренными ранее пакетами Microsoft Word и Microsoft Excel. В тех случаях, когда конкретные приемы операций зависят от используемой версии программы, мы будем опираться на последнюю версию Microsoft Access 2000, хотя в основном речь будет идти о таких обобщенных понятиях и методах, для которых различия между конкретными версиями программ второстепенны.

Структура простейшей базы данных

 

Сразу поясним, что если в базе нет никаких данных (пустая база), то это все равно полноценная база данных. Этот факт имеет методическое значение. Хотя данных в базе и нет, но информация в ней все-таки есть — это структура базы. Она определяет методы занесения данных и хранения их в базе. Простейший «некомпьютерный» вариант базы данных — деловой ежедневник, в котором каждому календарному дню выделено по странице. Даже если в нем не записано ни строки, он не перестает быть ежедневником, поскольку имеет структуру, четко отличающую его от записных книжек, рабочих тетрадей и прочей писчебумажной продукции.

Базы данных могут содержать различные объекты, но, забегая вперед, скажем, что основными объектами любой базы данных являются ее таблицы. Простейшая база данных имеет хотя бы одну таблицу. Соответственно, структура простейшей базы данных тождественно равна структуре ее таблицы.

Мы знаем, что структуру двумерной таблицы образуют столбцы и строки. Их анало­гами в структуре простейшей базы данных являются поля и записи. Если записей в таблице пока нет, значит, ее структура образована только набором полей. Изменив состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и, соответственно, получаем новую базу данных.

Свойства полей базы данных

 

Поля базы данных не просто определяют структуру базы — они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.

• Имя поля — определяет, как следует обращаться к данным этого поля при авто­матических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).

• Тип поля — определяет тип данных, которые могут содержаться в данном поле.

 

Рис. 14.1. Простейшая таблица базы данных

Размер поля — определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.

• Формат поля — определяет способ форматирования данных в ячейках, принад­лежащих полю.

• Маска ввода — определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).

• Подпись — определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).

• Значение по умолчанию — то значение, которое вводится в ячейки поля авто­матически (средство автоматизации ввода данных).

• Условие на значение — ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как пра­вило, для данных, имеющих числовой тип, денежный тип или тип даты).

• Сообщение об ошибке — текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выпол­няется автоматически, если задано свойство Условие на значение).

• Обязательное поле — свойство, определяющее обязательность заполнения дан­ного поля при наполнении базы;

• Пустые строки — свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).

• Индексированное поле — если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.

Здесь мы должны обратить особое внимание читателя на то, что поскольку в раз­ных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список вышеуказан­ных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например, для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видеоклипов и дру­гих объектов OLE, большинство вышеуказанных свойств не имеют смысла.

Типы данных

 

С основными типами данных мы уже знакомы. Так, например, при изучении элек­тронных таблиц Microsoft Excel мы видели, что они работают с тремя типами дан­ных: текстами, числами и формулами. Таблицы баз данных, как правило, допускают работу с гораздо большим количеством разных типов данных. Так, например, базы данных Microsoft Access работают со следующими типами данных (рис.14.2).

 

Рис. 14.2. Таблица с полями некоторых типов

 

• Текстовый — тип данных, используемый для хранения обычного неформатиро­ванного текста ограниченного размера (до 255 символов).

• Поле Мемо — специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда.

• Числовой — тип данных для хранения действительных чисел.

• Дата/время — тип данных для хранения календарных дат и текущего времени.

• Денежный — тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денеж­ных сумм есть некоторые особенности (например, связанные с правилами округ­ления), которые делают более удобным использование специального типа дан­ных, а не настройку числового типа.

• Счетчик — специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использо­вание — для порядковой нумерации записей.

• Логический — тип для хранения логических данных (могут принимать только два значения, например Да или Нет).

• Поле объекта OLE — специальный тип данных, предназначенный для хранения объектов, например мультимедийных, вставляемых внедрением или связыва­нием (OLE). Реально, конечно, такие объекты в таблице не хранятся. Как и в случае полей MEMO, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (иначе работа с таблицами была бы чрезвычайно медленной).

• Гиперссылка — специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объекта в его окне.

• Мастер подстановок — это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод в данных поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.

Безопасность баз данных

 

Базы данных — это тоже файлы, но работа с ними отличается от работы с файлами других типов, создаваемых прочими приложениями. Выше мы видели, что всю работу по обслуживанию файловой структуры берет на себя операционная система. К базам данных предъявляются особые требования с точки зрения безопасности, поэтому в них реализован другой подход к сохранению данных.

При работе с обычными приложениями для сохранения данных мы выдаем соот­ветствующую команду, задаем имя файла и доверяемся операционной системе. Если мы закроем файл, не сохранив его, то вся работа по созданию или редактиро­ванию файла пропадет безвозвратно.

Базы данных — это особые структуры. Информация, которая в них содержится, очень часто имеет общественную ценность. Нередко с одной и той же базой (напри­мер, с базой регистрации автомобилей в ГИБДД) работают тысячи людей по всей стране. От информации, которая содержится в некоторых базах, может зависеть благополучие множества людей. Поэтому целостность содержимого базы не может и не должна зависеть ни от конкретных действий некоего пользователя, забывшего сохранить файл перед выключением компьютера, ни от перебоев в электросети.

Проблема безопасности баз данных решается тем, что в СУБД для сохранения информации используется двойной подход. В ряде операций, как обычно, участвует операционная система компьютера, но некоторые операции сохранения происхо­дят в обход операционной системы.

Операции изменения структуры базы данных, создания новых таблиц или иных объектов происходят при сохранении файла базы данных. Об этих операциях СУБД предупреждает пользователя. Это, так сказать, глобальные операции. Их никогда не проводят с базой данных, находящейся в коммерческой эксплуатации, — только с ее копией. В этом случае любые сбои в работе вычислительных систем не страшны.

С другой стороны, операции по изменению содержания данных, не затрагивающие структуру базы, максимально автоматизированы и выполняются без предупрежде­ния. Если, работая с таблицей данных, мы что-то в ней меняем в составе данных, то изменения сохраняются немедленно и автоматически.

Обычно, решив отказаться от изменений в документе, его просто закрывают без сохранения и вновь открывают предыдущую копию. Этот прием работает почти во всех приложениях, но только не в СУБД. Все изменения, вносимые в таблицы базы, сохраняются на диске «на лету» (без нашего ведома), поэтому попытка закрыть базу без сохранения ничего не даст, так как все уже сохранено. Таким образом, редактируя таблицы баз данных, создавая новые записи и удаляя старые, мы как бы редактируем данные на жестком диске напрямую, минуя операционную систему.

 

По указанным выше причинам нельзя заниматься учебными экспериментами на базах данных, находящихся в эксплуатации. Для этого следует создавать специальные учебные базы или выполнять копии структуры реальных баз (без фактического наполнения данными).

14.2. Проектирование баз данных

Режимы работы с базами данных

 

Обычно с базами данных работают две категории исполнителей. Первая катего­рия — проектировщики. Их задача состоит в разработке структуры таблиц базы данных и согласовании ее с заказчиком. Кроме таблиц проектировщики разраба­тывают и другие объекты базы данных, предназначенные, с одной стороны, для автоматизации работы с базой, а с другой стороны — для ограничения функцио­нальных возможностей работы с базой (если это необходимо из соображений безо­пасности). Проектировщики не наполняют базу конкретными данными (заказчик может считать их конфиденциальными и не предоставлять посторонним лицам). Исключение составляет экспериментальное наполнение модельными данными на этапе отладки объектов базы.

Вторая категория исполнителей, работающих с базами данных, — пользователи. Они получают исходную базу данных от проектировщиков и занимаются ее наполне­нием и обслуживанием. В общем случае пользователи не имеют средств доступа к управлению структурой базы — только к данным, да и то не ко всем, а к тем, работа с которыми предусмотрена на их конкретном рабочем месте.

Соответственно, система управления базами данных имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы и создания ее объектов. Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.

Объекты базы данных

 

Мы уже упомянули о том, что кроме таблиц база данных может содержать и другие типы объектов. Привести полную классификацию возможных объектов баз данных затруднительно, поскольку каждая система управления базами данных может реали­зовать свои типы объектов. Однако основные типы объектов мы можем рассмотреть на примере СУБД Microsoft Access. В версии Microsoft Access 2000 эта СУБД позво­ляет создавать и использовать объекты семи различных типов.

Таблицы. Как мы уже говорили, это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).

Запросы. Эти объекты служат для извлечения данных из таблиц и предоставле­ния их пользователю в удобном виде. С помощью запросов выполняют такие опе­рации, как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таб­лицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.

Начинающие пользователи не сразу понимают роль запросов, поскольку все те же операции можно делать и с таблицами. Да, действительно, это так, но есть соображе­ния удобства (в первую очередь быстродействия) и соображения безопасности.

Из соображений безопасности, чем меньше доступа к базовым таблицам имеют конечные пользователи, тем лучше. Во-первых, снижается риск того, что неуме­лыми действиями они повредят данные в таблицах. Во-вторых, предоставив раз­ным пользователям разные запросы, можно эффективно разграничить их доступ к данным в строгом соответствии с кругом персональных обязанностей. В банках, например, одни сотрудники имеют доступ к таблицам данных о клиентах, другие — к их расчетным счетам, третьи — к таблицам активов банка. Если и есть специаль­ные службы, имеющие доступ ко всем информационным ресурсам банка (с целью контроля и анализа), то они лишены средств для внесения изменений — все сделано так, чтобы один человек не мог совершить фиктивную операцию, независимо от того, какую должность он занимает. В базе данных, имеющей правильно организо­ванную структуру, для совершения противоправных действий необходим сговор нескольких участников, а такие действия пресекаются не программными, а традици­онными средствами обеспечения безопасности.

Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу. Если хотят подчеркнуть факт «временности» этой таблицы, то ее еще называют моментальным снимком. Когда мы работаем с основными таблицами базы, мы физически имеем дело с жест­ким диском, то есть с очень медленным устройством (напомним, что это связано с особенностью сохранения данных, описанной выше). Когда же на основании запроса мы получаем результирующую таблицу, то имеем дело с электронной таблицей, не имеющей аналога на жестком диске, — это только образ отобранных полей и записей. Разумеется, работа с «образом» происходит гораздо быстрее и эффективнее — это еще одно основание для того, чтобы широко использовать запросы.

Когда в главе 1 мы обсуждали основные структуры данных, то отметили, что недо­статком упорядоченных табличных структур является сложность их обновления, поскольку при внесении новых записей нарушается упорядоченность — приходится переделывать всю таблицу. В системах управления базами данных и эта проблема решается благодаря запросам.

Основной принцип состоит в том, что от базовых таблиц никакой упорядоченности не требуется. Все записи в основные таблицы вносятся только в естественном порядке по мере их поступления, то есть в неупорядоченном виде. Если же пользо­вателю надо видеть данные, отсортированные или отфильтрованные по тому или иному принципу, он просто использует соответствующий запрос (рис. 14.3). Если нужного запроса нет, он обращается к проектировщику и просит его такой запрос сделать и предоставить.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: