Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2017, 16:48   #1
san4ezko
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию База данных телефонного справочника

Нужна помощь, разрабатываю БД телефонного справочника, с которой потом буду делать приложение в VS. Подскажите, правильно ли она составлена на данный момент?
Это большая организация с несколькими дочерними, которые находятся на разных адресах, сейчас в базе видно, что на каждом адресе находятся несколько организаций, в каждой организации несколько отделов, там собственно работают разные люди, НО помимо того, что на одном адресе сидит несколько организаций, одна организация тоже может быть на нескольких адресах, не могу понять, как это увязать, заранее спасибо тем, кто поможет
Изображения
Тип файла: png Снимок.PNG (18.3 Кб, 133 просмотров)
san4ezko вне форума Ответить с цитированием
Старый 28.03.2017, 17:53   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
одна организация тоже может быть на нескольких адресах, не могу понять, как это увязать
для этого делается еще одна таблица Адреса организаций
в ней ДВА (как минимум) поля
1.Организация (ссылка на таблицу организаций)
2.Адрес (ссылка на таблицу адресов)

Из таблицы Организации УДАЛЯЕТСЯ ссылка на таблицу Адреса.

ВСЕ ссылки всегда и везде (конечно могут быть и исключения) должны использовать НЕИЗМЕНЯЕМЫЙ ключ (обычно обзываемый ID) НЕЗАВИСЯЩИЙ от названия чего бы то ни было. (организация/адрес/должность/отдел)
название может меняться а ссылка должна оставаться рабочей.

в таблицах Адреса Организации Должности такого ключа не видно.

одна и та же должность по названию в разных отделах и уж тем более в разных организациях будет иметь РАЗНЫЙ перечень обязанностей.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2017, 12:28   #3
san4ezko
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию

Спасибо, вот так, как на скрине? Значит в таблице Адреса организаций только ID того и другого? Непонятно тогда, если мне нужно добавить новую организацию, куда ее вначале добавлять? И еще такой вопрос, у сотрудника необязательно есть компьютер, но я не могу добавить сотрудника и оставить поле ID компьютера пустым, выдает ошибку, что есть связь с другой таблицей, хотя в свойствах поля в аксессе указано, что поле может быть пустым, в чем может быть дело?
Изображения
Тип файла: png Снимок.PNG (16.8 Кб, 141 просмотров)
san4ezko вне форума Ответить с цитированием
Старый 19.04.2017, 12:41   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
И еще такой вопрос, у сотрудника необязательно есть компьютер
А еще у сотрудника может быть НЕСКОЛЬКО( >1) компьютеров.

А вот у компьютера всегда НЕ более одного хозяина.
Не у сотрудника должна быть ссылка на компьютер, а у компьютера ссылка на хозяина(сотрудника).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2017, 13:01   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
А вот у компьютера всегда НЕ более одного хозяина.
А если в две смены на одном компе разные люди?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.04.2017, 13:05   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
А если в две смены на одном компе разные люди?
всегда есть кто-то, кто "главнее".
материально-ответственное лицо, к примеру.
и которое делегирует право работы(эксплуатации), но не право "собственности".

или же так же как с адресами. (см. начало темы)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2017, 13:53   #7
san4ezko
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию

Если пользователю нужно будет добавить адрес или организацию в каком порядке в какую таблицу их добавлять, чтоб соблюдать целостность?
san4ezko вне форума Ответить с цитированием
Старый 19.04.2017, 14:03   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
чтоб соблюдать целостность?
как всегда, сначала заполняем данные об основной записи(адрес, организация) или хотя бы "резервируем" для них место (добавляем запись в нужную таблицу с пустыми информационными блоками чтобы получить (и знать) её ключ.

Затем заполняем ИМЕЮЩИМИСЯ ключами поля ссылок (а если ключа для ссылки еще нет, то и записать ссылку на НЕсуществующую запись не получится).

Если использовали "резервирование", заполняем пропущенные ранее поля. (НО ... лучше так не делать).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.04.2017, 14:12   #9
san4ezko
 
Регистрация: 28.03.2017
Сообщений: 4
По умолчанию

Меня вот это место смущает, одно поле таблицы является и внутренним ключом, и двумя внешними, так правильно?
Изображения
Тип файла: png Снимок2.PNG (13.7 Кб, 124 просмотров)
san4ezko вне форума Ответить с цитированием
Старый 19.04.2017, 14:56   #10
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
и двумя внешними,
ну и что в этом странного. Это нормально.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу: массиве из записей хранятся сведения из телефонного справочника: фамилия, инициалы, номер телефона. Выдать список абонентов... Danil_322 Помощь студентам 1 23.12.2016 16:08
Выгрузка в текстовый файл данных из справочника - 1С Svyatoslav359 Помощь студентам 1 24.03.2016 08:55
Создание телефонного справочника Mixasnt Общие вопросы Delphi 11 04.12.2013 19:01
делфи, пример телефонного справочника ТипичныйСтудент Помощь студентам 2 09.05.2013 18:46
Паскаль. Класс для представления телефонного справочника Армана Помощь студентам 7 08.04.2012 06:57