|
|
|
проект БД a la для ICQ
|
|||
|---|---|---|---|
|
#18+
помогите новичку, пожалуйста. Нужно создать БД пользователей ICQ (на самом деле не совсем так, но чтобы Вам голову не забивать ерундой). Должен быть Пользователь (его имя). У пользователя есть группы (ну, что-то типа Друзья, Работа, Прочее, Семья...) и непосредственно контакты распределённые по этим группам. Возник вопрос как лучше сделать: 1. одна таблица, где группа будет просто прописываться в отдельном поле, например: Вася | друзья | 11111111. 2. Сделать 2 связанных таблицы. Пользователи и группы. Где группы будут описаны отдельно для всех пользователей, т.е: Пользователи Вася | group1 | 1111111 Группы Group1 | Семья Объём базы предсказать не могу. Не судите, пожалуйста, строго. Если можно, поясните чем будет грозить такое построение базы, если она будет увеличиваться в размерах. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2006, 21:21 |
|
||
|
проект БД a la для ICQ
|
|||
|---|---|---|---|
|
#18+
Яснее опишите. Что такое в 1 варианте: Вася | друзья | 11111111 я не понял. Дайте названия или описания полей Дальше, неясно ничего и с вашим вторым вариантом. Чем от от первого отличается, если в таблице 1 те же поля, что и в 1 варианте (Вася | group1 | 1111111)? Пока ощущение, что у вас ни один вариант не правильный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 07:29 |
|
||
|
проект БД a la для ICQ
|
|||
|---|---|---|---|
|
#18+
Извиняюсь. Сейчас попытаюсь объяснить яснее Три сущности: User(имя), Adress, Group. Отношение User-Adress - многое ко многим, Отношение User-Group - многие ко многим. Вопрос заключается в следующем, либо создать три таблицы (конечно, ещё будут две таблицы соединяющие User и Group, User и Adress, т.к. отношения многие-ко-многим): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. либо вторую таблицу "запихнуть в первую", т.е. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 10:30 |
|
||
|
проект БД a la для ICQ
|
|||
|---|---|---|---|
|
#18+
Извиняюсь. написал и до самого дошло. второй вариант вообще не возможен... тему можно закрыть. Извиняюсь за беспокойство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 10:34 |
|
||
|
проект БД a la для ICQ
|
|||
|---|---|---|---|
|
#18+
Aleah Похоже, Вам стоит прочитать самые основы теории. Ключевые слова: "нормальная форма" и "связь многие ко многим". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 11:15 |
|
||
|
проект БД a la для ICQ
|
|||
|---|---|---|---|
|
#18+
Простите, softwarer, а можно конкретней. (вторая БД - это бред, сам признаю, поэтому смотрим на первую) 1 НФ: В отношении нет одинаковых кортежей. Кортежи не упорядочены. Атрибуты не упорядочены и различаются по наименованию. Все значения атрибутов атомарны. Все эти требования соблюдены. 2 НФ: Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. В таблице User нет сложного ключа. В таблицах Adress и Group можно считать сложным ключом пару (id_adress,adress_name) или (id_group,group_name), но тогда нет неключевых атрибутов. Смысл создания двух отдельных таблиц Adress и Group я вижу в том, чтобы многократно не заносить в таблицу User значения Adress и Group, которые могут быть одинаковы у многих пользователей. Само по себе Adress может быть довольно длинным. место на диске у меня лимитированно. 3 НФ: Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы. Опять же выполняется для всех таблиц. (я не могу придумать двух взаимно зависимых неключевых атрибутов). Пожалуйста, поправьте меня, если мои рассуждения неверны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 18:10 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=133&tid=1545060]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 355ms |

| 0 / 0 |
