3. Связи между объектами
Концептуальные взаимосвязи объектов Access показаны на рис. 2.2. В таблицах хранятся данные, которые можно извлекать с помощью запросов. Используя формы, можно выводить данные на экран или изменять их. Формы и отчеты могут использовать данные непосредственно из таблиц или через запросы. Для выполнения нужных вычислений и преобразования данных запросы могут использовать встроенные функции или функции, написанные в AccessBasic.
База данных может содержать большое количество взаимосвязанных таблиц. Связи устанавливается между двумя общими полями (столбцами) двух таблиц. Связываемые поля могут иметь разные имена, но должныиметь одинаковый тип данных за исключением случая, когда поле первичногоключа является полем типа Счетчик. Поле счетчика связывается с числовымполем, если значения свойства Размер поля (FieldSize) обоих полей совпадают,Например, если свойство обоих полей имеет значение Длинное целое. Дажев том случае, когда связываются поля типа «Числовой», их свойства Размер поля(FieldSize) должны иметь одинаковые значения.Задав связи между таблицами, можно создать запросы, формы и отчеты дляотображения сведений, представленных в нескольких таблицах. Между двумятаблицами могут существовать следующие связи:
один к одному — при таком типе связи одной записи в первой таблице соответствует только одна запись в другой таблице. В этом случае следуетпроверить возможность размещения всех записей в одной таблице. Однако в ряде случаев можно использовать несколько более простых таблиц.Соответствие записей устанавливается по полю, которое является первичным ключом в первой таблице, и полю, называемым внешним ключомдругой таблицы;
один ко многим — в этом случае запись одной таблицы может иметь несколько согласованных с ней записей в другой таблице. При этом каждаязапись во второй таблице согласуется только с одной записью в первойтаблице. Например, каждый покупатель может купить несколько товаров,но каждый проданный товар имеет только одного покупателя. Поле, содержащее первичный ключ новой таблицы, связывается с внешним ключом старой. Значения в поле с внешним ключом могут повторяться;
многие к одному — любой записи таблицы, связь с которой мы рассматриваем, могут соответствовать несколько записей новой таблицы, но не наоборот. Фактически это отношение один ко многим, рассматриваемоев обратном порядке. В этом случае ключевое поле новой таблицы являетсявнешним ключом; • многие ко многим — каждой записи из одной таблицы может соответствовать любое количество записей в другой таблице и наоборот. Например,каждый человек может звонить с нескольких телефонов. С другой стороны некоторыми телефонами могут пользоваться несколько человек.В этом случае поля, по которым устанавливается связь, являются внешними ключами. Они могут содержать повторяющиеся значения.
Математически такие связи можно записать 1:1, 1:т, т;1 и т:п. Более широкое распространение получили связи один ко многим, Например, один и тотже товар со склада может вывозиться в разные магазины, и одной записи в таблице Склад будет соответствовать несколько записей в таблице Магазины, Таблица Склад будет главной таблицей, а Магазины — связанной. В главной таблице для описания объекта используется одна запись. Избежать дублированиязаписей в этой таблице позволяет первичный ключ.
Две таблицы связывает общее поле, что позволяет объединить данные издвух таблиц для просмотра, редактирования или печати. Записи из таблиц, связанных с текущей таблицей, можно отображать в подтаблицах в пределах основной таблицы.
Связанная таблица — это таблица, которая сохраняется в файле, не принадлежащем открытой базе данных, однако, является доступной из MicrosoftAccess. Пользователь имеет возможность добавлять, удалять и изменить записив связанной таблице, но не может изменять ее структуру. Для обеспечения целостности данных нельзя произвольно удалять или изменять связанные записи.
Например, в таблицу Магазины можно включать только те записи, которые содержат сведения о товарах, поступивших со склада.
Для управления базой данных используются связи между таблицами.
Символы на линиях связи показывают тип связи. Символ бесконечностииспользуется для обозначения «много», и если мы видим на одной линии связисимволы единицы и бесконечности, то между таблицами существует связь одинко многим. Можно связывать поля с разными именами, а также запросы с таблицами или запросами .
Кнопки панели инструментов Отобразить прямые связи (Show DirecRelationships) и Отобразить все (Show All Relationships) позволяют показать схемупрямых связей только одной таблицы или схемы связей всех таблиц в базе данных.
Обеспечение целостности данных
В MicrosoftAccess обеспечивается возможность автоматической проверки целостности данных в связанных полях. Целостность данных означает систему правил, используемых для поддержания связей между записями в связанных таблицах, а также для обеспечения защиты от случайного удаления или изменения связанных данных. Установить проверку целостности данных можно, если выполнены следующие условия:
- связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
- связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поля указано значение Длинное целое, или в обоих полях свойство Размер поляимеет значение Код репликации;
- обе таблицы принадлежат одной базе данных MicrosoftAccess
Чтобы обеспечить целостность, работа с данными должна производиться с учетом ниже перечисленных правил.
- Невозможно ввести в связанное поле подчиненной таблицы значение, отсутствующее в связанном поле главной таблицы. Однако можно ввести пустое значение, показывающее, что для данной записи связь отсутствует.
- Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.
- Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данной таблицей.
Чтобы эти правила контролировались для конкретной связи, при ее создании следует установить флажок Обеспечение целостности данных.Тогда любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки каскадное обновление связанныхполей и каскадное удаление связанных записей. Если установлен флажок каскадное обновление связанных полей, то при изменении ключевого поля главной таблицы автоматически будут изменены и соответствующие значения поля связанных записей. Если установлен флажок каскадное удаление связанных записей, то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.
Вопрос 4. С помощью электронной таблицы Excel разработайте следующий документ
Таблица1
Ведомостьрасчета заработной платы и премии работникам предприятия | |||||||
Фамилия | Оклад | Норма рабочих дней | Фактически отработано дней | Сумма заработной платы | Процент премии | Сумма премии | Всего начислено |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Герасимов | 450 000р. | 21 | 19 | 10% | |||
Василевич | 300 000р. | 21 | 21 | 5% | |||
Петрович | 400 000р. | 21 | 21 | 30% | |||
Сидоров | 850 000р. | 21 | 21 | 20% | |||
Писарик | 320 000р. | 21 | 16 | 15% | |||
ИТОГО |
1. Запуск программы Excel:
Пуск - Программы — MicrosoftExcel.
2. Ввод и форматирование исходных данных:
В ячейку А1 вводим прописными буквами заголовок Ведомость расчета заработной платы и премии работникам предприятия.. Выделяем ячейки A1:H9, выполняем команду Формат-Ячейки. Во вкладке Выравнивание установим Выравнивание по горизонтали - По центру выделения, здесь же установим флажок Переносить по словам, и установим флажок Объединение ячеек, во вкладке Шрифт выберем шрифт - TimesNewRoman, начертание - полужирный, размер – 12
Выделяем ячейки A2:H2, выполняем команду Формат-Ячейки. Во вкладке Выравнивание установим Выравнивание по горизонтали - По центру выделения, здесь же установим флажок Переносить по словам во вкладке Шрифт выберем шрифт - TimesNewRoman, начертание - полужирный, размер - 12
В ячейки А2: Н2 вводим наименования строк соответственно: Фамилия;Оклад; Норма рабочих дней; Фактически отработано дней; Сумма заработной платы; Процент премии; Сумма премии; Всего начислено.
Выделяем ячейки A3:H3, выполняем команду Формат-Ячейки. Во вкладке Выравнивание установим Выравнивание по горизонтали - По центру, во вкладке Шрифт выберем шрифт - TimesNewRoman,начертание - полужирный, размер – 12, во вкладке Вид выбираем цвет заливки ячеек - серый.