Jaki jest najlepszy projekt dla stołu, Type
pola z int
lub char(1)
? Innymi słowy, biorąc pod uwagę ten schemat:
create table Car
(
Name varchar(100) not null,
Description varchar(100) not null,
VehType .... not null
)
Czy to jest bardziej wydajne (pod względem wydajności), VehType
aby być an int
lub char(1)
? Powiedzmy, że masz pięć typów samochodów, czy powinieneś użyć wartości przyrostowych 0 -> 4 lub znaków dla tych typów (powiedzmy: „v”, „s”, „c”, „t”, „m”)?
Jeśli to coś więcej, użyłbym osobnej tabeli Type i miałbym relację klucza obcego, ale nie widzę takiej potrzeby.
Zauważam, że sys.objects
widok katalogu używa znaku dla type
pola. Czy jest powód ku temu? Czy po prostu łapię tu powietrze i czy jest to coś, z czym czuję się bardziej komfortowo?
źródło
Tylko jako uzupełnienie odpowiedzi wielkiego GBB .
Może mógłbyś stworzyć coś takiego:
Możesz więc robić z wyliczeniem, jak chcesz, zachowując integralność relacyjną (używając klucza obcego). Za pomocą
code
kolumny możesz dowolnie używać kodów char, dzięki czemu zostaną one udokumentowane w bazie danych (i możesz wyodrębnić informacje o kodzie bezpośrednio z DB, bez zawiłej transformacji kodu aplikacji w celu integracji systemów).źródło
null
kod?