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

Откуда:
Сообщений: 32
Здравствуйте! Как правильно создать связи
между таблицами? Есть расчет для которого есть исходные данные и результирующие . Каждому набору исход. и рузульт. данных соответсвует один проект. Исходые данны это набор чисел , т.е одномерный массив. А результаты таблица с шестью столбцами и 19 -ю строками. Я создал первую таблицу для хранения проектов с полями projid (автоинкрементого типа),projname (текстового) ,таблицу исходных данных и таблицу результатов. Т.е где вводить доп. поле для связи в табл с проектами или в двух других?
12 июл 19, 09:37    [21925443]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно создать связи между таблицами  [new]
Gerasimenko
Member

Откуда:
Сообщений: 4500
Bora2015,

+ Скорее так

CREATE TABLE TManagerCalulate(
[id] [bigint] IDENTITY(1,1) NOT NULL,
[projid] [bigint] NOT NULL,
[inputId] [bigint] NOT NULL,
[resultId] [bigint] NOT NULL,
[DateCalc] [DatetIme] NOT NULL,
[fioCalc] [varchar](250) NOT NULL
)

12 июл 19, 11:01    [21925535]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно создать связи между таблицами  [new]
Bora2015
Member

Откуда:
Сообщений: 32
Gerasimenko
Bora2015,

+ Скорее так

CREATE TABLE TManagerCalulate(
[id] [bigint] IDENTITY(1,1) NOT NULL,
[projid] [bigint] NOT NULL,
[inputId] [bigint] NOT NULL,
[resultId] [bigint] NOT NULL,
[DateCalc] [DatetIme] NOT NULL,
[fioCalc] [varchar](250) NOT NULL
)


Что за поля Inputld,resultld,datecalc,fiocalс?
12 июл 19, 11:18    [21925553]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно создать связи между таблицами  [new]
Gerasimenko
Member

Откуда:
Сообщений: 4500
Bora2015,
Вы не написали, как называются таблицы с входящими и результирующими данными,
datecal - дата расчета (как вариант: может быть дата начала и дата окончания расчета)
fio - фио того, кто произвел расчет (тоже возможны варианты)
12 июл 19, 11:24    [21925563]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно создать связи между таблицами  [new]
Bora2015
Member

Откуда:
Сообщений: 32
Gerasimenko
Bora2015,
Вы не написали, как называются таблицы с входящими и результирующими данными,
datecal - дата расчета (как вариант: может быть дата начала и дата окончания расчета)
fio - фио того, кто произвел расчет (тоже возможны варианты)

Этих полей не нужно.Без них то непонятно.
Project.db,ishdata.db,tablerezult.db
12 июл 19, 11:42    [21925591]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно создать связи между таблицами  [new]
LocksmithPC
Member

Откуда:
Сообщений: 184
Bora2015
Project.db,ishdata.db,tablerezult.db


Примерно так, навскидку:

+

; Проекты
;

create table tbProject (
  fId autoinc,
  fName char(32),

  primary key(fId));

commit;

create index ixName on tbProject (fName);

commit;

insert into tbProject (fName)
values ('Расчет 1');

commit;


; Исходные
;

create table tbSource (
  fId autoinc,
  fProjectID integer,
  fDataC char(32),
  fDataI integer,

  primary key(fId));

commit;

create index ixProjectID on tbSource (fProjectID);

commit;

insert into tbSource (fProjectID, fDataC, fDataI)
values (1, '2', 3);

commit;


; Результирующие
;

create table tbDest (
  fId autoinc,
  fSourceID integer,
  fResultC char(32),
  fResultI integer,

  primary key(fId));

commit;

create index ixSourceID on tbDest(fSourceID);

commit;

insert into tbDest (fSourceID, fResultC, fResultI)
values (1, '0', -1);

commit;



К сообщению приложен файл. Размер - 45Kb
12 июл 19, 12:28    [21925629]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить