Лабораторная работа 1
СОЗДАНИЕ И МОДИФИКАЦИЯ БАЗЫ ДАННЫХ И ТАБЛИЦ
Цель работы
Ознакомиться с возможностями интерактивной программы dbaccess, создать с ее помощью базу данных, набор таблиц в ней и заполнить таблицы данными для последующей работы.
Содержание работы и методические указания к ее выполнению
1. Ознакомиться с правилами работы и структурой меню интерактивной программы dbaccess (Приложение 1).
2. Изучить набор команд языка SQL, связанный с созданием базы данных, созданием, модификацией структуры таблиц и их удалением, вставкой, модификацией и удалением записей таблиц (Приложение 2):
database - выбор существующей базы данных;
close database - закрытие файлов текущей бызы данных;
drop database - удаление базы данных;
create table - создание таблицы базы данных;
alter table - модификация структуры базы данных;
drop table - удаление таблицы базы данных;
insert - добавление одной или нескольких строк в таблицу;
delete - удаление одной или нескольких строк из таблицы;
update - модификация одной или нескольких строк таблицы.
3. Создать базу данных, выбрав соответствующий пункт меню. В целях исключения конфликтов при работе с внешними базами данных базу данных создать в режиме с буферизованной журнализацией.
4. Средствами системы меню создать четыре таблицы в базе данных. При создании таблиц выполнить следующие условия:
- поля номер_поставщика, номер_детали, номер_изделия во всех
таблицах имеет символьный тип и длину 6;- поля рейтинг, вес и количество имеют целочисленный тип;
- поля фамилия, город (поставщика, детали или изделия), название (детали или изделия) имеют символьный тип nchar и длину 20;
- ни для одного поля не предусматривается использование индексов;
- для всех полей допускаются значения NULL и значения-дубликаты, кроме поля номер_поставщика из таблицы S, номер детали из таблицы P, номер изделия из таблицы J..
Таблицы S и P создать средствами системы меню программы dbaccess, таблицы J и SPJ создать, написав и выполнив соответствующие запросы для создания таблиц (команда Create table).>
Таблица поставщиков (S)
Hомеp поставщика |
Фамилия |
Рейтинг |
Гоpод |
S1 |
Смит |
20 |
Лондон |
S2 |
Джонс |
10 |
Париж |
S3 |
Блейк |
30 |
Париж |
S4 |
Кларк |
20 |
Лондон |
S5 |
Адамс |
30 |
Афины |
Таблица деталей (P)
Номер детали |
Название |
Цвет |
Вес |
Город |
P1 |
Гайка |
Красный |
12 |
Лондон |
P2 |
Болт |
Зеленый |
17 |
Париж |
P3 |
Винт |
Голубой |
17 |
Рим |
P4 |
Винт |
Красный |
14 |
Лондон |
P5 |
Кулачок |
Голубой |
12 |
Париж |
P6 |
Блюм |
Красный |
19 |
Лондон |
Таблица изделий (J)
Номер изделия |
Название |
Город |
J1 |
Жесткий диск |
Париж |
J2 |
Перфоратор |
Рим |
J3 |
Считыватель |
Афины |
J4 |
Принтер |
Афины |
J5 |
Флоппи-диск |
Лондон |
J6 |
Терминал |
Осло |
J7 |
Лента |
Лондон |
Таблица поставок (SPJ)
Номер поставщика |
Номер детали |
Номер изделия |
Количество |
S1 |
P1 |
J1 |
200 |
S1 |
P1 |
J4 |
700 |
S2 |
P3 |
J1 |
400 |
S2 |
P3 |
J2 |
200 |
S2 |
P3 |
J3 |
200 |
S2 |
P3 |
J4 |
500 |
S2 |
P3 |
J5 |
600 |
S2 |
P3 |
J6 |
400 |
S2 |
P3 |
J7 |
800 |
S2 |
P5 |
J2 |
100 |
S3 |
P3 |
J1 |
200 |
S3 |
P4 |
J2 |
500 |
S4 |
P6 |
J3 |
300 |
S4 |
P6 |
J7 |
300 |
S5 |
P2 |
J2 |
200 |
S5 |
P2 |
J4 |
100 |
S5 |
P5 |
J5 |
500 |
S5 |
P5 |
J7 |
100 |
S5 |
P6 |
J2 |
200 |
S5 |
P1 |
J4 |
100 |
S5 |
P3 |
J4 |
200 |
S5 |
P4 |
J4 |
800 |
S5 |
P5 |
J4 |
400 |
S5 |
P6 |
J4 |
500 |
Убедиться в успешности выполненных действий. При необходимости исправить ошибки.
5. Средствами системы меню программы dbaccess выполнить модификацию структуры таблиц S и SPJ, добавив в SPJ поле с датой поставки. Убедиться в успешности выполненных действий. При необходимости исправить ошибки.
6. Записать и выполнить совокупность запросов для занесения
вышеприведенных данных в созданные таблицыinsert into имя_таблицы [(поле [,поле]...)]
values (константа [,константа]...)
7. Проверить результат заполнения таблиц, написав и выполнив
простейший запросselect * from имя_таблицы
При наличии ошибок выполнить корректировку, исправив либо удалив ошибочные строки таблиц
delete имя_таблицы
where предикат
update имя_таблицы
set поле=выражение [,поле=выражение]...
where предикат
Указанный предикат должен однозначно специфицировать удаляемые либо модифицируемые строки посредством задания соответствующих условий, которым должны удовлетворять отдельные поля строки.
Если посредством значений полей это сделать невозможно, можно прибегнуть к использованию значений скрытого rowid-столбца, представляющих собой внутренние номера записей. Для этого необходимо предварительно получить значения rowid-столбца для занесенных строк
select rowid, * from имя_таблицы
а затем требуемые значения использовать при формировании условий в операторах удаления либо модификации.
Контрольные вопросы