powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Система построения систем
11 сообщений из 11, страница 1 из 1
Система построения систем
    #37260726
TJivich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот разрабатываю систему, которая имеет возможность создавать новые Entity, при этом позволяя добавлять к любой записи дополнительные колонки и менять из интерфейса общую структуру Entity.

И вот я думаю каким пойти путём:

1. Каждый Entity как таблица и изменения её через DDL (соответственно нужно продумать чтобы не потерять данные или влезть в ошибку)
2. Одна или несколько таблиц по типу: ID|Колонка|Значение. Это мне более понятно, но боюсь пострадает скорость значительно.

Главный вопрос всё таки в производительности, сильно ли она пострадает?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Система построения систем
    #37260793
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если стоит вопрос или/или то конечно вариант 1. EAV - зло
Другой вопрос скорее к вашему менеджеру - а вы уверенны что напишете лучше менеджмент студии? Если нет, то зачем тратить ваше время и деньги заказчика на создание продукта заведомо хуже, чем существующего широкораспространенного бесплатного конкурента?
Пользователи не будут пользоваться этой фичей, это будут делать айтишники (эникейщики, администраторы) при этом добавление таблицы или поля в базе должно сопровождаться добавлением поля ввода, поля для поиска, поля для отчета и т.п. в приложении, плюс тестирование То есть полюбому будет приложение версии 1.04, база версии 1.01
...
Рейтинг: 0 / 0
Система построения систем
    #37260839
TJivich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть ли ещё варианты кроме 1-ого и 2-ого?

EAV - зло в каком случае? Сложнее делать query?

Редакторы баз здесь не конкуренты, у меня более высокий уровень типов.
...
Рейтинг: 0 / 0
Система построения систем
    #37261073
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TJivich EAV - зло в каком случае? Сложнее делать query?Во первых вместо фетча одной строки идет фетч N строк где N количество столбцов в датасете причем они не обязательно будут лежать в блоке,
во вторых сама запись SQL громоздка и нечитаема (попробуйте сами напишите select,update,delete),
в третьих невозможно наложить ограничения PK, FK, not null, unique, constraint то есть все проверки обязаны быть на клиенте со всеми вытекающими
в четвертых никаких дополнительных индексов и шансов оптимизатору.
Короче работать с вашей базой можно только через вашу программу, плюс все будет медленно и неизлечимо.

При этом особых достоинств я не вижу кроме ВАУ всего-то три таблицы.

TJivich А есть ли ещё варианты кроме 1-ого и 2-ого? Есть, но он вам не понравится, слишком банально - Отказаться от DDL в приложении, весь DDL делать как наложение предварительно подготовленного скрипта через запуск sqlcmd.
Я видел очень немного удачных фреймворков (который вы пытаетесь сделать) в подавляющем большинстве случаев, эта гибкость была не востребована, а все изменения делались скриптами.
...
Рейтинг: 0 / 0
Система построения систем
    #37261686
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
варианты есть, еспользовать те инструменты которые подходят для задачи а не пытаться скрестить арбуз с тараканами. используйте документную базу, практически любая из коробки умеет все описанное без всяких фреймворков.
...
Рейтинг: 0 / 0
Система построения систем
    #37265572
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257EAV - .... ВАУ всего-то три таблицы. и даже можно 2 из них в третью запихнуть... ВАУ....
...
Рейтинг: 0 / 0
Система построения систем
    #37265910
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хе-хе, а пробовали писать запросы для EAV когда нужно вытянуть несколько связанных обьектов?
...
Рейтинг: 0 / 0
Система построения систем
    #37266155
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private,

их не пишут, а генерируют автоматом
...
Рейтинг: 0 / 0
Система построения систем
    #37266751
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TJivichЯ вот разрабатываю систему, которая имеет возможность создавать новые Entity, при этом позволяя добавлять к любой записи дополнительные колонки и менять из интерфейса общую структуру Entity.
Вы никогда не сделаете это на платфоме "Р"СУБД. То есть, результат будет такой же бессмысленный, как и у "широкораспространенных бесплатных конкурентов":)
...
Рейтинг: 0 / 0
Система построения систем
    #37268612
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Система построения систем? Сокращенно СПС? Или она посстраивае тока информационные систем тада СПИС.

Тут был чел который называл налабанное им драйвером БД. Оное сравнивал с СУБД. В связи с этим Вашу систему без дополнительного уточнения могут тоже назвать драйвером систем. Потому лучше Вам самому уточнить класс как системы построения, так и системы построенной с помощью системы построения.

TJivichЯ вот разрабатываю систему, которая имеет возможность создавать новые Entity, при этом позволяя добавлять к любой записи дополнительные колонки и менять из интерфейса общую структуру Entity.


Обыкновенно у Entity не колонки, а Attributes. Записей тоже нет, а есть экземпляры типа сущности. Стало быть Ваша система построения умеет создавать кроме Entity и нечто содержащие колонки и записи. Ели это нечто есть реляционная таблица, то Ваша система построения, содержит в качестве подсистемы РСУБД. А Entity умеют создавать тулсы по проектированию БД, поддерживающие МД Сущность-Связь. Тада, скорей всего, Вы напрсно татите время: пенки давно сняты.


TJivichИ вот я думаю каким пойти путём:


Ну знаете, если уже разрабатываете, то, возможно, поздняк думать о пути. Но есть и хорошая новость: отказаться от этой системы еще не поздно, и поискать что-то более обоснованное в плане целей для разработки. Например, какой-нибуть индекатор для торговли акциями.

TJivich
1. Каждый Entity как таблица и изменения её через DDL (соответственно нужно продумать чтобы не потерять данные или влезть в ошибку)
2. Одна или несколько таблиц по типу: ID|Колонка|Значение. Это мне более понятно, но боюсь пострадает скорость значительно.

Значит Вы собираетесь таки строить свою или юзать готовую РСУБД? И СПС буит строить систему, которая будет что делать? Считавать таблы из БД, но писать в интерфейсе что это типа Entity? Т.е. типа рисовать МД Сущность-Связь? Вы тулсу по проектипровпанию концептуальных моделей БД делаете? Тада, скорей всего, надо менять название Вашего поделия. СПС должна превратиться в что-то типа EA (Entity Architect). Правда, есть уже брэнд EA - Enterprise Architect. Потому надо как-то изменить. Типа ERA - Сущность - Связь Архитект. Но тада Вашей системе построения придется создавать не тока Entity, но и Relationship

TJivich
Главный вопрос всё таки в производительности, сильно ли она пострадает?


Все пока выглядит так, что главный вопрос: что же Вы хотитет разрабатывать и зачем. Все же у любого проекта должна быть цель, скорее всего.
...
Рейтинг: 0 / 0
Система построения систем
    #37268978
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoТут был чел который называл налабанное им драйвером БД. Оное сравнивал с СУБД. В связи с этим Вашу систему без дополнительного уточнения могут тоже назвать драйвером систем. Потому лучше Вам самому уточнить класс как системы построения, так и системы построенной с помощью системы построения.
У чела система была TJ7-TJ7-FVMas.
У ТС ник TJivich. Всё в мире не случайно?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Система построения систем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]