![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Организация БД [D7, MS Access]
_Max © (2005-06-27 11:45:00)Возник вопрос.
По производительности какая организация БД более корректна?
Есть 3 поля:
1.Наименовании Организации
2.Фио директора
3.телефон директора
Есть ли смысл в разбитии на 2 таблицы :
Организация
1.Maincode
2.Наименование организации
Начальник
1.MainCode
2.ФИО
3.Телефон
select * from table1, table2
where table1.maincode = table2.maincode
Или правильней сделать одну таблицу?
1.Maincode
2.Наименование организации
3.ФИО начальника
4.Телефон начальника
select * from table.
Записей примерно 10 - 15 тысяч.
Seg (2005-06-27 17:41:00) [1]На вскидку получается 6 таблиц:
таблица 1 для хранения реквизитов организации
таблица 2 для хранения должностей и их реквизитов (может быть несколько таблиц)
таблица 3 для хранения реквизитов сотрудников
таблица 4 для хранения номеров телефонов
таблица 5 для связки реквизитов организации, должностей и сотрудников
таблица 6 для связки таблицы 5 со списком номеров телефонов.
Zacho (2005-06-27 12:15:00) [2]_Max © (27.06.05 11:58) [8]
Ссылок не знаю, а вот постоянно "рекламируемый" здесь мной классический учебник по РСУБД назвать могу:
К.Дж.Дейт "Введение в системы баз данных".
Anatoly Podgoretsky (2005-06-27 12:11:00) [3]_Max © (27.06.05 11:57) [7]
Количество полей не самоцель.
-=XP=- (2005-06-27 12:05:00) [4]http://www.sql.ru
Sergey13 (2005-06-27 12:04:00) [5]2 [7] _Max © (27.06.05 11:57)
>Моё решение было разбить на много таблиц с малым набором полей, чем была бы одна, но с большим количеством строчных полей.
Много-мало - это не тот подход. Если надо - то и 200 можно.
-=XP=- (2005-06-27 12:02:00) [6]Ясно, а вообще правильно, если в моей таблицы много полей? 30-50.
Какая разница? Если надо - значит правильно. Хоть 100 полей, хоть 200. Вопрос только в критериях "надо" и "как". Советую Вам почитать об организации структуры БД - первая, вторая, третья нормальные формы, денормализация. Выполните все в соответствии с рекомендациями - и будет Вам "правильная" БД.
_Max (2005-06-27 11:58:00) [7]To Zacho
Есть интересные ссылки ?
Zacho (2005-06-27 11:57:00) [8]2 _Max © :
Почитай что-нибудь про нормализацию.
_Max (2005-06-27 11:57:00) [9]To Sergey13
БД - информация по предприятиям. Начальники, главбухи, юристы, телефоны, адреса, + много служебных полей. В конечном итоге много получается - штук 30. Моё решение было разбить на много таблиц с малым набором полей, чем была бы одна, но с большим количеством строчных полей.
Как ответ на мой вопрос - теперь организую "всё" в одной, (кроме справочников)
_Max (2005-06-27 11:54:00) [10]To -=XP=-
Ясно, а вообще правильно, если в моей таблицы много полей? 30-50.
Если в каком то поле повторяются записи, то я стараюсь делать и з этого поля "справочник" и заменяю это поле уже на числовое.
Sergey13 (2005-06-27 11:53:00) [11]> какая организация БД более корректна?
А что за БД? Для телефонного справочника и одной достаточно. Для БД предприятия и 10 мало.
_Max (2005-06-27 11:50:00) [12]Директор один однозначно.
Так что связь даже не один-ко-многим.
-=XP=- (2005-06-27 11:50:00) [13]Если "начальник" один - то и таблица одна.
Несколько начальников - тогда и таблиц несколько. Причем не две, а уже три - в третьей должность начальника хранить, типа "Директор", "Бухгалтер", "Начальник отдела кадров", "Главный менеджер" и пр.
По производительности всегда "впереди" будет запрос, извлекающий данные из одной таблицы.
Anatoly Podgoretsky (2005-06-27 11:47:00) [14]Сколько директоров в одной организации?