Курсовая на тему Создание базы данных для паспортно визовой службы
Работа добавлена на сайт bukvasha.net: 2014-07-23Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронных вычислительных систем
(КИБЭВС)
Курсовая работа
СОЗДАНИЕ БАЗЫ ДАННЫХ ДЛЯ ПАСПОРТНО-ВИЗОВОЙ СЛУЖБЫ
2005
Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронных вычислительных систем (КИБЭВС)
ЗАДАНИЕ
Необходимо создать базу данных паспортно-визовой службы. Исследовать заданную предметную область, выбрать существенные атрибуты. Построить концептуальную модель предметной области.
На основе концептуальной модели построить реляционную модель, установить связи между объектами. Задать первичные и внешние ключи. Провести нормализацию. Объяснить выполненные преобразования.
Провести исследование полученной модели, задав несколько сложных запросов к полученной модели.
Дата выдачи задания: “____”_______ 2005 г.
Задание принято к исполнению
«____» ___________ 2005г. Подпись студента___________
Содержание
Введение
1. Построение концептуальной модели
2. Построение реляционной модели
3. Нормализация
4. Проектирование базы данных в ACCESS
5. Создание SQL запросов
Заключение
Список использованных источников
Введение
Система с базой данных – это любая информационная система на базе компьютера, в которой данные могут совместно использоваться многими приложениями. Это означает, что данные организованны таким образом, чтобы поддерживать не только одно конкретное приложение. Основное отличие системы с базой данных от традиционной файловой системы – это многократное и разнообразное использование одних и тех же данных. Данные не привязаны к какому-либо конкретному приложению и не контролируется им. Отдельные приложения больше не отвечают за создание и ведение данных. Эти обязанности возлагаются на нижележащий уровень программного обеспечения – систему управления базой данных (СУБД). СУБД выполняет роль посредника между пользователями приложений и данными. Также СУБД должна обеспечивать гарантии безопасности и целостности базы данных. Пользователи компьютера должны иметь возможность защитить свои данные от несанкционированного доступа, а также восстановить их в случае неких системных сбоев. Централизованное обеспечение безопасности данных – важная особенность СУБД. Наиболее значительное преимущество систем с базами данных – это централизованное обеспечение целостности данных.
1. Построение концептуальной модели
При изучении баз данных важнейшее значение имеет их проектирование. Построение концептуальной модели представляет собой процесс моделирования смыслового наполнения базы данных. Концептуальная модель состоит из следующих трёх основных компонентов.
1 Сущности. Это элементы реального мира, которые могут существовать независимо. В моем случае сущностями являются: гражданин, документы, паспортист, паспорт РФ, заграничный паспорт. Сущность представляется в концептуальной модели прямоугольником, в котором указано её имя.
2 Атрибуты. Они описывают сущность. Атрибуты представляются овалами с указанием имен, которые прикреплены к сущности. В моем случае гражданину соответствуют: ФИО, адрес, ИНН, номер свидетельства о рождении. Документам соответствуют: прописка, номер заявления, квитанция об оплате. Паспортисту соответствуют: ФИО, ИНН, адрес, id – паспортиста. Паспорту РФ соответствуют: ФИО, номер паспорта РФ, серия паспорта РФ, регистрация, пол, смена фамилии, дата рождения, дата выдачи, кем выдан. Заграничному паспорту соответствуют: ФИО, номер заграничного паспорта, тип, дата рождения, дата выдачи, место рождения, пол, кем выдан, дата окончания действия, гражданство.
3 Связи. Связь представляет взаимодействие между сущностями. На диаграмме она изображается ромбом, который соединяет сущности, участвующие в связи. В моем случае связь между паспортистом и документами будет один ко многим, так как конкретный пакет документов обслуживает один паспортист, который в свою очередь обрабатывает произвольное количество документов. Все остальные связи будут один к одному, так как каждому гражданину соответствует свой пакет документов, каждому набору документов соответствует один паспорт РФ и один заграничный паспорт.
На рисунке 2.1 представлена концептуальная модель заданной базы данных.
SHAPE \* MERGEFORMAT
Рисунок 2.1 – Концептуальная модель
2. Построение реляционной модели
В настоящее время преобладает технология реляционных баз данных. Она обеспечивает относительно простые средства представления данных и манипулирования ими. В реляционной базе данных все данные хранятся в таблицах. Названия сущностей станут заголовками таблиц, а атрибуты станут столбцами. Целостность данных в реляционной базе данных основывается на концепции ключей. Первичный ключ (PK) – это атрибут который можно использовать для уникальной идентификации таблицы. Так у таблицы “гражданин” первичным ключом станет “номер свидетельства о рождении”, у таблицы “паспортист” – “id-паспортиста”, у таблицы “документы” – “номер заявления”, таблица “паспорт РФ” будет идентифицироваться атрибутом “номер паспорта РФ”, а таблица “заграничный паспорт” – “номер заграничного паспорта”. Внешний ключ (FK) – это атрибут, который существует в нескольких таблицах и является первичным ключом одной из этих таблиц. Связь проводим от первичного ключа одой таблицы до внешнего ключа другой таблицы. Реляционная модель представлена на рисунке 3.1.
SHAPE \* MERGEFORMAT Рисунок 3.1- Реляционная модель
3. Нормализация
Нормализация – это процесс, позволяющий гарантировать эффективность структур данных в реляционной базе данных.
Первая нормальная форма требует, чтобы все значения полей были атомарными и все записи уникальными. Реляционная модель представленная на рисунке 3.1 находится в первой нормальной форме.
Модель находится во второй нормальной форме, если она, во-первых, находиться в первой нормальной форме; и, во-вторых, не содержит неключевых атрибутов, находящихся в частичной функциональной зависимости от первичного ключа. Исходя из определения, разбиваем таблицу “гражданин” на две таблицы, вторую образовавшеюся таблицу назовем “данные гражданина”. В таблице “гражданин ” у нас остался только один идентификатор “номер свидетельства о рождении” значит неключевые атрибуты зависят от всего первичного ключа. В таблице “данные гражданина” нет неключевых атрибутов, значит частичной зависимости быть не может. Таким же образом разбиваем таблицы “паспортист” и “заграничный паспорт”. Реляционная модель во второй нормальной форме представлена на рисунке 4.1.
Модель находится в третьей нормальной форме, если она находится во второй нормальной форме и не имеет транзитивных зависимостей. Транзитивная зависимость – это зависимость между неключевыми атрибутами. Таким образом, выделяем из таблицы “заграничный паспорт” неключевые атрибуты “гражданство” и “код государства”, которые находятся в зависимости, в отдельную таблицу “соответствия кодов и государств”. Получаем модель в третьей нормальной форме, которая представлена на рисунке 4.2.
SHAPE \* MERGEFORMAT
Рисунок 4.1 – Вторая нормальная форма
SHAPE \* MERGEFORMAT
Рисунок 4.2 – Третья нормальная форма
4. Проектирование базы данных в ACCESS.
Microsoft Access – это СУБД предназначенная для хранения и поиска информации, её представления в удобном виде и автоматизации часто повторяющихся операций (рис. 5.1). Чтобы реализовать базу данных в access надо ввести через режим конструктора свою модель. Для начала надо ввести название таблиц и всех их атрибутов. Здесь же задается тип данных и первичный ключ (рис. 5.2).
Рисунок 5.1 – Таблицы в access.
Рисунок 5.2 – атрибуты таблицы “паспорт РФ”
Затем реализуем свою реляционную модель третей нормальной формы в схеме данных (рис. 5.3).
Рисунок 5.3 – схема данных
После этого вводим в таблицы данные и делаем запросы. Для этого создаем запросы через режим конструктора: добавляем нужные таблицы (связи выставляются сами) и указываем поля, необходимые отобразить после запроса (рис. 5.4).
Рисунок 5.4 – Создание запроса
В результате на экран выведутся те поля, которые были указаны в запросе (рис. 5.5).
Рисунок 5.5 – Результат запроса
Можно создавать запросы с условиями отбора, или сортируя данные. К примеру, нужно вывести граждан, которые получили паспорт раньше 05.05.2000г. Для этого вводим ограничение в графу “Условие отбора” (рис. 5.6). В результате появиться таблица с гражданином Окрушко Сергеем Александровичем, который получил паспорт 01.03.1995г. (рис. 5.7).
Рисунок 5.6 – Ввод ограничения
Рисунок 5.7 – Результат запроса
5. Создание SQL запросов
SQL – это язык реляционных баз данных, позволяющий пользователю создавать и удалять данные, содержащиеся в базе, управлять ими и налагать правила, обеспечивающие целостность реляционных данных. Чтобы войти в режим SQL в access нужно в поле конструктора запроса нажать правой кнопкой и в появившемся окне нажать “Режим SQL” (рис. 6.1).
Рисунок 6.1 – Выбор режима SQL
В появившемся окне пишем запрос и выборку, учитывая синтаксис. К примеру, надо обеспечить выборку сменивших фамилию граждан (рис. 6.2). Прописываем:
SELECT [Паспорт РФ].ФИО, [Паспорт РФ].регистрация, [Паспорт РФ].[серия паспорта РФ], [Паспорт РФ].[номер паспорта РФ], [Паспорт РФ].[смена фамилии]
FROM [Паспорт РФ]
WHERE ((([Паспорт РФ].[смена фамилии]) Like "сменил на *"));
Оператор SELECT создает требуемую таблицу, с помощью FROM перечисляются таблицы, содержащие необходимые для выполнения запроса данные, WHERE – оператор ограничения, Like – обеспечивает выборку, символ - означает любую последовательность символов. Этот запрос можно описать так: создать таблицу со столбцами “ФИО”, “регистрация”, “серия паспорта РФ”, “номер паспорта РФ”, “смена фамилии” из таблицы “паспорт РФ”, где в столбце “смена фамилии” есть подобие “сменил на…”.
В итоге появится таблица с гражданами, которые сменили фамилию (рис. 6.3).
Рисунок 6.2 – запрос SQL в access
Рисунок 6.3 – Результат запроса
Заключение
В этом отчете представлена работа по исследованию и проектированию базы данных для паспортно-визовой службы, в полученной базе можно хранить данные о клиентах и сотрудниках паспортного стола. Проектирование представлено построением концептуальной модели, разработкой на её основе реляционной модели и реализацией базы в Microsoft Access. В ходе работы были изучены и реализованы команды на выборку в SQL.
Список использованных источников
1. Ролланд Ф.Д. Основные концепции баз данных. 2002г.
2. Трифонова Н.А., Прозорова С.С. Office для студента. 2004г.
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронных вычислительных систем
(КИБЭВС)
Курсовая работа
СОЗДАНИЕ БАЗЫ ДАННЫХ ДЛЯ ПАСПОРТНО-ВИЗОВОЙ СЛУЖБЫ
|
2005
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронных вычислительных систем (КИБЭВС)
ЗАДАНИЕ
Необходимо создать базу данных паспортно-визовой службы. Исследовать заданную предметную область, выбрать существенные атрибуты. Построить концептуальную модель предметной области.
На основе концептуальной модели построить реляционную модель, установить связи между объектами. Задать первичные и внешние ключи. Провести нормализацию. Объяснить выполненные преобразования.
Провести исследование полученной модели, задав несколько сложных запросов к полученной модели.
Дата выдачи задания: “____”_______ 2005 г.
Задание принято к исполнению
«____» ___________ 2005г. Подпись студента___________
Содержание
Введение
1. Построение концептуальной модели
2. Построение реляционной модели
3. Нормализация
4. Проектирование базы данных в ACCESS
5. Создание SQL запросов
Заключение
Список использованных источников
Введение
Система с базой данных – это любая информационная система на базе компьютера, в которой данные могут совместно использоваться многими приложениями. Это означает, что данные организованны таким образом, чтобы поддерживать не только одно конкретное приложение. Основное отличие системы с базой данных от традиционной файловой системы – это многократное и разнообразное использование одних и тех же данных. Данные не привязаны к какому-либо конкретному приложению и не контролируется им. Отдельные приложения больше не отвечают за создание и ведение данных. Эти обязанности возлагаются на нижележащий уровень программного обеспечения – систему управления базой данных (СУБД). СУБД выполняет роль посредника между пользователями приложений и данными. Также СУБД должна обеспечивать гарантии безопасности и целостности базы данных. Пользователи компьютера должны иметь возможность защитить свои данные от несанкционированного доступа, а также восстановить их в случае неких системных сбоев. Централизованное обеспечение безопасности данных – важная особенность СУБД. Наиболее значительное преимущество систем с базами данных – это централизованное обеспечение целостности данных.
1. Построение концептуальной модели
При изучении баз данных важнейшее значение имеет их проектирование. Построение концептуальной модели представляет собой процесс моделирования смыслового наполнения базы данных. Концептуальная модель состоит из следующих трёх основных компонентов.
1 Сущности. Это элементы реального мира, которые могут существовать независимо. В моем случае сущностями являются: гражданин, документы, паспортист, паспорт РФ, заграничный паспорт. Сущность представляется в концептуальной модели прямоугольником, в котором указано её имя.
2 Атрибуты. Они описывают сущность. Атрибуты представляются овалами с указанием имен, которые прикреплены к сущности. В моем случае гражданину соответствуют: ФИО, адрес, ИНН, номер свидетельства о рождении. Документам соответствуют: прописка, номер заявления, квитанция об оплате. Паспортисту соответствуют: ФИО, ИНН, адрес, id – паспортиста. Паспорту РФ соответствуют: ФИО, номер паспорта РФ, серия паспорта РФ, регистрация, пол, смена фамилии, дата рождения, дата выдачи, кем выдан. Заграничному паспорту соответствуют: ФИО, номер заграничного паспорта, тип, дата рождения, дата выдачи, место рождения, пол, кем выдан, дата окончания действия, гражданство.
3 Связи. Связь представляет взаимодействие между сущностями. На диаграмме она изображается ромбом, который соединяет сущности, участвующие в связи. В моем случае связь между паспортистом и документами будет один ко многим, так как конкретный пакет документов обслуживает один паспортист, который в свою очередь обрабатывает произвольное количество документов. Все остальные связи будут один к одному, так как каждому гражданину соответствует свой пакет документов, каждому набору документов соответствует один паспорт РФ и один заграничный паспорт.
На рисунке 2.1 представлена концептуальная модель заданной базы данных.
SHAPE \* MERGEFORMAT
гражданин |
Паспорт РФ |
Заграничный паспорт |
документы |
паспортист |
ФИО |
адрес |
Номер свидетельства о рождении |
ИНН |
Квитанция об оплате |
Номер заявления |
прописка |
id-паспортиста |
ИНН |
адрес |
ФИО |
Дата рождения |
Смена фамилии |
пол |
регистрация |
ФИО |
Серия паспорта РФ |
Номер паспорта РФ |
Кем выдан |
Дата выдачи |
Дата окончания действия |
Кем выдан |
Место рождения |
Дата выдачи |
Дата рождения |
тип |
пол |
Номер заграничного паспорта |
ФИО |
гражданство |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
м |
Личный код |
Код государства |
Рисунок 2.1 – Концептуальная модель
2. Построение реляционной модели
В настоящее время преобладает технология реляционных баз данных. Она обеспечивает относительно простые средства представления данных и манипулирования ими. В реляционной базе данных все данные хранятся в таблицах. Названия сущностей станут заголовками таблиц, а атрибуты станут столбцами. Целостность данных в реляционной базе данных основывается на концепции ключей. Первичный ключ (PK) – это атрибут который можно использовать для уникальной идентификации таблицы. Так у таблицы “гражданин” первичным ключом станет “номер свидетельства о рождении”, у таблицы “паспортист” – “id-паспортиста”, у таблицы “документы” – “номер заявления”, таблица “паспорт РФ” будет идентифицироваться атрибутом “номер паспорта РФ”, а таблица “заграничный паспорт” – “номер заграничного паспорта”. Внешний ключ (FK) – это атрибут, который существует в нескольких таблицах и является первичным ключом одной из этих таблиц. Связь проводим от первичного ключа одой таблицы до внешнего ключа другой таблицы. Реляционная модель представлена на рисунке 3.1.
Номер заявления (PK) Прописка Квитанция об оплате Номер свидетельства о рождении (FK) id-паспортиста (FK) |
Номер паспорта РФ (PK) Серия паспорта РФ ФИО Регистрация Пол Смена фамилии Дата рождения Дата выдачи Кем выдан Номер заявления (FK) |
id-паспортиста (PK) ФИО Адрес ИНН |
Номер свидетельства о рождении (PK) ФИО Адрес ИНН |
Гражданин |
Паспортист |
Документы |
Паспорт РФ |
Заграничный паспорт |
Номер заграничного паспорта (PK) Личный код ФИО Тип Дата рождения Дата выдачи Место рождения Пол Кем выдан Дата окончания действия Гражданство Номер заявления (FK) Код государства |
SHAPE \* MERGEFORMAT Рисунок 3.1- Реляционная модель
3. Нормализация
Нормализация – это процесс, позволяющий гарантировать эффективность структур данных в реляционной базе данных.
Первая нормальная форма требует, чтобы все значения полей были атомарными и все записи уникальными. Реляционная модель представленная на рисунке 3.1 находится в первой нормальной форме.
Модель находится во второй нормальной форме, если она, во-первых, находиться в первой нормальной форме; и, во-вторых, не содержит неключевых атрибутов, находящихся в частичной функциональной зависимости от первичного ключа. Исходя из определения, разбиваем таблицу “гражданин” на две таблицы, вторую образовавшеюся таблицу назовем “данные гражданина”. В таблице “гражданин ” у нас остался только один идентификатор “номер свидетельства о рождении” значит неключевые атрибуты зависят от всего первичного ключа. В таблице “данные гражданина” нет неключевых атрибутов, значит частичной зависимости быть не может. Таким же образом разбиваем таблицы “паспортист” и “заграничный паспорт”. Реляционная модель во второй нормальной форме представлена на рисунке 4.1.
Модель находится в третьей нормальной форме, если она находится во второй нормальной форме и не имеет транзитивных зависимостей. Транзитивная зависимость – это зависимость между неключевыми атрибутами. Таким образом, выделяем из таблицы “заграничный паспорт” неключевые атрибуты “гражданство” и “код государства”, которые находятся в зависимости, в отдельную таблицу “соответствия кодов и государств”. Получаем модель в третьей нормальной форме, которая представлена на рисунке 4.2.
SHAPE \* MERGEFORMAT
Номер заявления (PK) Прописка Квитанция об оплате Номер свидетельства о рождении (FK) id-паспортиста (FK) |
Номер паспорта РФ (PK) Серия паспорта РФ ФИО Регистрация Пол Смена фамилии Дата рождения Дата выдачи Кем выдан Номер заявления (FK) |
ИНН (PK) ФИО Адрес |
ИНН (PK) ФИО Адрес |
Гражданин |
Паспортист |
Документы |
Паспорт РФ |
Заграничный паспорт |
Номер заграничного паспорта (PK) ФИО Тип Дата рождения Дата выдачи Место рождения Пол Кем выдан Дата окончания действия Гражданство Код государства |
Номер свидетельства о рождении (PK) ИНН (FK) |
данные гражданина |
id-паспортиста (PK) ИНН (FK) |
данные паспортиста |
данные заграничного паспорта |
Номер заграничного паспорта (PK) Личный код Номер заявления (FK) |
Рисунок 4.1 – Вторая нормальная форма
SHAPE \* MERGEFORMAT
Номер заявления (PK) Прописка Квитанция об оплате Номер свидетельства о рождении (FK) id-паспортиста (FK) |
Номер паспорта РФ (PK) Серия паспорта РФ ФИО Регистрация Пол Смена фамилии Дата рождения Дата выдачи Кем выдан Номер заявления (FK) |
ИНН (PK) ФИО Адрес |
ИНН (PK) ФИО Адрес |
Гражданин |
Паспортист |
Документы |
Паспорт РФ |
Заграничный паспорт |
Номер заграничного паспорта (PK) ФИО Тип Дата рождения Дата выдачи Место рождения Пол Кем выдан Дата окончания действия Гражданство (FK) |
Номер свидетельства о рождении (PK) ИНН (FK) |
данные гражданина |
id-паспортиста (PK) ИНН (FK) |
данные паспортиста |
данные заграничного паспорта |
Номер заграничного паспорта (PK) Личный код Номер заявления (FK) |
гражданство (PK) код государства |
Рисунок 4.2 – Третья нормальная форма
4. Проектирование базы данных в ACCESS.
Microsoft Access – это СУБД предназначенная для хранения и поиска информации, её представления в удобном виде и автоматизации часто повторяющихся операций (рис. 5.1). Чтобы реализовать базу данных в access надо ввести через режим конструктора свою модель. Для начала надо ввести название таблиц и всех их атрибутов. Здесь же задается тип данных и первичный ключ (рис. 5.2).
Рисунок 5.1 – Таблицы в access.
Рисунок 5.2 – атрибуты таблицы “паспорт РФ”
Затем реализуем свою реляционную модель третей нормальной формы в схеме данных (рис. 5.3).
Рисунок 5.3 – схема данных
После этого вводим в таблицы данные и делаем запросы. Для этого создаем запросы через режим конструктора: добавляем нужные таблицы (связи выставляются сами) и указываем поля, необходимые отобразить после запроса (рис. 5.4).
Рисунок 5.4 – Создание запроса
В результате на экран выведутся те поля, которые были указаны в запросе (рис. 5.5).
Рисунок 5.5 – Результат запроса
Можно создавать запросы с условиями отбора, или сортируя данные. К примеру, нужно вывести граждан, которые получили паспорт раньше 05.05.2000г. Для этого вводим ограничение в графу “Условие отбора” (рис. 5.6). В результате появиться таблица с гражданином Окрушко Сергеем Александровичем, который получил паспорт 01.03.1995г. (рис. 5.7).
Рисунок 5.6 – Ввод ограничения
Рисунок 5.7 – Результат запроса
5. Создание SQL запросов
SQL – это язык реляционных баз данных, позволяющий пользователю создавать и удалять данные, содержащиеся в базе, управлять ими и налагать правила, обеспечивающие целостность реляционных данных. Чтобы войти в режим SQL в access нужно в поле конструктора запроса нажать правой кнопкой и в появившемся окне нажать “Режим SQL” (рис. 6.1).
Рисунок 6.1 – Выбор режима SQL
В появившемся окне пишем запрос и выборку, учитывая синтаксис. К примеру, надо обеспечить выборку сменивших фамилию граждан (рис. 6.2). Прописываем:
SELECT [Паспорт РФ].ФИО, [Паспорт РФ].регистрация, [Паспорт РФ].[серия паспорта РФ], [Паспорт РФ].[номер паспорта РФ], [Паспорт РФ].[смена фамилии]
FROM [Паспорт РФ]
WHERE ((([Паспорт РФ].[смена фамилии]) Like "сменил на *"));
Оператор SELECT создает требуемую таблицу, с помощью FROM перечисляются таблицы, содержащие необходимые для выполнения запроса данные, WHERE – оператор ограничения, Like – обеспечивает выборку, символ
В итоге появится таблица с гражданами, которые сменили фамилию (рис. 6.3).
Рисунок 6.2 – запрос SQL в access
Рисунок 6.3 – Результат запроса
Заключение
В этом отчете представлена работа по исследованию и проектированию базы данных для паспортно-визовой службы, в полученной базе можно хранить данные о клиентах и сотрудниках паспортного стола. Проектирование представлено построением концептуальной модели, разработкой на её основе реляционной модели и реализацией базы в Microsoft Access. В ходе работы были изучены и реализованы команды на выборку в SQL.
Список использованных источников
1. Ролланд Ф.Д. Основные концепции баз данных. 2002г.
2. Трифонова Н.А., Прозорова С.С. Office для студента. 2004г.