Одна большая таблица базы данных для моего «списка» или новая таблица для каждого «списка» - PullRequest
1 голос
/ 30 апреля 2011

Я пытаюсь создать систему баз данных, в которой пользователи могут создавать списки, а их друзья (которым они разрешают доступ к спискам) могут добавлять в список.

Я пытаюсь отобразить эту схему и не могу выбрать между следующим:

Список таблиц С атрибутами: listid, entry-number, entry, user-id

Где listid - это изменяемый список, номер записи - это номер этой записи в списке (поэтому первый элемент в списке - это запись 0), запись - это запись в списке, иuser-id - это пользователь, который добавил запись

VS

Таблица специфических списков , где для каждого списка создается определенная таблица с атрибутами: номер записи, запись, пользователь-id

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

Япросто попадаю в базы данных, поэтому я хочу правильно выбрать схему.

Спасибо!

Ответы [ 2 ]

1 голос
/ 30 апреля 2011

Из того, что я вижу, у вас должно быть две таблицы. Тот, который содержит информацию о пользователе, и тот, который содержит информацию о списке. Пользователи будут иметь userID (PK), а ваша таблица List будет иметь listID (PK) и userID в качестве FK, чтобы указать, к какому пользователю принадлежит список. Так что да, ваш первый выбор :) GL

Например:

User
userID(PK) | username | etc
--------------------------
1 | Bob | etc
2 | Nick | etc


Lists
listID(PK) | userID(FK) | date_entered | entry
----------------------------------------------
1 | 2 | 1/2/2011 | blah blah
2 | 2 | 2/1/2011 | blah blah
3 | 1 | 2/3/2011 | blah blah
4 | 2 | 2/6/2011 | blah blah
5 | 1 | 3/1/2011 | blah blah

//you should know the userID for the user you are looking up list info for (C#)
query = "select * from Lists where userID = " + userID.ToString() + " ORDER BY date_entered DESC";
1 голос
/ 30 апреля 2011

Первый вариант более удобен в обслуживании и нормализован.Было бы проще запросить эту опцию и создать приложения, которые используют список.

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