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

Страницы работы

Содержание работы

Министерство образования и науки РФ

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

Новосибирский государственный технический университет


Лабораторная работа №5

по дисциплине «Базы данных»

«Ознакомление с основами PostgreSQL»

Студенты:

Эйрих Н.

Мельник Ю.

Преподаватель: Трошина Г.В.                                      

Факультет: АВТ

Группа: АМ-710

Вариант: 7

  Новосибирск, 2010 г.


Цель работы: Изучить базовые операции по работе с базой данных. Изучить синтаксис команд. Приобрести навыки создания пользователей и баз данных, создания, заполнения и модификации таблиц, работы с транзакциями, выгрузки и загрузки баз данных в PostgreSQL.

Задание. Общая часть: Ознакомиться с теоретическими сведениями о возможностях создания пользователей и баз данных, использования транзакций в PostgreSQL. Создать нового пользователя и зайти под его именем. Создать и заполнить базу данных своего варианта. Таблицы (минимум по 5 записей в каждой) связать между собой полями идентификаторов. С помощью команд интерактивного терминала psql просмотреть структуру базы данных, структуру таблиц, просмотреть данные в них. Создать транзакционный блок, в котором производится добавление в таблицы произвольных полей, создать несколько производных таблиц, просмотреть структуру измененных таблиц. Не завершая транзакции параллельно запустить еще одно окно терминала, подключиться к базе и попробовать добавить и удалить записи в таблицы. Сделать откат транзакций, просмотреть структуру таблиц. Сохранить базу данных в файл. Удалить базу данных и восстановить ее из файла. Сохраненная база данных необходима для выполнения последующих работ.

Вариант 7: Создать и заполнить базу данных для учета работы типографии, состоящую из трех таблиц. Первая таблица должна содержать поля: тип продукции (этикетка, упаковка и т.п.), количество, стоимость заказа. Вторая: имя заказчика, адрес, способ расчета (наличный, безналичный). Третья: срок выполнения (до какого числа нужно выполнить заказ), тип используемого материала, количество материала, стоимость расходных материалов. На основании созданных таблиц создать таблицу, содержащую поля: имя заказчика, тип продукции, тип используемого материала, стоимость заказа.

1.  Создание первой таблицыtbl1, содержащей поля : тип продукции, количество, стоимость заказа.

CREATE TABLE TLB(TYPE CHAR (10),NUM NUMERIC (3),PRICE NUMERIC (3),id SERIAL);

Заполнение полей таблицы TLB:

INSERT INTO TLB VALUES (‘ETIKETCA’, 400, 200);

2.  Создание и заполнение второй таблицы tbl2, содержащей поля: имя заказчика, адрес, способ расчета (наличный, безналичный).

CREATE TABLE TBL2 (NAME CHAR (12), ADRESS CHAR (15),PAY CHAR (6));

INSERT INTO TBL2 VALUES (‘ANNA’, ‘NSK’, 'NAL');

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

CREATE TABLE TLB3(SROK DATE,TYPE_M CHAR (12), NUM_M NUMERIC (5),PRICE_M NUMERIC (5));

INSERT INTO TLB3 VALUES ('2010-01-27', 'LIST', 50, 4);


Далее для каждой таблицы были добавлены поля (id, id_name и id_srok).

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

create table temp as (select tbtmp2.name, tbtmp1.type, tbtmp3.type_m, tb

tmp1.price from tlb as tbtmp1, tbl2 as tbtmp2, tlb3 as tbtmp3 where tbtmp1.id=tb

tmp2.id_name and tbtmp1.id=tbtmp3.id_srok);

2. Метод inner join:

create table TEMPT as( select tlb.type, tlb.num, tbl2.name, tbl2.pay, tl

b3.srok, tlb3.num_m from tlb inner join tbl2 on tlb.id=tbl2.id_name inner join t

lb3 on tlb3.id_srok=tlb.id);


3. Методinherits;

create table tempt3(pole2 int) inherits(tempt);

Редактирование таблиц

1. Добавить новое поле (pole2) в таблицу tempt:

 ALTER TABLE temp7 ADD pole int;

2. Обновить значение в  pole2 в таблице tempt в записи num_m=70:

 update tempt set pole2=300 where num_m=70;

3. Удалить запись num=200:

delete from tempt where num=200;

Транзакции

Вход в транзакцию: begin;

Применить изменения: commit;

Создать точку останова: savepoint point1;

Вернуться на точку останова: rollback;

Пример 1:

В первом окне входим в режим транзакции и удаляем запись в таблице tempt:

begin;

delete from tempt where num=100;

select *from tempt;

Во втором окне открываем таблицу tempt и просматриваем:

select *from tempt;

Запись не удалилась!

В первом окне делаем команду commit и сохраняем изменения:

commit;

Во втором окне делаем просмотр и видим:

Запись удалена!

Пример 2:

В первом окне входим в режим транзакции, делаем точку останова point1 и удаляем запись в таблице tempt:

begin;

savepoint point1;

delete from tempt where num=100;

select *from tempt;

Во втором окне открываем таблицу tempt и просматриваем:

select *from tempt;

Запись не удалилась!

В первом окне делаем команду rollback и просматриваем таблицу:

rollback;

Вернулись в исходное состояние.

Выводы:

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

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
2 Mb
Скачали:
0