Функции в PostgreSQL. Проектирование структуры БД сети магазинов продуктов питания

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

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

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

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

Кафедра вычислительной техники

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

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

«Функции в PostgreSQL. Проектирование структуры БД.»

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

Группа:          АВТ-909

Студенты:     Имеков Д.Б.

                       Гоголи А.Г.

Вариант: 2

Преподаватель:

                                   Трошина Г.В.

Новосибирск, 2012


Цель работы.

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

Задание. Общая часть

Ознакомиться с теоретическими сведениями о возможностях создания пользовательских функций в PostgreSQL. Разработать БД в соответствии с индивидуальным заданием. Создать функции, реализующие интерфейс для работы с базой данных. Проверить работоспособность функций путем выполнения этих функций с параметрами, обеспечивающими как успешное выполнение функции, так и невыполнение функции.

Обязательные требования к БД:

1)  Наличие таблиц-справочников и таблиц, использующих справочники. Предусмотреть сохранение ссылочной целостности для таблиц, использующих таблицы-справочники.

2)  Предусмотреть следующие роли:

а)  оператор БД (пополнение справочников)

б)  пользователь БД (основная работа с БД, с ограничениями для некоторого вида операций)

в)  аналитик (разрешено выполнение запросов и функций, не изменяющих данные в БД)

г)  администратор БД (просмотр протокола операций, любые изменения БД)

3)  Действия, изменяющие БД пользователем с любой ролью протоколируются в таблице-журнале операций.

4)  Для всех запросов необходимо создать индексы (для гарантированного использования индексов можно использовать отключение параметра enable_seqscan в текущей сессии)

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

Вариант 2

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


Описание структуры лабораторной работы:

  • shop_catalog таблица-справочник магазинов.

id

serial

shop_name

character varying(40)

shop_city

character varying(40)

Идентификатор

Имя магазина

Город магазина

·  tovar таблица с товарами.

id

serial

shop_id

integer

tovar_name

character varying(40)

tovar_price

integer

count_whs

integer

count_sold_out

integer

maker_name

character varying(40)

arhiv

boolean

id магазина

название товара

цена товара

количество на складе

количество проданных товаров

произво-

дитель

статус

·  sold_outтаблица с информацией о продажах.

id

bigint

buyer

integer

shop_id

integer

tovar_id

integer

bought_count

integer

buy_date

timestamp without time zone

Номер чека

Индекс магазина

Индекс товара

Количество покупок

Дата покупки

·  buyersтаблица с информацией о каждой покупке (автоматическое заполнение).

shop_id

integer

buyer_id

integer

bill

integer

buy_date

timestamp without time zone

Индекс магазина

Номер чека

Сумма покупок

Дата покупки

·  log_tableтаблица-журнал операций.

id

bigint

cur_user character varying

time

timestamp without time zone

message

text

Индекс

Пользователь

Время

Описание действия

·  rating_tтаблица, содержащая рейтинг товаров.

tovar_name

character varying

maker_name

character varying

rating

float(2)

название

производитель

рейтинг


Список функций, реализующих интерфейс для работы с базой данных:

  • Функция add_log_message

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

  • Функция add_shop

Функция для добавления нового магазина. Передаваемые параметры: название магазина и имя города.

  • Функция add_sold_out

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

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

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

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