Какие типы полей вы предлагаете для этого варианта использования в моей базе данных? - PullRequest
0 голосов
/ 07 августа 2010

У меня должна быть таблица, в которой хранится информация о курсе в моем университете.

Мне нужно сохранить название курса, месяц, когда он будет открыт, а также время.

Какие встроенные типы данных сервера Microsoft SQL следует использовать?Я буду использовать Linq2SQL в качестве ORM.

Ответы [ 3 ]

1 голос
/ 07 августа 2010

varchar, если имена могут быть только ascii, nvarchar для имен Unicode, date для месяца и time для времени.this - это типы SQL Server

1 голос
/ 07 августа 2010
int for ID
string for Course_Name

, так как вы используете SQLS2K8, вы можете разделить поля DATE и TIME так ..

Date for Opening_Month
Time for Opening_Hour
0 голосов
/ 07 августа 2010

Если вам нужны только месяц (не дата или год) и время, тогда вы можете использовать int для месяца и Time для времени. Вы также можете использовать DateTime вместо этого и просто выработать соглашение, которое игнорирует дату и годовой аспект даты.

Я бы порекомендовал nvarchar или varchar для названия. Используйте nvarchar, если вы ожидаете, что в будущем наступит момент, когда вам потребуется поддержка иностранных языков, которые могут содержать символы Юникода, которые не поддерживаются varchar. Я бы посмотрел на самое длинное имя, которое, как я ожидал, понадобилось, удвоил его длину, а затем округлил до ближайших 50. Поэтому, если «Введение в уравнения с частными производными» на 48, то я бы сделал его varchar (100).

Цель его увеличения - учесть будущие значения. Если бы я только сделал это varchar (48), чтобы приспособить текущее наибольшее значение, у меня позже могло бы быть имя курсора, которое больше этого, и таким образом пришлось бы изменить структуру базы данных и приложения, чтобы приспособить этот больший размер! Делая это varchar (100), у нас есть много места для более крупных названий курсов, которые могут появиться в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...