Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

А.С.Грошев.Базы данных.Уч.пособие

.pdf
Скачиваний:
150
Добавлен:
12.04.2015
Размер:
3.1 Mб
Скачать

Федеральное агентство по образованию Архангельский государственный технический университет

Институт информационных технологий

А. С. Грошев

Базы данных

Учебное пособие

Архангельск

2005

Рассмотрено и рекомендовано к изданию методической комиссией Института информационных технологий Архангельского государственного технического университета 20 октября 2004 г.

Рецензент Я. В. Казаков, зам. декана химико-технологического факультета по

информатике

УДК 004.65 ББК 32.973.26 – 018.2 Г 89

Грошев А.С. Базы данных: Учебное пособие. – Архангельск, Изд-во Арханг. гос. техн. ун-та, 2005. – 124 с.

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

Рассмотрены вопросы практической работы с базами данных в систе-

мах корпорации Microsoft: Visual FoxPro, Access и SQL Server. Приведены примеры создания баз данных, разработки экранных форм, отчетов, запросов и приложений для работы с базами, а также задания для практического освоения этих методов.

Предназначено для студентов, изучающих курсы «Базы данных», «Управление данными», «Информационные системы».

Ил. 93. Табл. 21. Библиогр. 9 назв.

© Архангельский государственный технический университет, 2005

© А.С. Грошев, 2005

2

Оглавление

 

Глава 1. Общие сведения о базах данных ............................................................

5

1.1. Некоторые термины и определения, используемые при работе с

 

базами данных .....................................................................................................

5

1.2. Общие принципы разработки информационной системы ......................

7

1.3. Принципы организации баз данных ........................................................

13

1.3.1. Классификация баз данных ......................................................

13

1.3.2. Ранние подходы к организации баз данных ...........................

15

1.3.3. Современные базы данных.......................................................

16

1.3.4. Серверы баз данных ..................................................................

22

1.3.5. Распределенные базы данных ..................................................

22

1.4. Разработка концептуальной модели базы данных .................................

24

1.4.1.Общее описание примера информационной системы

«Контингент студентов университета» .......................................

24

1.4.2. Использование системы CASE Studio для проектирования

концептуальной и физической модели........................................

25

Приложение 1.1 Сгенерированная Case Studio SQL-программа создания

 

таблиц базы данных для сервера Oracle .........................................................

28

Приложение 1.2 Сгенерированная Case Studio программа создания таблиц

базы данных для СУБД Access........................................................................

28

Глава 2. Основы работы с базами данных в системе Visual FoxPro................

39

2.1. Общая характеристика системы...............................................................

39

2.2. Типы файлов, которые использует система............................................

42

2.3. Создание базы данных ..............................................................................

43

2.3. Использование стандартных режимов BROWSE и EDIT для работы с

таблицами базы .................................................................................................

47

2.4. Разработка экранных форм для работы с базой данных .......................

49

2.5. Использование раскрывающихся списков на экранных формах.........

55

2.6. Разработка отчетов (печатных форм) ......................................................

58

2.7. Отбор данных из базы с использованием SQL-запросов .....................

64

2.8. Разработка проекта и исполняемой программы .....................................

68

Приложение 2.1 Некоторые команды и функции языка системы VFP......

72

Глава 3. Основы работы с базами данных в системе Microsoft Access..........

78

3.1. Общая характеристика системы...............................................................

78

3.2. Создание базы данных. Стандартный режим работы с таблицами......

83

3.2. Разработка экранных форм для работы с базой данных .......................

89

3.3. Разработка отчетов (печатных форм) ......................................................

96

3.3. Разработка отчетов (печатных форм) ......................................................

97

3.4. Использование запросов .........................................................................

103

3

 

Глава 4. Система Microsoft SQL Server ............................................................

106

4.1. Общая характеристика системы.............................................................

106

4.2. Типы данных системы.............................................................................

108

4.3. Установка системы ..................................................................................

109

4.4. Создание базы данных ............................................................................

118

4.5. Создание таблиц базы данных................................................................

120

4.6. Занесение информации в базу в программе Enterprise Manager ........

122

4.7. Разработка клиентских приложений......................................................

123

Литература ...........................................................................................................

127

4

Глава 1. Общие сведения о базах данных

1.1. Некоторые термины и определения, используемые при работе с базами данных

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

База данных (БД, database) поименованная совокупность структурированные данных, относящихся к определенной предметной области.

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

Система управления базами данных (СУБД) – комплекс программ-

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

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

Таблица базы данных (table) – регулярная структура, состоящая из однотипных строк (записей, records), разбитых на столбцы (поля, fields).

Втеории реляционных баз данных синоним таблицы – отношение (relation), строка называется кортежем, столбец отношения называется ат-

рибутом.

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

Ключевой элемент таблицы (ключ, regular key) – такое ее поле или строковое выражение, образованное из значений нескольких полей (составной ключ), по которому можно определить значения других полей для одной или нескольких записей таблицы. На практике для использования ключей создаются индексы – служебная информация, содержащая упорядоченные сведения о ключевых значениях. В реляционной теории и концептуальной модели понятие «ключ» применяется для атрибутов отношения или сущности.

5

Первичный ключ (primary key) – главный ключевой элемент, однозначно идентифицирующий строку в таблице. Могут также существовать альтернативный (candidate key) и уникальный (unique key) ключи, служащие также для идентификации строк в таблице.

Вреляционной теории первичный ключ – минимальный набор атрибутов, однозначно идентифицирующий кортеж в отношении.

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

Связь (relation) – функциональная зависимость между объектами. В реляционных базах данных между таблицами устанавливаются связи по ключам, один из которых (в главной таблице) – первичный, второй может быть тоже первичным для связи «один к одному» или не первичный (внешний, foreign) – связь «один ко многим». Информация о связях сохраняется в базе данных.

Хранимые процедуры (stored procedures) – программные модули, сохраняемые в базе данных для выполнения определенных операций с информацией базы.

Ссылочная целостность данных (referential integrity) – набор правил,

обеспечивающих соответствие ключевых значений в связанных таблицах. Триггеры (triggers) – хранимые процедур, обеспечивающие соблюде-

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

Объект (object) – элемент информационной системы, обладающий определенными свойствами (properties) и определенным образом реагирующий на внешние события (events).

Репликация базы данных – создание копий базы данных (реплик), которые могут обмениваться обновляемыми данными или реплицированными формами, отчетами или другими объектами в результате выполнения процесса синхронизации.

Транзакция – изменение информации в базе в результате выполнения одной операция или их последовательности, которое должно быть выполнено полностью или не выполнено вообще. В СУБД существуют специальные механизмы обеспечения транзакций.

Язык SQL (Structured Query Language) универсальный язык работы

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

6

1.2. Общие принципы разработки информационной системы

Информационная система (ИС) – программно-аппаратный комплекс, предназначенный для хранения и обработки информации какой-либо предметной области.

База данных – важнейший компонент любой информационной системы. Хорошо структурированная информация в базе данных позволяет не только безпроблемно эксплуатировать систему и выполнять ее текущее обслуживание, но и модифицировать и развивать ее при развитии предприятия и изменении информационных потоков, законодательства и форм отчетности.

В настоящее время в эксплуатации на крупных предприятиях находятся комплексные ИС управления предприятиями (КИС, корпоративные системы,

ERP-системы), такие, как R/3 фирмы SAP, Oracle E-Business Suite, BaanERP. Среди российских разработок приближаются к системам класса ERP

«Галактика», «Флагман», «Парус».

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

На рис 1.1 показан полный состав система BaanERP версии 5.0с (меню администратора системы), для примера показан состав модулей подсистемы

«Производство»).

Рис. 1.1. Подсистемы и модули BaanERP 5.0c

7

На рис. 1.2 приведена схема подсистем и модулей КИС «Флагман».

ФИНАНСОВО – ЭКОНОМИЧЕСКОЕ УПРАВЛЕНИЕ

 

 

 

 

 

 

 

 

 

 

Технико-

 

Договоры и

 

 

 

Финансовый

 

 

 

 

 

Маркетинг

экономическое

 

 

 

 

 

 

 

 

 

 

взаиморасчеты

 

 

 

менеджмент

 

 

 

 

 

 

 

 

 

 

 

 

планирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЛОГИСТИКА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сбыт и

 

 

Складской учет

 

Снабжение и

 

 

 

 

 

 

 

 

 

 

торговля

 

 

закупки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УПРАВЛЕНИЕ ПРОИЗВОДСТВОМ

 

 

 

 

 

 

 

 

Техническая

 

 

Управление

 

Календарное

 

 

 

Управление

 

 

 

 

 

подготовка

 

 

 

 

 

 

 

 

 

 

 

 

 

проектами

 

планирование

 

 

 

цехом

 

 

 

 

 

производства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Услуги и сервис

 

 

Отраслевые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

решения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БУХГАЛТЕРСКИЙ УЧЕТ И

 

 

 

УПРАВЛЕНИЕ ПЕРСОНАЛОМ

 

 

 

 

АНАЛИЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Персонал

Зарплата

Налоги

 

 

 

 

Бухгалтерский

 

Финансовый

 

 

 

 

 

 

 

 

 

 

учет

 

анализ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОНТРОЛЛИНГ

 

 

 

 

 

 

 

 

 

 

 

 

 

Управление затратами

 

 

Мониторинг бизнеса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УПРАВЛЕНИЕ ИНФОРМАЦИОННЫМИ РЕСУРСАМИ

Администрирование Документооборот Инструментальные средства

Рис. 1.2. Схема подсистем и модулей КИС «Флагман»

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

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

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

8

Рис. 1.3. Каскадная схема жизненного цикла ИС

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

1)Сверху – вниз – вначале разрабатывается глобальный план, затем все его компоненты;

2)Снизу – вверх – вначале разрабатываются подсистемы нижних уровней (отдельные рабочие места, отделы, цеха и т.д.), затем все объединяется в общую систему.

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

При разработке проекта информационной системы следует определить:

1)объекты информационной системы (сущности в концептуальной модели);

2)их свойства (атрибуты);

3)взаимодействие объектов (связи) и информационные потоки внутри и между ними.

При этом очень важен анализ существующей практики реализации ин-

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

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

9

полностью соответствующими поставленной задаче. Схема формирования информационной модели представлена на рис 1.2.

 

 

 

 

 

 

Сложившаяся

 

 

 

Концептуальные

 

 

 

 

 

 

 

 

 

 

практика

 

 

 

требования

 

Нормативные

 

 

Анализ

 

 

представления

 

пользователей

 

документы

 

 

аналогов

 

 

информации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Концептуальная модель (постановка задачи)

Логическая модель

(проект)

Внутренняя модель

 

Внешняя модель

(база данных)

 

(аппаратно - программный комплекс)

Рис 1.2. Схема формирования информационной модели.

Концептуальная модель на схеме рис. 1.2. – информационные объекты и свойства без указания способов их физического хранения.

Логическая модель – отражает связи между элементами данных и информационные потоки вне зависимости от способа хранения и передачи информации.

Внутренняя (физическая) модель – определяет способ хранения ин-

формации – используемый сервер баз данных или СУБД и структуру базы данных.

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

Для проектирования концептуальной модели и формирования физической модели можно использовать инструментальные CASE-средства (Com- puter-Aided Software System Engineering), напромер Case Studio, SyBase Power Disigner, ERWin Data Modeler и др. Данные системы используют при описании модели данных стандарт IDEF1X и позволяют генерировать программный код на языках SQL, VBScript, JScript, либо другие технологии для переноса физической модели в реальные СУБД, которыми могут быть Oracle, Microsoft SQL Server, IBM DB2, Informix, Microsoft Access и др.

10