Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите разобраться с простой БД / 10 сообщений из 10, страница 1 из 1
18.04.2006, 05:43
    #33672404
student123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
Здравствуйте!
Мне нужна небольшая БД для управлениями событиями.
Есть несколько вариантов создания, но не знаю что лучше выбрать, какое решение оптимальнее.
Итак, привожу инфу:

Я создал 2 таблицы:

1) Event(Event_Id, Event_Name, Event_Description, Event_Date)

2) Event_Type(Type_Id, Type_Name)

Вопрос:

Как их связать вместе?

Я тут подумал что можно создать третью, которя будет содержать(Event_Id, Type_Id)

Скажите, я на верном пути?
И еще, как будут выглядеть запросы SELECT и UPDATE в данном случае?

Спасибо.
...
Рейтинг: 0 / 0
18.04.2006, 07:16
    #33672426
Dimkas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
student123Мне нужна небольшая БД для управлениями событиями.
надо бы уточнить что за события, откуда они беруться и зачем надо хранить о них информацию...
student123
Есть несколько вариантов создания, но не знаю что лучше выбрать, какое решение оптимальнее.
Итак, привожу инфу:
Я создал 2 таблицы:
1) Event(Event_Id, Event_Name, Event_Description, Event_Date)
2) Event_Type(Type_Id, Type_Name)
Вопрос:
Как их связать вместе?
Я тут подумал что можно создать третью, которя будет содержать(Event_Id, Type_Id)
скорее всего надо просто добавить в Event поле Type_Id
student123
Скажите, я на верном пути?
И еще, как будут выглядеть запросы SELECT и UPDATE в данном случае?
в данном случае верный путь - это почитать книжек.
запросы будут выглядеть как обычно, но это опять же см. книжки...
...
Рейтинг: 0 / 0
18.04.2006, 18:32
    #33674534
student123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
Прежде чем зайти на форум, я прочитал книжки, и не одну.
Для чего существует форум, если тебя отправляют книжки почитать?
События , а какая разница откуда они берутся? Я их сам в базу записываю.
Делаю программку напоминалку о важных событиях, если точнее.
В книжках сказанно, что надо создать третью таблицу, которая будет содержать первичные ключи 2-х первых.
Но там не говорится каким образом это всё будет работать.
К примеру, я создаю новое событие, кроме всего прочего, оно состоит из категории.
А для категорий, у меня отдельная таблица.
Как сделать так, чтобы при добавлении нового события, обновлялись поля сразу в двух таблицах?
Вот что меня интересует.
...
Рейтинг: 0 / 0
18.04.2006, 18:43
    #33674553
s-e-r-g-e
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
вобще всё от всего зависит, хотя более простой вопрос как связаны события в таблице событий и типы, если связь много к одному.. или один ко многим, то создание 3й таблицы излишество нехорошее :).. что скорее всего в данной задаче и есть, наверняка одному событи оответсвует только один тип,
а если свяь много ко многим то какая-то там нормализация не помню какая(по моему самая простая уже..) требует наличия вспомогательной таблицы.
...
Рейтинг: 0 / 0
18.04.2006, 19:17
    #33674629
student123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
Да, в принципе, к одному событию один тип. Тогда я не буду морочить себе голову. Просто добавлю Foreign Key в таблицу Event.
Но я не до конца понимаю как это дело будет работать.
Вот пример:

Есть событие - (Пасха, Праздник Светлого Христова Воскресения, Пасха,главное событие года для православных христиан и самый большой православный праздник, 23/04/2006)

Тип события: Православный праздник

Если я его добавлю в БД, мне нужно будет делать сразу 2 запроса:

INSERT INTO Event VALUES(...);
INSERT INTO Event_Type VALUES(...);

Так?

Что-то совсем запутался...
...
Рейтинг: 0 / 0
18.04.2006, 19:18
    #33674630
Ди_ма
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
Если событие привязывается только к одному типу - в первую добавь Type_Id и все.
...
Рейтинг: 0 / 0
18.04.2006, 19:20
    #33674640
Ди_ма
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
student123Да, в принципе, к одному событию один тип. Тогда я не буду морочить себе голову. Просто добавлю Foreign Key в таблицу Event.
Но я не до конца понимаю как это дело будет работать.
Вот пример:

Есть событие - (Пасха, Праздник Светлого Христова Воскресения, Пасха,главное событие года для православных христиан и самый большой православный праздник, 23/04/2006)

Тип события: Православный праздник

Если я его добавлю в БД, мне нужно будет делать сразу 2 запроса:

INSERT INTO Event VALUES(...);
INSERT INTO Event_Type VALUES(...);

Так?

Что-то совсем запутался...

На мой взгляд, все предельно просто. Есть справочник типов событий. При записи нового события выбираем для него тип. Или я неправильно вас понял?
...
Рейтинг: 0 / 0
18.04.2006, 19:44
    #33674694
student123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
Правильно, есть справочник типов, спасибо что напомнили о нем.
Тогда будет так:

Event(Event_Id, Event_Name, Event_Desc, Event_Date, Type_Id)
Type(Type_Id, Type_Name)

При добавлении, Type_Id будет выбираться из списка.

INSERT INTO Event VALUES(NULL,'EventA','Description of A','23/04/2006','123');

SELECT * FROM Event WHERE Event.Type_Id = Type.Type_Id;

Я правильно сделал?
...
Рейтинг: 0 / 0
18.04.2006, 20:37
    #33674775
Ди_ма
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
student123Правильно, есть справочник типов, спасибо что напомнили о нем.
Тогда будет так:

Event(Event_Id, Event_Name, Event_Desc, Event_Date, Type_Id)
Type(Type_Id, Type_Name)

При добавлении, Type_Id будет выбираться из списка.

INSERT INTO Event VALUES(NULL,'EventA','Description of A','23/04/2006','123');

SELECT * FROM Event WHERE Event.Type_Id = Type.Type_Id;

Я правильно сделал?

Есть у тебя некий интерфейс, в котором при создании события выбирается тип.

INSERT INTO Event VALUES(NULL,'EventA','Description of A','23/04/2006',@tp);

@tp - некий параметр, который получает значение при выборе типа из справочника типов при создании записи события.
...
Рейтинг: 0 / 0
18.04.2006, 20:42
    #33674779
student123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с простой БД
всем спасибо.
задача решена.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите разобраться с простой БД / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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