-Связать 3 таблицы

RSergei
Дата: 08.01.2012 19:34:07
Подписка (на газеты и журналы)

Таблица ПОДПИСЧИК: ID; Адресные данные; (будем считать, что с одного адреса вся подписка
на одно лицо)
С этой таблицей нужно связать ещё две (это те кто выписывают):
ОРГАНИЗАЦИЯ: Название;
ЧАСТНИК: ФИО;
Для БД Организация и Частник понятия равнозначные, они оба являются подписчиками.
mds_world
Дата: 08.01.2012 22:12:39
Для того, чтобы связать таблицы, надо, чтобы в них было что-нибудь общее. Что в показанных таблицах общего? На первый взгляд ничего. И как их связать?

Может быть в поле "Адресные данные" есть названия фирм и ФИО? Тогда существует какая-то вероятность связи. И то не всегда правильной из-за того, что могут быть полные тезки.

А пока ответ на ваш вопрос - никак.
RSergei
Дата: 08.01.2012 22:52:08
Адресные данные- это несколько полей: Улица; Дом;
Для подписчиков есть одинаковые поля: Улица; Дом;
Есть разные:
Дпя организаций: Название;
Для Частника: Фамилия; Имя; Отчество;
Возможно что-то можно сделать через тип подписчика ?
mds_world
Дата: 08.01.2012 23:16:19
RSergei,
вот, предположим, есть адреса в таблице ПОДПИСЧИК
ID Улица Дом
1 Красивый Проспект 1
2 Ромашковый переулок 2
33-я улица Строителей 25


И есть в таблице ЧАСТНИК (или Организация, неважно) список подписчиков
ФИО
Лукашин Женя
Шевелёва Надя
Ворошилов
Буденный


Сами скажите, как и по какому принципу можно узнать кто из перечисленных живет по какому адресу?
RSergei
Дата: 08.01.2012 23:35:10
Связь ID в таблице Подписчик и ключевое поле в таблице Частник
связывают их однозначно, но это в случае 2-х таблиц. Если таблицы
Организация и Частник об"единить,
то в новой таблице появятся пустые поля.
mds_world
Дата: 08.01.2012 23:55:47
RSergei
Связь ID в таблице Подписчик и ключевое поле в таблице Частник
связывают их однозначно, но это в случае 2-х таблиц. Если таблицы
Организация и Частник об"единить,
то в новой таблице появятся пустые поля.

Во! Это уже постановка задачи. Которой не было в первоначальном мессадже.

Но все равно, схема данных пока не очень. Имхо, лучше так
Таблица Подписка
id(счетчик) идПодписчика другие поля


таблица Подписчики
идПодписчика(счетчик) Тип подписчика Название(ФИО) поля адреса


Таблица Типы подписчиков
id Тип подписчика


В таблице Подписка хранить адрес подписчика совершенно ни к чему. Это атрибут самого подписчика. Равно как и его имя/название
mds_world
Дата: 08.01.2012 23:58:27
Кстати, если подписчик может переехать, сохраняя подписку, то потребуется еще таблица(ы) адресов. Да еще и с датами перезда.
RSergei
Дата: 09.01.2012 00:29:52
С переездами всё ясно. По БД будет ещё много вопросов, в которые пока
не хотелось бы углубляться. А вот поле Название(ФИО); я уже думал:
схимичить можно, но тоже не совсем корректно (в одно поле вводятся разные данные).
При обработке данных отсортировать например Организации можно будет, а вот с выводом
ФИО или Ф и инициалы придётся писать "сочинение". Можно конечно сделать ввод в три
поля (с преобразованием заглавной), а перед записью сливаем всё в одну строку и
запись в поле Название (ФИО);