powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проект БД a la для ICQ
6 сообщений из 6, страница 1 из 1
проект БД a la для ICQ
    #33969402
Aleah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите новичку, пожалуйста.

Нужно создать БД пользователей ICQ (на самом деле не совсем так, но чтобы Вам голову не забивать ерундой). Должен быть Пользователь (его имя). У пользователя есть группы (ну, что-то типа Друзья, Работа, Прочее, Семья...) и непосредственно контакты распределённые по этим группам. Возник вопрос как лучше сделать:

1. одна таблица, где группа будет просто прописываться в отдельном поле, например:
Вася | друзья | 11111111.

2. Сделать 2 связанных таблицы. Пользователи и группы. Где группы будут описаны отдельно для всех пользователей, т.е:

Пользователи
Вася | group1 | 1111111

Группы
Group1 | Семья

Объём базы предсказать не могу.
Не судите, пожалуйста, строго. Если можно, поясните чем будет грозить такое построение базы, если она будет увеличиваться в размерах.
Заранее спасибо.
...
Рейтинг: 0 / 0
проект БД a la для ICQ
    #33969637
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яснее опишите. Что такое в 1 варианте:
Вася | друзья | 11111111
я не понял. Дайте названия или описания полей
Дальше, неясно ничего и с вашим вторым вариантом. Чем от от первого отличается, если в таблице 1 те же поля, что и в 1 варианте (Вася | group1 | 1111111)?
Пока ощущение, что у вас ни один вариант не правильный.
...
Рейтинг: 0 / 0
проект БД a la для ICQ
    #33969945
Aleah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь. Сейчас попытаюсь объяснить яснее
Три сущности: 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.
Create User_tbl
(id_user        int             not null    primary key,
 name          varchar( 20 )    not null
 sirname       varchar( 20 )    not null
 password     varchar( 20 )    not null
 dateregistr   date             not null); \\ dateregistr - дата регистрации

Create Group_tbl
(id_Group      int                not null  primary key,
 Group_name   varchar( 20 )     not null);

Create Adress_tbl 
(id_Adress    int               not null  primary key,
 Adress        varchar( 20 )     not null);

либо вторую таблицу "запихнуть в первую", т.е.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Create User_tbl
(id_user        int              not null    primary key,
 name          varchar( 20 )    not null
 sirname       varchar( 20 )    not null
 password     varchar( 20 )   not null
 group_name      varchar( 20 )   not null
dateregistr   date             not null);


Create Adress_tbl
(id_Adress    int              not null    primary key,
 Adress        varchar( 20 )     not null);
...
Рейтинг: 0 / 0
проект БД a la для ICQ
    #33969960
Aleah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь. написал и до самого дошло. второй вариант вообще не возможен... тему можно закрыть. Извиняюсь за беспокойство.
...
Рейтинг: 0 / 0
проект БД a la для ICQ
    #33970110
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleah
Похоже, Вам стоит прочитать самые основы теории. Ключевые слова: "нормальная форма" и "связь многие ко многим".
...
Рейтинг: 0 / 0
проект БД a la для ICQ
    #33972114
Aleah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите, 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НФ и все неключевые атрибуты взаимно независимы.

Опять же выполняется для всех таблиц. (я не могу придумать двух взаимно зависимых неключевых атрибутов).

Пожалуйста, поправьте меня, если мои рассуждения неверны.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проект БД a la для ICQ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]