2013-11-07 2 views
1

Мои вопросы очень просты, но я не знаю ответа.Оценить дизайн базы данных SQL Server

  1. Существует таблица User. User имеет несколько фотографий в своем профиле на сайте. Есть два способа сохранить ссылки на фотографию. Я могу сериализовать массив ссылок на строку и сохранить ее или создать другую таблицу и сохранить пару userId-link. Какой путь лучше?

  2. У пользователя есть уникальная колонка username, email, phone. Правилен ли следующий код?

    ALTER TABLE [User] ADD CONSTRAINT [LoginUk] UNIQUE CLUSTERED ([Login]) 
    
    ALTER TABLE [User] ADD CONSTRAINT [EmailUk] UNIQUE CLUSTERED ([Email]) 
    
  3. Пользователь имеет описание одного автомобиля и одной из услуг, которые он предоставляет. Количество услуг и машин не изменится. Я могу хранить данные о машине (сделать, фотографии) в профиле пользователя, или я могу создать новый стол Car и создать отношения 1-1. Точно так же я могу справиться с сервисом. Какой путь лучше?

+4

Я предпочитаю одну строку для каждой ссылки. Это более естественно подходит для реляционных db и означает более простой запрос и меньше синтаксического анализа строк для вас. – dazedandconfused

+0

1) Это зависит. 2) Это зависит. 3) Это зависит. –

ответ

1
  1. На самом деле лучше иметь одну таблицу фотографий и иметь ссылку таблицы users_photos, то при добавлении фотографий в других организациях, есть меньше, чтобы изменить.

  2. Люди имеют тенденцию иметь более одного номера телефона. Если это бизнес-правило, у них есть только одно число, то оставьте это на прикладном уровне, а не на слое данных.

  3. Один тип вещь, один таблица для этого предмет. Автомобиль - это другое дело, чем пользователь.

Смежные вопросы