- •Базы данных Лабораторный практикум
- •Общая постановка задачи на практические занятия и требования к программной реализации
- •Практическое занятие 1 Проектирование базы данных
- •1.1. Концептуальное проектирование базы данных
- •1.1.1. Определение типов сущностей
- •1.1.2. Определение типов связей
- •1.1.3. Определение атрибутов и связывание их с типами сущностей и связей
- •1.1.4. Определение доменов атрибутов
- •1.1.5. Определение атрибутов, являющихся потенциальными и первичными ключами
- •1.2. Логическое проектирование базы данных (для реляционной модели)
- •1.2.1. Преобразование локальной концептуальной модели данных в локальную логическую модель
- •1.2.2. Определение набора отношений, исходя из структуры локальной логической модели данных
- •1.2.3. Проверка модели с помощью правил нормализации
- •1.2.4. Создание диаграмм «сущность-связь» логической модели
- •1.3. Физическое проектирование базы данных (с использованием реляционной субд)
- •1.3.1. Имена полей таблицы
- •1.3.2. Типы данных
- •2.1. Работа с таблицами
- •2.1.1. Создание таблиц
- •2.1.1.1. Создание таблиц через меню
- •2.1.2. Изменение структуры таблиц
- •2.1.3. Копирование таблиц
- •2.1.4. Удаление таблиц
- •2.1.5. Использование рабочих областей
- •2.2. Манипулирование данными в таблице
- •2.2.1. Ввод данных
- •2.2.2. Удаление записей
- •2.2.3. Редактирование данных
- •2.2.4. Фильтрация данных
- •2.3. Работа с индексами
- •2.3.1. Создание индексов
- •Index on good_name to ind_non_uniq будет создан индекс по всем значениям поля good_name (рис. 2.15).
- •2.3.2. Удаление индексов
- •2.4. Реструктуризация базы данных
- •2.4.1. Создание базы данных
- •2.4.2. Работа с таблицами в базе данных
- •2.4.2.2. Редактирование таблиц в базе данных
- •2.4.3. Связи в базе данных
- •2.4.4. Удаление базы данных
- •Практическое занятие 3 Программирование на языке FoxPro
- •3.1. Создание программ
- •4.1. Работа с формами
- •4.1.1. Создание формы
- •4.1.1.2. Создание форм по нескольким таблицам с помощью мастера
- •4.1.4. Удаление формы
2.1.2. Изменение структуры таблиц
Если при вводе данных выявляются ошибки проектирования структуры таблицы (например, количества символов, выделенных для названия фирмы, не хватает), исправить структуру таблицы можно с помощью команды MODIFY STRUCTURE, написанной в командном окне:
SELECT <имя_таблицы> && если таблица открыта1
USE <имя_таблицы> &&если таблица не открыта
MODIFY STRUCTURE.
По этой команде откроется окно конструктора таблиц Table Designer (см. рис. 2.3-2.5), в котором можно сделать соответствующие исправления.
2.1.3. Копирование таблиц
Для копирования таблицы необходимо сначала ее открыть. Это можно сделать выбрав пункт меню File^Open или выполнив команду USE <имя_таблицы> из командном окне. Копирование осуществляется командой
COPY TO <имя новой таблицы> или выбором пункта меню File^Save As....
2.1.4. Удаление таблиц
Для удаления таблицы необходимо выполнить команду DROP TABLE <имя_таблицы>.
Еще один способ удаления таблицы - выполнить команду DELETE FILE <имя_таблицы>.dbf.
В результате выполнения любой из этих команд файл таблицы будет удален с диска.
2.1.5. Использование рабочих областей
Рабочие области используются для одновременной работы с несколькими таблицами. Рабочая область - это виртуальный «рабочий стол», в одной рабочей области может быть открыта только одна таблица. Visul FoxPro имеет 32767 рабочих областей. Открывая таблицы в различных рабочих областях и переключаясь затем между этими рабочими областями (с помощью команды SELECT), можно одновременно работать сразу с несколькими таблицами [2,
3].
По умолчанию таблица открывается в текущей рабочей области, при этом уже открытая в этой рабочей области таблица закрывается. Например, после последовательного выполнения команд:
USE TABLE1
USE TABLE2
USE TABLE3
в результате будет открыта только таблица table3, так как при открытии таблицы table2 будет одновременно закрыта таблица tablel, а при открытии таблицы table3 будет одновременно закрыта таблица table2.
Для того, чтобы открыть таблицу в рабочей области, отличной от текущей, нужно либо выбрать определенную рабочую область
(SELECT <номер рабочей области>), либо выбрать свободную рабочую область с наименьшим номером (select 0). Например, в результате выполнения команд: USE TABLE1 IN 1 USE TABLE2 IN 2 USE TABLE3 IN 3 будут открыты сразу три таблицы, каждая в своей рабочей области.
Конструкция USE TABLE1 IN 1 равносильна выполнению двух команд:
SELECT 1 USE TABLE1,
поэтому для открытия трех таблиц в разных рабочих областях можно написать следующие команды:
SELECT 1 SELECT 0
USE TABLE1 USE TABLE1
SELECT 2 или SELECT 0
USE TABLE2 или USE TABLE2
SELECT 3 SELECT 0
USE TABLE3 USE TABLE3
Открытой таблице Visual Fox Pro назначает псевдоним - имя, служащее для ссылок на эту таблицу. По умолчанию псевдоним имеет такое же имя, что и открытая таблица. Для переключения между рабочими областями следует ввести команды:
SELECT <номер_рабочей_области>, если точно известно в какой рабочей области открыта таблица,
•SELECT <имя_таблицы>, если псевдоним соответствует имени таблицы (по умолчанию) или
SELECT <псевдоним>, если псевдоним задан и не соответствует названию таблицы, открытой в данной рабочей области.
Команда USE без имени таблицы закрывает таблицу в текущей рабочей области (если рабочая область не указана) или в указанной с помощью команды SELECT рабочей области.
Для нашего примера сделаем следующее. Сделаем активной рабочую область № 1 командой SELECT, и в ней откроем таблицу goods (команды вводим в командном окне, см. рис. 2.1):
SELECT 1
USE GOODS.
Теперь просмотрим содержимое поля firm_name таблицы goods:
BROWSE FIELDS FIRM_NAME.
В рабочей области №2 откроем таблицу firms и начнем вводить в нее данные:
SELECT 2
USE FIRMS
APPEND.
Таким образом, с помощью команды SELECT можно переключаться между таблицами и работать с ними.