Технология хранения, поиска и сортировки информации в базах данных

Введение

 
 

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

  • обеспечивать получение общих и/или детализированных отчетов по итогам работы;
  • позволять легко определять тенденции изменения важнейших показателей;
  • обеспечивать получение информации, критической по времени, без существенных задержек;
  • выполнять точный и полный анализ данных.

     Современные СУБД в основном являются приложениями Windows, так как данная среда позволяет  более полно использовать возможности  персональной ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПК обусловил не только широкий переход  к среде Windows, где разработчик программного обеспечения может в меньшей степени заботиться о распределении ресурсов, но также сделал программное обеспечение ПК в целом и СУБД в частности менее критичными к аппаратным ресурсам ЭВМ.

     Среди наиболее ярких представителей систем управления базами дан-ных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Bor-land Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также СУБД Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии "клиент-сервер". Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще – диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения, на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом "де-факто" стала "быстрая разработка приложений" или RAD (от английского Rapid Application Development), основанная на широко декларируемом в литературе "открытом подходе", то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с "классическими" СУБД все чаще упоминаются языки программирования Visual Basic 4.0 и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами "классических" СУБД. Современный подход к управлению базами данных подразумевает также широкое использование технологии "клиент-сервер".

     Таким образом, на сегодняшний день разработчик  не связан рамками какого-либо конкретного  пакета, а в зависимости от поставленной задачи может использовать самые  разные приложения. Поэтому, более важным представляется общее направление развития СУБД и других средств разработки приложений в настоящее время. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  1. Технология  поиска, хранения и  сортировки информации.
 

Любой из нас, начиная  с раннего детства, многократно  сталкивался  с «базами данных». Это – всевозможные справочники, энциклопедии. Записная книжка – это тоже «база данных», которая есть у каждого из нас.

 Базы данных представляют собой информационные модели, содержащие данные об объектах и их свойствах. Базы данных хранят информацию о группах объектов с одинаковыми свойствами. Информация в базах данных хранится в упорядоченном виде (например, в записной книжке все записи упорядочены по алфавиту, в библиотечном каталоге – либо по алфавиту, либо по области знания). 

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

Существует несколько  различных типов баз данных: табличные, иерархические и сетевые.  
 

2. Табличные базы данных. 

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

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

Столбцы такой  таблицы называют полями; каждое поле характеризуется своим именем (названием  соответствующего свойства) и типом  данных, отражающих значения данного свойства. Поля Название и Тип процессора – текстовые, а Оперативная память – числовое. При этом каждое поле обладает  определенным набором свойств (размер, формат и др.). Так, для поля Оперативная память задан формат данных целое число.

Поле баз данных – это столбец таблицы, включающий в себя значения определенного свойства.

Строки таблицы  являются записями об объекте; эти записи разбиты на поля столбцами таблицы. Запись базы данных – это строка таблицы, которая содержит набор значений различных свойств объекта.

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

Пример  табличной базы данных:

Задание из ЕГЭ  A14 (базовый уровень, время – 2 мин) 

Тема:  Поиск  и сортировка информации в базах  данных.

Что нужно знать:

•    при  составлении условия отбора можно  использовать знаки отношений <, <= (меньше или равно), >, >= (больше или  равно), = (равно), <> (не равно)

•    последовательность выполнения логических операций в сложных  запросах: сначала выполняются отношения, затем – «И», потом – «ИЛИ»

•    для  изменения порядка выполнения операции используют скобки 
 

Пример задания: 

Результаты тестирования представлены в таблице:

Фамилия Пол Математика Русский язык Химия Информатика Биология
Аганян ж 82 56 46 32 70
Воронин м 43 62 45 74 23
Григорчук м 54 74 68 75 83
Роднина ж 71 63 56 82 79
Сергеенко ж 33 25 74 38 46
Черепанова ж 18 92 83 28 61

Сколько записей  в ней удовлетворяют условию  «Пол =’ж’ ИЛИ Химия > Биология»?

1)  5                          2) 2                                     3) 3                               4)  4

Решение:

1)      заданное сложное условие отбора  состоит из двух простых

У1: Пол =’ж’

У2: Химия > Биология

которые связаны  с помощью логической операции «ИЛИ»

2)      заметим, что столбцы «Фамилия»,  «Математика», «Русский язык» и  «Информатика» никак не влияют  на результат; уберем их из  таблицы и добавим два новых столбца, в которых будем отмечать, выполняются ли условия У1 и У2 для каждой строчки

3)      логическая операция «ИЛИ» означает  выполнение хотя бы одного  из двух условия (или обоих  одновременно), поэтому заданному  сложному условию удовлетворяют  все строки, где есть хотя бы один плюс; таких строк пять: 

Пол Химия Биология Пол =’ж’ Химия > Биология
ж 46 70 +  
м 45 23   +
м 68 83    
ж 56 79 +  
ж 74 46 + +
ж 83 61 + +
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  1. Иерархические базы данных.
 

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

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

Иерархической базой данных является Каталог папок  Windows, с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки мой компьютер, Мои документы, Сетевое окружение и Корзина, которые представляют собой потомство папки Рабочий стол, будучи между собой близнецами. В свою очередь, папка Мой компьютер – предок по отношению к папкам третьего уровня, папкам дисков (Диск 3,5(А:), С:, D:, E:, F:) и системным папкам (Принтеры, Панель управления и др.).

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

Содержание реестра  автоматически обновляется при  установке нового оборудования, инсталляции  программ и т.д. Для просмотра  редактирования реестраWindows в ручном режиме можно использовать специальную программу regedit.exe. Однако редактирование реестра нужно проводить крайне осторожно при условии понимания выполняемых действий. Неквалифицированное редактирование реестра может привести компьютер в неработоспособное состояние.

 Еще одним примером иерархической базы данных является база данных Доменная система имен подключенных к Интернету компьютеров. На верхнем уровне находится табличная база данных , содержащая перечень доменов верхнего уровня (всего 264). На втором уровне – табличные базы данных, содержащие перечень доменов второго уровня для каждого домена первого уровня.  На третьем уровне могут находиться табличные базы, содержащие перечень доменов третьего уровня для каждого домена второго уровня, и таблицы, содержащие IP-адреса компьютеров, находящихся в домене второго уровня.

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

 
 
 
 
 
 
 
 

4. Сетевые базы данных. 

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

Сетевой базой  данных фактически является Всемирная  паутина глобальной компьютерной сети Интернет. Гиперссылки связывают  между собой сотни миллионов  документов в единую распределенную сетевую базу данных. 
 

   
 
 
 
 
 
 
 

Сетевой базой  данных фактически является «всемирная паутина» глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую сетевую базу данных. Примером сетевой базы данных может служить таблица игр на чемпионате по футболу.

                                                                                         

                                                                                ЦСКА                         Спартак

   
 
 
 

                                                                         Локомотив                      Динамо 
 
 
 
 
 
 
 
 
 
 

5. Реляционные (табличные) базы данных.

 В  настоящее время предпочтение  отдается реляционным базам данных.

      Реляционная база данных содержит перечень объектов одного типа, т.е. объектов, имеющих  одинаковый набор свойств. Такую  базу данных удобно представлять в  виде двумерной таблицы: в каждой ее строке последовательно размещаются значения свойств одного из объектов; каждое значение свойства – в своем столбце, озаглавленном именем свойства, например таблица с данными о студентах.

      Запись  базы данных – это  строка таблицы, содержащая набор значений свойств, принадлежащих одному объекту.

      Поле  базы данных – это  столбец таблицы, содержащий значения определенного свойства.  

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

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

  • Имя поля – определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).
 
  • Тип поля – определяет тип данных, которые  могут содержаться в данном поле.
 
  • Размер  поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
 
  • Формат  поля – определяет способ формирования данных в ячейках, принадлежащих  полю.
 
  • Маска ввода  – определяет форму, в которой  вводятся данные в поле (средство автоматизации  ввода данных).
 
  • Подпись –  определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
 
  • Значение  по умолчанию – то значение, которое  вводится в ячейки поля автоматически (средство автоматизации ввода данных).
 
  • Условие на значение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).
 
  • Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение).
 
  • Обязательное  поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;
 
  • Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).
 
  • Индексированное поле – если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.
 

     Каждое  поле характеризуется своим именем (именем соответствующего свойства), например фамилия, и типом  данных представляющих значения данного свойства.

      Тип поля определяется типом данных, которые  оно содержит, он является одинаковым для всех записей. Так, в поле «Возраст» нельзя указать в одной записи значение 15, а в другой – 15 лет. Поля могут содержать следующие основные типы данных. 

   
  •  Примечание -  содержит большие текстовые  массивы.
 
  •  Графика  - содержит графические объекты: диаграмму, рисунок, фотографию.
  • Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
 
  • Поле Мемо – специальный тип данных для  хранения больших объемов текста (до 65535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда.
 
  • Числовой  – тип данных для хранения действительных чисел.
 
  • Дата/время – тип данных для хранения календарных дат и текущего времени.
 
  • Денежный  – тип данных для хранения денежных сумм. Теоретически, для их записи можно  было бы использоваться и полями числового  типа, но для денежных сумм есть некоторые  особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа.
 
  • Счетчик –  специальный тип данных для уникальных (не повторяющихся в поле) натуральных  чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей. Эти числа не могут быть изменены пользователем.
 
  • Логический  – тип для хранения логических данных (могут принимать только два  значения, например Да или Нет).
 
  • Поле объекта  OLE – специальный тип данных, предназначенный для хранения объектов OLE, например мультимедийных. Реально, конечно, такие объекты в таблице не хранятся. Как и в случае полей МЕМО, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (иначе работа с таблицами была бы чрезвычайно замедленной).
 
  • Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объектов в его окне.
 
  • Мастер  подстановок – это не специальный  тип данных. Это объект,  настройкой которого можно автоматизировать ввод  данных в поле так, чтобы не вводить  их вручную, а выбирать из раскрывающегося  списка.
 
 

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

Данные  о студентах 

Фамилия Возраст Группа Стипендия
Иванов 15 104 140р.
Петров  16 108 0р.
Сидоров 15 101 140р.
- - -
 

      Ключевое  поле -  это поле, значение которого однозначно определяет каждую запись в таблице. 
 
 

7. Системы управления базами данных (СУБД). 

Для создания баз  данных, а также выполнения операции поиска и сортировки данных предназначены специальные программы — системы управления базами данных (СУБД). 

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

8. Четыре основных требования, которым должна удовлетворять хорошо спроектированная база данных:

  1. Удовлетворять всем требованиям пользователей к содержимому базы данных.Поэтому перед проектированием необходимо провести исследования требований пользователей к функционированию баз данных.
  2. Гарантировать непротиворечивость и целостность данных.При проектировании таблиц нужно определить их атрибуты и некоторые правила, ограничивающие возможность ввода пользователем неверных значений. Для верификации данных перед непосредственной записью их в таблицу база данных должна осуществлять вызов правил модели данных и тем самым гарантировать сохранение целостности информации.
  3. Обеспечивать естественное, легкое для восприятия структурирование информации. Качественное построение базы делает запросы к базе более прозрачными и легкими для понимания; следовательно, снижается вероятность внесения некорректных данных и улучшается сопровождение базы.
  4. Удовлетворять требованиям пользователей к производительности базы данных.При больших объемах информации вопросы сохранения производительности начинают играть главную роль, сразу показывая все недочеты проектирования.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

9.

10.

 
 

 

 

 
 
 
 

 

 

 

 

 

 

 

Решение:

1) сумма  350, 0 вес 71,1

2) сумма  350, 0 вес 79,1             

3) сумма  347, 5 вес 78,2

4) сумма  350, 0 вес 79,5

Самый большой вес у троих – 350 , но самый маленький  собственный вес у первого.

Верный  ответ: 1).