Ключевые поля таблиц. Понятия первичного и внешнего ключа




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

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

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

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

A F(x)↔G(x) B

где

  • А и В – объекты;
  • F(x) – вид связи объекта А с объектом В;
  • G(x) – вид связи объекта В с объектом А.

Функции F(x) и G(x) могут принимать значения 1 – единичная и M – множественная связь. Обычно рассматривают три вида связей.

Связь один к одному (1:1):

означает, что каждому элементу объекта А может соответствовать только один элемент объекта В и наоборот, например:

  • Ректор 1↔1 Университет

Связь один ко многим (1:М):

означает, что могут существовать экземпляры объекта А, которым соответствует более одного экземпляра объекта В. Но при этом каждому экземпляру объекта В может соответствовать только один экземпляр объекта А, например:

  • Университет 1↔М Факультеты
  • Группа 1↔М Студенты.

Связь многие ко многим (M:M):

означает, что может существовать экземпляр объекта А, которому соответствует несколько экземпляров объекта В и наоборот. Например:

  • Преподаватели М↔М Дисциплины
  • Покупатели М↔М Продавцы
Характеристика видов связей таблиц
Характеристика полей связи по видам   1:1   1:M   M:1   M:M
Поле связи основной таблицы Ключ Ключ Не ключ Не ключ
Поле связи дополнительной таблицы Ключ Не ключ Ключ Не ключ

Одной записи в таблице Клиенты может соответствовать много записей в таблице Заказы.

ОШИБКА (НЕ N, А М!)

У одной книги может быть несколько авторов, а каждого автора может быть несколько книг.

 

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

Внимание! Связь многие ко многим преобразуется в две связи один ко многим при помощи таблицы связки.

 

 

Понятие СУБД.

 

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

Задача 1 Данные 1 Программа 1
Задача 2 Данные 2 Программа 2

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

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

Эти проблемы привели специалистов по автоматизации информационных систем к пониманию того, что нужен иной подход к организации и обработке данных, который позволил бы:

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

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

Задача 1 База данных СУБД Приложение 1
Задача 2 Приложение 2

Концепция СУБД была разработана в 1972г. в США фирмой IBM. Первые СУБД создавались для больших и мини-ЭВМ. Впоследствии были созданы СУБД и для персональных компьютеров. Система управления базами данныхэто совокупность программных и языковых средств, предназначенных для управления данными, ведения базы данных и обеспечения взаимодействия с прикладными программами (ГОСТ 20886-85).

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

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

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

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

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

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

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

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

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

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

Существует следующие принципиальные отличия между системами управления реляционными базами данных и табличными процессорами:

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

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

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

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

Архитектура СУБД.

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

  • подсистему средств проектирования,
  • подсистему средств обработки
  • ядро.

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

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

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-06 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: