powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужно ли связи в таблицах в sql
25 сообщений из 131, страница 3 из 6
Нужно ли связи в таблицах в sql
    #39500240
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV, извините, что задаю вопросы один по одному, просто хочу для себя разобраться.
автор1. Не понял вопроса.
Смотрите, мне никогда не надо делать следующую манипуляцию: а) закрываю книгу test.xls (то есть файл закрыт в программе excel); б) открываю файл test.xls для редактирования в notepad++; в) снова открываю файл test.xls в программе excel и получаю благодаря предыдущему редактированию какие то плюсы, например, что вообще заработала какая то функция в файле.
То есть excel -- самодостаточная программа. Если не было физических ошибок при записи книги, то ничего вручную там в файле не наделаешь такого, чего нельзя сделать из excel.
---
Вы пишите
авторПри разработке системы часто приходится манипулировать данными в целях отладки, поиска ошибок и т.д. При этом иногда приходится кратковременно нарушать целостность.
При этом:
авторВ хорошо спроектированной системе нештатное удаление/искажение важных данных невозможно. Констрайнты просто никогда не сработают.
То есть следуя прочитанному разработчику проще без constraint, но нормальной системе нужны constraint.
а) обратите внимание, я не со стороны разработчика, а со стороны ТП смотрю. Мне проще и легче, что всяких правил и ограничений в БД нет, но зато испортить что нибудь мне также проще. Было бы логичнее если правила заранее задаст разработчик на уровне БД. Нет?
б) у меня в голове не укладывается, что там разработчик хочет удалить вопреки бизнес логике и посмотреть что получится?
Простой пример, 2 таблицы, одна фио + id город (внешний ключ); вторая id + город. Обе заполнили данными, затем разработчик хочет удалить город delete в sql. Ему БД говорит, нельзя. Делаем те же таблицы, только внешнего ключа нет, так из приложения id узнаём. Снова удаляем город в sql и что разработчик увидит? Как поведёт себя программа, если какой то специалист ТП зная пароль от БД сам удалит город на который есть связи?
В чём ваще мысль такого удаления?
И почему разработчик, зная свою систему не может тестово сперва очистить свзяи, а затем удалить город? Он то свою БД знает.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500254
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Как-о в старой версии Экселя нотпадом грохал пароль. Открылось норм. :)

И почему разработчик, зная свою систему не может тестово сперва очистить свзяи, а затем удалить город? Он то свою БД знает. В некот. случаях это придется делать 10-100 раз в день. Ну попробуй удали город (со всеми связями), а потом опять верни все назад. И так неск. раз. :)

Связей может быть много к разным таблицам (город много где может используется). Запарися удалять/возвращать.

Мне кажется я и так подробнейше описал почему констрайнты могут мешать в реальной повседневной работе....
По моему опыту пользы от них меньше, чем вреда. Чисто ИМХО.
Далее впустую дискутировать не хочу.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500264
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ некот. случаях это придется делать 10-100 раз в день. Ну попробуй удали город (со всеми связями), а потом опять верни все назад. И так неск. раз. :)
Ясно, спасибо.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500301
Фотография Сид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV1. Как-о в старой версии Экселя нотпадом грохал пароль. Открылось норм. :)

И почему разработчик, зная свою систему не может тестово сперва очистить свзяи, а затем удалить город? Он то свою БД знает. В некот. случаях это придется делать 10-100 раз в день. Ну попробуй удали город (со всеми связями), а потом опять верни все назад. И так неск. раз. :)

Связей может быть много к разным таблицам (город много где может используется). Запарися удалять/возвращать.

Мне кажется я и так подробнейше описал почему констрайнты могут мешать в реальной повседневной работе....
По моему опыту пользы от них меньше, чем вреда. Чисто ИМХО.
Далее впустую дискутировать не хочу.

Да, лучше не пишите больше. И уходите из профессии, пока не поздно.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500369
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СидДа, лучше не пишите больше. И уходите из профессии, пока не поздно.Сына, не тебе решать. :)
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500447
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stomskyЯ почему так подробно интересуюсь, - есть мнение, что SQL в качестве языка для реализации сложной бизнес-логики слишком неудобен. Поэтому бизнес логику лучше выносить на уровень сервисов, которые пишутся на JAVA, C# и прочих Питонах.


Так на Java бизнес-логику ещё хуже писать, чем на SQL...
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500448
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVНапример удобно хранить пустую ссылку как = 0, а не null. Но тогда констрайнту не наложишь.


А если это строка или дата, как пустую ссылку хранить ?
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500449
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiЧем больше таких утверждающих и дискутирующих, тем лучше - мне гарантирована востребованность на рынке труда.

"Танцуйте, ребятки, танцуйте, и ваш нос вырастет длинным-длинным. А мы распилим его на дубинки."

Во. Я тоже тешу себя этой мыслью...
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500546
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле думаю LSV сейчас просто уссывается над всеми...
Типа ну-ну... пилите Шура, пилите - они золотые...
Он просто нашел одного-двух денежных клиентов/лохов, сделал им пару помоек и им теперь ни дыхнуть ни пёрднуть без него, только и остается, что бабло слюнявить...
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500547
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Успокаивает, что это в Киеве... пусть даже это в гос структуре...
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39500634
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagНа самом деле думаю LSV сейчас просто уссывается над всеми...
Типа ну-ну... пилите Шура, пилите - они золотые...
Он просто нашел одного-двух денежных клиентов/лохов, сделал им пару помоек и им теперь ни дыхнуть ни пёрднуть без него, только и остается, что бабло слюнявить...
Думаю, все проще - 1С
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39501087
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivLSVНапример удобно хранить пустую ссылку как = 0, а не null. Но тогда констрайнту не наложишь.
А если это строка или дата, как пустую ссылку хранить ?Какие однако дилетантские вопросы :).
Строка = пустая строка (не null),'-', '?', 'пусто' или что-то типа того на усмотрение разработчика.
Дата = некое значение, принятое в системе за "пусто", н-р 2000-01-01 или 1900-01-01. Это для примера.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39503416
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagУспокаивает, что это в Киеве... пусть даже это в гос структуре...

Проф. безграмотность везде обидно видеть. Киев не исключение.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39503419
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVMasterZivпропущено...
А если это строка или дата, как пустую ссылку хранить ?Какие однако дилетантские вопросы :).
Строка = пустая строка (не null),'-', '?', 'пусто' или что-то типа того на усмотрение разработчика.
Дата = некое значение, принятое в системе за "пусто", н-р 2000-01-01 или 1900-01-01. Это для примера.

Я знал, что ты так ответишь!
:-)

0) ты в курсе, что в некоторых СУБД НЕТ ПУСТЫХ СТРОК ? Пустая строка -- это NULL

1) классно, а что если завтра придёт клиент, и захочет завести документ именно за дату 2000-01-01 или 1900-01-01 ?
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39503518
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivLSVпропущено...
Какие однако дилетантские вопросы :).
Строка = пустая строка (не null),'-', '?', 'пусто' или что-то типа того на усмотрение разработчика.
Дата = некое значение, принятое в системе за "пусто", н-р 2000-01-01 или 1900-01-01. Это для примера.

Я знал, что ты так ответишь!
:-)
0) ты в курсе, что в некоторых СУБД НЕТ ПУСТЫХ СТРОК ? Пустая строка -- это NULL

1) классно, а что если завтра придёт клиент, и захочет завести документ именно за дату 2000-01-01 или 1900-01-01 ?0) тогда принимаем за "пусто" что-то другое из вышеперечисленного.
1) за "пусто" надо принимать значение, кот. никогда не появится в системе.
Многие СУБД вообще не готовы для штатного хранения исторических дат н-р 332г. до н.э. И чо теперь ?
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39503673
Фотография Alex_496
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для россейских заднеприводных манагеров и раздолбаев программиздов ни FK не нужны, ни ER диаграммы, ни много чего еще. Ибо тяп-ляп - и в продакшн.

Когда будут много миллионные иски к компаниям и штрафы для работников, тогда и понадобится комплексный подход к проектам
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504545
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVзы: Тот, кто настаивает на использовании FOREIGN KEY просто мало работал с реальными данными. :)
14 лет - это мало? Когда ждать просветления? :)
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504789
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANALSVзы: Тот, кто настаивает на использовании FOREIGN KEY просто мало работал с реальными данными. :)
14 лет - это мало? Когда ждать просветления? :)"Мудрость не всегда приходит с возрастом. Часто возраст приходит один" (с) :)

зы: Никто так толком и не объяснил, для чего ему констрайнты ? От какого рода угроз они спасают ?

При этом, заметьте, я не сказал, что использование констрайнт "неверно" или типа того. Это просто одна из необязательных возможностей. Нравится - пользуй, не нравиццо - не пользуй.
Я из тех, кому не нравиццо. Аргументы я привел.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504809
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

практически все Ваши аргументы опираются на задачи, когда наличие foreign key никак не мешает их успешному решению, плавали - знаем :)
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504814
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANALSV,

практически все Ваши аргументы опираются на задачи, когда наличие foreign key никак не мешает их успешному решению, плавали - знаем :)Решить можно практически любую задачу. Весь вопрос в цене. :)
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504822
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVskyANALSV,

практически все Ваши аргументы опираются на задачи, когда наличие foreign key никак не мешает их успешному решению, плавали - знаем :)Решить можно практически любую задачу. Весь вопрос в цене. :)
Хм, основная задача ограничения FOREIGN KEY - это управление данными, которые могут быть сохранены в таблице внешнего ключа и контроль изменение данных в таблице первичного ключа.

Зачем же платить большую цену за свой велосипед? :)
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504838
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVНиодна тиражная ERP система не использует ФК.
Почему-то, никто не оспаривает это утверждение. Неужели это правда?
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504843
s_ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DirksDRLSVНиодна тиражная ERP система не использует ФК.
Почему-то, никто не оспаривает это утверждение. Неужели это правда?
Распространенные - не используют. К сожалению.
Лично я считаю, что FK лучше использовать, как минимум в рамках одного модуля.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504923
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DirksDRLSVНиодна тиражная ERP система не использует ФК.
Почему-то, никто не оспаривает это утверждение. Неужели это правда?
Когда разрабатывал ERP, то это была заказная разработка под крупную нефтяную компанию (100 серверов по всей России).
Так вот там данных было до фига, а задач по работе с ними дофигища.
И ограничения FOREIGN KEY не мешали, а только не хило снижали риски того, что какой-то нерадивый админ в Ангарске ручками в базу полез и похерил что-нибудь.
...
Рейтинг: 0 / 0
Нужно ли связи в таблицах в sql
    #39504928
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVMasterZivпропущено...


Я знал, что ты так ответишь!
:-)
0) ты в курсе, что в некоторых СУБД НЕТ ПУСТЫХ СТРОК ? Пустая строка -- это NULL

1) классно, а что если завтра придёт клиент, и захочет завести документ именно за дату 2000-01-01 или 1900-01-01 ?0) тогда принимаем за "пусто" что-то другое из вышеперечисленного.
1) за "пусто" надо принимать значение, кот. никогда не появится в системе.
Многие СУБД вообще не готовы для штатного хранения исторических дат н-р 332г. до н.э. И чо теперь ?

Я этим как бэ намекал, что сначала ты весело живёшь, а потом наступает то самое "никогда".
Именно для этого придумали NULL, документированный и хорошо всем разработчикам известный.
...
Рейтинг: 0 / 0
25 сообщений из 131, страница 3 из 6
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Нужно ли связи в таблицах в sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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