- •Федеральное агентство по образованию рф
- •Глава 1 Понятие и основные функции системы управления базами данных 4
- •Глава 2. Процедурное программирование в среде субд 33
- •Глава 3. Организация поиска информации в базе данных 45
- •Глава 4. Работа с многотабличной базой данных. Связывание таблиц данных 49
- •Глава 5 Основы языка структурированных запросов (sql) 51
- •Введение
- •Глава 1 Понятие и основные функции системы управления базами данных
- •1.1 Система управления базами данных
- •1.2 Модели субд
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •1.3 Главное окно в среде Visual FoxPro
- •1.3 Организация хранения базами данных .
- •1.3.1 Логическая архитектура базы данных в Visual FoxPro
- •1.3.2 Задание типов данных
- •1.4. Современные технологии хранения и поиска.Среда Visual FoxPro Конструкторы Visual Foxpro
- •Окна Visual Foxpro
- •Мастера Visual Foxpro
- •Менеджер проекта
- •1.5 Создание однотабличной базы данных и индексирование
- •1.6 Создание представления данных (Local views)
- •1.7. Создание однотабличных форм Создание экранных форм в Visual Foxpro
- •1.8 Формирование однотабличных отчетов Формирование отчетов
- •Построение отчетов
- •Создание визиток
- •Глава 2. Процедурное программирование в среде субд
- •2.1 Структура команд субд FoxPro
- •2.2 Основные команды работы с таблицей базы
- •2.3 Работа с массивами переменных
- •2.4. Типы команд ввода-вывода
- •Команда вывода блока текста:
- •2.5 Команда if
- •2.6 Команда выбора
- •2.7. Организация цикла
- •2.8. Организация fox – меню
- •2.9. Организация dBase – меню
- •2.10 Организация клавишных меню
- •2.11 Добавление записей таблицы в командном файле
- •2.12 Добавление записей из других таблиц
- •Глава 3. Организация поиска информации в базе данных
- •3.1 Последовательный поиск
- •3.2 Ускоренный поиск
- •3.3 Фильтрация базы данных
- •3.4 Организация процедур
- •Глава 5 Основы языка структурированных запросов (sql)
- •Лабораторный практикум
- •Задания по вариантам для лабораторного практикума
- •Лабораторная работа № 1 Создание и редактирование таблицы базы данных. Упорядочение информации в таблице базы данных
- •Лабораторная работа № 2 Создание однотабличных формы, запроса и отчета в среде субд
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •Лабораторная работа № 5 Работа с несколькими таблицами базы данных. Организация связи между базами данных
- •Лабораторная работа № 6 Создание многотабличных форм. Формирование многотабличных отчетов
- •Лабораторная работа № 7 Организация структурированного запроса (sql) в базе данных. Создание проекта. Построение исполняемого файла
- •Лабораторная работа № 8
- •Примечание
1.2 Модели субд
Модели СУБД различаются по способу организации информационного фонда:
иерархические;
сетевые;
реляционные
Иерархические базы данных
Иерархические базы данных поддерживают древовидную организацию информации. Связи между записями выражаются в виде отношений предок/потомок, а у каждой записи есть ровно одна родительская запись. Это помогает поддерживать ссылочную целостность. Когда запись удаляется из дерева, все ее потомки также должны быть удалены.
Иерархические базы данных имеют централизованную структуру, т.е. безопасность данных легко контролировать. К сожалению, определенные знания о физическом порядке хранения записей все же необходимы, так как отношения предок/потомок реализуются в виде физических указателей из одной записи на другую.
Это означает, что поиск записи осуществляется методом прямого обхода дерева. Записи, расположенные в одной половине дерева, ищутся быстрее, чем в другой. Отсюда следует необходимость правильно упорядочивать записи, чтобы время их поиска было минимальным. Это трудно, так как не все отношения, существующие в реальном мире, можно выразить в иерархической базе данных. Отношения "один ко многим" являются естественными, но практически невозможно описать отношения "многие ко многим" или ситуации, когда запись имеет несколько предков. До тех пор пока в приложениях будут кодироваться сведения о физической структуре данных, любые изменения этой структуры будут грозить перекомпиляцией.
Сетевые базы данных
Сетевая модель расширяет иерархическую модель, позволяя группировать связи между записями в множества. С логической точки зрения связь — это не сама запись. Связи лишь выражают отношения между записями. Как и в иерархической модели, связи ведут от родительской записи к дочерней, но на этот раз поддерживается множественное наследование.
Следуя спецификации CODASYL, сетевая модель поддерживает DDL (Data Definition Language — язык определения данных) и DML (Data Manipulation Language — язык обработки данных). Это специальные языки, предназначенные для определения структуры базы данных и составления запросов. Несмотря на их наличие, программист по-прежнему должен знать структуру базы данных.
В сетевой модели допускаются отношения "многие ко многим", а записи не зависят друг от друга. При удалении записи удаляются и все ее связи, но не сами связанные записи.
В сетевой модели требуется, чтобы связи устанавливались между существующими записями во избежание дублирования и искажения целостности. Данные можно изолировать в соответствующих таблицах и связать с записями в других таблицах.
Программисту не нужно заботиться о том, как организуется физическое хранение данных на диске. Это ослабляет зависимость приложений и данных. Но в сетевой модели требуется, чтобы программист помнил структуру данных при формировании запросов.
Оптимальную структуру базы данных сложно сформировать, а готовую структуру трудно менять. Если вид таблицы претерпевает изменения, все отношения с другими таблицами должны быть установлены заново, чтобы не нарушилась целостность данных. Сложность подобной задачи приводит к тому, что программисты зачастую отменяют некоторые ограничения целостности ради упрощения приложений.