Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Проектирование БД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Bora2015
Т. е исходные данные
a1;a2;a3;a4;a5 это числа. Далее a6 логический тип, если истина то вводятся еще a6,a7,a8. Если ложь то a6=a7=a8=0;
Выходные
столбцы alfa =10 ,15,20,25,30,35
строки b1,b2,b3, и .т д.
Я думал если если создать одну таблицы под хранение проектов с двумя полями id_proj (уникальный идентификатор -первичный ключ) , proj (названия ). Но названия также должны быть уникальны. Чтобы они были уникальными по второму полю также создать первичный ключ ?
Вторую под хранение исходных данных с полями id_proj , a1;a2;a3;a4;a5. Как тут сделать связь с первой таблицей проектов, просто записав первым полем id_poj?
Третью таблицу с полями id_alfa и alfa. Где просто записать:
id_alfa alfa
1 10
2 15
3 20
4 25
5 30
6 35
А четвертую таблицу с полями id_proj, id_alfa (связь с третьей таблицей) и полями b1,b2,b3.

Ты сначала вообще про что-то другое рассказал.
30 апр 19, 22:44    [21876022]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Bora2015
Т. е исходные данные
a1;a2;a3;a4;a5 это числа. Далее a6 логический тип, если истина то вводятся еще a6,a7,a8. Если ложь то a6=a7=a8=0;

Типа тово (пишу на псевдо-SQL диалекте).

+
Вообще во многих DBMS нету булевого типа. Это связано с экономией ресурсов.
Обычно вместо булевого заводят BIT, но это поле обычно эффективно будучи упакованным
с другими битовыми либо вводят числовой тип с констрейнтом ::= {0|1} или char ::= {Y|N}
поэтому интерпретация bool может быть очень вольная


CREATE TABLE source_data(
   a1 integer not null,
   a2 integer not null,
   a3 integer not null,
   a4 integer not null,
   a5 integer not null,
   a6 boolean,
   a7 boolean,
   a8 boolean,
);

Как реализовать опциональные поля a7,a8 я не знаю. Тут подошла бы нормализация но фиг
с ним. Экономии мало а хлопот много. Пускай останется как есть.
30 апр 19, 23:31    [21876038]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Bora2015
Выходные
столбцы alfa =10 ,15,20,25,30,35
строки b1,b2,b3, и .т д.

Здесь я .. пас. Не понимаю. Что такое альфа? Это матрица? 6 на 3 ?
30 апр 19, 23:36    [21876040]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Bora2015
Я думал если если создать одну таблицы под хранение проектов с двумя полями id_proj (уникальный идентификатор -первичный ключ) , proj (названия ). Но названия также должны быть уникальны. Чтобы они были уникальными по второму полю также создать первичный ключ ?
Вторую под хранение исходных данных с полями id_proj , a1;a2;a3;a4;a5. Как тут сделать связь с первой таблицей проектов, просто записав первым полем id_poj?

Ты знаешь лучше наверное нам не комментировать твои домыслы. Мы утонем в правде и неправде.
Если у тебя есть постановка курсовой или лабы - ты ее озвучь в исходном виде. Опыт подсказывает
что так будет быстрее по срокам.

Стеснятся нечего.
30 апр 19, 23:39    [21876041]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
Bora2015
Member

Откуда:
Сообщений: 58
mayton
Bora2015
Выходные
столбцы alfa =10 ,15,20,25,30,35
строки b1,b2,b3, и .т д.

Здесь я .. пас. Не понимаю. Что такое альфа? Это матрица? 6 на 3 ?

Альфа это угол , т. е 10 град,15 град и. тд. Количество и шаг фиксировано.
Да матрица 6x10.
1 май 19, 00:12    [21876046]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48131

Bora2015
Альфа это угол , т. е 10 град,15 град и. тд. Количество и шаг фиксировано.
Да матрица 6x10.

Tab-Separated Values - идеальное решение.

Posted via ActualForum NNTP Server 1.5

1 май 19, 00:18    [21876048]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Bora2015
mayton
пропущено...

Здесь я .. пас. Не понимаю. Что такое альфа? Это матрица? 6 на 3 ?

Альфа это угол , т. е 10 град,15 град и. тд. Количество и шаг фиксировано.
Да матрица 6x10.

Тогда экспертный вопрос. Эта сетка углов в будущем будет расти?
Почему я спрашиваю. Движки баз данных эффективно работают с кортежами.
С жестко детерминированными фрагментами информации у которых есть
перечислимый набор свойств. Например персона. Платёж. Ордер. Продажа.

Любая задача имеющая другую природу. Математическая. Где есть многомерные
матрицы. Или гумантитарная где много текста... Эти задачи очень плохо ложаться на базу
данных. Тоесть они ложаться как "Сова на Глобус".

Матрицу можно иммитировать двумя двумя табличками со связью многие-ко-многим
но выборка из такой сцепки и (тем более) генерация отчота. Но API для работы с такой
сцепкой будет во много раз хуже чем например API Java при работе с той же матрицей.

Вобщем вопрос остается такой. Будет ли сетка расти? И есть ли возможность уйти
вообще от баз данных и решить эту задачу на обычном ЯП ?
1 май 19, 00:25    [21876050]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
Bora2015
Member

Откуда:
Сообщений: 58
mayton
Bora2015
пропущено...

Альфа это угол , т. е 10 град,15 град и. тд. Количество и шаг фиксировано.
Да матрица 6x10.

Тогда экспертный вопрос. Эта сетка углов в будущем будет расти?
Почему я спрашиваю. Движки баз данных эффективно работают с кортежами.
С жестко детерминированными фрагментами информации у которых есть
перечислимый набор свойств. Например персона. Платёж. Ордер. Продажа.

Любая задача имеющая другую природу. Математическая. Где есть многомерные
матрицы. Или гумантитарная где много текста... Эти задачи очень плохо ложаться на базу
данных. Тоесть они ложаться как "Сова на Глобус".

Матрицу можно иммитировать двумя двумя табличками со связью многие-ко-многим
но выборка из такой сцепки и (тем более) генерация отчота. Но API для работы с такой
сцепкой будет во много раз хуже чем например API Java при работе с той же матрицей.

Вобщем вопрос остается такой. Будет ли сетка расти? И есть ли возможность уйти
вообще от баз данных и решить эту задачу на обычном ЯП ?


расти сетка? в смысле увеличиваться размерность матрицы ? нет она фиксирована.
1 май 19, 00:30    [21876053]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Автор, переходи на Монго - там вообще никакой схемы не надо - пихай туда что хочешь, хоть матрицу, хоть черта лысого :-)))
1 май 19, 00:35    [21876061]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
Bora2015
Member

Откуда:
Сообщений: 58
Так же как шаг по alfa. Я хотел реализовать с помощью баз данных. Да это можно и через файлы как выше говорилось, так как других операций (сортировка, поиск) кроме хранения в таблицах не нужно.
1 май 19, 00:36    [21876062]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
fkthat
Автор, переходи на Монго - там вообще никакой схемы не надо - пихай туда что хочешь, хоть матрицу, хоть черта лысого :-)))

Монго - вообще отдельная тема. Я думаю что лет через несколько кристаллизуются какие-то бест-практики
по документным БД. А пока у всех от либерализма глаза горят... можно втолкать в БД документы без
спецификаций. И потом соотв. никогда их не найти. Но эт проблема индейцев.
1 май 19, 00:42    [21876066]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
mayton
Матрицу можно иммитировать двумя двумя табличками со связью многие-ко-многим

Зачем? Почему бы не одной?
create table MatrixReloaded (
    Row int not null check(0 <= Row and Row <= @N),
    Col int not null check(0 <= Col and Col <= @M),
    V float not null,
    primary key (Row, Col)
)

Можно точно так же сделать даже любой размерности.
1 май 19, 00:43    [21876067]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
mayton
fkthat
Автор, переходи на Монго - там вообще никакой схемы не надо - пихай туда что хочешь, хоть матрицу, хоть черта лысого :-)))

Монго - вообще отдельная тема. Я думаю что лет через несколько кристаллизуются какие-то бест-практики
по документным БД. А пока у всех от либерализма глаза горят... можно втолкать в БД документы без
спецификаций. И потом соотв. никогда их не найти. Но эт проблема индейцев.

Да, монга это помойка чего угодно. Потому для ТС и подходит, т.к. у него, походу, с постановкой задачи полный абзац. Через пару постов выяснится, что матрица должна быть пятнадцатимерной, а кол-во переменных во входных данных зависит от дня недели и високосности года :))
1 май 19, 00:47    [21876070]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
fkthat
mayton
Матрицу можно иммитировать двумя двумя табличками со связью многие-ко-многим

Зачем? Почему бы не одной?
create table MatrixReloaded (
    Row int not null check(0 <= Row and Row <= @N),
    Col int not null check(0 <= Col and Col <= @M),
    V float not null,
    primary key (Row, Col)
)

Можно точно так же сделать даже любой размерности.

Такая схема удобна для разрежённых матриц. Или для тех соединений где самих соединений мало.
А для заполненной будет некоторый расход. Квадратично растущий по отношению к размерности.
1 май 19, 00:55    [21876073]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
Bora2015
Member

Откуда:
Сообщений: 58
fkthat
mayton
Матрицу можно иммитировать двумя двумя табличками со связью многие-ко-многим

Зачем? Почему бы не одной?
create table MatrixReloaded (
    Row int not null check(0 <= Row and Row <= @N),
    Col int not null check(0 <= Col and Col <= @M),
    V float not null,
    primary key (Row, Col)
)

Можно точно так же сделать даже любой размерности.

Мне бы через DBD создать таблицы. Вроде связи многие ко многим стараются избегать, для этого и разбивают таблицы на несколько.
1 май 19, 00:56    [21876074]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
mayton
А для заполненной будет некоторый расход. Квадратично растущий по отношению к размерности.

Не будет расхода. В моем варианте расход O(N * M). И меньше его никак не сделать, потому что по-любому как минимум O(N * M) значений хранить надо.
1 май 19, 01:08    [21876079]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Bora2015
Мне бы через DBD создать таблицы.

Ну так ты объясни толком, что тебе все-таки нужно. Народ никак воткнуть не может.
1 май 19, 01:16    [21876080]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
fkthat
mayton
А для заполненной будет некоторый расход. Квадратично растущий по отношению к размерности.

Не будет расхода. В моем варианте расход O(N * M). И меньше его никак не сделать, потому что по-любому как минимум O(N * M) значений хранить надо.


Еще вариант. Легкая денормализация. Гулять так гулять.

CREATE TYPE VTYPE AS VARRAY(32000) OF BINARY_DOUBLE;

CREATE TABLE MATRIX_DEN (
    ROW NUMBER PRIMARY KEY,
    V VTYPE
);


Не везде взлетит. Проприетарно.
1 май 19, 01:23    [21876082]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
fkthat
Member

Откуда:
Сообщений: 1163
mayton
Не везде взлетит. Проприетарно.

Тоже проприетарно:
create table Answer42 (
  Id int not null identity primary key,
  Anything nvarchar(max) not null check(isjson(Anything) = 1)
)

Ну, или сразу на монгу
1 май 19, 02:16    [21876095]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Или сразу в семантическую сеть.
1 май 19, 08:38    [21876134]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Проектирование БД Ответить