Ответы информатика 2 курс. 1. Понятие информации и данных. База данных (БД). Определение, назначение
Скачать 43.03 Kb.
|
1. Понятие информации и данных. База данных (БД). Определение, назначение. Информация – это сведения о чём-либо, независимо от формы их представления. В настоящее время не существует единого определения информации как научного термина. С точки зрения различных областей знания данное понятие описывается своим специфическим набором признаков. Например, понятие «информация» является базовым в курсе информатики, и невозможно дать его определение через другие, более «простые» понятия (так же, в геометрии, например, невозможно выразить содержание базовых понятий «точка», «прямая», «плоскость» через более простые понятия). Содержание основных, базовых понятий в любой науке должно быть пояснено на примерах или выявлено путём их сопоставления с содержанием других понятий. В случае с понятием «информация» проблема его определения ещё более сложная, так как оно является общенаучным понятием. Данное понятие используется в различных науках (информатике, кибернетике, биологии, физике и др.), при этом в каждой науке понятие «информация» связано с различными системами понятий. База данных — это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств. Базами данных являются, например, различные справочники, энциклопедии и т. п. Информация в базах данных хранится в упорядоченном виде. Так, в записной книжке все записи упорядочены по алфавиту, а в библиотечном каталоге либо по алфавиту (алфавитный каталог), либо в соответствии с областью знания (предметный каталог). Существует несколько различных типов баз данных: табличные, иерархические и сетевые. Табличные базы данных. Табличная база данных содержит перечень объектов одного типа, т. е. объектов с одинаковым набором свойств. Такую базу данных удобно представлять в виде двумерной таблицы. 2. Модели и виды баз данных. a) ИЕРАРХИЧЕСКАЯ БАЗА ДАННЫХ. Каждый объект при таком хранение информации представляется в виде определенной сущности, то есть, у этой сущности могут быть дочерние элементы, родительские элементы, а у тех дочерних могут быть еще дочерние элементы, но есть один объект, с которого все начинается. Получается своеобразное дерево. Примером иерархической базы данных может быть, документ в формате XML или файловая система компьютера, пример с файловой системой компьютера я приводил, когда рассматривал структуру XML документа, в рубрике Заметки о XML. Следует сказать, что базы данных подобного вида оптимизированы под чтение информации, то есть, базы данных, имеющие иерархическую структуру умеют очень быстро выбирать, запрашиваемую информацию и отдавать ее пользователям. Но такая структура не позволяет столь же быстро перебирать информацию, тут можно привести пример из жизни, компьютер может легко работать с каким-либо конкретным файлом или папкой (которые, по сути являются объектами иерархической структуры) но проверка компьютера антивирусам осуществляется очень долго. Б) СЕТЕВАЯ БАЗА ДАННЫХ Сетевые базы данных, являются своеобразной модификацией иерархических баз данных. Если вы внимательно смотрели на рисунок выше, то наверное обратили внимание, что к каждому нижнему элементу идет только одна стрелочка от верхнего элемента. То есть у иерархических баз данных у каждого дочернего элемента может быть только один потомок. Сетевые базы данных отличаются от иерархических тем, что у дочернего элемента может быть несколько предков, то есть, элементов стоящих выше него. В) РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ Реляционные базы данных получили очень широкое распространение и многие пытаются писать огромные статьи, посвященные вопросу – почему реляционные базы данных получили такое широкое распространение, делают глубокомысленные выводы и замечания. Но на самом деле все очень просто – реляционные базы данных очень легко описываются в математике, то есть, под них очень хорошо написана математика. Был когда-то такой математик – Эдгар Франк Кодд, умерший в 2003 году, который в восьмидесятых годах очень подробно описал структуру реляционных баз данных математическим языком. А если есть хорошо написанная математика, то соответственно есть и программная реализация. Именно благодаря Кодду реляционные базы данных стали активно развиваться. Поэтому-то, когда мы говорим базы данных, чаще всего мы подразумеваем именно реляционные базы данных. 3. Реляционная модель данных. Понятие сущности и отношения Главной особенностью реляционных баз данных является, то, что объекты внутри таких баз данных хранятся в виде набора двумерных таблиц. То есть, таблица состоит из набора столбцов, в котором может указываться: название, тип данных (дата, число, строка, текст и т.д.). Еще одной важной особенность реляционных БД является, то, что число столбцов фиксировано, то есть, структура базы данных известна заранее, а вот число строк или рядов в реляционных базах данных ничем не ограничено, если говорить грубо, то строки в реляционных базах данных и есть объекты, которые хранятся в базе данных. На самом деле, базы данных – это абстрактное понятие, таблица – это всего лишь способ хранения информации, набор таблиц может быть связан логически и этот набор называют база данных. Поэтому неправильно говорить, что MySQL это база данных, база данных – это хранящаяся информация. А вот такое понятие, как СУБД – система управления базами данных, это и есть MySQL сервер, именно при помощи него мы управляем хранящимися данными. Или иначе MySQL – это программное воплощение математических идей. Самой трудной задачей при работе с реляционными базами данных, является проектирование структуры баз данных. Проектирование структуры базы данных, заключается не только в том, чтобы создать таблицу и указать тип данных и наименование столбцов. На самом деле проектирование – это самый сложный этап при работе с базами данных. Потому что мощности ваших компьютеров ограничены. Пока данных мало, мало таблиц и строк в этих таблицах, машина будет их обрабатывать очень и очень быстро. Но, со временем количество информации будет увеличиваться, и мы получим замедление, которое будет увеличиваться, поскольку машине необходимо время на обработку тех или иных запросов (обработка информации). В прошлой статье я уже писал, что реляционные БД прежде всего ориентированы на модификацию (OLTP), то есть, добавить новую запись в таблицу – это очень простая операция для реляционной СУБД, а вот сделать выборку данных, это уже трудоемкая операция. Также есть и изменение данных, это как бы промежуточное звено между чтением и добавлением. Хотя MySQL сервер всегда можно настроить. 4. Система управления БД (СУБД), ее функции. Объекты СУБД. Системой управления базами данных (СУБД, DBMS – Data Base Management System) называют программу, предназначенную для создания и ведения баз данных, а также организации доступа к данным и их обработки. Под базой данных (БД, DB – Data Base) понимают совокупность данных, относящихся к некоторой предметной области, организованных определенным образом на материальном носителе, как правило, средствами СУБД. База данных организуется в соответствии с моделью данных, которая поддерживается в СУБД. Реляционная модель данных (англ. Relation – отношение) является одной из самых распространенных моделей, используемых в современных СУБД. Реляционная модель ориентирована на организацию данных в виде прямоугольных двухмерных таблиц. Применительно к реляционной модели используется следующая стандартная терминология теории отношений: двухмерная таблица определяется как отношение. Столбцы таблицы называют полями (или доменами), строки – записями (или кортежами). Первичным ключом (или просто ключом таблицы) называется одно или несколько полей, однозначно идентифицирующих (определяющих) каждую запись. Если первичный ключ состоит из одного поля, он является простым, если из нескольких – составным. Кроме первичного ключа в таблице могут существовать и вторичные ключи. Вторичный ключ – это поле, значения которого могут повторяться в разных записях, то есть он не является уникальным. Связи между таблицами в реляционной модели устанавливаются по равенству значений совпадающих полей. Такие поля в разных таблицах играют роль внешнего ключа или ключа связи. Совокупность реляционных таблиц, логически взаимосвязанных и отражающих некоторую предметную область, образует реляционную базу данных (РБД). СУБД Аccess относится к СУБД реляционного типа, работающая в среде Windows. Этот программный продукт является составной частью интегрированного пакета для офиса Microsoft Office Professional. 6. Жизненный цикл и этапы проектирования базы данных. Процесс проектирования, реализации и поддержания системы базы данных называется жизненным циклом базы данных (ЖЦБД). Процедура создания системы называется жизненным циклом системы (ЖЦС). Понимание и правильный подход к ЖЦБД очень важен и требует детального рассмотрения, так как в его основе лежит подход, ориентированный на данные. Элементы данных более стабильны, чем выполняемые функции системы. Создание правильной структуры данных требует сложного анализа классов единиц данных и отношений между ними. Если построить логичную схему базы данных, то в дальнейшем можно создать любое количество функциональных систем, использующих эту схему. Функционально-ориентированный подход можно применять лишь для создания временных систем, которые рассчитаны на недолгое время функционирования. 7. Таблицы БД, структура данных в таблицах. Способы создания. Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Список режимов создания таблиц: Создание таблицы в режиме конструктора; Создание таблицы с помощью мастера; Создание таблицы путем ввода данных Для создания новой таблицы можно выбрать любой из этих режимов. Можно выбрать Мастер таблиц для определения полей таблицы с помощью списков образцов таблиц и полей. Для создания произвольной таблицы целесообразно пользоваться режимом Конструктора. Режим Создание таблицы путем ввода данных используется, как правило, для редактирования и ввода данных в уже существующие таблицы. 8. Типы данных и типы полей. Назначение и использование. Типы данных в Microsoft ACCESS
10. Формы. Виды, назначение, способы создания. Смысл формы - пользователь получает возможность заполнять только некоторые из полей. Это снижает количество ошибок, упрощает работу. Создавая форму, в нее включаются так называемые элементы управления. К ним относятся, в частности, надписи, текстовые поля, бланки, флажки, кнопки переключателей, графические объекты. При желании можно создать форму для каждой таблицы БД, а также разработать формы, которые позволяют добавлять данные сразу в несколько таблиц. Самым простым из способов создания форм является использование средств автоматического создания форм на основе таблицы или запроса. Создаваемые формы (автоформы) бывают нескольких видов, каждый из которых отличается способом отображения данных. Многостраничные формы - используется в том случае, когда вам нужно вывести на экран записи, каждая из которых содержит большой объем информации. Ленточные формы - в такой форме отформатированные записи выводятся на экран одна за другой, как в таблице. Подчиненные формы - используется для вывода записей из связной таблицы. Всплывающие формы - формы, выводимые во всплывающих окнах. Модальные формы - при разработке приложения вы столкнетесь с ситуациями, когда приложению потребуется получить некоторые данные от пользователя ли передать ему важную информацию прежде, чем продолжить работу. Этот тип формы требует от пользователя ответа как непременного условия дальнейшей работы приложения. Структура формы. Форма имеет три основных раздела: область заголовка; область данных; область примечания. Линии, разделяющие разделы, перетаскиваются по вертикали с помощью мыши — это позволяет изменять размеры разделов так, как требуется. Разделы заголовка и примечания имеют чисто оформительское назначение — их содержимое напрямую не связано с таблицей или запросом, на котором основана форма. Раздел данных имеет содержательное значение — в нем представлены элементы управления, с помощью которых выполняется отображение данных или их ввод. Разработчик формы может разместить здесь дополнительные элементы управления для автоматизации ввода данных (переключатели, флажки, списки и другие, типичные для приложений Windows). Любая форма может включать следующие разделы: Раздел Заголовок формы определяет верхнюю часть формы. Этот раздел добавляется в форму вместе с разделом примечания формы. В область заголовка формы можно поместить текст, графику и другие элементы управления. При печати многостраничной формы раздел заголовка отображается только на первой странице; Раздел Верхний колонтитул определяет верхний колонтитул страницы при печати формы. Этот раздел добавляется в форму вместе с разделом, определяющим нижний колонтитул страницы, и отображается только когда форма открыта в режиме Предварительного просмотра. При печати многостраничной формы верхний колонтитул отображается вверху каждой страницы; Раздел Область данных определяет основную часть формы, содержащую данные, полученные из источника. Данный раздел может содержать элементы управления, отображающие данные из таблиц и запросов, а также неизменяемые данные, например надписи. При печати многостраничной формы этот раздел отображается на каждой странице; Раздел Нижний колонтитул определяет нижний колонтитул страницы при печати формы. Этот раздел добавляется в форму вместе с разделом, определяющим верхний колонтитул страницы. Он отображается только когда форма открыта в режиме Предварительного просмотра. При печати многостраничной формы нижний колонтитул отображается внизу каждой страницы; Раздел Примечание формы определяет нижнюю часть формы. Этот раздел добавляется в форму вместе с разделом заголовка формы. При печати многостраничной формы примечание формы будет отображено только внизу последней страницы. Из всех перечисленных разделов обязательным является только раздел области данных. Высоту области любого раздела формы можно изменить с помощью мыши, перетаскивая нижнюю часть раздела вверх или вниз. Для добавления или удаления разделов заголовка и примечания формы выберите команду Вид, Заголовок/примечание формы. Если форма уже содержит эти разделы, то команда Заголовок/примечание формы будет отмечена флажком. Для удаления разделов заголовка и примечания формы сбросьте этот флажок. Для добавления или удаления разделов верхнего и нижнего колонтитулов страницы выберите команду Вид, Колонтитулы. Если форма уже содержит эти разделы, то команда Колонтитулы будет отмечена флажком. Для удаления разделов верхнего и нижнего колонтитула страницы сбросьте этот флажок. Высоту раздела формы можно изменить, перетаскивая границу раздела при помощи мыши. Для этого поместите указатель мыши над границей раздела так, чтобы он принял вид горизонтальной черты с двумя вертикальными стрелками. Нажмите левую кнопку мыши и перетащите границу раздела для получения нужного размера. Высота раздела области данных определяется вертикальным размером окна формы, а также размером заголовка и примечания формы. Для изменения высоты раздела области данных переместите его нижнюю границу при помощи мыши вверх (для уменьшения высоты) или вниз (для увеличения). В режиме Формы вертикальная полоса прокрутки в окне формы появляется только для просмотра раздела области данных. Алгоритм создания форм следующий: - Открыть окно БД. - В окне БД выбрать вкладку Формы. - Щелкнуть на пиктограмме Создать, расположенной на панели инструментов окна БД. - В появившемся диалоговом окне «Новая форма» Выбрать способ создания формы и источник данных - Щелкнуть на кнопке ОК. Создание форм с помощью мастера. Автоматизированные средства предоставляет Мастер форм — специальное программное средство, создающее структуру формы в режиме диалоге с разработчиком. Вызвать Мастер форм можно несколькими способами. Один из них – выбрать Мастер форм в окне диалога Новая форма и щелкнуть на кнопке ОК. Откроется окно диалога Создание форм, в котором необходимо отвечать на вопросы каждого текущего экрана Мастера и щелкать на кнопке Далее. Создание формы с помощью мастера на панели Формы: - На первом этапе работы Мастера форм выбирают таблицы и поля, которые войдут в будущую форму. - На втором этапе выбирается внешний вид формы. - На третьем этапе выбирается стиль оформления формы. - На последнем этапе выполняется сохранение формы под заданным именем. Здесь же можно включить переключатель - Изменить макет формы, который открывает только что созданную форму в режиме Конструктора. Этим удобно воспользоваться в учебных целях, чтобы рассмотреть структуру формы на готовом примере. Для наглядности создадим форму. Для этого в базе данных выберете вкладку Формы. Затем нажмите кнопку Создать. Перед вами появится окно диалога Новая форма. Выберете запрос или таблицу, на базе которой вы будете создавать свою форму, затем выберите Мастер форм и нажмите кнопку ОК. Откроется окно В списке Доступные поля будут перечислены поля, содержащиеся в ранее созданной вами Таблице. Чтобы перенести поле в список Выбранные поля, выделите его в списке Доступные поля и нажмите кнопку со стрелкой вправо. Нажатие кнопки с двойной стрелкой вправо перемещает все поля в список Выбранные поля. Если вы включили поле в форму по ошибке, выделите его в списке Выбранные поля и нажмите кнопку со стрелкой влево. После выбора полей из одной таблицы или запроса можно с помощью поля со списком Таблицы и запросы изменить имя источника данных и продолжить выбор из другого источника, связанного с первой таблицей. В любое время вы можете нажать кнопку Готово и перейти к последнему окну диалога мастера. Чтобы прекратить создание формы, нажмите кнопку Отмена. После выбора всех полей нажмите кнопку Далее. В следующем окне мастера вы можете выбрать внешний вид вашей формы: в один столбец, ленточный, табличный или выровненный (мы создадим форму в один столбец). Затем нажмите кнопку Далее. Следующее окно мастера служит для выбора стиля оформления новой формы. В последнем окне мастера введите название формы. Мастер сохранит форму под этим именем. Выберете режим Открыть форму для просмотра и ввода данных и нажмите кнопку Готово, чтобы перейти прямо в режим формы. 11. Элементы управления форм. Использование протокола OLE. OLE как бы добавляет новое измерение к операциям динамического обмена данными (DDE) между приложениями, работающими в среде Windows. Различия между технологиями передачи данных OLE и DDE иллюстрируются на рис.1. Протокол DDE пересылает данные (свойства) из сервера в текстовые поля, метки и другие элементы управления, способные хранить текст и числа; OLE передает данные и методы из сервера только через свободные и присоединенные рамки объектов.
Программный модуль Форма или отчет рис.1 Иллюстрация различий между DDE и OLE Использование DDE всегда требует программирования. Составление программ для использования протокола DDE в любом приложении Windows является сложным процессом, и всегда было таковым. Известно, что обмен данными DDE является ненадежным. Использование основополагающих свойств OLE не требует программирования. Более того, в большинстве случаев обмен данными посредством OLE является более надежным чем при использовании DDE. Простые операции OLE в СУБД типа Visual FoxPro или Access используют команды меню "Правка, Специальная Вставка" (Edit, Paste Special) и "Вставка, Объект" (Edit, Insert Object). Объекты OLE из СУБД можно копировать в буфер обмена при помощи меню "Правка", т. о. и другие приложения-клиенты OLE смогут их использовать. Корпорация Microsoft проектировала OLE специально для пользователей, а не для программистов. OLЕ 2.х и ActiveX вводят новую методологию программирования, называемую автоматизацией, достоинство которой заключается в возможности изменять значения свойств объекта и применять его методы, пользуясь стандартным синтаксисом Visual Basic for Application. Автоматизация является основой построения элементов управления ActiveX и других объектов серверов OLE. 12. Отчёты. Назначение, способы создания. Отчет – это форматированное представление данных, которое выводится на экран, в печать или файл. Они позволяют извлечь из базы нужные сведения и представить их в виде, удобном для восприятия, а также предоставляют широкие возможности для обобщения и анализа данных. При печати таблиц и запросов информация выдается практически в том виде, в котором хранится. Часто возникает необходимость представить данные в виде отчетов, которые имеют традиционный вид и легко читаются. Подробный отчет включает всю информацию из таблицы или запроса, но содержит заголовки и разбит на страницы с указанием верхних и нижних колонтитулов. Структура отчета в режиме Конструктора Microsoft Access отображает в отчете данные из запроса или таблицы, добавляя к ним текстовые элементы, которые упрощают его восприятие. К числу таких элементов относятся: Заголовок. Этот раздел печатается только в верхней части первой страницы отчета. Используется для вывода данных, таких как текст заголовка отчета, дата или констатирующая часть текста документа, которые следует напечатать один раз в начале отчета. Для добавления или удаления области заголовка отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета. Верхний колонтитул. Используется для вывода данных, таких как заголовки столбцов, даты или номера страниц, печатающихся сверху на каждой странице отчета. Для добавления или удаления верхнего колонтитула необходимо выбрать в меню Вид команду Колонтитулы. Microsoft Access добавляет верхний и нижний колонтитулы одновременно. Чтобы скрыть один из колонтитулов, нужно задать для его свойства Высота значение 0. Область данных, расположенная между верхним и нижним колонтитулами страницы. Содержит основной текст отчета. В этом разделе появляются данные, распечатываемые для каждой из тех записей в таблице или запросе, на которых основан отчет. Для размещения в области данных элементов управления используют список полей и панель элементов. Чтобы скрыть область данных, нужно задать для свойства раздела Высота значение 0. Нижний колонтитул. Этот раздел появляется в нижней части каждой страницы. Используется для вывода данных, таких как итоговые значения, даты или номера страницы, печатающихся снизу на каждой странице отчета. Примечание. Используется для вывода данных, таких как текст заключения, общие итоговые значения или подпись, которые следует напечатать один раз в конце отчета. Несмотря на то, что в режиме Конструктора раздел "Примечание" отчета находится внизу отчета, он печатается над нижним колонтитулом страницы на последней странице отчета. Для добавления или удаления области примечаний отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета. Microsoft Access одновременно добавляет и удаляет области заголовка и примечаний отчета. Способы создания отчета В Microsoft Access можно создавать отчеты различными способами: Конструктор Мастер отчетов Автоотчет: в столбец Автоотчет: ленточный Мастер диаграмм Почтовые наклейки 13. Запросы к БД. Разновидности запросов, их структура. Запросы — это объект базы данных, который служит для извлечения данных из таблиц и предоставления их пользователю в удобном виде. Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную таблицу. Применение запросов позволяет избежать дублирования данных в таблицах и обеспечивает максимальную гибкость при поиске и отображении данных в базе данных. Access позволяет создавать запросы двух типов: QBE-запросы, SQL-запросы. QBE-запросы (Query By Example) — запросы, строящиеся с помощью конструктора запросов, представляющего собой графический инструмент для создания запросов по образцу. SQL-запросы — запросы, строящиеся при помощи унифицированного набора инструкций SQL (Structured Query Language — структурированный язык запросов). Все запросы делятся на две группы: запросы-выборки, запросы-действия. Запросы-выборки осуществляют выборку данных из таблиц в соответствии с заданными условиями. К этой группе запросов относятся следующие. Запрос к связанным таблицам — позволяет производить выборку данных из связанных таблиц. Перекрестный запрос — отображает итоговые данные с группировкой их по горизонтали и вертикали, выводя результаты их обработки в виде таблиц. Запрос с параметром — позволяет пользователю задать критерий отбора, введя нужный параметр при вызове запроса. Запрос с вычисляемым полем — позволяет рассчитать данные на основе других полей из той же строки запроса. Запрос с критерием поиска — позволяет производить отбор записей в соответствии с заданным критерием поиска. Запрос с итогами — производит математические вычисления и выдает результат. Запросы-действия позволяют модифицировать данные в таблицах: удалять, обновлять, добавлять записи. К этой группе запросов относятся следующие. Запросы на создание таблицы создают таблицы на основании данных, содержащихся в результирующем множестве запроса. Запросы на добавление записей позволяют добавлять в таблицу записи, создаваемые запросом. Запросы на обновление изменяют значения существующих полей в соответствии с заданным критерием. Запросы на удаление удаляют записи из одной или нескольких таблиц одновременно. В Access можно создавать запросы при помощи Мастера запросов и с помощью Конструктора. Для создания запросов при помощи Мастера имеются следующие мастера: Мастер создания простого запроса; Мастер создания перекрестного запроса; Мастер создания запросов на поиск повторяющихся записей; Мастер создания запросов на поиск записей без подчиненных записей. При создании запроса с помощью Мастера производится пошаговое выполнение действий в диалоговом окне Мастера запросов. Конструктор запросов позволяет создавать новые и изменять существующие запросы, поэтому он является основным способом при создании запросов QBE. При создании запросов в режиме Конструктора открывается специальный бланк, называемый бланком запросов по образцу. Этот бланк состоит из двух, областей. В верхней части отображаются структуры таблиц, к которым адресован запрос, а нижняя часть представляет собой таблицу описания запроса, которая имеет 5 основных строк. Количество столбцов в запросе определяется количеством выбранных полей, которые будут использованы в запросе. Назначение строк в бланке Конструктора запросов: 1-я строка Поле предназначена для ввода имени поля запроса и обозначения поля — источника данных или вычисляемого выражения; 2-я строка Имя таблицы предназначена для задания имени таблицы — источника данных; 3-я строка Сортировка предназначена для указания порядка сортировки в данном поле. Может принимать следующие значения: по возрастанию, по убыванию, отсутствует; 4-я строка Вывод на экран содержит флажок, указывающий на то, будет ли выводиться соответствующее значение поля; 5-я строка Условие отбора содержит критерий, по которому будет происходить отбор записей в результирующую таблицу. Запросы могут быть созданы на основе одной или нескольких таблиц. Многотабличные запросы позволяют получить информацию из нескольких предварительно связанных между собой таблиц. 16. Ключи. Типы ключей, их назначение. Использование ключей. Первичный ключ – это уникальная характеристика для каждой записи в пределах таблицы. Программа Access поддерживает два типа первичных ключей: простой и составной. В роли простого ключа может выступать одно уже из существующих полей таблицы, если в данном поле нет пустых и повторяющихся значений. Примерами таких полей могут быть номера машин, инвентарные номера, идентификационные коды. Составной ключ строится как комбинация двух и более элементов данных. Для таблицы Сотрудники, например, теоретически можно использовать в качестве первичного ключа комбинацию двух полей, Фамилию и Имя. Однако вполне возможно, что в компании появится еще один сотрудник с таким же именем и фамилией, как у кого-либо из уже работающих. Очевидно, что к полю (полям), претендующему на роль первичного ключа, предъявляются довольно жесткие требования. Поэтому общепринятой практикой считается создание специального поля идентифицирующего поля, которое выполняет функции ключа (например, Код клиента, Код заказа). С добавлением каждой новой записи в таблицу в это поле заносится специальное значение (как правило, числовое), уникально определяющее запись. В приложении Access организовать такую нумерацию можно благодаря типу данных Счетчик, который присваивает каждой новой записи свой номер, генерируя последовательность чисел с шагом 1 (или случайным образом). Существуют основные правила, которые приняты для ключей в Access: Для удобства ключевое поле обычно указывается в структуре таблицы первым; Если для таблицы определен первичный ключ, программа Access автоматически блокирует ввод в это поле повторяющихся значений или значения Null (пусто); Access автоматически сортирует записи таблицы по первичному ключу; Поле первичного ключа является индексом, с помощью которого ускоряется сортировка и поиск записей. Чтобы установить для таблицы первичный ключ и завершить ее создание в режиме конструктора, выполните следующие действия: В режиме конструктора выделите поле, которое будет играть роль первичного ключа; Кликните по кнопке Ключевое поле панели инструментов Конструктора таблиц или выберите команду главного меню Правка – Ключевое поле (слева возле имени выделенного поля появится символ ключа); После указания ключевого поля таблицу необходимо сохранить, для чего необходимо кликнуть по кнопке Сохранить панели инструментов конструктор таблиц и в открывшемся окне ввести имя таблицы и кликнуть по кнопке Ок. Если первичный ключ не определен, то при выходе из режима конструктора появится соответствующее предупреждение, и программа Access предложит Вам создать ключевое поле до закрытия таблицы. 17. Типы связей и их реализация. Ссылочная целостность и ее обеспечение. В реляционной базе данных связи позволяют избежать избыточности данных. Например, в ходе создания базы данных, содержащей сведения о книгах, может появиться таблица под названием "Книги", в которой будут храниться параметры каждой книги, такие как ее название, дата публикации и издатель. Кроме того, есть и дополнительные сведения об издателе, которые может потребоваться сохранить, такие как его телефонный номер, адрес и почтовый индекс. Если хранить их в таблице с книгами, то телефонный номер издателя будет повторяться для каждой опубликованной им книги. Более правильным вариантом является вынесение сведений об издателях в отдельную таблицу "Издатели". При этом таблица "Книги" будет содержать ссылки на записи таблицы "Издатели". Чтобы сохранить синхронизацию, следует обеспечить целостность данных между таблицами "Книги" и "Издатели". Связи с обеспечением целостности данных позволяют следить за тем, чтобы данные в одной таблице соответствовали данным в другой. Например, каждая книга в таблице "Книги" связана с определенным издателем в таблице "Издатели". Добавить в таблицу книгу для издателя, отсутствующего в базе данных, невозможно. Виды связей между таблицами Связь осуществляется путем сопоставления данных в ключевых столбцах; обычно это столбцы, имеющие в обеих таблицах одинаковые названия. В большинстве случаев сопоставляются первичный ключ одной таблицы, содержащий для каждой из строк уникальный идентификатор, и внешний ключ другой таблицы. Например, с каждым из изданий, находящихся в продаже, можно связать объемы его продаж путем создания столбца "ИД_издания" в таблице "Книги" (первичный ключ) и столбца "ИД_издания" в таблице "Продажи" (внешний ключ). Существует три вида связей между таблицами. Вид создаваемой связи зависит от того, как заданы связанные столбцы. Связи "один ко многим" Связь "один ко многим" - наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы Б, однако каждой строке таблицы Б может соответствовать только одна строка таблицы А. Например, между таблицами "Издатели" и "Книги" установлена связь "один ко многим": каждый из издателей может опубликовать множество книг, однако каждая книга публикуется лишь одним издателем. Связь "один ко многим" создается в том случае, когда только на один из связываемых столбцов наложено ограничение уникальности или он является первичным ключом. В Microsoft Access сторона связи "один ко многим", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности. Связи "многие ко многим" При установлении связи "многие ко многим" каждой строке таблицы А может соответствовать множество строк таблицы Б и наоборот. Такая связь создается при помощи третьей таблицы, называемой соединительной, первичный ключ которой состоит из внешних ключей, связанных с таблицами А и Б. Например, между таблицами "Авторы" и "Книги" установлена связь вида "многие ко многим", задаваемая с помощью связей вида "один ко многим" между каждой из этих таблиц и таблицей "АвторыКниг". Первичный ключ таблицы "АвторыКниг" - это сочетание столбцов "ИД_автора" (первичного ключа таблицы авторов) и "ИД_книги" (первичного ключа таблицы заголовков). Связи "один к одному" При установлении связи "один к одному" каждой строке таблицы А может соответствовать только одна строка таблицы Б и наоборот. Связь "один к одному" создается в том случае, когда оба связанные столбца являются первичными ключами или на них наложены ограничения уникальности. Этот вид связи используется редко, поскольку в такой ситуации связываемые данные обычно можно хранить в одной таблице. Использовать связь вида "один к одному" можно в указанных ниже случаях. • Чтобы разделить таблицу, содержащую слишком много столбцов. • Чтобы изолировать часть таблицы по соображениям безопасности. • Для хранения данных кратковременного использования, удалить которые проще всего путем очистки таблицы. • Для хранения данных, имеющих отношение только к подмножеству основной таблицы. В Microsoft Access сторона связи "один к одному", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, также обозначается символом ключа. Создание связей между таблицами При установлении связи между таблицами связанные поля не обязательно должны иметь одинаковые названия. При этом у них должен быть один и тот же тип данных, если только поле, являющееся первичным ключом, не относится к типу "Счетчик". Поле типа "Счетчик" можно связать с полем типа "Числовой" только в том случае, если для свойства FieldSize (размер поля) каждого из них задано одно и то же значение. Например, можно связать столбцы типов "Счетчик" и "Числовой", если для свойства FieldSize каждого из них установлено значение "Длинное целое". Даже если оба связываемых столбца относятся к типу "Числовой", значение свойства FieldSize для обоих полей должно быть одинаковым. |