Тип данных в базе данных AdventureWorks - PullRequest
2 голосов
/ 06 января 2012

Когда я смотрел таблицы в Adventure works, дизайн каждой колонки кажется немного странным. Поскольку AdventureWorks демонстрирует промышленные стандарты, я хочу им следовать.

В столбцах Номер телефона указан тип столбца как Телефон: NVARCHAR (25)

  1. Почему они добавили тип как Phone: nvarchar (25)?
  2. В чем разница между телефоном: nvarchar (25) и nvarchar (25)?
  3. Я попытался вручную ввести тип телефонного столбца как Телефон: nvarchar (25), но он дал мне ошибку. почему это дает мне ошибку?

Как мне сделать телефонную колонку типа Phone: nvarchar (25)?

1 Ответ

3 голосов
/ 06 января 2012

В базе данных Adventure Works определен пользовательский тип с именем Phone.Если вы хотите создать его самостоятельно, вы можете сделать:

create type dbo.Phone from nvarchar(25) null

Затем вы можете сделать:

create table Contact (id int identity(1,1), name nvarchar(255), phone dbo.Phone)

Вы можете видеть, что столбец типа Phone является nvarchar(25) null столбец по умолчанию.Вы можете использовать это для краткости, если у вас много таблиц или вы хотите иметь один способ изменить все столбцы Phone одновременно.Это практика, а не «лучшая», если только в некоторых особых случаях.

...