Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Создание составного индексаИндексы, содержащие несколько полей, следует определять в окне индексов. 1. В окне конструктора откройте таблицу, для которой вы создаете составной индекс. Для этого в окне базы данных установите указатель на данную таблицу и нажмите кнопку Конструктор. 2. Нажмите кнопку Индексы на панели инструментов. На экране откроется окно диалога «Индексы». 3. В открывшемся окне диалога введите имя индекса в первом пустом поле столбца Индекс. В качестве имени индекса можно использовать имя одного из полей, включенных в индекс, или любое допустимое имя. 4. В столбце Имя поля той же строки нажмите кнопку раскрытия списка и выберите первое поле индекса. 5. В столбце Имя поля следующей строки выберите имя следующего поля индекса. (В этой строке поле столбца Индекс следует оставить пустым). Определите таким же образом остальные поля индекса. Индекс может включать до 10 полей. 6. Закончив выбор полей для индекса, нажмите кнопку закрытия окна, расположенную в строке заголовка окна диалога. Как правило, на практике приходится иметь дело с многотабличными базами данных. Поэтому вопросы проектирования структуры данных создаваемого приложения и эффективного распределения данных между таблицами приобретают особое значение. Основными понятиями в теории реляционных баз данных являются таблица, отношение, строка, столбец, первичный и внешний ключи. Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. В каждой из таблиц содержится информация о каких-либо объектах одного типа (группы). В качестве примера обратимся к базе данных, предназначенной для учета заказов покупателей и состоящей из двух таблиц: Клиенты и Заказы. Таблица Клиенты содержит информацию о покупателях (фамилия, имя, отчество, адрес, телефон и т.п.). В таблице показаны структура этой таблицы.
Таблица Заказы содержит информацию о заказах различных покупателей. Структура этой таблицы показана.
Вы можете получить информацию о каждом клиенте (таблица Клиенты) и сделанных им заказах (таблица Заказы). Каждая запись в таблицах идентифицирует один объект группы (покупатель или сделанный заказ). Отношение между объектами определяет отношение между таблицами. Предполагается, что один и тот же покупатель может сделать несколько заказов. Таким образом, между покупателями и сделанными ими заказами существует отношение «один-ко-многим». Связь таблиц осуществляется на основании данных в совпадающих полях Код клиента. МS Ассеss поддерживает четыре типа отношений между таблицами: «один-к-одному», «один-ко-многим», «много-к-одному», «много-ко-многим». Прежде чем перейти к вопросам проектирования реляционных баз данных, остановимся подробнее на каждом из типов отношений. Отношение «один-к-одному» Отношение «один-к-одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. В качестве примера рассмотрим отношение между группами Физические лица и Сотрудники, представленными в одноименных таблицах. Структура этих таблиц представлена в таблицах 1 и 2 соответственно. Обе таблицы содержат информацию о сотрудниках компании. В таблице Физические лица содержатся данные о личности сотрудника, а в таблице Сотрудники —профессиональные сведения. Между таблицами Физические лица и Сотрудники существует отношение «один-к-одному», поскольку для одного человека может существовать только одна запись, содержащая профессиональные сведения. Связь между этими таблицами поддерживается при помощи совпадающих полей: Код сотрудника (таблица Сотрудники) и Код ФизЛица- (таблица Физические лица). Отметьте, что эти поля имеют разные на- именования. Связь между таблицами устанавливается на основании значений совпадающих полей, но не их наименований. Таблица1:
Таблица2:
Отношение «один-ко-многим» В качестве иллюстрации данного типа отношения обратимся к рассмотренным ранее таблицам Клиенты и Заказы. Связь между таблицами осуществляется на основании значений совпадающих полей Код клиента. В данном случае совпадающие поля в обеих таблицах имеют одинаковые наименования. В качестве других примеров могут быть рассмотрены отношения между предприятием и работающими на нем сотрудниками. Аналогичный тип отношения существует между компьютером и входящими в него компонентами. Как правило, при иерархической организации данных тип отношения «один-ко-многим» является наиболее общим. Отношение «много-к-одному» Отношение «много-к-одному» аналогично рассмотренному ранее типу «один-ко-многим». Тип отношения между объектами зависит от вашей точки зрения. Например, если вы будете рассматривать отношение между сделанными заказами и клиентами, то получите отношение «много-к-одному». Отношение «много-ко-многим» Отношение «много-ко-многим» возникает между двумя таблицами в тех случаях, когда: • Одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы • Одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы В качестве примера обратимся к магазину оптовой торговли. Рассмотрим две группы объектов. 1. Список товаров, производимых предприятиями-поставщиками (таблица Поставки товаров). 2. Список товаров, заказанных потребителями (таблица Заказы потребителей). Структура таблицы Поставки товаров приведена в таблице 3, а структура таблицы Заказы потребителей — в таблице 4. Между таблицами Поставки товаров и Заказы потребителей существует отношение «много-ко-многим», так как на каждый поставляемый товар может быть более одного заказа. Аналогично, каждый заказанный товар может производиться более чем одним предприятием. Связь между таблицами устанавливается на основании значений в совпадающих полях Код товара. Таблица3:
Определение связей между таблицами В МS Ассеss вы можете устанавливать постоянные связи между таблицами, которые будут поддерживаться при создании форм, отчетов и запросов. Устанавливая связи между двумя таблицами, вы выбираете поле, которое содержит одну и ту же информацию. Чаще всего вы будете связывать первичный ключ одной таблицы с совпадающими полями другой таблицы. Наиболее важным является тип «один-ко-многим». В отношении «один-ко-многим» главной таблицей является таблица, которая содержит первичный ключ и составляет часть «один» в отношении «один-ко-многим» Внешний ключ - это поле (или поля), содержащее такой же тип информации в таблице со стороны «много» в отношении «один-ко-многим», которую называют подчиненной таблицей. Окно диалога «Схема данных» Создание связей между таблицами в МS Ассеss осуществляется в окне диалога «Схема данных» Для определения связей между таблицами необходимо выполнить следующие действия: 1. Откройте окно диалога «Схема данных», выполнив команду Сервис | Схема данных или нажав кнопку Схема данных напанели инструментов. На экране откроется окно диалога «Схема данных». 2. Добавьте в это окно диалога последовательно две связываемые таблицы. Для этого выполните команду Связи | Добавить таблицу или нажмите кнопку Добавить таблицу на панели инструментов. На экране откроется окно диалога «Добавление таблицы». 3. В списке таблиц выделите первую добавляемую таблицу (например, Клиенты) и нажмите кнопку Добавить. Затем выберите вторую добавляемую таблицу (например, Заказы) и также нажмите кнопку Добавить. Затем нажмите кнопку Закрыть для закрытия окна диалога «Добавление таблицы». В окне диалога «Схема данных» появились две связываемые таблицы. 4. Для связывания таблиц выберите поле в первой связываемой таблице и переместите его с помощью мыши на соответствующее поле второй таблицы. Для связывания сразу нескольких полей выберите эти поля при нажатой клавише CTRL и переместите во вторую таблицу группу выделенных полей. 5. На экране откроется окно диалога «Связи». В данном окне диалога проверьте правильность имен связываемых полей, находящихся в столбцах. При необходимости выберите другие имена полей. Затем нажмите кнопку Создать. Тип создаваемой связи зависит от полей, которые были указаны при определении связи: • Отношение «один-ко-многим» — создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс • Отношение «один-к-одному» — создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы • Связь с отношением «многие-ко-многим» — фактически представляет две связи с отношением «один-ко-многим» через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, которые являются полями внешнего ключа в двух других таблицах В окне диалога «Схема данных» вы имеете возможность не только создавать связи между таблицами, но и выполнять следующие действия: • Изменить структуру таблицы • Изменить существующую связь • Удалить связь • Удалить таблицу из окна диалога «Схема данных» • Вывести на экран все существующие связи или связи только для конкретной таблицы • Определить связи для запросов, не задавая условия целостности данных Связывание двух полей одной таблицы На практике может возникнуть необходимость в определении поля с подстановкой значений из той же таблицы. Обратимся к демонстрационной базе данных Борей. В таблице Сотрудники поле Подчиняется является подстановочным полем, в котором выводятся значения из полей Имя и Фамилия той же таблицы, определяемые соответствующим кодом сотрудника из поля Сотрудник. Для связывания поля таблицы с другим полем той же таблицы дважды добавьте эту таблицу в окно диалога «Схема данных» и создайте требуемую связь, соединив поля линией связи. Создание между таблицами отношения «многие-ко-многим» Рассмотрим создание между таблицами отношения «многие-ко-многим». Как отмечалось, в МS Ассess отношение «многие-ко-многим» представляет две связи с отношением «один-ко-многим» через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, являющихся полями внешнего ключа в двух других таблицах. Примером такой связи является отношение, установленное между таблицами Поставки товаров и Заказы потребителей. Каждый из товаров может производиться несколькими предприятиями, при этом каждый из заказов может включать несколько наименований товаров. Связующей таблицей для таблиц Поставки товаров и Заказы потребителей является таблица Товары. Создание связи типа «многие-ко-многим» предполагает выполнение следующих действий: 1. Создайте таблицы, между которыми требуется определить связь с отношением «многие-ко-многим». 2. Создайте третью (связующую) таблицу с полями, описание которых совпадает с описанием ключевых полей в каждой из двух связываемых таблиц. В этой таблице ключевые поля выполняют роль внешнего ключа. Другие поля в связующую таблицу можно добавлять без ограничений. 3. Определите в связующей таблице ключ, содержащий все ключевые поля двух связываемых таблиц. 4. Определите связи с отношением «один-ко-многим» между каждой из двух таблиц и связующей таблицей. Изменение структуры таблицы в окне диалога «Схема данных» При создании связи в окне диалога «Схема данных» может возникнуть необходимость в изменении структуры таблицы. При этом вы можете не покидать окна диалога, а внести нужные изменения в структуру таблицы непосредственно в окне диалога: 1. Находясь в окне диалога «Схема данных», установите указатель мыши на модифицируемую таблицу. 2. Нажмите правую кнопку мыши и выберите из контекстного меню команду Конструктор таблиц. 3. Внесите в структуру таблицы необходимые изменения.
|