Определение дочерних таблиц и получение записей из них - PullRequest
0 голосов
/ 30 декабря 2010

Я новичок в SQL. Я смотрю на создание базы данных, где значение в одной таблице является указателем на другую «целую» таблицу (не просто значение в другой таблице ... но сама таблица) . Как этого добиться и как написать оператор SQL для доступа к данным в дочерней таблице? Я проиллюстрирую следующими таблицами

Проект:

ID   Name   Site              Client          Progress
------------------------------------------------------
1    Bronx  99-Beans Street   Mr.Smith         **1 
2    Mandy  4-Apt Clinton     Mrs. Cross       **2
3    Ani    7-Magbo,Jos, NG   FRN, 9ja         **3

Bronx:

Task Description             Start        Finished   Handler
-------------------------------------------------------------
1    Remove Top-Soil         07:50:33     12:10:05   Jack
2    Break Ground            13:00:20     15:33:52   Grader
3    Spray Fertilizer        15:55:30     17:15:23   Suzie

Обратите внимание, что вторая таблица берет свое имя из значения имени проекта @ id = 1. Идентификатор все еще может служить этой цели, и в этом случае таблица будет называться '1' ... , что довольно странно , но по крайней мере это объясняет вид отношений таблицы должны иметь. Удаление записи в таблице 'Project' также должно удалить связанную таблицу Progress (содержащую имя записи) *. Как можно создать & запросить таблицы с этим отношением в SQL?

1 Ответ

0 голосов
/ 30 декабря 2010

В таблице проекта вы должны убедиться, что поле идентификатора уникально не только, но и поле имени.Поскольку вы хотите создавать таблицы в базе данных, используя поле имени, это может создать проблему, если у вас есть дубликаты.Затем я бы вызвал таблицу проектов из моей программы, прочитал имя таблицы, а затем передал это имя в другой запрос для конкретного проекта.В случае, когда конкретная таблица, например, Bronx, удаляется из таблицы проекта, вы можете написать в таблице проекта триггер, который скажет об удалении конкретной таблицы проекта, указанной в столбце Row.Суть в том, что только часть того, что вам нужно сделать, может происходить в SQL, тогда как остальным нужно управлять в вашей программе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...