Проектирование структуры базы данных сети магазинов продуктов питания

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

6 страниц (Word-файл)

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО

ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ


Лабораторная работа №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=#

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

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

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

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