Форум программистов, компьютерный форум, киберфорум
Наши страницы
Firebird/InterBase
Войти
Регистрация
Восстановить пароль
 
Kirillov
0 / 0 / 0
Регистрация: 05.12.2015
#1

В таблице по одному полю необходим вторичный ключ к двум другим таблицам

15.06.2009, 17:32. Просмотров 1554. Ответов 0
Метки нет (Все метки)

Необходимо переработать структуру таблиц в соответствии с реляционными правилами.
Ситуация следующая (пример), база данных "Адресные объекты", таблицы:


SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/* Определяет тип адресного объекта */
CREATE TABLE TypeAddrObj(
    Id          INTEGER,
    Level      INTEGER,
    Name      VARCHAR(62),
    Preffix     INTEGER
);
 
/* Адресные объекты 1-го уровня 
    (Регионы)
 */
CREATE TABLE A001(
    -- собственно код объекта
    Id         INTEGER,
    -- наименование
    Name    VARCHAR(253),
    -- код типа объекта (внешний ключ к таблице TypeAddrObj)
    IdType  INTEGER,
    -- код объекта верхнего уровня в иерархии адресных объектов
    IdHigh   INTEGER
);
 
 
/* Адресные объекты 2-го уровня 
    (Районы регионов)
 */
CREATE TABLE A002(
    Id         INTEGER,
    Name    VARCHAR(253),
    IdType  INTEGER,
    IdHigh   INTEGER
);
 
 
/* Адресные объекты 3-го уровня 
    (Населенные пункты регионального подчинения) 
 */
CREATE TABLE A003(
    Id         INTEGER,
    Name    VARCHAR(253),
    IdType  INTEGER,
    IdHigh   INTEGER
);
 
 
/* Адресные объекты 4-го уровня 
   (Населенные пункты районного починения)
 */
CREATE TABLE A004(
    Id         INTEGER,
    Name    VARCHAR(253),
    IdType  INTEGER,
    IdHigh   INTEGER
);
 
 
/* Адресные объекты 5-го уровня 
   (Геонимы: улицы, проспекты, и т.п.)
 */
CREATE TABLE A005(
    Id         INTEGER,
    Name    VARCHAR(253),
    IdType  INTEGER,
    IdHigh   INTEGER
);
Проблема с определением внешнего ключа по полю IdHigh таблицы A005.
Улицы и прочее могут иметь только населенные пункты (т.е. объекты
3-го и 4-го уровней).

Вопрос в том, как ПРАВИЛЬНО преобразовать структуру таблиц, что отобразить
в них взаимную подчиненность, различие в уровнях каждого типа объектов и
правильно сформировать внешние ключ (ключ) в таблице A005???

В конечном итоге этот фрагмент базы необходимо будет использовать для формирования
адресов различных объектов (адреса проживания граждан, адреса различных событий
и т.д.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2009, 17:32
Ответы с готовыми решениями:

Подсчёт суммы по одному полю и количества записей по двум другим
Здравствуйте. Помогите, пожалуйста, составить запрос к таблице tbl1 вида:...

Замена данных в таблице по связи Первичный ключ - Вторичный ключ
Есть главная таблица и есть от нее зависимая. Требуется: чтоб в зависимую...

Создать запрос по двум таблицам по полю, чтобы отображались данные по всем контрактам
Имеем 2 таблицы, главную и подчиненную ( 1 - ко многим ). При создании запроса...

Фильтрация по двум критериям по одному полю
kartybazaBindingSource.Filter = "Nomer LIKE = '%" + textBox3.Text + "% AND '%"...

Два поля привязаны к одному полю в другой таблице
у меня есть таблица movie. В ней поля режиссёр, продюссер. В них числа. Эти...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2009, 17:32

Вторичный ключ.
Есть несколько таблиц. В одной из которых очень много вторичных ключей. И...

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

Вторичный ключ пустой!!!
Есть 3 таблицы "CREATE TABLE pages(id int(11) not null auto_increment...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru