|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2012, 21:06 | #1 |
Регистрация: 01.10.2012
Сообщений: 3
|
как создать ссылку(внешний ключ)
Подскажите пожалуйста как сделать ссылку на станцию отправления итд на разные типы?
1. Создать базу данных со следующей структурой: 1.1. Таблица "ЖД Станции". Структура: суррогатный первичный ключ, название станции, количество путей, длина пути (кол-во вагонов, устанавливающихся на пути) 1.2. Таблица "Поезда". Структура: номер поезда (естественный первичный ключ), количество вагонов, ссылки на станцию отправления и станцию назначения, время отправления и время прибытия CREATE TABLE STATION ( ST_ID INTEGER NOT NULL, ST_NAME VARCHAR(40) CHARACTER SET WIN1251 NOT NULL, ST_WAY INTEGER NOT NULL, ST_TRUCK INTEGER NOT NULL); /* Primary key */ ALTER TABLE STATION ADD CONSTRAINT PK_STATION PRIMARY KEY (ST_ID); CREATE TABLE TRUCK ( TR_NAME VARCHAR(10) CHARACTER SET WIN1251 NOT NULL, TR_WAGON INTEGER NOT NULL, TR_ST_DEP VARCHAR(40) CHARACTER SET WIN1251 NOT NULL, TR_ST_DES VARCHAR(40) CHARACTER SET WIN1251 NOT NULL, TR_DEP_TIME TIMESTAMP NOT NULL, TR_DES_TIME TIMESTAMP NOT NULL); /* Primary key */ ALTER TABLE TRUCK ADD CONSTRAINT PK_TRUCK PRIMARY KEY (TR_NAME); |
06.10.2012, 22:32 | #2 | |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Меня забавляет такая вот структура таблицы:
Цитата:
Длину какого пути нужно указывать в этой записи? Первого, 2-го, а может четвертого? P.S. Автор темы, не мешало бы рассказать о какой СУБД речь идет. P.P.S. А на кой ляд нужны эти внешние ключи? |
|
06.10.2012, 22:37 | #3 |
Регистрация: 01.10.2012
Сообщений: 3
|
длина пути - это количество вагонов которые могут уместиться на станции, СУБД FireBird
|
06.10.2012, 22:47 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.10.2012, 22:59 | #5 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Что "количество вагонов" - это понятно из первого поста, но недоумение вовсе не поэтому поводу. Почему в структуре таблицы, где хранится количество путей, есть поле длины ОДНОГО пути (или, если хотите, количества вагонов на ОДИН путь)?
Ведь в первом посте ясно и не двусмысленно сказано: "количество путей, длина пути". Вот и возникает вопрос: длина какого из нескольких путей, если они разной длины, мы укажем в поле "Длина пути"? Если запись в таблице должна содержать длину всех путей на станции, то так и надо говорить: "количество путей, длина всех путей". И все же, можно узнать зачем нужны внешние ключи? Просто интересно знать какими путями (надо же, какое совпадение) идет мысль разработчика БД. Последний раз редактировалось Скандербег; 06.10.2012 в 23:38. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добавить внешний ключ в ibexpert | Kreadlling | БД в Delphi | 1 | 01.04.2012 14:11 |
Внешний ключ Access | Lazio | Microsoft Office Access | 0 | 07.12.2011 23:25 |
Как создать ссылку в редакторе | Джек Бентон | HTML и CSS | 1 | 14.11.2010 16:58 |
Как создать внешний файл | kostello | Общие вопросы C/C++ | 2 | 29.08.2009 23:26 |
Дайте ссылку или объясните как создать html help | Волк | Общие вопросы Delphi | 4 | 07.02.2009 10:04 |