Зачем использовать «Y» / «N» вместо битового поля в Microsoft SQL Server? - PullRequest
14 голосов
/ 02 ноября 2008

Я работаю над приложением, разработанным другим мобом, и меня смущает использование поля char вместо бита для всех логических столбцов в базе данных. Он использует «Y» для истины и «N» для ложных (они должны быть в верхнем регистре). Имя самого типа затем связывается с каким-то непонятным именем, например ybln .

Это очень неприятно работать по многим причинам, не в последнюю очередь из-за того, что это выглядит просто эстетически неприятно.

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

Может ли кто-нибудь просветить меня?

Ответы [ 12 ]

0 голосов
/ 03 ноября 2008

Я видел хуже ...

Один O / R Mapper, с которым мне доводилось работать, использовал 'true' и 'false', поскольку они могли быть чисто преобразованы в булевы Java.

Кроме того, в базе данных отчетов, такой как хранилище данных, БД является пользовательским интерфейсом (несмотря на инструменты отчетности на основе метаданных). Возможно, вы захотите сделать что-то подобное в помощь людям, разрабатывающим отчеты. Кроме того, индекс с двумя значениями будет по-прежнему использоваться операциями пересечения индексов в схеме типа «звезда».

0 голосов
/ 02 ноября 2008

Они, вероятно, привыкли использовать Oracle и неправильно читали доступные типы данных для SQL Server. Я сам в такой ситуации (и поле Y / N сводит меня с ума).

...