Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Создание составного индекса





Индексы, содержащие несколько полей, следует определять в окне индексов.

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

2. Нажмите кнопку Индексы на панели инструментов. На экране откроется окно диалога «Индексы».

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

4. В столбце Имя поля той же строки нажмите кнопку раскрытия спис­ка и выберите первое поле индекса.

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

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

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

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

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

Структура таблицы Клиенты  
N   Наименование   Тип  
  Код клиента   Счетчик  
  Фамилия   Текстовый  
  Имя   Текстовый  
  Отчество   Текстовый  
  Телефон   Текстовый  
  Индекс   Текстовый  
  Страна   Текстовый  
  Область   Текстовый  
  Город   Текстовый  
  Адрес   Текстовый  
  Предприятие   Текстовый  
  Кредит   Денежный  
  Примечание   Мемо  

 

Таблица Заказы содержит информацию о заказах различных покупа­телей. Структура этой таблицы показана.

Структура таблицы Заказы  
N   Наименование   Тип  
  Код товара   Числовой  
  Код клиента   Числовой  
  Дата заказа   Текстовый  
  Заказано   Текстовый  
  Дата продажи   Текстовый  
  Продано   Текстовый  
  Цена   Денежный  
  Примечание   Мемо  

 

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

заказами существует отношение «один-ко-многим». Связь таблиц осу­ществляется на основании данных в совпадающих полях Код клиента. МS Ассеss поддерживает четыре типа отношений между таблицами: «один-к-одному», «один-ко-многим», «много-к-одному», «много-ко-многим».

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

Отношение «один-к-одному»

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

В качестве примера рассмотрим отношение между группами Физи­ческие лица и Сотрудники, представленными в одноименных таблицах. Структура этих таблиц представлена в таблицах 1 и 2 соответственно.

Обе таблицы содержат информацию о сотрудниках компании. В таблице Физические лица содержатся данные о личности со­трудника, а в таблице Сотрудники —профессиональные сведения. Между таблицами Физические лица и Сотрудники существует отноше­ние «один-к-одному», поскольку для одного человека может сущест­вовать только одна запись, содержащая профессиональные сведения.

Связь между этими таблицами поддерживается при помощи совпа­дающих полей: Код сотрудника (таблица Сотрудники) и Код ФизЛица- (таблица Физические лица). Отметьте, что эти поля имеют разные на-

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

Таблица1:

Структура таблицы физические лица  
N   Наименование   Тип  
  Код ФизЛица   Счетчик  
  Фамилия   Текстовый  
  Имя   Текстовый  
  Отчество   Текстовый  
  Телефон   Текстовый  
  Индекс   Текстовый  
  Страна   Текстовый  
  Город   Текстовый  
  Область   Текстовый  
  Адрес   Текстовый  
  Дата рождения   Дата/Время  
  Фотография   Поле объекта ОЬЕ  
  Примечание   Мемо  

 

Таблица2:

 

Структура таблицы Сотрудники  
N   Наименование   Тип  
  Код сотрудника   Счетчик  
  Должность   Текстовый  
  Разряд   Числовой  
  Зарплата   Числовой  
  Задолженность   Числовой  
  Рейтинг   Числовой  
  Дата приема   Дата/Время  
  Дата увольнения   Дата/Время  
  Примечание   Мемо  

 

Отношение «один-ко-многим»

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

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

Отношение «много-к-одному»

Отношение «много-к-одному» аналогично рассмотренному ранее типу «один-ко-многим». Тип отношения между объектами зависит от вашей точки зрения. Например, если вы будете рассматривать отношение между сделанными заказами и клиентами, то получите отношение «много-к-одному».

Отношение «много-ко-многим»

Отношение «много-ко-многим» возникает между двумя таблицами в тех случаях, когда:

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

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

В качестве примера обратимся к магазину оптовой торговли. Рас­смотрим две группы объектов.

1. Список товаров, производимых предприятиями-поставщиками (таблица Поставки товаров).

2. Список товаров, заказанных потребителями (таблица Заказы потре­бителей).

Структура таблицы Поставки товаров приведена в таблице 3, а структура таблицы Заказы потребителей — в таблице 4.

Между таблицами Поставки товаров и Заказы потребителей су­ществует отношение «много-ко-многим», так как на каждый поставляе­мый товар может быть более одного заказа. Аналогично, каждый зака­занный товар может производиться более чем одним предприятием.

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

Таблица3:

Структура таблицы Поставки товаров  
N   Наименование   Тип  
  Код предприятия   Числовой  
  Код товара   Числовой  
  Цена   Денежный  
  Минимальная партия   Числовой  
  Срок поставки   Дата/Время  
Таблица4: Структура таблицы Заказы потребителей  
N   Наименование   Тип  
  Код потребителя   Числовой  
  Код товара   Числовой  
  Цена   Денежный  
  Количество   Числовой  
  Дата поставки   Дата/Время  

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

В МS Ассеss вы можете устанавливать постоянные связи между таб­лицами, которые будут поддерживаться при создании форм, отчетов и запросов.

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

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

Окно диалога «Схема данных»

Создание связей между таблицами в МS Ассеss осуществляется в окне диалога «Схема данных» Для определения связей между таблицами необходимо выполнить следующие действия:

1. Откройте окно диалога «Схема данных», выполнив команду Сервис | Схема данных или нажав кнопку Схема данных напанели инструментов. На экране откроется окно диалога «Схема данных».

2. Добавьте в это окно диалога последовательно две связываемые таб­лицы. Для этого выполните команду Связи | Добавить таблицу или нажмите кнопку Добавить таблицу на панели инструмен­тов. На экране откроется окно диалога «Добавление таблицы».

3. В списке таблиц выделите первую добавляемую таблицу (например, Клиенты) и нажмите кнопку Добавить. Затем выберите вторую до­бавляемую таблицу (например, Заказы) и также нажмите кнопку Добавить. Затем нажмите кнопку Закрыть для закрытия окна диа­лога «Добавление таблицы». В окне диалога «Схема данных» появи­лись две связываемые таблицы.

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

5. На экране откроется окно диалога «Связи». В данном окне диалога проверьте правильность имен связываемых полей, находя­щихся в столбцах. При необходимости выберите другие имена полей. Затем нажмите кнопку Создать. Тип создаваемой связи зависит от полей, которые были указаны при определении связи:

• Отношение «один-ко-многим» — создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс

• Отношение «один-к-одному» — создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы

• Связь с отношением «многие-ко-многим» — фактически представ­ляет две связи с отношением «один-ко-многим» через третью таб­лицу, ключ которой состоит, по крайней мере, из двух полей, ко­торые являются полями внешнего ключа в двух других таблицах

В окне диалога «Схема данных» вы имеете возможность не только создавать связи между таблицами, но и выполнять следующие действия:

• Изменить структуру таблицы

• Изменить существующую связь

• Удалить связь

• Удалить таблицу из окна диалога «Схема данных»

• Вывести на экран все существующие связи или связи только для конкретной таблицы

• Определить связи для запросов, не задавая условия целостности данных

Связывание двух полей одной таблицы

На практике может возникнуть необходимость в определении поля с подстановкой значений из той же таблицы. Обратимся к демонстрацион­ной базе данных Борей. В таблице Сотрудники поле Подчиняется явля­ется подстановочным полем, в котором выводятся значения из полей Имя и Фамилия той же таблицы, определяемые соответствующим кодом со­трудника из поля Сотрудник.

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

Создание между таблицами отношения «многие-ко-многим»

Рассмотрим создание между таблицами отношения «многие-ко-мно­гим». Как отмечалось, в МS Ассess отношение «многие-ко-многим» пред­ставляет две связи с отношением «один-ко-многим» через третью табли­цу, ключ которой состоит, по крайней мере, из двух полей, являющихся полями внешнего ключа в двух других таблицах.

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

Создание связи типа «многие-ко-многим» предполагает выполнение следующих действий:

1. Создайте таблицы, между которыми требуется определить связь с отношением «многие-ко-многим».

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

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

4. Определите связи с отношением «один-ко-многим» между каждой из двух таблиц и связующей таблицей.

Изменение структуры таблицы в окне диалога «Схема данных»

При создании связи в окне диалога «Схема данных» может возник­нуть необходимость в изменении структуры таблицы. При этом вы мо­жете не покидать окна диалога, а внести нужные изменения в структуру таблицы непосредственно в окне диалога:

1. Находясь в окне диалога «Схема данных», установите указатель мыши на модифицируемую таблицу.

2. Нажмите правую кнопку мыши и выберите из контекстного меню команду Конструктор таблиц.

3. Внесите в структуру таблицы необходимые изменения.

Date: 2016-05-13; view: 422; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию