Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помогите создать связи между таблицами  [new]
roman042
Member

Откуда:
Сообщений: 4
Вот пытаюсь изучать Oracle...
Создаю базу данных книжного магазина (учет закупки и продажи книг)
Сделал скрип генерации таблиц, а вот со связями не получается помогите кто чем может...
Саму схему связей сделал в Access (приложил файлом)

/
CREATE
  TABLE "KNIGI"."AVTOR"
  (
    "KOD_AVTOR" NUMBER(10,0),
    "FIO"       VARCHAR2(255 CHAR)
  )
/
CREATE
  TABLE "KNIGI"."IZDAT_DOM"
  (
    "KOD_IZD" NUMBER(10,0),
    "IMIA"    VARCHAR2(255 CHAR),
    "ADDRES"  VARCHAR2(255 CHAR),
    "TEL"     NUMBER(10,0)
  )
/
CREATE
  TABLE "KNIGI"."TEMA"
  (
    "KOD_TEMA" NUMBER(10,0),
    "NAZVAN"   VARCHAR2(255 CHAR)
  )
/
CREATE
  TABLE "KNIGI"."SKLAD"
  (
    "KOD_SKLAD" NUMBER(10,0),
    "NAZVAN"    VARCHAR2(255 CHAR),
    "ADDRES"    VARCHAR2(255 CHAR),
    "TEL"       VARCHAR2(255 CHAR)
  )
/
CREATE
  TABLE "KNIGI"."KNIGI"
  (
    "KOD_KNIGI" NUMBER(10,0),
    "KOD_AVTOR" NUMBER(10,0),
    "KOD_IZD"   NUMBER(10,0),
    "KOD_TEMA"  NUMBER(10,0),
    "NAZV"      VARCHAR2(255 CHAR),
    "KOL"       NUMBER(10,0),
    "CENA"      NUMBER(38,2)
  )
/
CREATE
  TABLE "KNIGI"."PRODAGI"
  (
    "KOD_PRODAG" NUMBER(10,0),
    "DATA" DATE,
    "KOL"       NUMBER(10,0),
    "KOD_KNIGI" NUMBER(10,0)
  )
/
CREATE
  TABLE "KNIGI"."ZAKUPKI"
  (
    "KOD_ZAKUP" NUMBER(10,0),
    "DATA" DATE,
    "KOL"        NUMBER(10,0),
    "KOD_KNIGI"  NUMBER(10,0),
    "KOD_SKLAD"  NUMBER(10,0),
    "CENA_ZAKUP" NUMBER(38,2)
  )
/


К сообщению приложен файл. Размер - 35Kb
3 июн 12, 21:10    [12658732]     Ответить | Цитировать Сообщить модератору
 Re: Помогите создать связи между таблицами  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
roman042,

RTFM constraints, ALTER TABLE: constraint_clauses.

примеры первичного ключа:
alter table knigi
  add constraint knigi_pk primary key (kod_knigi)
/

CREATE
  TABLE "KNIGI"."SKLAD"
  (
    "KOD_SKLAD" NUMBER(10,0) primary key,
    "NAZVAN"    VARCHAR2(255 CHAR),
    "ADDRES"    VARCHAR2(255 CHAR),
    "TEL"       VARCHAR2(255 CHAR)
  )
/


примеры внешнего ключа:
alter table prodagi
  add constraint prodagi_fk_knigi foreign key (kod_knigi)
    references knigi (kod_knigi)
/

CREATE
  TABLE "KNIGI"."ZAKUPKI"
  (
    "KOD_ZAKUP" NUMBER(10,0),
    "DATA" DATE,
    "KOL"        NUMBER(10,0),
    "KOD_KNIGI"  NUMBER(10,0) references knigi,
    "KOD_SKLAD"  NUMBER(10,0),
    "CENA_ZAKUP" NUMBER(38,2)
  )
/
3 июн 12, 21:50    [12658851]     Ответить | Цитировать Сообщить модератору
 Re: Помогите создать связи между таблицами  [new]
pectopatop
Member

Откуда:
Сообщений: 765
roman042, можно поступить гораздо проще - просто установить себе TOAD (for Oracle).
У него все визуально, и при желании можно поглядеть синтаксис и код наверченного тобой в GUI.
4 июн 12, 11:25    [12660480]     Ответить | Цитировать Сообщить модератору
 Re: Помогите создать связи между таблицами  [new]
publexus
Member

Откуда: Москва
Сообщений: 955
pectopatop,

А еще можно взять какой-нибудь CASE-инструментарий, ex: Oracle SQL Developer Data Modeler (кажется бесплатный), CA ERwin, Embarcadero ERStudio, и т.д. и грамотно нарисовать схему, а среда сама сгенерит скрипты для создания объектов в базе.
4 июн 12, 15:56    [12662568]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить