Лабораторная работа 1

СОЗДАНИЕ И МОДИФИКАЦИЯ ТАБЛИЦ БАЗЫ ДАННЫХ

Цель работы

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

Содержание работы и методические указания к ее выполнению

1. Ознакомиться с правилами работы и структурой меню интерактивной программы phpPgAdmin (Приложение 1).

2. Изучить набор команд языка SQL, связанный с созданием базы данных, созданием, модификацией структуры таблиц и их удалением, вставкой, модификацией и удалением записей таблиц (Приложение 2):

create database - создание базы данных;

close database - закрытие файлов текущей бызы данных;

drop database - удаление базы данных;

create schema - создание схемы базы данных;

create table - создание таблицы базы данных;

alter table - модификация структуры базы данных;

drop table - удаление таблицы базы данных;

insert - добавление одной или нескольких строк в таблицу;

delete - удаление одной или нескольких строк из таблицы;

update - модификация одной или нескольких строк таблицы.

3. Из командной строки в существующей базе данных students командой

new_schema [имя схемы] [имя базы данных]

создать схему базы данных с произвольным именем (имя базы данных students).

4. Используя программу phpPgAdmin в созданной схеме создать четыре таблицы. При создании таблиц выполнить следующие условия:

- поля номер_поставщика, номер_детали, номер_изделия во всех таблицах имеет символьный тип и длину 6;

- поля рейтинг, вес и количество имеют целочисленный тип;

- поля фамилия, город (поставщика, детали или изделия), название (детали или изделия) имеют символьный тип и длину 20;

- ни для одного поля не предусматривается использование индексов;

- для всех полей допускаются значения NULL и значения-дубликаты, кроме поля номер_поставщика из таблицы S, номер детали из таблицы P, номер изделия из таблицы J.

Таблицы S и P создать средствами системы меню программы phpPgAdmin, таблицы J и SPJ создать, написав и выполнив соответствующие запросы для создания таблиц (команда Create table).

Убедиться в успешности выполненных действий. При необходимости исправить ошибки.

5. Записать и выполнить совокупность запросов для занесения вышеприведенных данных в созданные таблицы

insert into имя_таблицы [(поле [,поле]...)]

values (константа [,константа]...)

Таблица поставщиков (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

6. Проверить результат заполнения таблиц, написав и выполнив простейший запрос

select * from имя_таблицы

При наличии ошибок выполнить корректировку, исправив либо удалив ошибочные строки таблиц

delete имя_таблицы

where предикат

update имя_таблицы

set поле=выражение [,поле=выражение]...

where предикат

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

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

select oid, * from имя_таблицы

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

7. Средствами системы меню программы phpPgAdmin выполнить модификацию структуры таблицы SPJ, добавив в нее поле с датой поставки. Убедиться в успешности выполненных действий. При необходимости исправить ошибки.

Занести произвольные даты постаки, использую меню программы phpPgAdmin.

Контрольные вопросы

  1. Какие типы данных допустимы при создании таблицы?
  2. Как выполнить создание таблицы средствами меню программы phpPgAdmin?
  3. Как выполнить создание таблицы средствами языка SQL?
  4. Как разделяются операторы SQL в случае нескольких операторов в запросе?
  5. Каким образом выполнить простейшие операции вставки строк данных в таблицу средствами SQL?
  6. Каким образом выполнить простейшие операции модификации строк таблицы средствами SQL?
  7. Каким образом выполнить просмотр таблицы?
  8. Что такое oid-столбец?
  9. Как получить информацию о структуре таблицы в рамках программы phpPgAdmin?
  10. Как задать ограничения на столбцы таблицы?