logo
Информатика как фундаментальная наука и область

28.Основные понятия реляционной базы данных.

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

Таблица обладает следующими свойствами:

столбцам (полям) присвоены уникальные имена;

элементы каждого столбца имеют одинаковую природу, т.е. столбцы однородные;

в таблице нет одинаковых строк (записей), т.е. любые две строки отличаются хотя бы одним элементом (полем записи);

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

Реляционная БД обычно включает несколько таблиц. Связи между таблицами осуществляется с использованием ключей. Ключ – атрибут (поле) или совокупность атрибутов, значения которых однозначно определяют запись в таблице.

Преимущества хранения данных в РБД :

каждый элемент данных хранится только в одной таблице (экономия места);

внесение изменений упрощается, уменьшается риск ошибки (например, в написании фамилий);

наличие связей между таблицами ускоряет обработку взаимосвязанной информации;

ошибочные записи (с некорректными ссылками) должны автоматически исключаться.

Техническим возможностям персональных компьютеров в настоящее время лучше всего соответствуют реляционные СУБД.

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

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

Основными компонентами ИС являются :

собственно база данных, содержащая необходимую информацию и описание структуры хранимых данных;

система управления базой данных, выполняющая типовые процедуры управления данными;

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

29.Структурные элементы реляционной таблицы. Понятие ключевого поля.

На примере реляционной таблицы рассмотрим основные структурные элементы базы данных.

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

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

Для описания поля используются характеристики:

· имя поля (например, № личного дела, Фамилия);

· тип поля (например, символьный, дата);

· дополнительные характеристики (длина поля, формат, точность).

Например, поле Дата рождения может иметь тип «дата» и длину 8 (6 цифр и 2 точки, разделяющих в записи даты день, месяц и год).

3. Каждая строка таблицы называется записью. Запись логически объединяет все поля, описывающие один объект данных, например, все поля в первой строке вышеприведенной таблицы описывают данные об учащемся Петрове Иване Васильевиче 12.03.89 рождения, проживающем по адресу ул. Горького, 12-34, обучающемся в 4А классе, номер личного дела - П-69. Система нумерует записи по порядку: 1,2, ..., n, где n - общее число записей (строк) в таблице на данный момент. В отличие от количества полей (столбцов) в таблице количество записей в процессе эксплуатации БД может как угодно меняться (от нуля до миллионов). Количество полей, их имена и типы тоже можно изменить, но это уже особая операция, которая называется изменением макета таблицы.

3. В структуре записи файла указываются поля, значения которых являются простым ключом, которые идентифицируют экземпляр записи. Примером такого простого ключа в таблице Учащиеся является поле № личного дела, значение которого однозначно определяет один объект таблицы - одного учащегося, так как в таблице нет двух учащихся с одинаковым номером личного дела.

4. Каждое поле может входить в несколько таблиц (например, поле Фамилия может входить в таблицу Список занимающихся в театральном кружке)

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

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

30.Виды межтабличных связей. Варианты графического отображения.

Существует три типа межтабличных связей.

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

Рассмотрим базу данных, в которой учитываются заказы, включающую таблицы «Клиенты» и «Заказы». Клиент может разместить любое количество заказов. Следовательно, у любого клиента, представленного в таблице «Клиенты», может быть много заказов, представленных в таблице «Заказы». Поэтому связь между таблицами «Клиенты» и «Заказы» — это отношение «один-ко-многим».

Чтобы создать отношение «один-ко многим» в структуре базы данных, добавьте первичный ключ на стороне «один» в таблицу на стороне «многие» в виде дополнительного поля. В данном примере необходимо добавить новое поле — поле «Код» из таблицы «Клиенты» — в таблицу «Заказы» и назвать его «Код клиента». После этого Access сможет использовать номер «Код клиента» из таблицы «Заказы» для поиска клиента каждого заказа.

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

Рассмотрим связь между таблицей «Продукты» и таблицей «Заказы». Один заказ может включать несколько продуктов. С другой стороны, отдельный продукт может содержаться в нескольких заказах. Следовательно, для каждой записи таблицы «Заказы» может существовать несколько записей в таблице «Продукты» и наоборот. Такой тип связи называется отношением «многие-ко-многим», поскольку для каждого продукта может быть много заказов и наоборот. Обратите внимание, что для обнаружения существующего отношения между таблицами важно рассмотреть обе его стороны.

Чтобы представить отношение «многие-ко-многим», нужно создать третью (связующую) таблицу, в которой отношение «многие-ко-многим» разбивается на два отношения «один-ко-многим». Первичные ключи двух таблиц вставляются в третью таблицу. В результате в третьей таблице сохраняются все экземпляры отношения. Например, таблицы «Заказы» и «Продукты» имеют отношение «многие-ко-многим», определяемое созданием двух отношений «один-ко-многим» в таблице «Заказано». В одном заказе может быть много продуктов, и каждый продукт может появляться во многих заказах.

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

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