172 похожих чатов

Добрый вечер, господа профессионалы, я новичок в теме sql и

Баз Данных в общем.
Можно задать нескромный вопрос ?
Корректна ли таблица только из FK или так делать не надо?

29 ответов

9 просмотров

Более чем.

Почему бы и нет, если логика того требует? Возможно, ещё Primary Key нужен. Но не всегда, надо структуру и объем данных смотреть.

Эээ... в смысле? Т.е. что Вы имеете в виду?

Igor Chizhov
Почему бы и нет, если логика того требует? Возможн...

Если речь о реляционном проектировании, то PK нужен всегда, если что.

что вы здесь имеете в виду под FK?

Yaroslav Schekin
Если речь о реляционном проектировании, то PK нуже...

Видел я и обратные примеры ) Но в целом да, нужно.

Nikita-Sova Автор вопроса
std::mechanicus<wchar_t*> Sophronicus<void*>
что вы здесь имеете в виду под FK?

Только из вторичных ключей, что-то вроде таблицы, соединяющей остальные

Igor Chizhov
Видел я и обратные примеры ) Но в целом да, нужно.

Это примеры ошибок проектирования, не более того. ;) Т.е. создать-то можно много всего "интересного"... если не забывать принцип "write once and run away".

Nikita Sova
Только из вторичных ключей, что-то вроде таблицы, ...

Да, это нормально (и вообще "классическая" таблица для many-to-many).

Yaroslav Schekin
Это примеры ошибок проектирования, не более того. ...

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

Igor Chizhov
Я всегда люблю приводить в пример одну довольно из...

Плохо спроектированных систем и БД на практике очень много, к сожалению. И они как-то даже работают. ;)

Igor Chizhov
Я всегда люблю приводить в пример одну довольно из...

Обычно они говорят "ключи - это же удар по перфомансу" 😊

𒀭
Правильно говорят.

Да я и не спорю. Любое наведение порядка, в БД ли, в разработке - это несомненный удар по "перфомансу" )

Sergey Bezrukov
Обычно они говорят "ключи - это же удар по перфома...

А из-за ФК нет возможности вставить/удалить,отредактировать, например, разное. Было у меня такое, да...

Sergey Bezrukov
Ну дык в этом вроде и смысл основной

Весь этот смысл идет лесом, когда в базу прилетает 10к записей, их нужно все разобрать и разбросать по таблицам без дублей. А главное: на все про все есть сотня миллисекунд. Первое что приходится делать - выбрасывать FK.

𒀭
Весь этот смысл идет лесом, когда в базу прилетает...

Может, стоит выбросить настолько "прекрасное" железо, а не FK? И не работать на "кофемолках" впредь? ;)

Alexander Shelemin
и поэтому во всех базах не нужны FK?

Что такое по сути FK? Это обычная проверка, не более. Причем проверка временами весьма затратная. Где в системе на каких этапах стоит проводить проверки - решать разработчику. Не нужно делать из этого панацею.

𒀭
Что такое по сути FK? Это обычная проверка, не бол...

Да-да, я много раз слышал такие сказки. А вот [сколько бы то ни было длительно эксплуатируемых] систем, где такая проверка была не на этапе БД, и при этом без проблем со ссылками, как-то не видел.

𒀭
Что такое по сути FK? Это обычная проверка, не бол...

панацею тут только вы делаете, когда говорите на основании сверхузкого кейса, что FK не нужны

Alexander Shelemin
панацею тут только вы делаете, когда говорите на о...

(к тому же FK могут давать и перформанс бонусы в виду join elimination - хоть в постгресе это и не реализовано, вроде)

Yaroslav Schekin
Да-да, я много раз слышал такие сказки. А вот [ск...

Да ладно)) Задумайтесь как реализована система у Visa или MasterCard когда карточку в банкомат вставлять будете))

𒀭
Да ладно)) Задумайтесь как реализована система у V...

Хмм... а при чём тут это? Обсуждалась конкретная тема, нет? Я имел в виду, что подобные constraints надёжно реализовать без поддержки СУБД практически невозможно — вот почему я назвал это "сказками".

Yaroslav Schekin
Хмм... а при чём тут это? Обсуждалась конкретная т...

Как раз таки когда нужно действительно надежно реализовать целостность, то СУБД вообще выбрасывается нафиг вместе с FK.

𒀭
Как раз таки когда нужно действительно надежно реа...

Странно. Я в основном видел, что обратные действия работают, а "выбрасывание" — почти никогда. О каких решениях / реализациях речь, подробнее?

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
вот не понимаю, зачем вообще лезть в осдев, если даже базы не знаешь? хотя бы про загрузку, форматы файлов железо какое-никакое. Ну реально, даже зная работу железа, с условны...
Mixail Frolov
7
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Можно ли ставить FPC транк, а Лазарь нет?
А Андрей
9
Карта сайта