|
|
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
Предметная область такая: существуют разные типы инвентаря. У этих объектов есть общие атрибуты (дата привоза, отдел, стоимость за шт). Так же существует информация уникальная для каждого типа инвентаря, например тип "Мячи" их уникальная информация это диаметр, упругость. Для типа инвентаря скакалка доп. информация это ее длина, и т.д. Типов инвентаря может быть 20-50 шт. У каждого типа может быть 1-5 уникальных атрибутов (чаще 1-3). Достаточно часто требуется информация общая для всех типов инвентаря (дата привоза, отдел, стоимость за шт). Стоит вопрос над тем как это все отобразить в БД. На данный момент известно только 2 типа инвентаря, но известно что будут еще типы. Реализация: Имеется идея создать 1 общую таблицу Инвентарь с общими атрибутами: id, дата привоза, отдел, стоимость за шт, тип инвентаря, id записи в таблице с доп информацией о данном типе инвентаря. И для каждого типа инвентаря создавать свою таблицу, например. Мячи: id, Радиус, Упругость Скакалка: id, длина. И так далее. Либо есть еще вариант хранить вместо "id записи в таблице с доп информацией о данном типе инвентаря" дополнительные данные в определенном формате типа (json, xml). Все это в дальнейшем будет отражено на объектную модель данных с помощью EntityFramework. Вопрос какой подход лучше ? Лично я склоняюсь к 1-ом, ибо во втором придется таскать дополнительную информацию из БД которая не всегда нужна ,но при этом увеличится нагрузка на трафик. P.S. Можете посоветовать другой вариант реализации, указать на ошибки, любая помощь приветствуется ибо это первая моя работа с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 10:38 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOlВопрос какой подход лучше ? Второй если по дополнительным атрибутам не нужен быстрый поиск и EAV - если нужен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 11:02 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovNEvOlВопрос какой подход лучше ? Второй если по дополнительным атрибутам не нужен быстрый поиск и EAV - если нужен. А какие аргументы в защиту второго подхода ? Много таблиц с малым числом атрибутов усложняют работу с данными БД ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 11:27 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOlМного таблиц с малым числом атрибутов усложняют работу с данными БД ? Да. Ты сам почувствуешь это когда начнёшь писать SQL. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 11:30 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOlDimitry Sibiryakovпропущено... Второй если по дополнительным атрибутам не нужен быстрый поиск и EAV - если нужен. А какие аргументы в защиту второго подхода ? Единственный кейс- если типы инвентаря у Вас будут часто и непредсказуемо прибавляться. Тогда вторая схема позволит заводить новый тип не правя ни строчки в коде. Все остальное в проигрыше - и производительность, и надежность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 11:54 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
а с точки зрения производительности что можете посоветовать ? ибо обращаться к бд будут очень часто (вебсервис). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 12:57 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOl, У Вас объем данных какой предполагается? что-то мне подсказывает, что записей будет хорошо если десятки тысяч. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 13:33 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, думаю не более 5к экземпляров инвентаря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 14:06 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOl, Ну тогда вряд ли структура базы будет узким местом производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 16:36 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2015, 19:46 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
возник вопрос, а если же записей будет десятки тысяч, то тогда как лучше сделать с точки зрения производительности ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2015, 20:43 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOlвозник вопрос, а если же записей будет десятки тысяч, то тогда как лучше сделать с точки зрения производительности ? Лучше использовать систему управления базами данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2015, 22:21 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
Ни одна из известных моделей данных не накладывает ограничений на число "свойств" в "таблице". Кроме того, в системах управления базами данных есть специальный тип свойства, значение которого определяет подтип сущности и набор присущих ему свойств. Поэтому используйте одну "таблицу" и у Вас не будет проблем ни с "часто и непредсказуемо" прибавляющимися подтипами и их свойствами, ни с производительностью запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 09:21 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
NEvOlвозник вопрос, а если же записей будет десятки тысяч, то тогда как лучше сделать с точки зрения производительности ? Рано вы задумались о производительности. Базы данных могут хранить миллионы и милллиарды записей. 10 тысяч - считай что пустая база. Сначала нужно спроектировать базу "по наитию" , а уже потом думать что там с производительностью (еще до генерации скриптов и программирования). Нужно спроектировать такую структуру, которая бы решала все поставленные задачи. Сделайте например в ервине. Иначе вы даже не сможете приступить к проектированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 09:44 |
|
||
|
создание реляционной бд
|
|||
|---|---|---|---|
|
#18+
По сабжу: это банальнейший ЕАВ. 1.Таблица: Список свойств с настройками. 2.Таблица привязок: "свойство"+"тип инвентаря" (для простоты выбора/поиска не из тысячи свойств а из 1-2 десятков. Пример: фильтры интернет-магазинов по электронике) 3.Таблица фактов: IDинвентаря+IDсвойствa+значение свойства(это неск. полей разных типов. Тип данных всегда известен из п1.) Даты привоза, стоимость - в документах прихода (банальнейший складской учет) Подход гибок, очень прост и универсален. Можно навесить на стороннюю систему. (профит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 09:48 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39018292&tid=1540507]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 284ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...