Извините за глупый, наверное, вопрос. Я самоучка и только начинаю познавать науку...
Как правильно организовать БД?
Пример:
БД из 1 таблицы 'sotrudniki' с полями: id, name, adress, tel
Все хорошо и просто, пока не потребуется для кого-то ввести 2-3...10 номеров телефона, например. Понятно, что делать для этого 10 полей 'tel' не серьезно.
Как я понимаю, нужна еще одна таблица 'telefony_sotrudnikov' с полями: id, sotrudnik_id, tel, где каждому сотруднику к его ид можно прикрепить кучу телефонов... Так?
Получается, в 1 таблице 'sotrudniki' поле 'tel' уже не нужно. А если таких полей (имеющих свои таблицы) много, то от 1 таблицы ничего и не останется. И поиск по полям это сильно усложняет (для меня
И вот я задумался, правильно ли так делать?
1. alsio - 05 Ноября, 2013 - 21:18:11 - перейти к сообщению
2. T1grOK - 05 Ноября, 2013 - 21:32:13 - перейти к сообщению
Правильно. Правильно мыслите.
3. biperch - 05 Ноября, 2013 - 21:45:14 - перейти к сообщению
правильно
4. Kandiar - 07 Ноября, 2013 - 18:05:35 - перейти к сообщению
Правильно. Это 1 нормальная форма БД. (Их вроде 6, но желательно помнить 3 первые!)
Первая нормальная форма – любое поле любой записи хранит только одно значение.
Первая нормальная форма – любое поле любой записи хранит только одно значение.
5. Ch_chov - 07 Ноября, 2013 - 18:11:58 - перейти к сообщению
alsio пишет:
нужна еще одна таблица 'telefony_sotrudnikov' с полями: id, sotrudnik_id, tel
А зачем два поля для ИД?
6. alsio - 07 Ноября, 2013 - 18:50:23 - перейти к сообщению
Ch_chov пишет:
А зачем два поля для ИД?
alsio пишет:
нужна еще одна таблица 'telefony_sotrudnikov' с полями: id, sotrudnik_id, tel
А зачем два поля для ИД?
Ну, первый ид - индивидуальный порядковый номер в этой таблице (автоинкримент). Второй - ид сотрудника из главной таблицы. Вроде так.
(Добавление)
Kandiar пишет:
Правильно. Это 1 нормальная форма БД. (Их вроде 6, но желательно помнить 3 первые!)
Первая нормальная форма – любое поле любой записи хранит только одно значение.
Первая нормальная форма – любое поле любой записи хранит только одно значение.
А можно подробнее, где узнать про эти формы. А то я только 1 знаю, получается
7. Kandiar - 07 Ноября, 2013 - 19:02:44 - перейти к сообщению
Цитата:
А можно подробнее, где узнать про эти формы. А то я только 1 знаю, получается
Смотрите здесь - http://i-novice[dot]net/6-normalnyx-form-bd/
8. Ch_chov - 07 Ноября, 2013 - 19:14:28 - перейти к сообщению
alsio пишет:
Ну, первый ид - индивидуальный порядковый номер
А где он будет использоваться? Присоединять таблицу ведь все равно по второму ИД будете.
9. alsio - 07 Ноября, 2013 - 19:26:19 - перейти к сообщению
Ch_chov пишет:
А где он будет использоваться? Присоединять таблицу ведь все равно по второму ИД будете.
Да как-то казалось, что обязательно нужен автоинкремент. А так да, нигде использоваться не будет, вроде.