Анализ предметной области и проектирование БД
Г.П. Токмаков
БАЗЫ ДАННЫХ
Проектирование баз данных по технологии «клиент-сервер»
И разработка клиентских приложений
Методическое пособие к лабораторным работам
Ульяновск 2010
УДК 681.3 (076)
ББК 73я7
Б
|
|
Рецензенты:
| д-р техн. наук,
| ст. научн. сотр.
| Иванов А. К.
|
| канд. техн. наук,
| доцент
| Андреев Д. В.
| Одобрено секцией методических пособий научно-методического совета университета
|
Б 17 Г.П. Токмаков. Базы данных и знаний. Проектирование БД по технологии «клиент-сервер» и разработка клиентских приложений в среде Delphi: Методическое пособие к лабораторным работам/ − Ульяновск, 2010. − 84 с.
Содержит указания к выполнению лабораторных работ по проектированию баз данных по технологии «клиент-сервер». Инструментом для проектирования клиентской части базы данных является современная и популярная среда разработки Delphi, а серверная часть проектируется с помощью SQL-сервера InterBase.
Предназначено для студентов специальностей 522800 и 522300, а также может использоваться для других специальностей.
| УДК 681.3 (076)
ББК 73я7
|
|
|
| Ó Ульяновский государственный технический университет, 2010
|
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ.. 5
Глава 1. Проектирование баз данных.. 6
1.1. Анализ предметной области и проектирование БД.. 6
1.2. Создание и удаление бд и её элементов.. 9
1.2.1... Базы данных. 9
1.2.2... Схемы в PostgreSQL.. 11
1.2.3... ДОМЕНЫ... 13
1.2.4... Таблицы.. 16
1.2.5... Последовательности. 20
1.2.6... Индексы.. 22
1.3. Работа с таблицами.. 23
1.3.1... Изменение данных в таблице. 23
1.3.2... Выборка данных одной таблицы.. 24
1.3.3... Выборка из множества таблиц. 29
1.3.4... Выполнение функций. 33
1.3.5... Подзапросы.. 35
1.3.6... Работа с представлениями. 37
1.4. Хранимые процедуры... 38
1.4.1... Создание хранимой процедуры.. 38
1.4.2... Типы данных и объявление переменных. 39
1.4.3... Вызов хранимых процедур. 43
1.4.4... Присваивание. 43
1.4.5... Атрибуты.. 44
1.4.6... Условные команды.. 45
1.4.7... Циклы.. 46
1.4.8... Вызов функций. 46
1.4.9... Удаление хранимых процедур. 47
1.5. Триггеры... 47
1.5.1... Поддержание актуальности. 48
1.5.2... Ведение журнала изменений. 48
1.6. Управление пользователями и группами.. 50
1.6.1... Управление пользователями. 50
1.6.2... Управление группами. 52
1.6.3... Предоставление привилегий. 53
ЗАКЛЮЧЕНИЕ.. 55
БИБЛИОГРАФИЧЕСКИЙ СПИСОК.. 56
ПРИЛОЖЕНИЕ 1. Скрипты Базы данных.. 57
ПРИЛОЖЕНИЕ 2. Установка и инструментальные средства POSTGRESQL 65
1.7. Установка postgreSQL.. 65
1.8. Графический интерфейс pgAdmin III. 71
1.8.1... Главное окно pgAdmin. 71
1.8.2... Компоненты ветки базы данных. 72
1.8.3... Tablespases – пространства таблиц. 74
1.8.4... Групповые роли (Group Roles), Роли входа (Login Roles) 75
1.8.5... Инструмент выполнения запросов SQL.. 75
1.9. Начало работы... 79
1.9.1... Добавление подключения к серверу. 79
1.9.2... Определение пользоватей. 80
ПРИЛОЖЕНИЕ 3. Лабораторные работы... 81
Лабораторная работа № 1. Анализ предметной области.. 81
Лабораторная работа № 2. Создание базы данных.. 81
Лабораторная работа № 3. Работа с таблицами.. 81
Лабораторная работа № 4. Хранимые процедуры... 81
Лабораторная работа № 5. Триггеры и генераторы... 81
Лабораторная работа № 6. Привилегии.. 81
Лабораторная работа № 7, 8. Разработка пользовательского интерфейса для работы с базами данных.. 82
ПРИЛОЖЕНИЕ 4. Варианты лабораторных работ.. 83
ВВЕДЕНИЕ
PostgreSQL - это объектно-реляционная система управления базами данных (ORDBMS) (по-русски ОРСУБД или просто СУБД) основанная на POSTGRES, версии 4.2, которая была разработана в Научном Компьютерном Департаменте Беркли Калифорнийского Университета. POSTGRES является пионером во многих аспектах, которые стали доступны в некоторых коммерческих СУБД много позже.
PostgreSQL - это продукт с открытым исходным кодом.
Сильными сторонами PostgreSQL считаются:
– поддержка БД практически неограниченного размера;
– мощные и надёжные механизмы транзакций и репликации;
– расширяемая система встроенных языков программирования: изначально поддерживаются SQL, nobr|PL/pgSQL, nobr|PL/Perl, nobr|PL/Python , nobr|PL/Java и nobr|PL/Tcl, а также имеется поддержка загрузки nobr|C-совместимых модулей;
– поддержка со стороны многих языков программирования: nobr|C/C++, Java, Perl, Python, Ruby, ECPG, Tcl, PHP и других;
– наследование;
– легко расширяемая система типов.
PostgreSQL поддерживает много типов полей двумерной оконной графики (точки, прямые, прямоугольники и т. д.). Есть поддержка массивов данных (несколько экземпляров однотипных данных в одном поле одной записи). Также имеется поддержка регулярных выражений в стиле языка Perl.
Прочие возможности:
– соответствие стандартам ANSI SQL-92 и SQL-99;
– триггеры, ограничения, правила и хранимые процедуры;
– поддержка запросов с OUTER JOIN, UNION, UNION ALL and EXCEPT и подзапросов;
– последовательности;
– контроль целостности;
– репликация;
– поддержка Юникода;
– поддержка регулярных выражений в стиле Perl;
– встроенная поддержка SSL и Kerberos;
– функциональные и частичные индексы;
– подгружаемые расширения, поддерживающие SHA1, MD5, XML и другую функциональность (API открыт);
– средства для генерации совместимого с другими системами SQL-кода и импорта из других систем;
– возможность использования нескольких популярных языков для написания хранимых процедур. Среди них: Perl, PHP, Python, C.
На момент написания данного методического пособия последней версией PostgreSQL была 8.3.6, поэтому во всех примерах будет иметься ввиду именно данная версия.
Глава 1. Проектирование баз данных
Анализ предметной области и проектирование БД
Перед созданием БД необходимо располагать описанием выбранной предметной области (ПрдО), которое должно охватить реальные объекты и процессы, определить все необходимые источники информации для удовлетворения предполагаемых запросов пользователя и определить потребности в обработке данных.
На основе такого описания на этапе проектирования БД определяется состав и структура данных ПрдО, которые должны находиться в БД и обеспечивать выполнение необходимых запросов и задач пользователя. Структура данных ПрдО отображается в виде логической модели, на основе которой легко создается реляционная БД. При разработке модели данных могут использоваться два подхода.
В первом подходе сначала определяются основные задачи, для решения которых строится база, выявляются потребности задач в данных и, соответственно, определяется состав и структура информационных объектов.
При втором подходе сразу устанавливаются типовые объекты ПрдО.
Наиболее рационально сочетание обоих подходов. Это связано с тем, что на начальном этапе, как правило, нет исчерпывающих сведений обо всех задачах, а современные технологии проектирования позволяют на любом этапе разработки внести изменения и модифицировать ее структуру без ущерба для введенных ранее данных. Поэтому в процессе разработки БД выполняются следующие этапы проектирования:
- проводится анализ ПрдО, в ходе которого выявляются информационные объекты, соответствующие требованиям нормализации данных;
- затем определяются связи между выделенными объектами;
- на основе построенной информационно-логической (концептуальной) модели строится логическая модель БД, где каждый информационный объект отображается реляционной таблицей, а связи между таблицами соответствуют связям между информационными объектами.
| Рис. 1. Организация или предприятие как система
| Приведенную классическую схему анализа предметной области можно сделать семантически ориентированной, если придерживаться системного взгляда на моделируемую предметнуя область. Как правило, предприятия и организации, чья деятельность поддерживается с помощью информационных систем, представляют собой системы.
Любая система выполняет определенные функции, которые имеют входы и выходы. Любая система, ориентированная на выполнение заданных функций должна обладать соответствующей структурой. Любая система осуществляет свое функционирование путем взаимодействия с внешними системами (см. Рис. 1). В результате проведения анализа предметной области создается модель, которая отвечает на вопросы «как» и «что».
Ответом на вопрос «что» является определение сущностей, которые используются для выполнения этой функции.
Ответом на вопрос «как» является определение функции, которую выполняет система. При этом определяются входные и выходные атрибуты, а также атрибуты, определяющие прцс выполнения функции.
Исходя из этих предпосылок, в результате анализа предметной области вы должны определить:
– элементы системы и их характеристики, т.е информационные объекты с атрибутами;
– внешние системы и их характеристики;
– средства, с помощью которых реализуется функция системы;
– сущности-входов и сущности-выходов функции системы;
– взаимосвязи между элементами системы;
– сущности-процессы, определяющие функции системы;
– средства поддержки непротивречивости данных.
В качестве примера рассмотрим анализ процесса приема экзамена у группы студентов. Сначала определяем анализируемую систему, которая осуществляет обучение студентов, - это кафедра, осуществляющая обучение студентов по определенным дисциплинам. В ходе обучения кафедра взаимодействует с факультетом.
Прием экзаменов представляет собой процесс, в ходе которого в определенный день, время и место преподаватель по дисциплине проверяет знания у группы студентов по итогам семестра. По результатам проверки каждому студенту группы выставляется оценка. В соответствии сэтим описанием атрибутами процесса приема экземпляра являются:
- дата приема экземпляра;
- время приема экземпляра;
- место (аудитория) приема экземпляра;
- группа студентов, у которой принимается экзамен;
- семестр, по итогам которого принимается экзамен;
- преподаватель, который принимает экзамен;
- дисциплина, по которой принимается экзамен;
- кафедра, которая организует обучение студентов;
- факультет, к которому относится кафедра;
- список студентов группы;
- оценки, выставленные студентам.
Теперь определим внутреннюю структуру системы. Элементами системы-кафедры являются:
- список кафедр (Наименование кафедры, Заведующий кафедрой, Номер телефона);
- список преподавателей кафедр (Фамилия, Имя, Отчество, Табельный номер, Должность, Ученая степень, Ученое звание);
- список дисциплин, изучаемых на кафедрах (Наименование, Аббревиатура, Количество часов, Преподаватель).
Теперь определим внешнюю систему, с которой взаимодействует кафедра в ходе обучения. Этой системой является деканат факультета. Взаимодействие заключается в следующем: деканат составляет расписание проведения экзаменов для кафедр, а кафедры отчитываются перед деканатом по результатам проведения экзаменов. Итак внешняя система содержит:
- список факультетов (Декан (Фамилия, Имя, Отчество), Наименование факультета, Телефон);
- расписание экзаменов (Дисциплина, Дата проведения, Время проведения, Место проведения).
Входом системы являются:
- группа студентов (Наименование группы, Кафедра, Староста);
- список студентов (Номер зачетной книжки, Фамилия, Имя, Отчество, Группа)
- расписание экзаменов (Дисциплина, Дата проведения, Время проведения, Место проведения);
Выходом системы являются:
- группа студентов (Наименование группы, Кафедра, Староста);
| Рис. 2. Организация или предприятие как система
| - список студентов (Номер зачетной книжки, Фамилия, Имя, Отчество, Группа, Оценка).
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|