Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Примеры трансформации объектов модели данных.

  1. Отношение один-к-одному, где зависимая сущность имеет дополнительное отношения к родительской сущности

    "Персональные компьютеры принадлежат инженерам, но не все инженеры имеют персональные компьютеры"

    CREATE TABLE Engineer
    ( en_num INT NOT NULL,
    pc_num INT,
    PRIMARY KEY (en_num) )
     
    CREATE TABLE PC
    ( pc_num INT NOT NULL,
    en_num INT,
    PRIMARY KEY (pc_num), 
    FOREIGN KEY (en_num) REFERENCES Engineer ON DELETE SET NULL )
  2. Отношение один-к-одному, где зависимая сущность имеет обязательное отношения к родительской сущности

    "У каждого отдела должен быть начальник, но начальник должен быть начальником только одного отдела"

    CREATE TABLE Manager
    ( mgr_num INT NOT NULL,
    PRIMARY KEY (mgr_num) )
     
    CREATE TABLE Dept
    ( dep_num INT NOT NULL,
    mgr_num INT NOT NULL,
    PRIMARY KEY (dep_num),
    UNIQUE (mgr_num) 
    FOREIGN KEY (mgr_num) REFERENCES Manager ON DELETE RESTRICT )
  3. Отношение один-к-одному, где обе сущности обязательны.

    "Государство имеет одного правителя и правитель правит только одним государством"

    CREATE TABLE State
    ( st_name CHAR(20) NOT NULL,
    gv_name CHAR(20) NOT NULL,
    PRIMARY KEY (st_name))
     
    CREATE TABLE Governor
    ( st_name CHAR(20) NOT NULL,
    gv_name CHAR(20) NOT NULL,
    PRIMARY KEY (dv_name),
    UNIQUE (st_name) 
    FOREIGN KEY (st_name) REFERENCES State ON DELETE RESTRICT )
  4. Отношение один-ко-многим, где зависимая сущность имеет необязательное отношение к родительской сущности.

    "У инженера есть только одна секретарша, однако одна секретарша может работать на несколько инженеров"

    CREATE TABLE Secretary
    ( sc_num INT NOT NULL,
    PRIMARY KEY (sc_num))
     
    CREATE TABLE Engineer
    ( en_num INT NOT NULL,
    sc_num INT,
    PRIMARY KEY (en_num), 
    FOREIGN KEY (sc_num) REFERENCES Secretary ON DELETE SET NULL )
  5. Отношение один-ко-многим, где зависимая сущность имеет обязательное отношение к родительской сущности.

    "У каждого инженера обязательно есть только одна секретарша, однако одна секретарша может работать на несколько инженеров"

    CREATE TABLE Secretary
    ( sc_num INT NOT NULL,
    PRIMARY KEY (sc_num) )
     
    CREATE TABLE Engineer
    ( en_num INT NOT NULL,
    sc_num INT,
    PRIMARY KEY (en_num), 
    FOREIGN KEY (sc_num) REFERENCES Secretary ON DELETE RESTRICT )
  6. Отношение многие-ко-многим.

    "В профессиональное объединение входят как инженеры, так и не инженеры, в то же время, инженер может состоять в нескольких профессиональных ассоциациях."

    CREATE TABLE PrfAsso
    ( ac_num INT NOT NULL,
    PRIMARY KEY (ac_num) )
     
    CREATE TABLE Engineer
    ( en_num INT NOT NULL,
    PRIMARY KEY (en_num) )
     
    CREATE TABLE Association_Engineer
    ( en_num INT NOT NULL,
    ac_num INT NOT NULL,
    PRIMARY KEY (en_num, ac_num), 
    FOREIGN KEY is_mem_1 (en_num) REFERENCES Engineer 
    	ON DELETE CASCADE,
    FOREIGN KEY is_mem_2 (ac_num) REFERENCES PrfAsso 
    	ON DELETE CASCADE )
  7. Отношение с атрибутами.

    "Лекарства производятся по лицензии фирмы. Фирма лицензировала производство нескольких деталей. Дата выдачи лицензии является атрибутом отношения".

    CREATE TABLE Drug
    ( dt_num INT NOT NULL,
    PRIMARY KEY (dt_num) )
     
    CREATE TABLE DrManu
    ( fm_num INT NOT NULL,
    PRIMARY KEY (fm_num) )
     
    CREATE TABLE Drug_Firm
    ( dt_num INT NOT NULL,
    fm_num INT NOT NULL,
    Date,
    PRIMARY KEY (dt_num, fm_num), 
    FOREIGN KEY lic_1 (dt_num) REFERENCES Drug ON DELETE CASCADE,
    FOREIGN KEY lic_2 (fm_num) REFERENCES DrManu ON DELETE CASCADE )
  8. Отношение наследования

    "Компонент устройства может быть как стандартным компонентом, так и компонентом, выполненным на заказ".

    CREATE TABLE Component
    ( comp_id INT NOT NULL,
    PRIMARY KEY (comp_id) )
     
    CREATE TABLE Standard
    ( inv_num INT NOT NULL,
    comp_id INT NOT NULL,
    PRIMARY KEY (inv_num),
    UNIQUE (comp_id),
    FOREIGN KEY (comp_id) REFERENCES Component ON DELETE RESTRICT )
     
    CREATE TABLE Make_To_Order
    ( ord_num INT NOT NULL,
    comp_id INT NOT NULL,
    PRIMARY KEY (ord_num),
    UNIQUE (comp_id),
    FOREIGN KEY (comp_id) REFERENCES Component ON DELETE RESTRICT )

При переносе из реляционного дизайна в модель данных можно не использовать средства моделирования данных. DataAtlas Dictionary обеспечивает способ, посредством которого информация из каталога баз данных переносится в объекты системы TeamConnection с таблицами и определениями таблиц. После этого можно преобразовать полученную таким путем модель данных в модель данных, работающую с DataAtlas Modeler.

[Назад] [Содержание] [Вперед]

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...