Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_1142 (1).doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
289 Кб
Скачать
☆
  1. Реализация проекта базы данных

    1. Создание таблиц

  1. Отношение FILIAL (Филиалы):

create table filial (

FILIAL_ID numeric(2) primary key,

FILIAL_NAME varchar(30) not null,

FILIAL_FNAME varchar(25) not null,

FILIAL_LNAME varchar(30) not null,

FILIAL_LOGIN varchar(15) not null);

  1. Отношение MANAG (Менеджеры):

create table MANAG (

MANAG_ID numeric(2) primary key,

MANAG_FNAME varchar(30) not null,

MANAG_LNAME varchar(25) not null,

MANAG_PASP numeric(11) not null,

MANAG_VIDAN varchar(40) not null,

MANAG_DATA date not null,

MANAG_BORN date not null,

MANAG_SEX char(1) CHECK (Manag_sex in ('male','female')),

MANAG_FILIAL numeric(1) references FILIAL,

MANAG_NUMBER numeric(20) not null,

MANAG_LOGIN varchar(25) not null);

  1. Отношение CUSTOMER (Покупатели):

create table customer (

CUST_ID numeric(4) primary key,

CUST_FNAME varchar(20) not null,

CUST_LNAME varchar(20) not null,

CUST_PASP numeric(11) not null,

CUST_VIDAN varchar(30) not null,

CUST_DATA date not null,

CUST_NUMBER numeric(30) not null);

  1. Отношение ZP (Зарплата):

create table zp (

ID_MANAG numeric(2) references MANAG,

OKLAD numeric(6) not null,

DATA_ZP date not null,

PREMIA varchar(5) default null);

  1. Отношение KOMPL (Комплектация):

create table KOMPL (

Y_ID numeric(2) primary key,

Y_NAME varchar(30) not null,

Y_PRIMECHANIE varchar(100),

Y_PRICE numeric(10) not null);

  1. Отношение SPISOK (Список):

create table spisok (

ID_AUTO numeric(6) references AUTO,

ID_YSLYGI numeric(2) references KOMPL);

  1. Отношение MARKS (Марки):

create table marks (

MARK_ID numeric(2) primary key,

MARK_NAME varchar(20) not null);

  1. Отношение MODELS (Модели):

create table models (

MODEL varchar(10) primary key,

MARK_ID numeric(2) references marks,

SUDENIA numeric(1),

KUZOV varchar(15) CHECK (KUZOV in ('hatchbak','classik','universal')));

  1. Отношение AUTO (Авто):

create table auto (

AUTO_ID numeric(6) primary key,

AUTO_ORDER numeric(4) references orders,

AUTO_FILIAL numeric(2) references filial,

AUTO_COLOR varchar(20) not null,

AUTO_YEAR date not null,

AUTO_MODEL varchar(10) references MODELS,

AUTO_MOSHNOST decimal(2,1) not null,

AUTO_OBIEM decimal(2,1) not null);

  1. Отношение ORDERS (Заказы):

create table orders (

ORDER_ID numeric(4) primary key,

ORDER_CUST numeric(4) references customer,

ORDER_MANAG numeric(2) references manag,

ORDER_SUMM numeric(7) not null,

ORDER_OFORM date not null,

ORDER_SROK date not null CHECK (ORDER_OFORM<ORDER_SROK),

ORDER_KONEC date check (ORDER_KONEC>ORDER_OFORM),

ORDER_DOSTAVKA char(1) check ( ORDER_DOSTAVKA in ('y','n')));

  1. Отношение ADDR_NUMBER (Адреса-Телефоны Филиалов):

create table ADDR_number (

FILIAL_ID numeric(2) references filial,

address varchar(20) not null,

number numeric(11) not null);

5.2. Создание представлений (готовых запросов)

1. Прибыль за отчетный период

Select sum(ORDER_SUMM) CASH

From orders

Where order_oform >= начальная дата and order_oform <=конечная дата;