powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно ли объединять несколько полей таблицы в одно xml-поле?
13 сообщений из 13, страница 1 из 1
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33913694
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Необходимо разработать веб-приложение. Исходные данные есть в Лотусе. Сайт работает с базой данных. Поэтому необходимо залить данные из Лотуса в базу.

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

Короче, у нас в фирме возник спор, как лучше сделать. Помогите, плиз, его решить.



Мой вариант. Я предлагаю в базе завести табличку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE news
   ( 
    newsDate datetime,
    title varchar( 256 ),
    newsText blob,
    signature varchar( 256 ),
    additionalInfo varchar( 2048 )
   )

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


Вариант сотрудника. Предлагает завести в базе табличку:
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE news
   ( 
    dateNews datetime,
    title varchar( 256 ),
    allInXML blob,
   )
В поле allInXML хранить xml. Этот xml содержит в себе информацию о тексте новости, подписе и допинформации в соответствующих тегах.
На клиенте вычитывать это поле, парсить xml, и создавать класс с соответствующими атрибутами, и показывать поля этого класса на странице сайта.

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

И затем, если атрибут предметной области больше не нужен, можно просто снова таки поменять xml-алгоритмы.

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




Как вы считаете, какой вариант лучше, и почему?
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33913774
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если поиска нет, то и смысла выносить на поля нет, т.е. пихаем в blob
тогда

Дата датаЗаголовок текстИнфа blob
у обоих вариантов одинакова, только в BLOB то XML, то поля класса клиента в двоичном виде?

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33913789
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123у обоих вариантов одинакова, только в BLOB то XML, то поля класса клиента в двоичном виде?
Не понял вопроса. Повторите, пожалуйста.
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33913881
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vetal
В целом между этими вариантами нет большой разницы. Аргументы Вашего сотрудника с моей точки зрения не очень убедительны, но в пользу его точки зрения есть два момента: если содержимое новости представляет собой цельный объект, то и оперировать им стоит как одним объектом, а не как кучей полей. Кроме того, XML в данном случае может оказаться удобным для работы с веб-средствами публикации. В то же время его подход окажется дурацком положении как только потребуется оперировать частью данных, например, если - типовой для новостей случай - вы захотите добавить в новость краткое содержимое, анонс (из которого по кнопке "подробнее" идет переход к полному тексту).
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33913882
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vetal Petro123у обоих вариантов одинакова, только в BLOB то XML, то поля класса клиента в двоичном виде?
Не понял вопроса. Повторите, пожалуйста.
зачем поля?
signature varchar(256),
additionalInfo varchar(2048)
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33913896
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПричем текст, допинформация и подпись - это чисто информационные поля, по которым никогда не будет выборок и поисков.
зачем тогда их разделять на сервере?
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33914091
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никогда не надо говорить никогда, когда речь идет о возможном поиске по атрибутам. Только первый вариант. На производительность пустые поля не повлияют. Наоборот, трафик от форматированного xml-я будет больше. Да и парсить лишний раз не потребуется.
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33914137
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ВаскецовНикогда не надо говорить никогда, когда речь идет о возможном поиске по атрибутам
=== 1. Искать можно и в одном поле. 2. Не надо делать на будущее, т.к. ОНО не наступит..

Только первый вариант. На производительность пустые поля не повлияют.
======== повлияют

Наоборот, трафик от форматированного xml-я будет больше.
========= XML можно открыть в браузере вообще не парся (и не парясь :))
Да и парсить лишний раз не потребуется.
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33917312
Искатель999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Искать можно и в одном поле
Как найти все сообщения от Иванова (в предположении, что Иванов в подписи), но не о нем? И наоборот?
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33917320
Petro123повлияют
На производительность чего?
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33917332
Petro123XML можно открыть в браузере вообще не парся (и не парясь :))
При чем тут это? И в случае деления полей можно из них собрать в процедуре или еще как один "большой" xml. Речь как раз может идти о невозможности простого обратного преобразования.

Да и просто пример.
В подписи есть URL автора. Автор поменял сайт. Но при это должны остаться старые адреса (адрес здесь можно заменить любым реквизитом в принципе, хоть полным юридическим наименованием организации), если огни в "теле" сообщения, но не в подписи (по подписи хотим знать, кто это, и вообще устроить навигацию по подписи).
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33947495
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Искатель999 Petro123Искать можно и в одном поле
Как найти все сообщения от Иванова (в предположении, что Иванов в подписи), но не о нем? И наоборот?

нельзя. Всё где потребуется поиск надо разносить по полям.
Но мы исходим из ТЗ:
авторПричем текст, допинформация и подпись - это чисто информационные поля, по которым никогда не будет выборок и поисков.
...
Рейтинг: 0 / 0
Правильно ли объединять несколько полей таблицы в одно xml-поле?
    #33947500
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Производитель Petro123повлияют
На производительность чего?
это был бездоказательный ответ на бездоказательное утверждение :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно ли объединять несколько полей таблицы в одно xml-поле?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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