МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Лабораторная работа №3
по дисциплине «Базы данных»
«Функции в PostgreSQL. Проектирование структуры БД.»
Студенты: Мельников Г.А.
Мордвинов А.А.
Группа: АМ-610
Вариант: 2
Преподаватель:
Новосибирск, 2009
Изучить правила создания функций. Приобрести практические навыки создания функций в среде PostgreSQL. Научиться проектировать БД в целом на основе поставленного задания с использованием всех полученных ранее базовых знаний и навыков.
Ознакомиться с теоретическими сведениями о возможностях создания пользовательских функций в PostgreSQL. Разработать БД в соответствии с индивидуальным заданием. Создать функции, реализующие интерфейс для работы с базой данных. Проверить работоспособность функций путем выполнения этих функций с параметрами, обеспечивающими как успешное выполнение функции, так и невыполнение функции.
Обязательные требования к БД:
1) Наличие таблиц-справочников и таблиц, использующих справочники. Предусмотреть сохранение ссылочной целостности для таблиц, использующих таблицы-справочники.
2) Предусмотреть следующие роли:
а) оператор БД (пополнение справочников)
б) пользователь БД (основная работа с БД, с ограничениями для некоторого вида операций)
в) аналитик (разрешено выполнение запросов и функций, не изменяющих данные в БД)
г) администратор БД (просмотр протокола операций, любые изменения БД)
3) Действия, изменяющие БД пользователем с любой ролью протоколируются в таблице-журнале операций.
Для всех запросов необходимо создать индексы (для гарантированного использования индексов можно использовать отключение параметра enable_seqscan в текущей сессии)
База данных сети магазинов продуктов питания. Должна содержать следующие данные: информация о магазинах и имеющихся запасах продуктов, данные о продажах. Предусмотреть анализ следующих показателей: рейтинг популярности товаров, сумма среднего чека по магазину в разное время суток.
· Разработать БД в соответствии с индивидуальным заданием.
CREATE TABLE shops (
id serial,
name char(20),
address char(30)
);
CREATE TABLE products (
id serial,
name char(20)
);
CREATE TABLE store (
id serial,
id_shop int,
id_product int,
kolvo int,
price double
);
CREATE TABLE cheque (
id serial,
id_shop int,
created timestamp
);
CREATE TABLE cheque_details (
id serial,
id_shop int,
id_product int,
kolvo int,
price double
);
CREATE TABLE log (
id serial,
type int,
typeQuery int,
query text,
created timestamp
);
C:\Documents and Settings\wanderer>psql -U am610 template1
Password for user am610:
psql (8.4.2)
WARNING: Console code page (866) differs from Windows code page (1251)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
template1=# create database shop_net;
CREATE DATABASE
template1=# \q
C:\Documents and Settings\wanderer>psql -U am610 shop_net
Password for user am610:
psql (8.4.2)
WARNING: Console code page (866) differs from Windows code page (1251)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
shop_net=#
· Создать функции, реализующие интерфейс для работы с базой данных.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.