powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Правильная организация структуры БД
16 сообщений из 16, страница 1 из 1
Правильная организация структуры БД
    #39145696
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!
Я новичок в разработке БД. Столкнулся с таким вопросом: как правильно организовать структуру БД с точки зрения нормализации, если мне необходимо вносить информацию о похожих в целом типах вещей (почти все атрибуты одинаковые), но у некоторых типов есть такие атрибуты, которых нет у остальных. Где и как хранить такие атрибуты? Выносить все нетипичные атрибуты в отдельную сущность (тип атрибута, ключ к родителю, значение) или как-то иначе?

Например, такая ситуация:
Провайдер предоставляет услуги связи разным корпоративным клиентам. Есть сущность для точек подключения включающая наименование, имя клиента, адрес предоставления услуги, дату инсталляции, и т.д. Но что делать, если у одного клиента есть доп. атрибуты филиал и бизнес-территория (которые, разумеется, относятся только к данному клиенту)? Куда эти атрибуты девать?
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145706
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.что делать, если у одного клиента есть доп. атрибуты филиал и бизнес-территория (которые, разумеется, относятся только к данному клиенту)? Куда эти атрибуты девать?
"С точки зрения нормализации" эти атрибуты ничем не хуже остальных. Только они NULLable.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145717
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina"С точки зрения нормализации" эти атрибуты ничем не хуже остальных. Только они NULLable.

Так точно не пойдет, потому что у каждого клиента наберется по паре тройке нетипичных атрибутов, что в итоге приведет к огромному количеству NULLable полей. На сколько я понимаю, в таком случае 3НФ будет нарушен, а я стремлюсь хотя бы к нему.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145718
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.адрес предоставления услугиА вот адресов предоставления услуги у корпоративных клиентов часто бывает более одного. Поэтому, имхо, стоит их вынести в отдельную таблицу.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145729
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftPim.адрес предоставления услугиА вот адресов предоставления услуги у корпоративных клиентов часто бывает более одного. Поэтому, имхо, стоит их вынести в отдельную таблицу.

Это понятно. Приведенный пример касается только озвученного ранее вопроса.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145738
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вытаскивайте их в отдельную EAV-таблицу. Или таблицы (по типу данных). Вот только накушаетесь потом с этой структурой...
Либо делайте отдельное BLOB-поле и складывайте туда сериализованные нетипичные атрибуты.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145752
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЛибо делайте отдельное BLOB-поле и складывайте туда сериализованные нетипичные атрибуты.

Не могли бы прокомментировать?
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145761
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.AkinaЛибо делайте отдельное BLOB-поле и складывайте туда сериализованные нетипичные атрибуты.

Не могли бы прокомментировать?Писать туда строку, например, вида 'param1=123&param2=abc'.
Или структуру ini-файла. Или XML. Вариантов сериализации множество. А то вот еще JSON нынче модно.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145762
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что комментировать-то? рассказать, что за тип данных такой - BLOB? или как в гугле найти слово "сериализация"? или помочь выбрать между XML, JSON, SOAP и прочими?
Поточнее сформулируйте свою хотелку...
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145769
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЧто комментировать-то? рассказать, что за тип данных такой - BLOB? или как в гугле найти слово "сериализация"? или помочь выбрать между XML, JSON, SOAP и прочими?
Поточнее сформулируйте свою хотелку...

Согласен. Хотелось бы услышать мнения, какой вид сериализации наиболее прост в реализации и в понимании.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145775
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это сильно зависит от того, какие операции будут выполняться с сериализованными данными и какими программными средствами строится клиентская часть.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145788
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Это веб-приложение, пока на PHP (возможно, в будущем перейду на ASP + mssql). В основном операции на чтение, на запись значительно реже.
Вообще, я так-то сталкивался с xml-сериализацией, но в суть вопроса особо не вдавался, просто научился строить запросы и все.

Еще возникает вопрос масштабировния. Что с этой стороны лучше: EAV или сериализация?
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145801
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.В основном операции на чтение, на запись значительно реже.Это никого не интересует. Вопрос в том, будут ли по этим атрибутам выполняться отбор, сортировка, связывание и пр., или они используются исключительно для вывода.

Pim.я так-то сталкивался с xml-сериализацией, но в суть вопроса особо не вдавался, просто научился строить запросы и все.
Судя по фразе, XML там присутствовал, а вот сериализация - нет.

Pim.возникает вопрос масштабировния. Что с этой стороны лучше: EAV или сериализация?
Не вижу связи.
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145817
Pim.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaВопрос в том, будут ли по этим атрибутам выполняться отбор, сортировка, связывание и пр., или они используются исключительно для вывода.

Понял. По этим атрибутам будут выполняться отбор, сортировка и самое главное связывание. Отсюда как раз вопрос, как это делать?

AkinaСудя по фразе, XML там присутствовал, а вот сериализация - нет.

Вы абсолютно правы))
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39145913
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.По этим атрибутам будут выполняться отбор, сортировка и самое главное связывание.
Значит, сериализация отпадает. Пробуйте EAV. Но геморрою будет немеряно. А самое главное - в запросе неминуемо придётся мультисвязыванием с основной таблицей приводить данные к тому виду, о котором я говорил выше...
...
Рейтинг: 0 / 0
Правильная организация структуры БД
    #39146251
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pim.Всем доброго времени суток!
Я новичок в разработке БД. Столкнулся с таким вопросом: как правильно организовать структуру БД с точки зрения нормализации, если мне необходимо вносить информацию о похожих в целом типах вещей (почти все атрибуты одинаковые), но у некоторых типов есть такие атрибуты, которых нет у остальных. Где и как хранить такие атрибуты? Выносить все нетипичные атрибуты в отдельную сущность (тип атрибута, ключ к родителю, значение) или как-то иначе?

Например, такая ситуация:
Провайдер предоставляет услуги связи разным корпоративным клиентам. Есть сущность для точек подключения включающая наименование, имя клиента, адрес предоставления услуги, дату инсталляции, и т.д. Но что делать, если у одного клиента есть доп. атрибуты филиал и бизнес-территория (которые, разумеется, относятся только к данному клиенту)? Куда эти атрибуты девать?


Читай про наследование, есть 5 типов реализации, читать лучше всего в книге или документации по Hibernate.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Правильная организация структуры БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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