|
|
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Мне нужна небольшая БД для управлениями событиями. Есть несколько вариантов создания, но не знаю что лучше выбрать, какое решение оптимальнее. Итак, привожу инфу: Я создал 2 таблицы: 1) Event(Event_Id, Event_Name, Event_Description, Event_Date) 2) Event_Type(Type_Id, Type_Name) Вопрос: Как их связать вместе? Я тут подумал что можно создать третью, которя будет содержать(Event_Id, Type_Id) Скажите, я на верном пути? И еще, как будут выглядеть запросы SELECT и UPDATE в данном случае? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 05:43 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
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 в данном случае? в данном случае верный путь - это почитать книжек. запросы будут выглядеть как обычно, но это опять же см. книжки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 07:16 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
Прежде чем зайти на форум, я прочитал книжки, и не одну. Для чего существует форум, если тебя отправляют книжки почитать? События , а какая разница откуда они берутся? Я их сам в базу записываю. Делаю программку напоминалку о важных событиях, если точнее. В книжках сказанно, что надо создать третью таблицу, которая будет содержать первичные ключи 2-х первых. Но там не говорится каким образом это всё будет работать. К примеру, я создаю новое событие, кроме всего прочего, оно состоит из категории. А для категорий, у меня отдельная таблица. Как сделать так, чтобы при добавлении нового события, обновлялись поля сразу в двух таблицах? Вот что меня интересует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 18:32 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
вобще всё от всего зависит, хотя более простой вопрос как связаны события в таблице событий и типы, если связь много к одному.. или один ко многим, то создание 3й таблицы излишество нехорошее :).. что скорее всего в данной задаче и есть, наверняка одному событи оответсвует только один тип, а если свяь много ко многим то какая-то там нормализация не помню какая(по моему самая простая уже..) требует наличия вспомогательной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 18:43 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
Да, в принципе, к одному событию один тип. Тогда я не буду морочить себе голову. Просто добавлю Foreign Key в таблицу Event. Но я не до конца понимаю как это дело будет работать. Вот пример: Есть событие - (Пасха, Праздник Светлого Христова Воскресения, Пасха,главное событие года для православных христиан и самый большой православный праздник, 23/04/2006) Тип события: Православный праздник Если я его добавлю в БД, мне нужно будет делать сразу 2 запроса: INSERT INTO Event VALUES(...); INSERT INTO Event_Type VALUES(...); Так? Что-то совсем запутался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 19:17 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
Если событие привязывается только к одному типу - в первую добавь Type_Id и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 19:18 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
student123Да, в принципе, к одному событию один тип. Тогда я не буду морочить себе голову. Просто добавлю Foreign Key в таблицу Event. Но я не до конца понимаю как это дело будет работать. Вот пример: Есть событие - (Пасха, Праздник Светлого Христова Воскресения, Пасха,главное событие года для православных христиан и самый большой православный праздник, 23/04/2006) Тип события: Православный праздник Если я его добавлю в БД, мне нужно будет делать сразу 2 запроса: INSERT INTO Event VALUES(...); INSERT INTO Event_Type VALUES(...); Так? Что-то совсем запутался... На мой взгляд, все предельно просто. Есть справочник типов событий. При записи нового события выбираем для него тип. Или я неправильно вас понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 19:20 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
Правильно, есть справочник типов, спасибо что напомнили о нем. Тогда будет так: 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; Я правильно сделал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 19:44 |
|
||
|
Помогите разобраться с простой БД
|
|||
|---|---|---|---|
|
#18+
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 - некий параметр, который получает значение при выборе типа из справочника типов при создании записи события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 20:37 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33674775&tid=1545309]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 525ms |

| 0 / 0 |
