Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_ITU.rtf
Скачиваний:
0
Добавлен:
01.02.2020
Размер:
558.54 Кб
Скачать

4. Установите связь вида "один ко многим" между каждой из двух главных таблиц и соединительной таблицей.

Типы соединений

Ниже перечислены существующие типы соединений.

Вариант 1 - внутреннее соединение. Внутреннее соединение - это соединение, при котором записи из двух таблиц объединяются в результатах запроса лишь в том случае, если значения связанных полей соответствуют заданному условию. Внутреннее соединение является типом соединения по умолчанию, в результате в запросе происходит выборка лишь тех записей, для которых значения связанных полей совпадают.

Вариант 2 - левое внешнее соединение. Левое внешнее соединение - это соединение, при котором все записи таблицы по левую сторону от оператора LEFT JOIN (левое объединение) инструкции SQL попадают в результаты запроса даже в том случае, если в связанном поле из правой таблицы отсутствуют соответствующие значения.

Вариант 3 - правое внешнее соединение. Правое внешнее соединение - это соединение, при котором все записи таблицы по правую сторону от оператора RIGHT JOIN (правое объединение) инструкции SQL попадают в результаты запроса даже в том случае, если в связанном поле из левой таблицы отсутствуют соответствующие значения.

4 Создание таблиц в ms Access. Типы полей. Маски и форматы ввода. Схема данных

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

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

Для некоторых таблиц можно сэкономить время с помощью полей из раздела "Краткое руководство". Это предопределенные наборы полей, соответствующие некоторым основным бизнес-потребностям, таким как хранение адресов, начальных и конечных дат. Нужно только выбрать подходящий набор полей в меню.

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

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

Имена полей и тип данных

Имя поля. Каждое поле в таблице должно иметь уникальное имя, удовлетворяющее соглашениям об именах объектов в Access. Оно является комбинацией из букв, цифр, пробелов и специальных символов, за исключением точки .), восклицательного знака '), надстрочного знака ') и квадратных скобок [ ]). Имя не может начинаться с пробела и содержать управляющие символы с кодами ASCII от 00 до 31. Максимальная длина имени — 64 символа.

Тип данных. Тип данных определяется значениями, которые предполагается вводить в поле, и операциями, которые будут выполняться с этими значениями. В Access допускается использование девяти типов данных Раскрывающийся список возможных типов данных вызывается нажатием кнопки списка при выборе типа данных каждого поля :

o Текстовый — тип данных по умолчанию. Текст или цифры, не участвующие в расчетах. Число символов в поле не должно превышать 255. Максимальное число символов, которое можно ввести в поле, задается в свойстве Размер поля. Пустые символы в неиспользуемой части поля не сохраняются.

Поле MEMO Длительный текст, например, некоторое описание или примечание. Максимальная длина — 65 535 символов.

o Числовой. Числовые данные, используемые в математических вычислениях. Конкретные варианты числового типа и их длина задаются в свойстве Размер поля. Поле может иметь размер 1, 2, 4 или 8 байт 16 байт— только если для свойства Размер поля задано значение Код репликации). Для проведения денежных расчетов определен другой тип данных — Денежный

o Денежный. Денежные значения и числовые данные, используемые в расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков — в дробной части. Длина поля 8 байт. При обработке числовых значений из денежных полей выполняются вычисления с фиксированной точкой более быстрые, чем вычисления для полей с плавающей точкой). Кроме того, при вычислениях предотвращается округление. Учитывая эти обстоятельства, применительно к полям, в которых планируется хранить числовые значения с указанной точностью, рекомендуется использовать денежный тип данных.

o Дата/время. Значения даты или времени, относящиеся к годам с 100 по 9999 включительно Длина поля 8 байт

Счетчик. Тип данных поля, в которое для каждой новой записи автоматически вводятся уникальные последовательно возрастающие на 1) целые числа или случайные числа. Значения этого поля нельзя изменить или удалить. Длина поля: 4 байта для длинного целого, для кода репликации — 16 байт. По умолчанию в поле вводятся последовательные значения. В таблице не может быть более одного поля этого типа. Используется для определения уникального ключа таблицы

Свойство "Маска ввода" (InputMask) задает маску ввода, облегчающую ввод данных в поле. Например, удобно создать следующую маску ввода для поля "Телефон", позволяющую вводить только цифры и автоматически добавляющую промежуточные символы: (___) ___-____. Значение данного свойства определяется автоматически при использовании мастера по созданию масок ввода.

Значение свойства Маска ввода (InputMask) может содержать до трех разделов, разделяемых точкой с запятой (;).

Представляет саму маску ввода (например, !(999) 000-0000).

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

Определяет символ, используемый для изображения пустых позиций в маске ввода, в которые помещаются вводящиеся пользователем символы. В этом компоненте можно указать любой символ ANSI; пробел необходимо заключить в кавычки (" ").

Значение "Пароль" свойства Маска ввода (InputMask) определяет элемент управления, предназначенный для ввода пароля. Любые символы, вводящиеся в этот элемент управления будут отображаться на экране звездочками (*). Подобная маска ввода используется для предотвращения вывода на экран печатаемых символов.

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

Схема данных в Access

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

Кроме указанных типов связей в Access существуют связи-объединения, обеспечивающие объединение записей таблиц не по ключевому полю, а в следующих случаях:

• связываемые записи в обеих таблицах совпадают (связи устанавливаются по умолчанию);

• для всех записей первой таблицы, для которых отсутствуют связи со второй таблицей, устанавливаются связи с пустой записью второй таблицы;

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

Обеспечение целостности данных

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

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

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

• в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;

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

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

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

• связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;

• обе таблицы сохраняются в одной базе данных Access;

• главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.

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

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

В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.

  1. Создание в MS Access запросов с помощью мастера. Редактирование запроса в конструкторе

создание запросов с помощью мастера,

Наиболее просто создается запрос при помощи Мастера запросов. Чтобы создать простой запрос с помощью Мастера запросов, необходимо:

1. В окне базы данных на панели объектов выбрать ярлык Запросы (Queries).

2. В списке запросов дважды щелкнуть левой кнопкой мыши на ярлыке Создание запроса с помощью мастера Create query by using wizard) или нажать на кнопку Создать New) в окне базы данных и в появившемся диалоговом окне Новый запрос New Query) выбрать Простой запрос (Simple Query Wizard) и нажать на кнопку ОК рис. 4.1).

3. В появившемся окне Создание простых запросов Simple Query Wizard) рис. 4.2) в поле со списком Таблицы и запросы Tables/Queries) выбрать таблицу или запрос, которые будут служить источником данных для создаваемого запроса.

4. С помощью стрелок вправо и влево переместить из списка Доступные поля Available Fields) в список Выбранные поля Selected Fields) те поля, которые необходимы в конструируемом запросе. При этом порядок полей в запросе будет соответствовать порядку полей в списке Выбранные поля Selected Fields). Если нужно включить в запрос все поля, можно воспользоваться кнопкой с двумя стрелками вправо.

5. Нажать кнопку Далее Next).

6. Следующее диалоговое окно будет последним. В нем нужно ввести имя создаваемого запроса рис. 4.3) в поле Задайте имя запроса What title do you want to your query?) и выбрать дальнейшие действия: Открыть запрос для просмотра данных Open the query to view information) или Изменить макет запроса (Modify the query design).

7. При необходимости можно установить флажок Вывести справку по работе с запросом? (Display Help on working with the query) для вывода справочной информации по работе с запросами.

8. Нажать на кнопку Готово (Finish).

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

  1. Создание в MS Access запросов с помощью конструктора. Групповые операции.

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

1. В окне базы данных на панели объектов выбрать ярлык Запросы (Queries).

2. В списке запросов выбрать ярлык Создание запроса в режиме конструктора (Create query in Design view) или нажать кнопку Создать New), в появившемся окне Новый запрос New Query) выбрать Конструктор (Design view) и нажать на кнопку ОК.

3. В окне Добавление таблицы Show Table) см. рис. 4.5) выбрать одну или несколько таблиц или запросов для построения нового запроса и нажать кнопку Добавить (Add). Для удобства выбора таблиц и запросов в окне существуют следующие вкладки: Таблицы Tables), на которой отображается список таблиц;

Запросы Queries), на которой отображается список запросов; Таблицы и запросы Both), на которой отображается список таблиц и запросов вместе

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

Вычисление данных. При запросах можно выполнять групповые операции. Для этого выберите в меню команд Вид - Групповые операции. На Бланке Конструктора запросов в строке Групповые операции щелкните правой кнопкой мыши и из всплывающего меню выберите необходимую функцию: SUM, AVG, MAX, MIN и т.д.

Используя групповые операции, вычислите:

Общую сумму заработной платы,

Сумму заработной платы по кафедрам,

Сумму заработной платы по должностям,

Среднюю заработную плату: в целом, по кафедрам, должностям.

Выделите сотрудников, заработная плата у которых, меньше 5000 и вычислите среднюю заработную плату только для них.

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