Ключевые элементы данных. Назначение и типы ключей. Типы отношений. Построение отношений

Отношения между таблицами Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных. Отношения между таблицами базы данных BIBLIO. Отношения между таблицами базы данных BIBLIO.

2015-01-19

31.46 KB

1 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Лекция 3

Ключевые элементы данных. Назначение и типы ключей. Типы отношений. Построение отношений.

Отношения между таблицами

Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных.

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

Отношения между таблицами базы данных BIBLIO.MDB показаны на рис.1.9.


Рис.1.9. Отношения между таблицами базы данных BIBLIO.MDB.

Отношение один-к-одному

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

Примером такого отношения может служить отношение между таблицами. Таблица AUTHORS (Авторы) рассмотрена выше (рис. 1.5 и 1.6) и содержит краткую информацию о авторах (ФИО и год рождения). Таблица PERSON (Личность) содержит персональную информацию о авторах (домашний адрес, телефон, образование и др.) Структура таблицы PERSON показана на рис.1.10. Следует отметить, что в базе данных BIBLIO.MDB никакой таблицы PERSON нет и мы упоминаем о ней только как о иллюстрации отношения между таблицами - один-к-одному.


Рис.1.10. Структура таблицы PERSON

Между таблицами AUTHORS и PERSON существует отношение один-к-одному, так как одна запись, идентифицирующая автора, однозначно соответствует только одной записи в таблице PERSON, содержащей персональные данные об авторе.

Связь между таблицами определяется с помощью совпадающих полей: Au_ID в таблице AUTHORS и в таблице PERSON.

Отношение один-ко-многим

Хорошим примером отношения между таблицами один-ко-многим является отношение между авторами и названиями книг (таблицы AUTHORS и TITLES), так как каждый автор может иметь отношение к созданию нескольких книг. Связь между таблицами AUTHORS и TITLES осуществляется с помощью совпадающих полей Au_ID в обеих таблицах.

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

Отношение много-к-одному

Отношение много-к-одному полностью аналогично рассмотренному выше отношению один-ко-многим.

Отношение много-ко-многим

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

Для удобства работы с таблицами, имеющими отношение много-ко-многим, обычно в базу данных добавляют еще одну таблицу, которая находится в отношении один-ко-многим и много-к-одному к соответствующим таблицам. В случае базы данных BIBLIO.MDB такой таблицей является TITLE AUTHOR.

Ключи и индексы

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

Первичный ключ однозначно определяет запись в таблице. В примере с базой данных BIBLIO.MDB таблицы PUBLISHERS, AUTHORS и TITLES имеют первичные ключи PubID, Au_ID и ISBN соответственно. Таблица TITLES также имеет два внешних ключа PubID и Au_ID для связи с таблицами PUBLISHERS и AUTHORS. Таким образом, первичный ключ однозначно определяет запись в таблице, в то время как внешний ключ используется для связи с первичным ключом другой таблицы.

Ключевой поле может иметь определенный смысл, как например ключ ISBN в таблице TITLES. Однако, очень часто ключевое поле не несет никакой смысловой нагрузки и является просто идентификатором объекта в таблице. Во  многих случаях удобно использовать в качестве ключа поле счетчика (Counter field). При этом вся ответственность по поддержанию уникальности ключевого поля снимается с пользователя и перекладывается на процессор баз данных. Поле счетчика представляет собой четырехбайтовое целое число (Long) и автоматически увеличивается на единицу при добавлении пользователем новой записи в таблицу.

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

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

Индекс представляет собой таблицу, которая содержит ключевые значения для каждой записи в таблице данных и записанные в порядке, требуемом для пользователя. Ключевые значения определяются на основе одного или нескольких полей таблицы. Кроме того, индекс содержит уникальные ссылки на соответствующие записи в таблице. На рис.1.12 показан фрагмент таблицы CUSTOMERS, содержащей информацию о покупателях, и индекс IDX_NAME, построенный на основе поля Name таблицы CUSTOMERS. Индекс IDX_NAME содержит значения ключевого поля Name, упорядоченные в алфавитном порядке, и ссылки на соответствующие записи в таблице CUSTOMERS.


Рис.1.12. Связь между таблицей и индексом.

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

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

При разработке приложений, работающих с базами данных, наиболее широко используются простые индексы. Простые индексы используют значения одного поля таблицы. Примером простого индекса в базе данных BIBLIO.MDB может служить код ISBN, идентификатор автора Au_ID или идентификатор издательства PubID.

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



2761. Пользовательские типы данных 25.88 KB   Например бывает удобным совместить в одной переменной сразу ряд однотипных данных или же предусмотреть хранение данных разных типов например строк и чисел. К счастью в Object Pscl имеется возможность создавать собственные типы данных на основе уже имеющихся совмещая их или комбинируя. Например для создания упорядоченного списка однотипных данных используют массивы rrys а для объединения нескольких типов в один записи records. 2769. Перечисляемые типы данных 15.34 KB   Type TDirection = North South Est West; На базе типа TDirection можно объявить переменную Direction и присвоить ей значение: Vr Direction: TDirection; begin Direction := North; end. На самом деле за идентификаторами значений перечисляемого типа стоят целочисленные константы. Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0 второе 1 и т. 5992. Основы работы с MathCAD. Математические выражения. Типы данных 494.07 KB   Функции MthCD – это мощная и в то же время простая универсальная среда для решения задач в различных отраслях науки и техники финансов и экономики физики и астрономии математики и статистики MthCD остается единственной системой в которой описание решения математических задач задается с помощью привычных математических формул и знаков. MthCD позволяет выполнять как численные так и аналитические символьные вычисления имеет чрезвычайно удобный математикоориентированный интерфейс и прекрасные средства научной графики. Система MthCD... 10950. Количественные методы ситуационного анализа: опрос, панель, эксперимент. Общая характеристика методов опроса. Разработка форм сбора данных. Типы вопросов и шкал. Составление анкет 11.7 KB   Опрос может быть: структуризированный когда все опрашиваемые отвечают на одни и те же вопросы неструктуризированный когда интервьюер задает вопросы в зависимости от полученных ответов. Достоинства: Стандартизация вопросов задаваемых всем респондентам с одинаковыми вариантами ответов на них. Формализованный опрос может быть реализован в различных формах: личная беседа интервью; телефонный опрос; рассылка анкет в виде почтовой или Интернет рассылки При формализованном интервью имеется конкретная схема проведения опроса обычно это... 9099. СУБД MS Access. Назначение, функциональные возможности. Построение простых реляционных таблиц 343.83 KB   Итак на предыдущей лекции рассмотрены основные принципы фактографических ИС: структурирование данных и построение двумерных таблиц; основы реляционного подхода основы алгебры логики и принципы поиска информации. Создать новую базу данных файл .MDB открыть существующую базу данных файл. ccess – многооконное приложение однако в любой момент может быть открыто только одна база данных. 17888. Типы логики 25.95 KB   Многие положения гипотезы и выводы логики далеко не так легко воспринимаются как скажем описания раннего утра или картинки из жизни народов. Целью работы является рассмотреть типы логики. Из цели можно выявить следующие задачи: - изучить историю появления логики; - рассмотреть индуктивную дедуктивную и диалектическую логики в экономической теории. Основная часть История возникновения логики В качестве самостоятельной науки логики была разработана более двух тысяч лет назад в IV в. 2465. Типы цивилизаций 15.61 KB   Основным принципом космогенной цивилизации является принцип традиционализма – принцип преобладания традиций над новациями. Мир с точки зрения космогенной цивилизации рассматривается как космос. Это является главной характеристикой космогенной цивилизации. Из вышесказанного вытекает важная характеристика космогенной цивилизации – это крайне низкий темп социального развития. 1748. Типы правопонимания 21.59 KB   За время своего мноковекового существования юридическая наука сформировала различные образы права различные его концепции и толкования. Тип правопонимания – это определенный образ права характеризуемый совокупностью наиболее общих теоретических признаков права и наиболее общих признаков практического ценностного к нему отношения Иными словами это определенное направление в познании сущности и социального назначения права. В разных частях света в группах государств или отдельно взятой стране исторически складывалась своя система права... 6754. Исторические типы философии 96.59 KB   Генезис философии. Без обращения к историкофилософской тематике ни один из разделов философии не способен решать свои проблемы. История философии является школой теоретического мышления поскольку для развития последнего не существует до сих пор никакого иного средства кроме изучения всей предшествующей философии Ф. 3738. Типы экономических систем 6.18 KB   Классификация типов национальных экономик позволяет идентифицировать их хозяйственный механизм, адекватный уровню развития страны, ее конкурентным преимуществам и национальным угрозам.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.