Ключ базы данных

Ключи

Последнее обновление: 02.07.2017

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

Суперключ

Superkey (суперключ) — комбинация атрибутов (столбцов), которые уникально идентифицируют каждую строку таблицы. Это могут быть и все столбцы, и несколько и и один. При этом строки, которые содержат значения этих атрибутов, не должны повторяться.

Например, у нас есть сущность Student, которая представляет данные о пользователях и которая имеет следующие атрибуты:

  • FirstName (имя)

  • LastName (фамилия)

  • Year (год рождения)

  • Phone (номер телефона)

Какие атрибуты в данном случае могут составлять суперключ:

  • {FirstName, LastName, Year, Phone}

  • {FirstName, Year, Phone}

  • {LastName, Year, Phone}

  • {FirstName, Phone}

  • {LastName, Phone}

  • {Year, Phone}

  • {Phone}

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

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

Потенциальный ключ

Candidate key (потенциальный ключ) — представляет собой минимальный суперключ отношения (таблицы), то есть набор атрибутов, который удовлетворяет ряду условий:

  • Неприводимость: он не может быть сокращен, он содержит минимально возможный набор атрибутов

  • Уникальность: он должен иметь уникальные значения вне зависимости от изменения строки

  • Наличие значения: он не должен иметь значения NULL, то есть он обязательно должен иметь значение.

Возьмем ранее выделенные суперключи и найдем среди них candidate key. Первый пять суперключей не соответствуют первому условию, так как все их можно сократить до суперключа {Phone}:

  • {FirstName, LastName, Year, Phone}

  • {FirstName, Year, Phone}

  • {LastName, Year, Phone}

  • {FirstName, Phone}

  • {LastName, Phone}

  • {Year, Phone}

Суперключ {Phone} соответствует первому и второму условию, так как он имеет уникальное значение (в данном случае все пользователи могут иметь только уникальные телефонные номера). Но соответствует ли он третьему условию? В целом нет, так как теоретически студент может и не иметь телефона. В этом случае атрибут Phone будет иметь значение NULL, то есть значение будет отсутствовать.

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

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

Первичный ключ

Первичный ключ (primary key) непосредственно применяется для идентификации строк в таблице. Он должен соответствовать следующим ограничениям:

  • Первичный ключ должен быть уникальным все время

  • Он должен постоянно присутствовать в таблице и иметь значение

  • Он не должен часто менять свое значение. В идеале он вообще не должен изменять значение.

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

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

Если же потенциальные ключи отсутствуют, то для первичного ключа можно добавить к сущности специальный атрибут, который, как правило, называется, Id или имеет форму [Имя_сущности]Id (например, StudentId), либо может иметь другое название. И обычно данный атрибут принимает целочисленное значение, начиная с 1.

Если же у нас есть несколько потенциальных ключей, то те потенциальные ключи, которые не составляют первичный ключ, являются альтернативными ключами (alternative key).

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

  • Name (имя пользователя)

  • Email (электронный адрес)

  • Password (пароль)

  • Phone (телефонный номер)

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

НазадСодержаниеВперед

2.4. Системы управления базами данных и экспертные системы

2.4.1. Основные понятия Баз данных Access 2003

Развития вычислительной техники осуществлялось по двум основным направлениям:

  • применение вычислительной техники для выполнения численных расчетов;
  • использование средств вычислительной техники в информационных системах.

Информационная система – это совокупность программно-аппаратных средств, способов и людей, которые обеспечивают сбор, хранение, обработку и выдачу информации для решения поставленных задач. На ранних стадиях использования информационных систем применялась файловая модель обработки. В дальнейшем в информационных системах стали применяться базы данных. Базы данных являются современной формой организации, хранения и доступа к информации. Примерами крупных информационных систем являются банковские системы, системы заказов железнодорожных билетов и т.д.

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

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

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

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

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

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

Основные понятия реляционных БД: нормализация, связи и ключи

1. Принципы нормализации:

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

2. Виды логической связи.

Связь устанавливается между двумя общими полями (столбцами) двух таблиц. Существуют связи с отношением «один-к-одному», «один-ко-многим» и «многие-ко-многим».

Отношения, которые могут существовать между записями двух таблиц:

  • один – к — одному, каждой записи из одной таблицы соответствует одна запись в другой таблице;
  • один – ко — многим, каждой записи из одной таблицы соответствует несколько записей  другой таблице;
  • многие – к — одному, множеству записей из одной таблице соответствует одна запись в другой таблице;
  • многие – ко — многим, множеству записей из одной таблицы соответствует несколько записей в другой таблице.

Тип отношения в создаваемой связи зависит от способа определения связываемых полей:

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

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

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

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

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

Существует три типа первичных ключей: ключевые поля счетчика (счетчик), простой ключ и составной ключ.

Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение.

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

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

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

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

Программы, которые предназначены для структурирования информации, размещения ее в таблицах и манипулирования данными называются системами управления базами данных (СУБД). Другими словами СУБД предназначены как для создания и ведения базы данных, так и для доступа к данным. В настоящее время насчитывается более 50 типов СУБД для персональных компьютеров. К наиболее распространенным типам СУБД относятся: MS SQL Server, Oracle, Informix, Sybase, MS Access  и т. д.

Создание БД. Этапы проектирования

Создание БД начинается с проектирования.

Этапы проектирования БД:

  • исследование предметной области;
  • анализ данных (сущностей и их атрибутов);
  • определение отношений между сущностями и определение первичных и вторичных (внешних) ключей.

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

К базовым понятиями модели БД «сущность – связь» относятся: сущности, связи между ними и их атрибуты (свойства).

Сущность – любой конкретный или абстрактный объект в рассматриваемой предметной области. Сущности – это базовые типы информации, которые хранятся в БД (в реляционной БД каждой сущности назначается таблица). К сущностям могут относиться: студенты, клиенты, подразделения и т.д. Экземпляр сущности и тип сущности — это разные понятия. Понятие тип сущности относится к набору однородных личностей, предметов или событий, выступающих как целое (например, студент, клиент и т.д.). Экземпляр сущности относится, например, к конкретной личности в наборе. Типом сущности может быть студент, а экземпляром – Петров, Сидоров и т. д.

Атрибут – это свойство сущности в предметной области.

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

Связь – взаимосвязь между сущностями в предметной области.

Внешний ключ

Связи представляют собой соединения  между частями БД (в реляционной БД – это соединение между записями таблиц).

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

Рассмотрим предметную область: Деканат (Успеваемость студентов).

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

Основными предметно-значимыми сущностями БД «Деканат» являются: Студенты, Группы студентов, Дисциплины, Успеваемость.

Основные предметно-значимые атрибуты сущностей:

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

Основные требования к функциям БД:

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

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

Логическая связь между сущностями Группы – Студенты определена как один – ко – многим исходя из того, что в группе имеется много студентов, а каждый студент входит в состав одной группе. Логическая связь между сущностями Дисциплины – Успеваемость определена как один – ко – многим, потому что по каждой дисциплине может быть поставлено несколько оценок различным студентам.

На основе вышеизложенного составляем модель сущность – связь для БД «Деканат»


Рис. 1.

— стрелка является  условным обозначением связи: один – ко – многим.

Для создания БД необходимо применить одну из известных СУБД, например СУБД Access.

Далее>>>Тема: 2.4.2. Система управления базами данных Mіcrosoft Access 2003 и ее основные возможности

Первичный ключ

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

Смысл

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

Использование

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

Классификация

Простые и составные ключи

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

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

Реляционные базы данных. Понятие ключа. Виды ключей. Отношения. Главная и подчиненная таблицы

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

Естественные и суррогатные ключи

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

  • Низкая эффективность — Естественный ключ может быть велик по размеру (особенно когда он составной), и его использование окажется технически неэффективным (ведь во всех таблицах, связанных с данной, понадобится создать поле того же размера, чтобы хранить ссылки).

  • Необходимость каскадных изменений — При изменении значения поля, входящего в естественный ключ, оказывается необходимым изменить значение поля не только в данной таблице, но и во всех таблицах, связанных с данной, в противном случае все ссылки на данную запись окажутся некорректными. В сложных базах данных таких связанных таблиц может быть очень много, и всегда остаётся опасность упустить из виду какую-то из них. При добавлении новых связанных таблиц приходится добавлять согласующие изменения во все места программ, где правится исходная таблица.
  • Несоответствие реальности — Уникальность естественного первичного ключа в реальных БД не всегда соблюдается. Допустим, например, что первичный ключ в таблице — данные личного документа.

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

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

Раздел: Теоретические основы баз данных • СУБД

Каждая инструкция на русском языке бесплатно!

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

Производители по алфавиту:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, ST, U, V, W, X, Y, Z.

123…0.
А, Б, В, Г, Д, Е, Ё, Ж, З, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ъ, Ы, Ь, Э, Ю, Я.

A

B

C

D

E

G

H

I

J

K

L

M

N

P

R

S

T

V

X

Xiaomi

W

Z

Б

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

Инструкции к бытовой технике и электронике

На сайте представлены сервис-мануалы к такой домашней технике и электронике, как плиты кухонные (газовые и электрические), стиральные машины, утюги, микроволновые печи, холодильники, телефоны, телевизоры, магнитофоны, плееры, фотоаппараты, музыкальные центры и др.

Также, для удобства, Вы можете искать технику по брендам. Это следующие производители: Bosch, Ariston, Gorenje, Nikon, Hansa, Atlant, Samsung, Zanussi, LG, Beko, Sony, Indesit, Canon, Siemens, Philips, Ardo, Panasonic, HP, Mirta, Starline, Casio, HTC, Pioneer, IPhone и многие другие.

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

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

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

Сервис-мануалы в PDF. Как скачать руководство пользователя?

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

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

У нас инструкция на русском или на английском языке, выбирайте удобный для Вас язык и скачивайте необходимое Вам руководство.

Базы Данных

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

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

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

Наш сайт дает возможность скачать бесплатно руководство по эксплуатации техники для дома. Необходимо лишь найти тот товар и его модель, которые Вам нужны, скачать его и сохранить на своем ПК. Любую инструкцию скачать бесплатно которую можно в PDF, будет полезна перед использованием Вашей техники. При правильном ее использовании, она прослужит исправно много лет.

Добро пожаловать на наш портал руководств и мануалов!

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

Для удаления первичного ключа нужно выделить ключевое поле и нажать кнопку Ключевое поле.

Преимущество использования первичного ключа:

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

упорядочение.

Access автоматически сортирует записи в порядке возрастания или убывания первичного ключа таблицы;

отсутствие совпадений.

ключ базы данных

Access не позволяет пользователю вводить данные с таким же первичным ключом, как и у существующей записи;

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

Определение связей между таблицами

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

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

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

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

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

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

Рис. 1.4. Схема данных БД Учебный процесс

Установление связей между таблицами.

Чтобы установить связи, нужно открыть окно базы данных и выбрать команду Сервис ® Схема данных. Если связи для базы данных устанавливаются впервые, то Access выведет на экран пустое окно Схема данных и затем окно диалога Добавление таблицы. В этом окне нужно выделить все таблицы, между которыми будут установлены связи и нажать кнопки Добавить и Закрыть. После этого в окне Схема данных связи между таблицами устанавливаются путем перетаскивания мышью поля одной таблицы на поле, по которому устанавливается связь, другой таблицы. При отпускании кнопки мыши на экран выводится окно диалога Связь, в котором выводятся связанные поля. Необходимо установить флажки: Обеспечение целостности данных, Каскадной обновление связанных полей, Каскадное удаление связанных записей. После этого нужно нажать кнопку Создать.

Установление флажка «Каскадное обновление связанных полей» позволяет:

— если в главной таблице СТУДЕНТ изменить значение поля Номер группы (например, вместо 11 написать 12), то и в подчиненных таблицах 11 поменяется на 12;

— если в таблице СТУДЕНТ изменить значение поля Номер группы на такое, которое нет в таблице ГРУППА, то это не удастся сделать.

Установление флажка «Каскадное удаление связанных записей» позволяет: если в таблице, например, ГРУППА удалить какую – либо группу, то и в подчиненных таблицах исчезнут все записи, связанные с удаленной группой.

При установлении связей между таблицами ключ связи может быть составной, например, связь между таблицами Успеваемость и Изучение осуществляется по нескольким полям. В этом случае установление связи осуществляется так: при нажатой клавише <Ctrl> выделяются все ключи и затем перетаскиваются. Чтобы удалить связь, нужно щелкнуть на ее линии и нажать клавишу Del.

Имена полей, по которым осуществляется связь между таблицами:

ГРУППА ® СТУДЕНТ ( Номер группы)

КАФЕДРА ® ПРЕПОДАВАТЕЛЬ ( Код кафедры)

ПРЕДМЕТ ® ИЗУЧЕНИЕ ( Код предмета)

ПРЕПОДАВАТЕЛЬ ® ИЗУЧЕНИЕ ( Таб номер)

ГРУППА ® ИЗУЧЕНИЕ ( Номер группы

СТУДЕНТ ® УСПЕВАЕМОСТЬ (Номер студента и Номер Группы)

ИЗУЧЕНИЕ ® УСПЕВАЕМОСТЬ (Номер Группы, Код предмета, Таб номер, Вид занятия)

Примечание. Если связь между таблицами не устанавливается, возможны следующие причины: а) имена полей, по которым устанавливается связь — различны б) типы связываемых полей — не одинаковы и др. Необходимо проверить все таблицы.

1. 5. Изменение проекта базы данных


⇐ Предыдущая12345678910Следующая ⇒


Дата публикования: 2014-11-18; Прочитано: 601 | Нарушение авторского права страницы



studopedia.org — Студопедия.Орг — 2014-2018 год.(0.003 с)…

Определение реляционной модели

Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени.

При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы РМД и формы их представления приведены в табл.1.

Элемент реляционной модели Форма представления
Отношение Таблица
Схема отношения Строка заголовков столбцов таблицы (заголовок таблицы)
Кортеж Строка таблицы
Сущность Описание свойств объекта
Атрибут Заголовок столбца таблицы
Домен Множество допустимых значений атрибута
Значение атрибута Значение поля в записи
Первичный ключ Один или несколько атрибутов
Тип данных Тип значений элементов таблицы

Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные.

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

Атрибуты представляют собой свойства, характеризующие сущность.

В структуре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого столбца таблицы. Математически отношение можно описать следующим образом. Пусть даны n множеств %%D1, D2, D3,…, Dn%%, тогда отношение %%R%% есть множество упорядоченных кортежей %%<d1, d2, d3 ,…, dn>%%, где %%dk \subset Dk%%, %%dk%% — атрибут, a %%Dk%% — домен отношения %%R%%.

На рис.1 приведен пример представления отношения СОТРУДНИК.

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

Домен представляет собой множество всех возможных значений определенного атрибута отношения.

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

Отношение содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4 элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы (рис.1).

Схема отношения (заголовок отношения) представляет собой список имен атрибутов. Например, для приведенного примера схема отношения имеет вид . Множество собственно кортежей отношения часто называют содержимым (телом) отношения.

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

Например, в отношении ключевым является атрибут «ФИО». Ключ может быть составным (сложным), то есть состоять из нескольких атрибутов.

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

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

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

Ключи обычно используют для достижения следующих целей:

  1. исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются);
  2. упорядочения кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним — возрастание, а по другим — убывание);
  3. ускорения работы к кортежами отношения;
  4. организации связывания таблиц.

Пусть в отношении R1 имеется не ключевой атрибут А, значения которого являются значениями ключевого атрибута В другого отношения R2. Тогда говорят, что атрибут А отношения R1 есть внешний ключ.

С помощью внешних ключей устанавливаются связи между отношениями.

Например, имеются два отношения и , которые связаны отношением (рис.2). В связующем отношении атрибуты и образуют составной ключ. Эти атрибуты представляют собой внешние ключи, являющиеся первичными ключами других отношений.

Рис.2. Связь отношений

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

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

  1. Все строки таблицы должны быть уникальны, то есть не может быть строк с одинаковыми первичными ключами.

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

  3. Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.
  4. Порядок размещения строк в таблице может быть произвольным.

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

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

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

Как отмечалось выше, определение ключа для таблицы означает автоматическую сортировку записей, контроль отсутствия повторений значений в ключевых полях записей и повышение скорости выполнения операций поиска в таблице. Для реализации этих функций в СУБД применяют индексирование.

Термин «индекс» тесно связан с понятием «ключ», хотя между ними есть и некоторое отличие.

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

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *