
- •2.1 Системный анализ предметной области ………………….…….4
- •2.2 Инфологическое проектирование ……………………………….6
- •1 Введение
- •2 Пояснительная записка
- •2.1 Системный анализ предметной области
- •Ниже представлена er – диаграмма для данной базы данных:
- •2.3 Даталогическое проектирование
- •2.4 Структура и создание таблиц
- •Создание связей "один ко многим" или "один к одному"
- •Целостность данных
- •Каскадные обновления и удаления
- •3 Оперирование данными
- •3.1 Создание запросов
- •3.2 Создание форм
- •3.3 Отчет “Выплата налога”
- •4 Заключение
- •5 Список использованной литературы
Каскадные обновления и удаления
Если для связи включено обеспечение целостности данных, можно задать режим автоматического каскадного обновления или удаления связанных записей средствами Microsoft Access. Установка этих параметров разрешает операции удаления и обновления, выполнение которых в противном случае было бы запрещено правилами целостности данных. При удалении записей или изменении значений первичного ключа в главной таблице Microsoft Access вносит необходимые изменения во все связанные таблицы для сохранения целостности данных. Если в процессе создании связи установить флажок каскадное обновление связанных полей, то при любом изменении значения первичного ключа записи в главной таблице Microsoft Access автоматически обновит значение соответствующего поля во всех связанных записях. Например, при изменении ИД клиента в таблице "Клиенты" поле "Клиент" в таблице "Заказы" автоматически обновится для всех заказов этого клиента, чтобы сохранить связь. Microsoft Access выполнит каскадное обновление без вывода дополнительных сообщений. Примечание. Если первичный ключ в главной таблице является полем типа "Счетчик", установка флажкакаскадное обновление связанных полей не подействует, поскольку менять значение поля типа "Счетчик" нельзя. Если в процессе создания связи установить флажок каскадное удаление связанных записей, то при удалении любой записи из главной таблицы Microsoft Access автоматически удалит связанные записи и в связанной таблице. Например, если удалить запись клиента из таблицы "Клиенты", то все заказы данного клиента будут автоматически удалены из таблицы "Заказы" (включая записи таблицы "Сведения о заказе", связанные с записями таблицы "Заказы"). При удалении записей из формы или таблицы с установленным флажком каскадное удаление связанных записей Microsoft Access предупреждает, что связанные записи также будут удалены. Однако при удалении записей с помощью запроса на удаление Microsoft Access автоматически удалит записи из связанных таблиц без вывода предупреждения.
3 Оперирование данными
3.1 Создание запросов
Запросы позволяют выбирать данные из одной или нескольких связанных таблиц. Результатом выполнения запроса является результирующая таблица, которая наряду с другими таблицами может быть использована при обработке данных. С помощью запросов можно также обновлять, удалять или добавлять данные в таблицы. Основным назначением запросов является отбор данных по критериям поиска.
Не будем вдаваться в детали создания запросов, вместо этого представлю лишь несколько запросов SQL из нашей базы данных:
Запрос “Список налогоплательщиков”:
SELECT [физическое лицо].INN, [физическое лицо].Фамилия, [физическое лицо].Имя, [физическое лицо].Отчество, [физическое лицо].[Дата рождения]
FROM [физическое лицо]
WHERE ((([физическое лицо].[INN]) Is Not Null));
Рисунок 7. Таблица ”физические лица”
Рисунок 8. Запрос “Список налогоплательщиков”
Запрос “Доход”:
SELECT [список налогоплательщиков].INN, налог.[количество объектов]*налог.[налоговая база] AS [величина дохода]
FROM [список налогоплательщиков] INNER JOIN налог ON [список налогоплательщиков].INN=налог.INN
WHERE налог.[объект налогооблажения]=1;
Рисунок 9. Таблица “Налог”
Рисунок 10. Запрос “Доход”
Запрос “имущество”:
SELECT [список налогоплательщиков].INN, налог.[количество объектов]*налог.[налоговая база] AS [стоимость имущества]
FROM [список налогоплательщиков] INNER JOIN налог ON [список налогоплательщиков].INN=налог.INN AND налог.[объект налогооблажения]=2;
Рисунок 11. Запрос “имущество”
Запрос “выплата”:
SELECT налог.INN, [объект налогооблажения].название AS [объект налогооблажения], налог.[количество объектов]*налог.[налоговая база]*[объект налогооблажения].[налоговая ставка]/100 AS выплата
FROM налог INNER JOIN [объект налогооблажения] ON налог.[объект налогооблажения]=[объект налогооблажения].ID;
Рисунок 12. Таблица “Объект налогооблажения”
Рисунок 13. Запрос “выплата”