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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


реферат Понятие базы данных

Информация:

Тип работы: реферат. Добавлен: 22.09.2012. Сдан: 2011. Страниц: 16. Уникальность по antiplagiat.ru: < 30%

Описание (план):


     СОДЕРЖАНИЕ 

Введение 3   
1 Базы и банки данных 2 Типы, структуры и модели данных
3 Отношения  на множествах
4  Реляционные  и объектно-ориентированные базы  данных
5  Проектирование  баз данных
6  Сортировка, поиск, фильтрация данных
7  Запросы  к базе данных
8  Разработка  отчетов
9  Базы  знаний
10 Компьютерные  сети
11 Глобальная  сеть Интернет
12 Службы  сети Интернет
13 Методы  и средства поиска информации  в Интернет
14 Деловые  Интернет-технологии
5 7
9
13
16
19
25
28
30
Заключение Список  использованных источников 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     Введение 

     Информационное  обеспечение (ИО) - совокупность единой системы классификации и кодирования информации, унифицированных систем документации, схем информационных потоков, циркулирующих в организации, методология построения баз данных.            
       Данная подсистема предназначена  для своевременного представления  информации, принятия управленческих  решений.
     ИО  автоматизированных информационных систем состоит из внемашинного (информация, которая воспринимается человеком  без каких-либо технических средств) и внутримашинного ИО (совокупность всех данных, записанных на машинных носителях, сгруппированных по определенным признакам).
     Внемашинное ИО можно классифицировать иерархически: документы группируются по дате создания документа, затем в своих группах  по предприятиям и т.д. Плюсы такого подхода: простота построения, использование независимых классификационных признаков в различных ветвях иерархической структуры. Минусы - жесткая структура: сложно ввести изменения, невозможность группировать объекты по заранее не предусмотренным сочетаниям признаков.
     Основа  внутримашинного ИО - информационная база. Это совокупность всех данных, подлежащих накоплению, хранению, поиску, преобразованию, выдаче в установленном порядке, а также использования для организации общения человека с ЭВМ.
     Требования  при формировании массивов в информационной базе: полное отражение состояния  объекта; включение расчетных данных из первичных массивов; рациональное построение базы; минимизация времени  на поиск данных, использование эффективных технических носителей; обеспечение надежности хранения; обеспечение своевременности обновления и наращивания массивов.
     Информационное  обеспечение ИС является средством  для решения следующих задач:
     - однозначного и экономичного представления информации в системе (на основе кодирования объектов);
     - организации процедур анализа  и обработки информации с учетом  характера связей между объектами  (на основе классификации объектов);
     - организации взаимодействия пользователей  с системой (на основе экранных форм ввода-вывода данных);
     - обеспечения эффективного использования  информации в контуре управления  деятельностью объекта автоматизации  (на основе унифицированной системы  документации).
     Информационное  обеспечение ИС можно определить как совокупность единой системы классификации, унифицированной системы документации и информационной базы.
     Компонентами (электронного) информационного хранилища  могут являться:
     - база данных;
     - совокупность файлов в файловой  структуре.
     База  данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.
     Неотделимой частью современной цивилизации  стал Интернет. «Сетевое поколение» –  это настоящий социо-культурный феномен наших дней. Для его  представителей Интернет давно стал привычным и удобным спутником  жизни. Человечество вступает в новый – информационный – этап своего развития, и сетевые технологии играют в нем огромную роль.
     Таким образом, целью данного реферата является изучение баз и банков данных, глобальной сети Интернет.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     1 Понятие базы и банка данных 

     Развитие  вычислительной техники и появление  емких запоминающих устройств прямого  доступа предопределило интенсивное  развитие автоматических и автоматизированных систем разного назначения и масштаба, в первую очередь заметное в области бизнес-приложений. Такие системы работают с большими объемами информации.
     Другими направлениями стали, с одной  стороны, системы управления физическими  экспериментами, обеспечивающими сверхоперативную обработку в реальном масштабе времени  огромных потоков данных от датчиков, а с другой – автоматизированные библиотечные информационно-поисковые системы. Это и привело к появлению новой информационной технологии интегрированного хранения и обработки данных – концепции баз данных, в основе которой лежит механизм предоставления обрабатывающей программе из всех хранимых данных только тех, которые ей необходимы, и в форме, требуемой именно этой программе.
     Банк  данных (БнД) - это система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных.
     Базы  данных (БД) - это именованная совокупность данных, отображающая состояние объектов и их отношения в рассматриваемой  предметной области. Характерной чертой баз данных является постоянство: данные постоянно накапливаются и используются; состав и структура данных, необходимы для решения тех или иных прикладных задач, обычно постоянны и стабильны во времени; отдельные или даже все элементы данных могут меняться – но и это есть проявления постоянства – постоянная актуальность.
     Система управления базами данных (СУБД) – это  совокупность языковых и программных  средств, предназначенных для создания, ведения и совместного использования  БД многими пользователями.
     Иногда  в составе банка данных выделяют архивы. Основанием для этого является особый режим использования данных, когда только часть данных находится  под оперативным управлением  СУБД. Все остальные данные обычно располагаются на носителях, оперативно не управляемых СУБД. Одни и те же данные в разные моменты времени могут входить как в базы данных, так и в архивы. Банки данных могут не иметь архивов, но если они есть, то состав банка данных может входить и система управления архивами.
     Эффективное управление внешней памятью являются основной функцией СУБД. Эти обычно специализированные средства настолько  важны с точки зрения эффективности, что при их отсутствии система  просто не сможет выполнять некоторые  задачи уже по тому, что их выполнение будет занимать слишком много времени. При этом ни одна из таких специализированных функций, как построение индексов, буферизация данных, организация доступа и оптимизация запросов, не является видимой для пользователя и обеспечивает независимость между логическим и физическим уровнями системы: прикладной программист не должен писать программы индексирования, распределять память на диске и т. д.
     Развитие  теории и практики создания информационных систем, основанных на концепции баз  данных, создание унифицированных методов и средств организации и поиска данных позволяют хранить и обрабатывать информацию о все более сложных объектах и их взаимосвязях, обеспечивая многоаспектные информационные потребности разных пользователей. Основные требования, предъявляемые к банкам данных, можно сформулировать так:
     Многократное  использование данных: пользователи должны иметь возможность использовать данные различным образом.
     Простота: пользователи должны иметь возможность  легко узнать и понять, какие данные имеются в их распоряжении.
     Легкость  использования: пользователи должны иметь  возможность осуществлять (процедурно) простой доступ к данным, при этом все сложности доступа к данным должны быть скрыты в самой системе  управления базами данных.
     Гибкость  использования: обращение к данным или их поиск должны осуществляться с помощью различных методов доступа.
     Быстрая обработка запросов на данные: запросы  на данные, должны обрабатываться с  помощью высокоуровневого языка  запросов, а не только прикладными  программами, написанными с целью обработки конкретных запросов.
     Язык  взаимодействия конечных пользователей  с системой должен обеспечивать конечным пользователям возможность получения  данных без использования прикладных программ.
     База  данных – это основа для будущего наращивания прикладных программ: базы данных должны обеспечивать возможность быстрой и дешевой разработки новых приложений.
     Сохранение  затрат умственного труда: существующие программы и логические структуры  данных не должны переделываться при  внесении изменений в базу данных.
     Наличие интерфейса прикладного программирования: прикладные программы должны иметь  возможность просто и эффективно выполнять запросы на данные; программы  должны быть изолированными от расположения файлов и способов адресации данных.
     Распределенная обработка данных: система должна функционировать в условиях вычислительных сетей и обеспечивать эффективный доступ пользователей к любым данным распределенной БД, размещенным в любой точке сети.
     Адаптивность  и расширяемость: база данных должна быть настраиваемой, причем настройка не должна вызывать перезаписи прикладных программ. Кроме того, поставляемый с СУБД набор предопределенных типов данных должен быть расширяемым – в системе должны иметься средства для определения новых типов и не должно быть различий в использовании системных и определенных пользователем типов.
     Контроль  за целостностью данных: система должна осуществлять контроль ошибок в данных и выполнять проверку взаимного  логического соответствия данных.
     Восстановление  данных после сбоев: автоматическое восстановление без потери данных транзакции. В случае аппаратных или программных сбоев система должна возвращаться к некоторому согласованному состоянию данных.
     Вспомогательные средства должны позволять разработчику или администратору базы данных предсказать и оптимизировать производительность системы.
     Автоматическая  реорганизация и перемещение: система  должна обеспечивать возможность перемещения  данных или автоматическую реорганизацию  физической структуры. 

     2 Типы, структуры и модели базы данных 

      БД  должна содержать все обрабатываемые в автоматизированной системе первичные  данные. При этом, не допускается  дублирование данных, т.е. описание любого объекта предметной области должно храниться только в одном месте. Каждая БД строится в соответствии с определенной моделью данных.
      Модель  данных - совокупность методов и средств, в соответствии с которыми данные структурируются и выполняются операции над этими данными.
     Модель  базы данныхвключает, по меньшей мере, три аспекта:
     1) аспект структуры: методы описания типов и логических структур данных в базе данных;
     2) аспект манипуляции: методы манипулирования данными;
     3) аспект целостности: методы описания и поддержки целостности базы данных.
     Аспект  структуры определяет, что из себя логически представляет база данных, аспект манипуляции определяет способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных, аспект целостности определяет средства описаний корректных состояний базы данных.
     Наиболее  распространены следующие модели данных: иерархическая, сетевая, реляционная, объектная.
     Чаще всего на практике используются реляционные БД. Однако, в последние несколько лет серьезно развиваются объектные БД, основная область применения которых сейчас – автоматизация проектно-конструкторской деятельности.
     В иерархической модели связи между  данными можно описать с помощью упорядоченного графа (или дерева). Для описания структуры (схемы) иерархической БД на некотором языке программирования используется тип данных «дерево». Тип «дерево» является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из типов «дерево» состоит из одного «корневого» типа и упорядоченного набора (возможно, пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись». Простая «запись» состоит из одного типа, например числового, а составная «запись» объединяет некоторую совокупность типов, например, целое, строку символов и указатель (ссылку).
     Корневым  называется тип, который имеет подчиненные типы и сам не является подтипом. Подчиненный тип (подтип) является потомком по отношению к типу, который выступает для него в роли предка (родителя). Потомки одного и того же типа являются близнецами по отношению друг к другу.
     В целом тип «дерево» представляет собой иерархически организованный набор типов «запись».
     Иерархическая БД представляет собой упорядоченную  совокупность экземпляров данных типа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи). Часто отношения  родства между типами переносят на отношения между самими записями. Поля записей хранят собственно числовые или символьные значения, составляющие основное содержание БД. Обход всех элементов иерархической БД обычно производится сверху вниз и слева направо.
     В иерархических СУБД может использоваться терминология, отличающаяся от приведенной. Так, в системе IMS понятию «запись» соответствует термин «сегмент», а под «записью БД» понимается вся совокупность записей, относящаяся к одному экземпляру типа «дерево». В иерархической модели данных автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя. Заметим, что аналогичная поддержка целостности по ссылкам между записями без связи «предок-потомок», не обеспечивается.
     Сетевой подход к организации данных является расширением иерархического подхода. В иерархических структурах запись-потомок  должна иметь в точности одного предка; в сетевой структуре данных у  потомка может иметься любое  число предков.
     Сетевая БД состоит из набора записей и  набора связей между этими записями, а если говорить более точно, из набора экземпляров каждого типа из заданного  в схеме БД набора типов записи и набора экземпляров каждого  типа из заданного набора типов связи.
     Тип связи определяется для двух типов  записи: предка и потомка. Экземпляр  типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
    каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
    каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
     Имеется (необязательная) возможность потребовать для конкретного типа связи отсутствие потомков, не участвующих ни в одном экземпляре этого типа связи (как в иерархической модели).
     Реляционная база данных — база данных, основанная на реляционной модели данных. Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Некорректное и нестрогое использование термина «таблица» вместо термина «отношение» нередко приводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими».
     Объектно-ориентированная база данных — база данных, в которой данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями. Результатом совмещения возможностей (особенностей) баз данных и возможностей объектно-ориентированных языков программирования являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет работать с объектами баз данных также, как с объектами в программировании на ООЯП. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.  

     3 Отношения на множествах 

     Наиболее  простая структура данных, используемая в математике, имеет место в  случае, когда между отдельными изолированными данными отсутствуют какие-либо взаимосвязи. Совокупность таких данных представляет собой множество. Понятие множества является неопределяемым понятием. Множество не обладает внутренней структурой. Множество можно представить себе как совокупность элементов, обладающих некоторым общим свойством. Для того чтобы некоторую совокупность элементов можно было назвать множеством, необходимо, чтобы выполнялись следующие условия:
     - должно существовать правило,  позволяющее определить, принадлежит  ли указанный элемент данной совокупности;
     - должно существовать правило,  позволяющее отличать элементы  друг от друга. (Это, в частности,  означает, что множество не может  содержать двух одинаковых элементов).
     Множества обычно обозначаются заглавными латинскими буквами. Если элемент принадлежит множеству , то это обозначается:
      - Если каждый элемент множества  является также и элементом  множества , то говорят, что  множество является подмножеством множества :
     - Подмножество множества называется  собственным подмножеством, если
     - Используя понятие множества  можно построить более сложные  и содержательные объекты. 
     Основными операциями над множествами являются объединение, пересечение и разность.
     Объединением  двух множеств называется новое множество
     Пересечением двух множеств называется новое множество
     Разностью (дополнением) двух множеств называется новое множество
     Одним из способов конструирования новых  объектов из уже имеющихся множеств является декартово произведение множеств.
     Пусть и - множества. Выражение вида , где и , называется упорядоченной парой. Равенство вида означает, что и . В общем случае, можно рассматривать упорядоченную n-ку из элементов . Упорядоченные n-ки иначе называют наборы или кортежи.
     Декартовым (прямым) произведением множеств называется множество упорядоченных n-ок (наборов, кортежей) вида
     Степенью  декартового произведения называется число множеств n, входящих в это декартово произведение.
     Подмножество  декартового произведения множеств называется отношением степени n (n-арным отношением). Мощность множества кортежей, входящих в отношение , называют мощностью отношения .
     Понятие отношения является очень важным не только с математической точки  зрения. Понятие отношения фактически лежит в основе всей реляционной  теории баз данных. Как будет показано ниже, отношения являются математическим аналогом таблиц. Сам термин "реляционное представление данных", впервые введенный Коддом, происходит от термина relation, понимаемом именно в смысле этого определения.
     Т.к. любое множество можно рассматривать как декартовое произведение степени 1, то любое подмножество, как и любое множество, можно считать отношением степени 1. Это не очень интересный пример, свидетельствующий лишь о том, что термины "отношение степени 1" и "подмножество" являются синонимами. Нетривиальность понятия отношения проявляется, когда степень отношения больше 1. Ключевыми здесь являются два момента:
     Во-первых, все элементы отношения есть однотипные кортежи. Однотипность кортежей позволяет считать их аналогами строк в простой таблице, т.е. в такой таблице, в которой все строки состоят из одинакового числа ячеек и в соответствующих ячейках содержатся одинаковые типы данных. Например, отношение, состоящее из трех следующих кортежей {(1, "Иванов", 1000), (2, "Петров", 2000), (3, "Сидоров", 3000)} можно считать таблицей, содержащей данные о сотрудниках и их зарплатах. Такая таблица будет иметь три строки и три колонки, причем в каждой колонке содержатся данные одного типа.
     В противоположность этому рассмотрим множество {(1), (1, 2), (1, 2, 3)}, состоящее из разнотипных числовых кортежей. Это множество не является отношением ни в , ни в , ни в . Из кортежей, входящих в это множество нельзя составить простую таблицу. Правда, можно считать это множество отношением степени 1 на множестве всех возможных числовых кортежей всех возможных степеней, но такая трактовка ничего нового, по сравнению с понятием подмножества, не дает.
     Во-вторых. За исключением крайнего случая, когда отношение есть само декартово произведение , отношение включает в себя не все возможные кортежи из декартового произведения. Это значит, что для каждого отношения имеется критерий, позволяющий определить, какие кортежи входят в отношение, а какие - нет. Этот критерий, по существу, определяет для нас смысл (семантику) отношения.
     Действительно, каждому отношению можно поставить  в соответствие некоторое логическое выражение , зависящее от n параметров (n-местный предикат) и определяющее, будет ли кортеж принадлежать отношению . Это логическое выражение называют предикатом отношения . Более точно, кортеж принадлежит отношению тогда и только тогда, когда предикат этого отношения принимает значение "истина". В свою очередь, каждый n-местный предикат задает некоторое n-арное отношение. Таким образом, существует взаимно однозначное соответствие между n-арными отношениями и n-местными предикатами.
     Если  это не вызывает путаницы, удобно и  отношение, и его предикат обозначать одной и той же буквой. Например, отношение имеет предикат.
     В математике большую роль играют бинарные отношения, т.е. отношения, заданные на декартовом произведении двух множеств .
     Отношение на множестве называется отношением эквивалентности, если оно обладает следующими свойствами: для всех (рефлексивность); если, то (симметричность); если и , то (транзитивность).
     Обычно  отношение эквивалентности обозначают знаком или и говорят, что оно (отношение) задано на множестве (а не на ). Условия 1-3 в таких обозначениях выглядят более естественно: для  всех (рефлексивность); если, то (симметричность); если и, то (транзитивность).
     Легко доказывается, что если на множестве  задано отношение эквивалентности, то множество разбивается на взаимно  непересекающиеся подмножества, состоящие  из эквивалентных друг другу элементов (классы эквивалентности).
     Отношение на множестве называется отношением порядка, если оно обладает следующими свойствами: для всех (рефлексивность); если и , то (антисимметричность); если и, то (транзитивность).
     Обычно  отношение порядка обозначают знаком. Если для двух элементов и выполняется, то говорят, что "предшествует" . Как и для отношения эквивалентности, условия 1-3 в таких обозначениях выглядят более естественно: для всех (рефлексивность); если и , то (антисимметричность); если и , то (транзитивность).
     Отношение на декартовом произведении двух множеств называется функциональным отношением, если оно обладает следующим свойством: если и , то (однозначность функции).
     Обычно, функциональное отношение обозначают в виде функциональной зависимости - тогда и только тогда, когда . Функциональные отношения (подмножества декартового произведения!) называют иначе графиком функции или графиком функциональной зависимости.
     Предикат  функционального отношения есть просто выражение функциональной зависимости .
     В математике n-арные отношения рассматриваются  относительно редко, в отличие от баз данных, где наиболее важными являются именно отношения, заданные на декартовом произведении более чем двух множеств.
     Введем  понятие транзитивного замыкания, связанное с бинарными отношениями,
     Пусть отношение задано на декартовом квадрате некоторого множества . Транзитивным замыканием отношения называется новое отношение , состоящее из кортежей , для которых выполняется: либо кортеж, либо найдется конечная последовательность элементов , такая, что все кортежи принадлежат отношению; очевидно, что.
     Таким образом, в базах данных мощности отношений конечны (число хранимых строк в таблицах всегда конечно). 
 
 

     4 Реляционные и объектно-ориентированные базы данных  

     Наиболее  распространенная трактовка реляционной  модели данных, по-видимому, принадлежит Дейту, который воспроизводит ее (с различными уточнениями) практически во всех своих книгах. Согласно Дейту реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части.
     В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение (nIN). Под нормализацией подразумевается то что все атрибуты отношения атомарны и нет двух различных атрибутов, имеющих одинаковый смысл (первая нормальная форма). По сути дела, в данном разделе мы рассматривали именно понятия и свойства структурной части реляционной модели.
     В манипуляционной части модели утверждаются два фундаментальных механизма  манипулирования реляционными БД - реляционная алгебра и реляционное  исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями), а второй - на классической логике предикатов первого порядка. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка БД: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление.
     Наконец, в целостной состовляющей реляционной  модели данных фиксируются два базовых  требования, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущностей. Объекту или сущности реального мира в реляционных БД соответствуют кортежи отношений. Конкретно требование состоит в том, что любой кортеж любого отношения должен быть отличим от любого другого кортежа этого отношения. Другими словами, любое отношение должно обладать первичным ключом.
     Второе  требование называется требованием целостности по ссылкам. При соблюдении нормализованности отношений сложные сущности реального мира представляются в реляционной БД в виде нескольких кортежей нескольких отношений.
     Требование  целостности по ссылкам, или требование внешнего ключа заключается в том, что для каждого значения внешнего ключа в ссылающемся отношении, должен найтись кортеж с таким же значением первичного ключа в отношении, на которое ведет ссылка, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать). В приведенном примере это означает, что если для сотрудника указан номер отдела, то этот отдел должен существовать.
     Ограничения целостности сущности и по ссылкам  должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением первичного ключа. Поддержание целостности по ссылкам несколько более сложная задача.
     При обновлении ссылающегося отношения (вставке  новых кортежей или модификации значения внешнего ключа в существующих кортежах) достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа. Но целостность необходимо поддерживать и при удалении кортежа из отношения, на которое ведет ссылка.
     Здесь существуют три подхода, каждый из которых поддерживает целостность по ссылкам. Первый подход заключается в том, что запрещается производить удаление кортежа, на который существуют ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа). Второй подход заключается в том, что при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным. Наконец, третий подход (каскадное удаление) состоит в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи. Современные СУБД позволяют использовать все три подхода.
     В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы. Между записями базы данных и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования.
     Стандартизованная объектно-ориентированной модель описана  в рекомендациях стандарта ODMG-93 (Object Database Management Group — группа управления  объектно-ориентированными базами данных). Реализовать в полном объеме  рекомендации ODMG-93 пока не удается. Для иллюстрации ключевых идей рассмотрим несколько упрощенную модель объектно-ориентированной БД.
     Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом (например, строковым — string) или типом, конструируемым пользователем (определяется как class).
     Значением свойства типа string является строка символов. Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов.
     Логическая  структура объектно-ориентированной  БД внешне похожа на структуру иерархической  БД. Основное отличие между ними состоит в методах манипулирования данными.
     Для выполнения действий над данными  в рассматриваемой модели БД применяются логические операции, усиленные объектно-ориентированными механизмами инкапсуляции, наследования и полиморфизма Ограниченно могут применяться операции, подобные командам SQL (например, для создания БД).
     Создание  и модификация БД сопровождается автоматическим формированием и последующей корректировкой индексов (индексных таблиц), содержащих информацию для быстрого поиска данных.
     Рассмотрим  кратко понятия инкапсуляции, наследования и полиморфизма применительно к объектно-ориентированной модели БД.
     Инкапсуляция  ограничивает область видимости имени свойства пределами того объекта, в котором оно определено.
     Наследование, наоборот, распространяет область видимости  свойства на всех потомков объекта. Если необходимо расширить действие механизма  наследования на объекты, не являющиеся непосредственными родственниками (например, между двумя потомками одного родителя), то в их общем предке определяется абстрактное свойство типа abs.
     Полиморфизм в объектно-ориентированных языках программирования означает способность  одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента.
     Поиск в объектно-ориентированной БД состоит  в выяснении сходства между объектом, задаваемым пользователем, и объектами, хранящимися в БД. Определяемый пользователем объект, называемый объектом-целью (свойство объекта имеет тип goal), в общем случае может представлять собой подмножество всей хранимой в БД иерархии объектов. Объект-цель, а также результат выполнения запроса могут храниться в самой базе. Основным достоинством объектно-ориентированной модели данных в сравнении с реляционной является возможность отображения информации о сложных взаимосвязях объектов. Объектно-ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.
     Недостатками  объектно-ориентированной модели являются высокая понятийная сложность, неудобство обработки данных и низкая скорость выполнения запросов.
     В 90-е годы существовали экспериментальные прототипы объектно-ориентированных систем управления базами данных. В настоящее время такие системы получили широкое распространение, в частности, к ним относятся следующие СУБД: РОЕТ (РОЕТ Software), Jasmine (Computer Associates), Versant (Versant Technologies), O2 (Ardent Software), ODB-Jupiter (научно-производственный центр «Интелтек Плюс»), а также Iris, Orion и Postgres. 

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

     Проектирование  БД – один из начальных и основных этапов создания новой автоматизированной системы. Результат проектирования - физическая модель БД, которая описывает  ее в терминах языка, принятого в конкретной СУБД. В свою очередь, процесс проектирования делится на следующие этапы:
     1. Анализ предметной области. Выявляются  объекты предметной области (сущности). Строится начальный вариант логической  модели. В терминах принятого  языка описываются сущности (категории объектов предметной области) и их атрибуты. Определяются первичные ключи и связи между сущностями предметной области.
     2. Преобразование связей многие-ко-многим.
     3. Нормализация логической модели  БД.
     4. Построение физической модели: определение имен, типов и/или доменов атрибутов.
     Следует заметить, что на практике процесс  проектирования может быть итеративным, т.е. возможен возврат с одного из этапов на любой предыдущий.
     На  первом этапе задача заключается в выявлении основных сущностей предметной области, их атрибутов и связей между ними, исходя из ее описания. Общепринятой методологии решения данной задачи нет (или таковая неизвестна автору). Известно только, что на основании только предварительного описания выявить все сущности, как правило, не удается. Поэтому предварительное описание должно быть уточнено. С этой целью производятся следующие действия по извлечению дополнительной информации:
     1. Анкетирование. Анкеты позволяют составить грубое представление о предметной области. Список вопросов должен быть ограничен 15-20. Вопросы должны позволить выявить основные входные и выходные потоки данных, и описываемые ими объекты.
     2. Сбор документов. Если к моменту начала разработки имеются документы, которые поступают в ИС или должны в ней рассчитываться, то они должны быть обязательно собраны.
     3. Интервьюирование необходимый метод сбора информации. Применяется для уточнения сведений, полученных на основе анкетирования и собранных документов. Интервьюирование является наиболее важной и сложной задачей, так как должно привести к выявлению всех «мелочей», без которых проектирование БД невозможно.
     Логическая  модель БД может строиться уже  на основе предварительного описания предметной области. По мере его уточнения, модель изменяется и совершенствуется. Сначала выявляются сущности, затем их атрибуты, затем определяются первичные ключи и затем связи.
     Второй  этап - преобразование связей многие-ко-многим. Данное преобразование осуществляется по следующему алгоритму:
     1. Создается новая сущность (сущность-ассоциация).
     2. Между связанными сущностями  и сущностью-ассоциацией устанавливаются  две идентифицирующие связи один-ко-многим (сущность-ассоциация выступает  в качестве подчиненной).
     3. Связь многие-ко-многим удаляется.
     Третий  этап - нормализация БД.
     Как уже говорилось выше, БД должна быть нормализована. Существует несколько нормальных форм БД. Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений.
     В теории реляционных БД обычно выделяется следующая последовательность нормальных форм:
     - первая нормальная форма (1NF);
     - вторая нормальная форма (2NF);
     - третья нормальная форма (3NF);
     - нормальная форма Бойса-Кодда  (BCNF);
     - четвертая нормальная форма (4NF);
     - пятая нормальная форма, или  нормальная форма проекции-соединения (5NF или PJ/NF).
     Основные  свойства нормальных форм:
     - каждая следующая нормальная  форма в некотором смысле лучше  предыдущей;
     - при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.
     В основе процесса нормализации лежит  метод декомпозиции отношения, находящегося в предыдущей нормальной форме, в  два или более отношения, удовлетворяющих  требованиям следующей нормальной формы.
     Предварительно  дадим несколько определений.
     1. Функциональная зависимость. 
     В отношении R атрибут Y функционально  зависит от атрибута X (X и Y могут  быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y.
     2. Полная функциональная зависимость 
     Функциональная  зависимость атрибута Y от атрибута X в отношении R называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.
     3. Транзитивная функциональная зависимость
     Функциональная  зависимость атрибута Y от атрибута X в отношении R называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости Z от Х и атрибута Y от Z и отсутствует функциональная зависимость атрибута X от Z.
     Отношение находится в первой нормальной форме (1NF) тогда, когда все атрибуты атомарны и отсутствуют повторяющиеся группы.
     Атомарность (неделимость) атрибутов определяется относительно рассматриваемой предметной области. Например, такое понятие  как адрес, включает в себя, как минимум, город, улицу, дом и т.д. В зависимости от предметной области адрес может быть представлен одним или большим числом атрибутов. Например, если адрес требуется только для отправки корреспонденции, то для него достаточно одного атрибута. Если же требуется анализировать количество адресатов в различных городах, то для адреса необходимо использовать два атрибута: город и городской адрес.
     Под повторяющейся группой подразумевается  набор атрибутов, имеющих одно и  тоже смысловое значение. Например, мы описываем сущность «организация» и знаем, что у любой организации, в принципе, может быть несколько телефонов. Если мы введем в сущность атрибуты «телефон 1», «телефон 2» и т.д., то они образуют повторяющуюся группу, и отношение станет ненормализованным. В данном случае необходимо создать сущность «телефон» и связать с ней сущность «организация» связью один-ко-многим.
     Отношение находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF, и каждый неключевой атрибут полностью зависит от первичного ключа (или от каждого ключа, если их несколько).
     Отношение находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа (или от какого-либо ключа, если их несколько).
     На  практике третья нормальная форма достаточна в большинстве случаев, и приведением  к третьей нормальной форме процесс  проектирования реляционной базы данных обычно заканчивается. Определения  остальных нормальных форм даны, например, в работе.
     Четвертый этап - построение физической модели БД.
     Физическая  модель БД имеет привязку с конкретной СУБД, выбранной для реализации ИС. Имена атрибутов и типы данных должны соответствовать правилам принятым в выбранной системе.
     В большинстве случаев правила  именования атрибутов соответствуют  синтаксису идентификаторов в языках программирования. Поэтому рекомендуется  давать англоязычные имена атрибутам, являющиеся переводом их имен с русского языка.
     Заметим, что в физической модели принята терминология, свойственная языку SQL. В ней сущности соответствует термин «таблица», а атрибуту - «поле» (таблицы).
     Типы  данных должны выбираться предельно  тщательно и в тесном сотрудничестве с заказчиками ИС. Рекомендуется  также произвести анализ данных на основе входных документов с целью четкого определения допустимых диапазонов значений. 

     6 Сортировка, поиск,  фильтрация данных 

     Сортировка  заключается в упорядочивании записей  по определенному полю в порядке  возрастания или убывания содержащихся в нем значений. Сортировку можно  выполнять и по нескольким полям. Например, при сортировке по двум полям  записи сначала упорядочиваются  по значениям первого поля, а затем группы записей с одинаковым значением первого поля сортируются по второму полю.
     Сортировка  наборов данных Table и Query выполняется  различными способами.
     Сортировка  наборов данных Table выполняется автоматически  по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей. Таким образом, сортировка возможна по полям, для которых создан индекс. Для сортировки по нескольким полям нужно создать индекс, включающий эти поля.
     Направление сортировки определяет параметр ixDescending текущего индекса, по умолчанию он выключен, и упорядочивание выполняется в порядке возрастания значений. Если для индекса признак ixDescending включен, то сортировка выполняется в порядке убывания значений.
     Поля, по которым сортируются записи, устанавливаются через свойство IndexName. При отсутствии сортировки этому свойству присваивается пустая строка. Для таблиц Paradox это означает сортировку по первому полю. Для таблиц dBase записи располагаются в порядке их поступления в файл таблицы.
     Список  полей, по которым выполняется сортировка, указывается в операнде ORDER BY. Порядок  полей в этом операнде определяет порядок сортировки: сначала записи упорядочиваются по значениям поля, указанного в этом списке первым, затем  записи, имеющие одинаковое значение первого поля, упорядочиваются по второму полю и т.д.
     Поля  в списке обозначаются именами или  номерами, которые соответствуют  номерам в списке полей после  слова SELECT. 
По умолчанию сортировка происходит в порядке возрастания значений полей. Для указания обратного порядка сортировки по какому-либо полю нужно указать после имени этого поля описатель DESC.

     Поиск записей
     Поиск — это нахождение записи, удовлетворяющей  определенным условиям, и возврат  значений ее полей с возможным  переходом на найденную запись. Отметим, что поиск можно вести по одним полям, а возвращать значения других полей. Составы полей для поиска и для возврата значений в общем случае не совпадают.
     При организации поиска записей важное значение имеет наличие индекса  для полей, по которым ведется поиск. Индексирование значительно повышает скорость обработки данных, кроме того, ряд методов может работать только с индексированными полями.
     К средствам поиска можно отнести методы FindFirst, FindLast, FindNext и FindPrior, осуществляющие переход на записи, удовлетворяющие условиям фильтра.
     Поиск в наборах данных
     Для поиска записей по полям служат методы Locate и Lookup, причем поля могут быть неиндексированными.
     Функция Locate (const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean ищет запись с заданными значениями полей. Если удовлетворяющие условиям поиска записи существуют, то указатель текущей записи устанавливается на первую из них. Если запись найдена, функция возвращает значение True, в противном случае — значение False. Список полей, по которым ведется поиск, задается в параметре KeyFields, поля разделяются точкой с запятой. Параметр KeyValues типа variant указывает значения полей для поиска. Если поиск ведется по одному полю, то параметр содержит одно значение, соответствующее типу поля, заданного для поиска.
     Параметр options позволяет задать значения, которые  обычно используются при поиске строк. Этот параметр принадлежит к множественному типу TLocateOptions и принимает комбинации следующих значений:
    1.locaseinsensitive —регистр букв не учитывается;
    2. loPartiaiKey — допускается частичное совпадение  значений.
     При поиске по нескольким полям в методе Locate параметр KeyValues является массивом значений типа variant, в котором содержится несколько элементов.
     Для приведения к типу вариантного массива  используется функция varArrayOf. Значения разделяются запятыми и заключаются  в квадратные скобки, порядок значений должен соответствовать порядку  полей параметра KeyFieids. Обычно при  разработке приложений пользователю предоставляется возможность влиять на процесс поиска с помощью управляющих элементов, расположенных на форме. При этом действия пользователя по управлению поиском в наборе данных мало чем отличаются от аналогичных действий при выполнении фильтрации.
     Для поиска в наборе данных также используется метод Lookup, который работает аналогично методу Locate. Функция Lookup (const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant осуществляет поиск записи, удовлетворяющей определенным условиям, но, в отличие от метода Locate, не перемещает указатель текущей записи на найденную запись, а считывает информацию из полей записи. Еще одно отличие между двумя методами заключается в том, что метод Lookup осуществляет поиск на точное соответствие значений для поиска и значений в полях записей с учетом регистра букв.
     Параметры KeyFields и KeyValues имеют такое же назначение, как и в методе Locate, и используются аналогичным образом.
     В параметре ResultFields через точку с  запятой перечисляются названия полей, значения которых будут получены в случае успешного поиска. Эти значения считываются из первой найденной записи, удовлетворяющей условиям поиска. Порядок перечисления полей в ResultFields может отличаться от порядка полей в наборе данных. Например, если набор данных имеет поля Code, Name, Salary И Note, то в ResultFields можно задать Salary и Name.
     В случае удачного поиска метод Lookup в  качестве результата возвращает значение типа variant, размерность которого зависит  от списка полей ResultFields. Если список содержит одно значение, то метод возвращает значение одного поля, если в списке задано несколько полей, то метод возвращает массив variant, число элементов которого совпадает с числом полей в списке ResultFields.
     При неудачном поиске метод Lookup возвращает значение Null. Для анализа такого результата можно использовать функцию VarlsNul (const V: Variant): Boolean, возвращающую значение True при значении параметра v, равном Null.
     Поиск по индексным полям
     Для набора данных Table имеются методы, позволяющие вести поиск записей только по индексным полям. Перед вызовом любого из этих методов следует установить в качестве текущего индекс, построенный по используемым для поиска полям. Методы поиска можно разделить на две группы, в первую из которых входят методы FindKey, SetKey, EditKey и GotoKey, предназначенные для поиска на точное соответствие, а другую образуют методы FindNearest, SetNearest, EditNearest и GotoNearest, допускающие только частичное совпадение заданных для поиска значений и значений полей записей.
     Метод FindKey (const KeyValues: array of const): Boolean выполняет  поиск в наборе данных Table записи, у которой значения полей совпадают  со значениями, указанными в параметре KeyValues. 
Список полей для поиска не задается, а берутся индексные поля в соответствии с текущим индексом. Если поиск завершился успешно, то найденная запись становится текущей, а метод возвращает значение True. При неудачном поиске указатель текущей записи не перемещается, а метод возвращает значение False.

     Если  заданным условиям поиска соответствует  несколько записей, то указатель  текущей записи устанавливается  на первую из них. Порядок сортировки и, соответственно, порядок расположения записей в наборе данных определяется текущим индексом, по которому и ведется поиск.
     Метод setKey переводит набор данных в  режим поиска записи dsSetKey, этот метод  вызывается один раз для текущего индекса. Впоследствии для перехода в режим поиска можно вызывать метод EditKey. Если набор данных находится  в режиме поиска, значения полей устанавливаются с помощью операторов присваивания. Метод GotoKey: Boolean выполняет собственно поиск записи, удовлетворяющей заданному условию. Использовать комбинацию названных методов менее удобно, чем метод FindKey.
     Метод FindNearest, в отличие от метода FindKey, производит поиск значений полей записей набора данных Table, которые только частично совпадают со значениями, заданными для поиска.
     Сравнение проводится, начиная с первого  стоящего в поле символа. Поиск по частичному совпадению можно применять к строкам или к данным других типов, например, целым. Поиск с помощью процедуры FindNearest (const KeyValues: array of const) всегда является успешным и перемещает указатель текущей записи на запись, в наибольшей степени отвечающую условиям поиска.
     Вместо  метода FindNearest можно использовать комбинацию методов SetNearest, EditNearest и GotoNearest, pабота c которыми аналогична работе с соответствующими методами поиска на точное соответствие значений полей.
     При поиске по нескольким полям текущего индекса используется свойство KeyFieidCount типа Boolean, указывающее, сколько полей индекса, начиная с первого, участвует в поиске. По умолчанию поиск осуществляется по всем полям текущего индекса.
     Фильтрация  записей
     Фильтрация  — это задание ограничений для записей, отбираемых в набор данных. Напомним, что набор данных представляет собой записи, выбранные из одной или нескольких таблиц. Состав записей в наборе данных в данный момент времени зависит от установленных ограничений, в том числе и от фильтров. Система Delphi дает возможность осуществлять фильтрации записей:
     1. по выражению;
     2. по диапазону.
     По  умолчанию фильтрация записей не ведется, и набор данных Table содержит все записи связанной с ним  таблицы БД, а в набор данных Query включаются все записи, удовлетворяющие SQL-запросу, содержащемуся в свойстве SQL.
     Фильтрация  похожа на SQL-запросы, но является менее  мощным средством. По сравнению с SQL-запросами  фильтрация менее эффективна, т. к. ограничивает количество записей, видимых в наборе.
     Фильтрация  по выражению
     При использовании фильтрации по выражению  набор данных ограничивается записями, удовлетворяющими выражению фильтра, задающему условия отбора записей.
     Достоинством  фильтрации по выражению является то, что она применима к любым  полям, в том числе к неиндексированным. В связи с тем, что в процессе отбора просматриваются все записи таблицы, фильтрация по выражению эффективна при небольшом количестве записей.
     Для задания выражения фильтра используется свойство Filter типа string. Фильтр представляет собой конструкцию, в состав которой могут входить следующие элементы:
    1. имена  полей таблиц;
    2. литералы;
    3. операции  сравнения;
    4. арифметические  операции;
    5. логические  операции;
    6. круглые  и квадратные скобки.
     Если  имя поля содержит пробелы, то его заключают в квадратные скобки, в противном случае квадратные скобки необязательны.
     Литерал представляет собой значение, заданное явно, например, число, строка |или символ. Отметим, что имена переменных в  выражении фильтра использовать нельзя. Если в фильтр требуется включить значение переменной или свойства какого-либо компонента, то это значение должно быть преобразовано в строковый тип.
     Операции  сравнения представляют собой обычные  для языка Pascal отношения >> => <=> >=и о.
     Арифметическими являются операции +, -, * и / (сложения, вычитания, умножения и деления, соответственно).
     В качестве логических операций можно  использовать AND, OR и NOT (логическое умножение, сложение и отрицание, соответственно).
     Круглые скобки применяются для изменения  порядка выполнения арифметиче ских и логических операций. Если выражение фильтра не позволяет сформировать сложный критерий фильтрации, то в дополнение к нему можно использовать обработчик события OnFilterRecord.
     Для активизации и деактивизации  фильтра применяется свойство Filter типа boolean. По умолчанию это свойство имеет значение False, и фильтрация выключена. При установке свойству Filtered значения True фильтрация включается, и в набор данных отбираются записи, которые удовлетворяют фильтру, записанному в свойстве Filter. Если выражение фильтра не задано (по умолчанию), то в набор данных попадают все записи. 
Параметры фильтрации задаются с помощью свойства FilterOptions типа TFilterOptions. Это свойство принадлежит к множественному типу и может принимать комбинации двух значений:

     1. focaseinsensitive — регистр букв не  учитывается, т. е. при задании  фильтра Post = 'Водитель' слова Водитель, ВОДИТЕЛЬ или водитель будут  восприняты как одинаковые. Значение focaseinsensitive рекомендуется отключать,  чтобы различать слова, написанные в различных регистрах.
     2. foNoPartiaicompare — выполняется проверка  на полное соответствие содержимого  поля и значения, заданного для  поиска.  
Обычно применяется для строк символов. Если известны только первые символы (или символ) строки, то нужно указать их в выражении фильтра, заменив остальные символы на звездочки * и выключив значение foNoPartiaicompare. Например, при выключенном значении foNoPartiaicompare для фильтра Post = ‘в*’ будут отобраны записи, у которых в поле Post содержатся значения водитель, вод., Вод-ль ИЛИ Врач.

и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.