База данных - большая, специально организованная совокупность данных.
База данных помогает систематизировать и хранить информацию из определенной предметной области, облегчает доступ к данным, поиск и предоставление необходимых сведений.
Информационно-поисковая система – это система, где хранится информация, из которой по требованию пользователя выдается нужная информация, поиск которой осуществляется либо вручную, либо автоматически (определение записать в тетрадь).
Информационно-поисковая система состоит из двух частей:
База данных - большая, специально организованная совокупность данных;
СУБД - программа, позволяющая оперировать этими данными.
Сама по себе БД содержит только информацию – «Информационный склад» –и не может обслуживать запросы пользователя на поиск и обработку информации. Обслуживание пользователя осуществляет СИСТЕМА УПРАВЛЕНИЯ БАЗОЙ ДАННЫХ
СУБД – это ПО, которое позволяет создавать БД, обновлять и дополнять информацию, обеспечивать гибкий доступ к информации. (записать в тетрадь).
СУБД создает на экране компьютера определенную среду для работы пользователя (интерфейс), и имеет определенные режимы работы и систему команд. Именно на основе СУБД создаются и функционируют информационно-поисковые системы(WWW).
БД классифицируются: по характеру хранимой информации, по способу хранения данных, по структуре организации данных
1. по характеру хранимой информации
а) фактографические (краткая информация в одном формате: картотека)
б) документальная (всевозможные документы – тексты, графика, видео, звук и т. д.: архив)
2. по способу хранения данных
а) централизованные (вся информация хранится на одном компьютере – на сервере)
|
б) распределенные (информация хранится в локальной или глобальной сети)
3. по структуре организации данных
а) реляционная – табличная (используется наиболее часто и является универсальным)
б) иерархическая
в) сетевая. (записать в тетрадь).
1. Иерархические. Существует строгая подчиненность элементов: один главный, остальные подчиненные. Например, система каталогов на диске.
2. Сетевая БД более гибкая: нет явно выраженного главного элемента и в ней существует возможность установления горизонтальных связей. Например, организация информации в Интернете (WWW).
3. Реляционная СУБД. Реляционной (от английского “relation”- отношение) называется БД, которая содержит информацию, организованную в виде прямоугольной таблицы.
Задание. На экране (или раздаточный материал) приведена некоторая совокупность данных. Какую полезную для вас информацию вы можете извлечь из нее?
1, 3, 5; ТУ-154; Тюмень; 4, 7; Москва; 8-40; АН-24; Ижевск; 16-20; ТУ-134;320; 308; 3107; 17-35; 1, 3, 5, 7.
В этой совокупности данных, конечно, можно понять, что речь идет о вылетах самолетов, но в какой день, в какое время и т. д. узнать невозможно. Если же эти данные структурировать, то получим полную информацию о вылетах самолетов.
Рассматриваем таблицу
Аэропорт назначения | Номер рейса | Тип самолета | Дни отправления | Время Отправления |
Москва | ТУ-154 | 1,3,5 | 16-20 | |
Ижевск | АН-24 | 4,7 | 17-35 | |
Тюмень | Ту-134 | 1,3,5,7 | 8-40 |
Реляционная модель данных
Итак, целью информационной системы является обработка данных об объектах реального мира, с учетом связей между объектами. В теории БД данные часто называют атрибутами, а объекты — сущностями. Объект, атрибут и связь — фундаментальные понятия И.С.
|
Объект (или сущность) — это нечто существующее и различимое, то есть объектом можно назвать то «нечто», для которого существуют название и способ отличать один подобный объект от другого. Например, каждая школа — это объект. Объектами являются также человек, класс в школе, фирма, сплав, химическое соединение и т. д. Объектами могут быть не только материальные предметы, но и более абстрактные понятия, отражающие реальный мир. Например, события, регионы, произведения искусства; книги (не как полиграфическая продукция, а как произведения), театральные постановки, кинофильмы; правовые нормы, философские теории и проч.
Атрибут (или данное) — это некоторый показатель, который характеризует некий объект и принимает для конкретного экземпляра объекта некоторое числовое, текстовое или иное значение. Информационная система оперирует наборами объектов, спроектированными применительно к данной предметной области, используя при этом конкретные значения атрибутов (данных) тех или иных объектах. Например, возьмем в качестве набора объектов классы в школе. Число учеников в классе — это данное, которое принимает числовое значение (у одного класса 28, у другого— 32). Название класса — это данное, принимающее текстовое значение (у одного — 10А, у другого — 9Б и т. д.).
Развитие реляционных баз данных началось в конце 60-х годов, когда появились первые работы, в которых обсуждались; возможности использования при проектировании баз данных привычных и естественных способов представления данных — так называемых табличных даталогических моделей.
|
Основоположником теории реляционных баз данных считается сотрудник фирмы IBM доктор Э. Кодд, опубликовавший 6 (июня 1970 г. статью A Relational Model of Data for Large-Shared Data Banks (Реляционная модель данных для больших коллективных банков данных). В этой статье впервые был использован термин «реляционная модель данных. Теория реляционных баз данных, разработанная в 70-х годах в США доктором Э. Коддом, имеет под собой мощную математическую основу, описывающую правила эффективной организации данных. Разработанная Э. Коддом теоретическая база стала основой для разработки теории проектирования баз данных.
Э. Кодд, будучи математиком по образованию, предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он доказал, что любой набор данных можно представить в виде двумерных таблиц особого вида, известных в математике как «отношения».
Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами.
Таблица состоит из столбцов (полей) и строк (записей); имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира (сущность), а каждая ее строка— конкретный объект. Каждый столбец таблицы — это совокупность значений конкретного атрибута объекта.
Реляционные базы данных
Реляционная база данных — это совокупность отношений, содержащих всю информацию, которая должна храниться в базе данных. То есть база данных представляет набор таблиц, необходимых для хранения всех данных. Таблицы реляционной базы данных логически связаны между собой. Требования к проектированию реляционной базы данных в общем виде можно свести к нескольким правилам.
- Каждая таблица имеет уникальное в базе данных имя и состоит из однотипных строк.
- Каждая таблица состоит из фиксированного числа столбцов и значений. В одном столбце строки не может быть сохранено более одного значения. Например, если есть таблица с информацией об авторе, дате издания, тираже и т. д., то в столбце с именем автора не может храниться более одной фамилии. Если книга написана двумя и более авторами, придется использовать дополнительные таблицы.
- Ни в какой момент времени в таблице не найдется двух строк, дублирующих друг друга. Строки должны отличаться хотя бы одним значением, чтобы была возможность однозначно идентифицировать любую строку таблицы.
- Каждому столбцу присваивается уникальное в пределах таблицы имя; для него устанавливается конкретный тип данных, чтобы в этом столбце размещались однородные значения (даты, фамилии, телефоны, денежные суммы и т. д.).
- Полное информационное содержание базы данных представляется в виде явных значений самих данных, и такой метод представления является единственным. Например, связь между таблицами осуществляется на основе хранимых в соответствующих столбцах данных, а не на основе каких-либо указателей, искусственно определяющих связи.
- При обработке данных можно свободно обращаться к любой строке или любому столбцу таблицы. Значения, хранимые в таблице, не накладывают никаких ограничений на очередность обращения к данным.
Реляционная база данных — база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение).
Отношение — математическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы.
Почему база данных, составленная из таких таблиц, называется реляционной? Потому, что отношение - relation - математический термин для обозначения неупорядоченной совокупности однотипных записей или таблиц определенного специфического вида.
Реляционные системы берут свое начало в математической теории множеств. Они были предложены в конце 1968 года доктором Э.Ф. Коддом из компании IBM, который первым осознал, что можно использовать математику для придания надежной основы и строгости области управления базами данных.
Нечеткость многих терминов, используемых в сфере обработки данных, заставила Э.Ф. Кодда отказаться от них и предложить новые или дать более точные определения существующим. Так, он не мог использовать широко распространенный термин "запись", который в различных ситуациях может означать экземпляр записи, либо тип записей, запись в стиле Кобола (которая допускает повторяющиеся группы) или плоскую запись (которая их не допускает), логическую запись или физическую запись, хранимую запись или виртуальную запись и т.д. Вместо этого он использовал термин " кортеж длины n " или просто " кортеж ", которому дал точное определение.
В соответствующей литературе можно подробно познакомиться с терминологией реляционных баз данных. В технологии баз данных допустимо использовать неформальные эквиваленты терминов реляционной теории: таблица для отношения; строка или запись для кортежа; столбец или поле для атрибута.
Поскольку кортежи в отношении не упорядочены, необходим атрибут (или их набор) для уникальной идентификации каждого кортежа.
Такой атрибут (или их набор) называется первичным ключом (primary key). Первичный ключ любой таблицы обязан содержать уникальные непустые значения для каждой строки.
Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа.
Такая функция может быть значением одного из атрибутов (простой ключ), задаваться алгебраическим выражением, включающим значения нескольких атрибутов (составной ключ). Это означает, что данные в строках каждого из столбцов составного ключа могут повторяться, но комбинация данных каждой строки этих столбцов является уникальной.
Например, в таблице Студенты есть столбцы Фамилия и Год рождения. В каждом из столбцов есть некоторые повторяющиеся данные, т.е. одинаковые фамилии и одинаковые года рождения. Но если студенты, имеющие одинаковые фамилии, имеют разные года рождения, то эти столбцы можно использовать в качестве составного ключа. Как правило, ключ является уникальным, т.е. каждый кортеж определяется значением ключа однозначно, но иногда используют и неуникальные ключи (ключи с повторениями).
В локализованной (русифицированной) версии Access вводится термин ключевое поле, которое можно трактовать как первичный ключ.
В Access можно выделить три типа ключевых полей:
− простой ключ;
− составной ключ;
− внешний ключ.
Одно из важнейших достоинств реляционных баз данных состоит в том, что вы можете хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных.
Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов.
Поясним это на примере. Допустим, вам в базе надо хранить данные о студентах (фамилия, изучаемая дисциплина) и преподавателях (фамилия, номер кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией студента, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избыточность данных. А если хранить данные о студенте в одной таблице, о
преподавателе — в другой и установить связь между полями «Читаемая дисциплина»
— «Изучаемая дисциплина» (фактически это одинаковые поля), то избыточность хранимых данных многократно уменьшится без ущерба для логической организации информации.
В Access можно задать три вида связей между таблицами:
− один-ко-многим;
− многие-ко-многим;
− один-к-одному.
Связь Один-ко-многим — наиболее часто используемый тип связи между таблицами.
В такой связи каждой записи в таблице А может соответствовать несколько записей в таблице В (поля с этими записями называют внешними ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.
При связе Многие-ко-многим одной записи в таблице А может соответствовать несколько записей в таблице В, а одной записи в таблице В — несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, одно из которых является общим с таблицей А, а другое — общим с таблицей В.
При связе Один-к-одному запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу.
Связь с отношением Один-к-одному применяют для разделения очень широких таблиц, для отделения части таблицы в целях ее защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Тип создаваемой связи зависит от полей, для которых определяется связь:
• связь Один-ко-многим создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.е. значения в нем не повторяются;
• связь Один-к-одному создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;
• связь Многие-ко-многим фактически представляет две связи типа один-ко- многим через третью таблицу, ключ которой состоит по крайней мере из двух полей, общих для двух других таблиц.
1.1. Целостность данных
Целостность данных означает систему правил, используемых в СУБД Access для поддержания связей между записями в связанных таблицах (таблиц, объединенных с помощью связи), а также обеспечивает защиту от случайного удаления или изменения связанных данных.
Контролировать целостность данных можно, если выполнены следующие
условия:
• связанное поле (поле, посредством которого осуществляется связь) одной таблицы является ключевым полем или имеет уникальный индекс;
• связанные поля имеют один тип данных. Здесь существует исключение. Поле счетчика может быть связано с числовым полем, если оно имеет тип Длинное целое;
• обе таблицы принадлежат одной базе данных Access. Если таблицы являются связанными, то они должны быть таблицами Access.
Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.