Лучшая практика в SQL для хранения информации о пользователях?

#sql #database

Вопрос:

Я новичок в базах данных SQL и хотел бы знать, может ли кто-нибудь показать мне, как лучше всего хранить пользователя и связанные с ним данные, которые могут быть записями переменной длины. Я использую python для добавления информации о 2D-списке в свою базу данных: [user, name, [photo1, photo2,...]] это формат для каждого индекса основного списка.

Мой пример-нужен пользователь, и у него может быть X фотографий на свое имя. У каждого пользователя есть идентификатор первичного ключа и заголовок(имя).

Мои мысли из того, что я прочитал, состоят в том, чтобы иметь основную таблицу, в которой у каждого пользователя есть идентификатор первичного ключа и имя, а также удостоверение личности с фотографией.

ID Название Фотография
1 Боб 1
2 Джеймс 2

Затем создайте вторую таблицу, в которой будут храниться ссылки на фотографии и ссылка на идентификатор фотографии этого пользователя в предыдущей таблице?

ID Ссылка
1 Image1.jpg
1 Image2.jpg
2 Image5.jpg
2 Image4.jpg
2 Image3.jpg

Оставив мне информацию, которую я мог бы получить, такую как:

 User id 1: Bob: (www.Image1.jpg, www.Image2.jpg)

User id 2: James(www.Image3.jpg, www.Image4.jpg, www.Image5.jpg)
 

Является ли это лучшей практикой? или есть лучший способ сделать это?

Комментарии:

1. Почти. На самом деле вам не нужна колонка «Фото». Уникального идентификатора достаточно, чтобы выступать в качестве внешнего ключа.

2. Однако вам следует придерживаться разумного соглашения об именовании имен таблиц и столбцов, так как столбец идентификатора во второй таблице, являющийся идентификатором с фотографией, будет довольно запутанным для сопровождающих.