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 | 3 | 3-я улица Строителей | 25 |
|
И есть в таблице ЧАСТНИК (или Организация, неважно) список подписчиков
ФИО | Лукашин Женя | Шевелёва Надя | Ворошилов | Буденный |
|
Сами скажите, как и по какому принципу можно узнать кто из перечисленных живет по какому адресу?
RSergei
Дата: 08.01.2012 23:35:10
Связь ID в таблице Подписчик и ключевое поле в таблице Частник
связывают их однозначно, но это в случае 2-х таблиц. Если таблицы
Организация и Частник об"единить,
то в новой таблице появятся пустые поля.
mds_world
Дата: 08.01.2012 23:55:47
RSergei |
---|
Связь ID в таблице Подписчик и ключевое поле в таблице Частник связывают их однозначно, но это в случае 2-х таблиц. Если таблицы Организация и Частник об"единить, то в новой таблице появятся пустые поля. |
Во! Это уже постановка задачи. Которой не было в первоначальном мессадже.

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