Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INFO (1).doc
Скачиваний:
3
Добавлен:
17.04.2019
Размер:
321.02 Кб
Скачать

1.

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

Перви́чный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).Если в отношении имеется единственный потенциальный ключ, он является и первичным ключом. Если потенциальных ключей несколько, один из них выбирается в качестве первичного, а другие называют «альтернативными».С точки зрения теории все потенциальные ключи отношения эквивалентны, то есть обладают одинаковыми свойствами уникальностии минимальности. Однако в качестве первичного обычно выбирается тот из потенциальных ключей, который наиболее удобен для тех или иных практических целей, например для создания внешних ключей в других отношениях либо для создания кластерногоиндекса. Поэтому в качестве первичного ключа, как правило, выбирают тот, который имеет наименьший размер (физического хранения) и/или включает наименьшее количество атрибутов.Исторически термин «первичный ключ» появился и стал использоваться существенно ранее термина «потенциальный ключ». Вследствие этого множество определений в реляционной теории были изначально сформулированы с упоминанием первичного (а не потенциального) ключа, например, определения нормальных форм. Так же термин «первичный ключ» вошёл в формулировку 12 правил Кодда как основной способ адресации любого значения отношения (таблицы) наряду с именем отношения (таблицы) и именем атрибута (столбца).

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

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

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

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

Ключевые поля и индексы

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

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

Ключевые поля бывают двух типов — первичные (Primary Key) и внешние (Foreign Key). Первичные ключи служат для однозначного определения записи в таблице и должны содержать уникальные для данной таблицы значения. Система автоматически предотвращает ввод в такое поле повторяющихся и пустых (Null )значений.

Самый простой способ создания первичного ключа — добавить в таблицу поле типа счетчик (AutoNumber) и затем нажать кнопку с изображением ключа на панели инструментов. В результате этого свойство счетчика Обязательное поле (Required) примет значение Да (Yes), а свойство Индексированное поле (Indexed) — Да (совпадения не допускаются) (Yes (No Duplicates)). Признаком первичного ключа является иконка с изображением ключа слева от наименования поля. Кроме того, первичный ключ автоматически включается в список индексов таблицы под именем PrimaryKey. Использование счетчика в этом случае является очень удобным, поскольку Microsoft Access сам заботится о правильном заполнении этого поля.

В качестве первичного ключа можно также определить любое подходящее поле (кроме поля типа объект OLE (OLE Object)) либо не содержащее данных, либо содержащее уникальные непустые значения. Такой первичный ключ, состоящий из одного единственного поля, называетсяпростым (Single-field).

Если ни одно из полей таблицы не содержит или по сути не может содержать уникальных значений (например, фамилии могут повторяться), то можно вместо простого ключа создать составной (Multiple-field) ключ, состоящий из нескольких полей. Чтобы создать составной ключ, необходимо в режиме конструктора таблиц (Design View) выделить требуемые поля (если удерживать нажатой клавишу <Ctrl>, то при помощи мыши можно выделять несмежные поля) и затем нажать кнопку с изображением ключа на панели инструментов. Примером такой таблицы может служить таблица Заказано (Order Details) из учебной базы данных Борей (Northwind), связывающая таблицы Заказы (Orders) и Товары(Products). Ключ в этой таблице состоит из двух полей: КодЗаказа (OrderlD) и КодТовара (ProductID). Такая комбинация полей ключа, по замыслу разработчиков, гарантирует уникальность содержащихся в них значений. Т.е., возможность включения в один заказ двух записей об одном и том же товаре недопустима (хотя в жизни бывает всякое).

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

Первичный и внешний ключи должны быть одинакового типа, иначе при создании связи между таблицами по этим полям Microsoft Access выдаст сообщение об ошибке и связь создана не будет. Полю типа счетчик (AutoNumber) эквивалентен числовой тип, свойство Размер поля(Field Size) которого установлено в значение Длинное целое (Long Integer). Например, таблицы Сотрудники (Employees) и Заказы (Orders) учебной базы данных Борей (Northwind) связаны по одноименным полям КодСотрудника (EmployeeID). Соответствующее поле в таблицеСотрудники (Employees) является первичным ключом типа счетчик (AutoNumber), а в таблице Заказы (Orders) — внешним ключом типадлинное целое (Long Integer).

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

Индексы, как и первичные ключи, могут быть простыми (состоящими из одного поля) и составными (содержащими несколько полей). Для того чтобы создать простой индекс, следует выбрать в режиме конструктора таблицы (Design View) нужное поле и установить его свойствоИндексированное поле (Indexed) в одно из двух значений: Да (Совпадения не допускаются) (Yes (No Duplicates)) или Да (Допускаются совпадения) (Yes (Duplicates OK)). В результате будет создан индекс с именем, совпадающим с наименованием поля.

Для того чтобы убедиться, что индекс действительно создан, можно воспользоваться диалоговым окном Индексы (Indexes). Отобразить это окно на экране можно, выбрав одноименный пункт меню Вид (View) или нажав кнопку с изображением молнии ( ) на панели инструментов.

Основное предназначение диалогового окна Индексы (Indexes) — создание и модификация простых и составных индексов. Кроме того, для составных индексов это окно является единственным доступным средством создания. В верхней части окна Индексы (Indexes) расположена таблица с тремя столбцами (см. рис. 3.19). Для каждого индекса в этой таблице можно задать его наименование (столбец Индекс (Index Name)), имя входящего в него поля (столбец Имя поля (Field Name)) и Порядок сортировки (Sort Order).

Рисунок 3.19. Диалоговое окно Индексы (Indexes) для таблицы  Заказано (Order Details).

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

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

Еще раз обратите внимание на рисунок 3.19, на котором изображено диалоговое окно Индексы (Indexes), открытое для таблицы Заказано (Order Details). Как видно из рисунка, таблица Заказано (Order Details) содержит составной первичный ключ, имеющий поля КодЗаказа (OrderlD) иКодТовара (ProductID). Об этом свидетельствует иконка с изображением ключа в левой части каждой из строчек, соответствующих ключевым полям. Соответствующий первичному ключу индекс, как уже упоминалось выше, автоматически добавляется в таблицу под именем PrimaryKey. Кроме того, по полям КодЗаказа (OrderlD) и КодТовара (ProductID) созданы еще и простые индексы. Таким образом, каждое из этих полей входит в два разных индекса.

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

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

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

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

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

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

3

Информация - это сведения об окружающем нас мире.

Виды информации: 1. Текстовая - представленная на каком-либо из существующих языков, например, book - английский язык. 2. Числовая - представленная в виде цифр, например, 1,2,3... 3. Графическая - картины, фотографии, чертежи, схемы и т.д. 4. Звуковая - все, что слышит человек, например, человеческая речь, музыка, пение птиц. 5. Видеоинформация - последовательность изображений, например, фильмы, мультфильмы.

Требования к информации: 1. Понятна. 2. Полезна. 3. Точна. 4. Достоверна. 5. Актуальна. 6. Полная.

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

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

Представление числовых данных в памяти ЭВМ

 

Для представления информации в памяти ЭВМ (как числовой, так и не числовой) используется двоичный способ кодирования.

Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32, 64 битам и т.д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]