Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
ВнизМожно ли создать такую таблицу? Найти похожие ветки
← →
3APA3A (2003-09-19 23:56) [0]Нужна такая таблица
Имя ID_1
ID_2
ID_3
ID_4
....
ID_N
Имя ID_1
ID_2
....
ID_M
Некоторый аналог этого:
type Rec=record
Name:ShortString;
ID:array of integer;
end.
Таблица должна быть Paradox"овская... можно ли это реализовать и если можно, то как?
← →
Zacho (2003-09-20 00:08) [1]Если и можно, то почти наверняка - не нужно, и даже вредно. Почитай что-нибудь (хотя бы постоянно рекламируемого мной здесь Дейта) по теории РСУБД, и поймешь почему.
А лучше кратко, но конретно опиши задачу, тогда может и подскажем более-менее оптимальную структуру БД.
← →
3APA3A (2003-09-20 00:16) [2]Да я все понимаю, что крайне невыгодно делать БД с разной длиной записей, хотя бы из-за скорости доступа к такой БД. Но меня совершенно не интересуют накладные расходы (загрузка ЦП, размер занимаемой БД и т.д.) поэтому я и спрашиваю - можно ли?
Суть такова (это не то что мне надо, но если скажете это - все будет ясно)
Телефонная книга.Возможность создания клиента с именем. На каждое имя можно записать сколько угодно номеров телефонов. Вот и все.
← →
Zacho (2003-09-20 00:32) [3]
> 3APA3A © (20.09.03 00:16) [2]
> Да я все понимаю, что крайне невыгодно делать БД с разной
> длиной записей, хотя бы из-за скорости доступа к такой БД.
> Но меня совершенно не интересуют накладные расходы
Нет, не понимаешь. Дело не в накладных расходах, а в целостности данных. Все-таки, почитай что-нибудь про нормализацию.
> Суть такова (это не то что мне надо, но если скажете это
> - все будет ясно)
> Телефонная книга.Возможность создания клиента с именем.
> На каждое имя можно записать сколько угодно номеров телефонов.
> Вот и все.
Очень просто. Две таблицы. Одна - клиент, вторая - телефонные номера, связанная с таблицей клиентов. Стандартная связь "мастер-детейл". Это называется "декомпозиция проекцией".
А вот примерная структура:
TABLE CLIENTS
ID INTEGER (PRIMARY KEY) некий искуственный индетификатор клиента, возможно AUTOINC
NAME STRING (или что там в Парадоксе, уже не помню) - имя клиента
TABLE PHONES
ID_CLIENT (FOREIGN KEY на таблицу CLIENTS)
PHONE_NUMBER <тип, подходящий для хранения номера телефона>
Первичный ключ во второй таблице состоит из двух полей - ID_CLIENT и PHONE_NUMBER.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c