Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Организация БД [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]

Сколько директоров в одной организации?


Наверх

Титульная страница Поиск, карта сайта Написать письмо