🗊Презентация Пример физического проектирования БД

Категория: Информатика
Нажмите для полного просмотра!
Пример физического проектирования БД, слайд №1Пример физического проектирования БД, слайд №2Пример физического проектирования БД, слайд №3Пример физического проектирования БД, слайд №4Пример физического проектирования БД, слайд №5Пример физического проектирования БД, слайд №6Пример физического проектирования БД, слайд №7Пример физического проектирования БД, слайд №8Пример физического проектирования БД, слайд №9Пример физического проектирования БД, слайд №10Пример физического проектирования БД, слайд №11Пример физического проектирования БД, слайд №12Пример физического проектирования БД, слайд №13Пример физического проектирования БД, слайд №14Пример физического проектирования БД, слайд №15Пример физического проектирования БД, слайд №16Пример физического проектирования БД, слайд №17Пример физического проектирования БД, слайд №18Пример физического проектирования БД, слайд №19Пример физического проектирования БД, слайд №20Пример физического проектирования БД, слайд №21Пример физического проектирования БД, слайд №22Пример физического проектирования БД, слайд №23Пример физического проектирования БД, слайд №24

Содержание

Вы можете ознакомиться и скачать презентацию на тему Пример физического проектирования БД. Доклад-сообщение содержит 24 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Курс «Базы данных»

Тема: Пример физического проектирование БД.
Барабанщиков
Игорь Витальевич
Описание слайда:
Курс «Базы данных» Тема: Пример физического проектирование БД. Барабанщиков Игорь Витальевич

Слайд 2





План  лекции
Соглашение об именовании объектов БД
Необходимость денормализации.
Выбор структур хранения для таблиц.
Выбор индексов.
Описание слайда:
План лекции Соглашение об именовании объектов БД Необходимость денормализации. Выбор структур хранения для таблиц. Выбор индексов.

Слайд 3





Даталогическая модель «Продукты питания»
Описание слайда:
Даталогическая модель «Продукты питания»

Слайд 4





Стандарт именования объектов БД
При именовании объектов БД необходимо использовать какой-либо стандарт.
Имена объектов БД должны быть информативными.
Возможный вариант именования объектов БД:  Префикс_ТипОбъекта_ИмяОбъектаБД
Пример:  Продажа продуктов питания – Food Product Sale (FPS):   FPS_TS_CITY
Описание слайда:
Стандарт именования объектов БД При именовании объектов БД необходимо использовать какой-либо стандарт. Имена объектов БД должны быть информативными. Возможный вариант именования объектов БД: Префикс_ТипОбъекта_ИмяОбъектаБД Пример: Продажа продуктов питания – Food Product Sale (FPS): FPS_TS_CITY

Слайд 5





Сокращения для объектов БД
Описание слайда:
Сокращения для объектов БД

Слайд 6





Таблица «Города»
Индекс-таблица
create table  FPS_TS_CITY
(
  CITY_ID          NUMBER(6)        not null,
  CITY_NAME   VARCHAR2(30)  not null,
       constraint  FPS_IU_CITY_PK  
       primary key    (CITY_ID)
)
organization  index;
Описание слайда:
Таблица «Города» Индекс-таблица create table FPS_TS_CITY ( CITY_ID NUMBER(6) not null, CITY_NAME VARCHAR2(30) not null, constraint FPS_IU_CITY_PK primary key (CITY_ID) ) organization index;

Слайд 7





Таблица «Поставщики»
Обычная таблица (куча)
create table FPS_TS_PROVIDER
(
  PROVIDER_ID           NUMBER(6)        not null,
  PROVIDER_NAME   VARCHAR2(30)   not null,
  CITY_ID                     NUMBER(6)         not null,
  ADDRESS                  VARCHAR2(100)  not null,
  BOSS_NAME            VARCHAR2(50),
  PHONE                      VARCHAR2(10)    not null,
  FAX                             VARCHAR2(10)
);
Описание слайда:
Таблица «Поставщики» Обычная таблица (куча) create table FPS_TS_PROVIDER ( PROVIDER_ID NUMBER(6) not null, PROVIDER_NAME VARCHAR2(30) not null, CITY_ID NUMBER(6) not null, ADDRESS VARCHAR2(100) not null, BOSS_NAME VARCHAR2(50), PHONE VARCHAR2(10) not null, FAX VARCHAR2(10) );

Слайд 8





Таблица «Поставщики» - Ограничения
Первичный ключ
    alter table FPS_TS_PROVIDER
        add constraint FPS_IU_PROVIDER_PK
        primary key (PROVIDER_ID);
Внешний ключ
    alter table FPS_TS_PROVIDER
        add constraint FPS_IN_PROVIDER_FK1
        foreign key (CITY_ID)
        references FPS_TS_CITY (CITY_ID);
Описание слайда:
Таблица «Поставщики» - Ограничения Первичный ключ alter table FPS_TS_PROVIDER add constraint FPS_IU_PROVIDER_PK primary key (PROVIDER_ID); Внешний ключ alter table FPS_TS_PROVIDER add constraint FPS_IN_PROVIDER_FK1 foreign key (CITY_ID) references FPS_TS_CITY (CITY_ID);

Слайд 9





Таблица «Поставщики» - Индексы
Индекс для внешнего ключа
    create index FPS_IN_PROVIDER_FK1 
        on FPS_TS_PROVIDER (CITY_ID);
Индекс для поиска по имени поставщика
    create index FPS_IN_PROVIDER_1
        on FPS_TS_PROVIDER (PROVIDER_NAME);
Описание слайда:
Таблица «Поставщики» - Индексы Индекс для внешнего ключа create index FPS_IN_PROVIDER_FK1 on FPS_TS_PROVIDER (CITY_ID); Индекс для поиска по имени поставщика create index FPS_IN_PROVIDER_1 on FPS_TS_PROVIDER (PROVIDER_NAME);

Слайд 10





Таблица «Продукты»
Обычная таблица (куча)
create table FPS_TS_PRODUCT
(
  PRODUCT_ID           NUMBER(6)         not null,
  PRODUCT_NAME    VARCHAR2(50)   not null,
  UNIT                          VARCHAR2(10)    not null,
  STORAGE_TIME      NUMBER(3)          not null,
  CONDITION              VARCHAR2(100)
);
Описание слайда:
Таблица «Продукты» Обычная таблица (куча) create table FPS_TS_PRODUCT ( PRODUCT_ID NUMBER(6) not null, PRODUCT_NAME VARCHAR2(50) not null, UNIT VARCHAR2(10) not null, STORAGE_TIME NUMBER(3) not null, CONDITION VARCHAR2(100) );

Слайд 11





Таблица «Продукты» - Ограничения
Первичный ключ
    alter table  FPS_TS_PRODUCT
        add constraint  FPS_IU_PRODUCT_P
        primary key (PRODUCT_ID);
Ограничение CHECK  (бизнес-правило)
    alter table FPS_TS_PRODUCT
        add constraint fps_ch_product_1
        check (storage_time < 250);
Описание слайда:
Таблица «Продукты» - Ограничения Первичный ключ alter table FPS_TS_PRODUCT add constraint FPS_IU_PRODUCT_P primary key (PRODUCT_ID); Ограничение CHECK (бизнес-правило) alter table FPS_TS_PRODUCT add constraint fps_ch_product_1 check (storage_time < 250);

Слайд 12





Таблица «Продукты» - Индексы
Уникальный индекс
    create unique index  FPS_IU_PRODUCT_1
        on FPS_TS_PRODUCT (PRODUCT_NAME);
Составной индекс
    create index  FPS_IN_PRODUCT_1  on
        FPS_TS_PRODUCT (UNIT, STORAGE_TIME);
Описание слайда:
Таблица «Продукты» - Индексы Уникальный индекс create unique index FPS_IU_PRODUCT_1 on FPS_TS_PRODUCT (PRODUCT_NAME); Составной индекс create index FPS_IN_PRODUCT_1 on FPS_TS_PRODUCT (UNIT, STORAGE_TIME);

Слайд 13





Таблица  «Продажи»
Обычная таблица (куча)
create table  FPS_TT_SALE
(
  SALE_DATE       DATE                 not null,
  PRODUCT_ID   NUMBER(6)      not null,
  QUANTITY        NUMBER(3)      not null,
  PRICE                NUMBER(9,2)   not null
);
Описание слайда:
Таблица «Продажи» Обычная таблица (куча) create table FPS_TT_SALE ( SALE_DATE DATE not null, PRODUCT_ID NUMBER(6) not null, QUANTITY NUMBER(3) not null, PRICE NUMBER(9,2) not null );

Слайд 14





Таблица  «Продажи» - Ограничения
Первичный ключ (составной)
    alter table FPS_TT_SALE
         add constraint FPS_IU_SALE_PK 
         primary key (PRODUCT_ID,  SALE_DATE);
Внешний ключ
    alter table FPS_TT_SALE
        add constraint FPS_IN_SALE_FK1 
        foreign key  (PRODUCT_ID);
Описание слайда:
Таблица «Продажи» - Ограничения Первичный ключ (составной) alter table FPS_TT_SALE add constraint FPS_IU_SALE_PK primary key (PRODUCT_ID, SALE_DATE); Внешний ключ alter table FPS_TT_SALE add constraint FPS_IN_SALE_FK1 foreign key (PRODUCT_ID);

Слайд 15





Таблица  «Заказы»
Обычная таблица (куча)
create table FPS_TT_ORDER
(
  ORDER_DATE    DATE                not null,
  PROVIDER_ID    NUMBER(6)    not null,
  PRODUCT_ID     NUMBER(6)    not null,
  QUANTITY          NUMBER(6)    not null
);
Описание слайда:
Таблица «Заказы» Обычная таблица (куча) create table FPS_TT_ORDER ( ORDER_DATE DATE not null, PROVIDER_ID NUMBER(6) not null, PRODUCT_ID NUMBER(6) not null, QUANTITY NUMBER(6) not null );

Слайд 16





Таблица  «Заказы» - Ограничения
Первичный ключ (составной)
    alter table FPS_TT_ORDER
       add constraint FPS_IU_ORDER_3 
       primary key (ORDER_DATE, PRODUCT_ID, PROVIDER_ID);
Внешний ключ 1
    alter table FPS_TT_ORDER
       add constraint FPS_IN_ORDER_1 
       foreign key (PROVIDER_ID);
Внешний ключ 2
    alter table FPS_TT_ORDER
        add constraint FPS_IN_ORDER_2 
        foreign key (PRODUCT_ID);
Описание слайда:
Таблица «Заказы» - Ограничения Первичный ключ (составной) alter table FPS_TT_ORDER add constraint FPS_IU_ORDER_3 primary key (ORDER_DATE, PRODUCT_ID, PROVIDER_ID); Внешний ключ 1 alter table FPS_TT_ORDER add constraint FPS_IN_ORDER_1 foreign key (PROVIDER_ID); Внешний ключ 2 alter table FPS_TT_ORDER add constraint FPS_IN_ORDER_2 foreign key (PRODUCT_ID);

Слайд 17





Таблица  «Заказы» - Индексы
Уникальный  индекс  будет  автоматически создан для первичного ключа.
Индекс для внешнего ключа 1
create index FPS_IN_ORDER_FK1 
    on FPS_TT_ORDER (PROVIDER_ID);
Индекс для внешнего ключа 2
create index FPS_IN_ORDER_FK2 
    on FPS_TT_ORDER (PRODUCT_ID);
Описание слайда:
Таблица «Заказы» - Индексы Уникальный индекс будет автоматически создан для первичного ключа. Индекс для внешнего ключа 1 create index FPS_IN_ORDER_FK1 on FPS_TT_ORDER (PROVIDER_ID); Индекс для внешнего ключа 2 create index FPS_IN_ORDER_FK2 on FPS_TT_ORDER (PRODUCT_ID);

Слайд 18





Таблица  «Поставки»
Обычная таблица (куча)
create table FPS_TT_SUPPLY
(
  SUPPLY_DATE     DATE                   not null,
  PROVIDER_ID     NUMBER(6)       not null,
  PRODUCT_ID      NUMBER(6)       not null,
  QUANTITY           NUMBER(6)       not null,
  PRICE                    NUMBER(9,2)   not null,
  CREATE_DATE      DATE                  not null
);
Описание слайда:
Таблица «Поставки» Обычная таблица (куча) create table FPS_TT_SUPPLY ( SUPPLY_DATE DATE not null, PROVIDER_ID NUMBER(6) not null, PRODUCT_ID NUMBER(6) not null, QUANTITY NUMBER(6) not null, PRICE NUMBER(9,2) not null, CREATE_DATE DATE not null );

Слайд 19





Таблица  «Поставки» - Ограничения
Первичный ключ (составной)
    alter table FPS_TT_SUPPLY
       add constraint FPS_IU_SUPPLY_PK 
       primary key (SUPPLY_DATE, PRODUCT_ID,  PROVIDER_ID);
Внешний ключ 1
    alter table FPS_TT_SUPPLY
       add constraint FPS_IN_SUPPLY_1   foreign key (PRODUCT_ID);
Внешний ключ 2
    alter table FPS_TT_SUPPLY
       add constraint FPS_IN_SUPPLY_2  
       foreign key (PROVIDER_ID);
Описание слайда:
Таблица «Поставки» - Ограничения Первичный ключ (составной) alter table FPS_TT_SUPPLY add constraint FPS_IU_SUPPLY_PK primary key (SUPPLY_DATE, PRODUCT_ID, PROVIDER_ID); Внешний ключ 1 alter table FPS_TT_SUPPLY add constraint FPS_IN_SUPPLY_1 foreign key (PRODUCT_ID); Внешний ключ 2 alter table FPS_TT_SUPPLY add constraint FPS_IN_SUPPLY_2 foreign key (PROVIDER_ID);

Слайд 20





Таблица  «Поставки» - Индексы
Уникальный  индекс  будет  автоматически создан для первичного ключа.
Индекс для внешнего ключа 1
create index FPS_IN_SUPPLY_FK1 on FPS_TT_SUPPLY (PRODUCT_ID);
Индекс для внешнего ключа 2
create index FPS_IN_SUPPLY_FK2 on FPS_TT_SUPPLY (PROVIDER_ID);
Описание слайда:
Таблица «Поставки» - Индексы Уникальный индекс будет автоматически создан для первичного ключа. Индекс для внешнего ключа 1 create index FPS_IN_SUPPLY_FK1 on FPS_TT_SUPPLY (PRODUCT_ID); Индекс для внешнего ключа 2 create index FPS_IN_SUPPLY_FK2 on FPS_TT_SUPPLY (PROVIDER_ID);

Слайд 21





Последовательности
Последовательность для таблицы «Города»
    create sequence FPS_SQ_CITY
       start with 1 increment by 1 nocache;
Последовательность для таблицы «Поставщики»
    create sequence FPS_SQ_PROVIDER
       start with 1 increment by 1 nocache;
Последовательность для таблицы «Продукты»
    create sequence FPS_SQ_PRODUCT
       start with 1 increment by 1 nocache;
Описание слайда:
Последовательности Последовательность для таблицы «Города» create sequence FPS_SQ_CITY start with 1 increment by 1 nocache; Последовательность для таблицы «Поставщики» create sequence FPS_SQ_PROVIDER start with 1 increment by 1 nocache; Последовательность для таблицы «Продукты» create sequence FPS_SQ_PRODUCT start with 1 increment by 1 nocache;

Слайд 22





Денормализация таблицы «Продукты»
Описание слайда:
Денормализация таблицы «Продукты»

Слайд 23





Денормализация таблицы «Продукты»
Для того, чтобы упростить логику работы с этой БД надо в таблицу «Продукты» добавить поле «Количество»:
   alter table  FPS_TS_PRODUCT  add 
       QUANTITY  number(6)  default 0  not null;
Это пример восходящей денормализации.
Для  поддержания  согласованности  данных надо  использовать  серверную  логику:
    - увеличивать значение при поставке продукта;
    - уменьшать значение при продаже продукта;
Описание слайда:
Денормализация таблицы «Продукты» Для того, чтобы упростить логику работы с этой БД надо в таблицу «Продукты» добавить поле «Количество»: alter table FPS_TS_PRODUCT add QUANTITY number(6) default 0 not null; Это пример восходящей денормализации. Для поддержания согласованности данных надо использовать серверную логику: - увеличивать значение при поставке продукта; - уменьшать значение при продаже продукта;

Слайд 24





Итоги
Выполнено физическое проектирование БД «Продукты питания».
Подготовлен SQL-скрипт создания объектов БД для СУБД Oracle.
Следующий этап – реализация сложных правил бизнес-логики с помощью хранимых процедур.
Описание слайда:
Итоги Выполнено физическое проектирование БД «Продукты питания». Подготовлен SQL-скрипт создания объектов БД для СУБД Oracle. Следующий этап – реализация сложных правил бизнес-логики с помощью хранимых процедур.



Похожие презентации
Mypresentation.ru
Загрузить презентацию