Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];

Вниз

Уникальный индефикатор?   Найти похожие ветки 

 
vaneks   (2002-11-26 13:17) [0]

Кто знает как сгенерировать уникальный индефикатор для связи нескольких таблиц между собой? Или есть какой другой способ связи таблиц?


 
Johnmen   (2002-11-26 13:23) [1]

Тут кто-то предлагал достаточно оригинальный способ:
Пихать в таблицу запись с ID=MAX(ID)+1 пока не пропихнется.
А вообще для Аксеса есть, по-моему, автоинкримент...


 
vaneks   (2002-11-26 13:31) [2]

> Johnmen © (26.11.02 13:23)
> А вообще для Аксеса есть, по-моему, автоинкримент...

Так вот автоинкремент как мне сказали это очень плохая вещь для связи таблиц!

>Пихать в таблицу запись с ID=MAX(ID)+1 пока не пропихнется.
Это что типа искать максимальное и совать на единицу больше?


 
Diouzshev   (2002-11-26 13:32) [3]

А чем тебе не подходит тип поля "Счетчик"?


 
vaneks   (2002-11-26 13:37) [4]

> Diouzshev (26.11.02 13:32)
> А чем тебе не подходит тип поля "Счетчик"?
1) Индефикатор может присутствовать во всех таблицах или только некоторых из них.
2) Говорят он глючный этот счетчик!


 
Johnmen   (2002-11-26 13:38) [5]

>vaneks (26.11.02 13:31)

Да...


 
vaneks   (2002-11-26 13:42) [6]

> Johnmen © (26.11.02 13:38)
Ну я просто уточнил!


 
Diouzshev   (2002-11-26 13:49) [7]

Немало использовал автоинремент, проблемы есть конечно, но для многопользовательских систем - id = max(id)+1 - смерть
а для связи делаешь просто у мастер-таблицы счетчик, у детейл просто целое и туда впихиваешь соответствующее значение счетчика из мастер.


 
vaneks   (2002-11-26 13:53) [8]

> Diouzshev (26.11.02 13:49)
А что такое мастер-таблицы и детейл?
Просто я тут только три дня общаюсь :(


 
KSergey   (2002-11-26 14:23) [9]

Тогда лучше пока не тут общаться, а книжечки читнуть или из инета чего - про написание БД. С бОльшей пользой время потратите.


 
Diouzshev   (2002-11-26 14:28) [10]

>Кто знает как сгенерировать уникальный индефикатор для связи
>нескольких таблиц между собой? Или есть какой другой способ >связи таблиц?

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

>А что такое мастер-таблицы и детейл?
>Просто я тут только три дня общаюсь :(

1(Мастер):M(Детеил),
если поможет %).


 
vaneks   (2002-11-26 22:19) [11]

Короче задача такая:
Имеется таблица empl.db (ID, ФИО, № кабинета, ...), вторая mb.db (ID, модель, разъем CPU, PCI, AGP, IDE, ...), третья cpu.db (ID, модель, разъем, ...), следующая hdd.db, ... аконец последняя owers.db (ID, тип, модель, раземы, ...). Нужно организовать следующие функции:
1) По ФИО выводится инфа по конфигурации его компа собранная из разных таблиц
2) Найти деталь и при необходимости заменить/обменять/поменять на новую
3) Печать табляцы:
| № | ФИО | кабинет | конфигурация компа |

Теперь поясняю. ID это тот самый индевикатор (ключевое поле в Acces) по которому прога находит детали компа по ФИО. Т.е. в empl.db прога ищет запись с подходящим ФИО далее по считывая ID она сравнивает его с ID из таблиц mb.db, cpu.db, hdd.db в результате готовая конфигурация компа!


 
vaneks   (2002-11-29 07:33) [12]

Ну че никто незнаетчтоли? Помогите плизззз!


 
sniknik   (2002-11-29 08:15) [13]

hdd. db? вроде в начале Access стоял?

Для Access делай автоинкримент лутше не придумаеш, боишся по нему связи делать... ну так заведи отдельную для получения этого значения и тиражируй его по табицам при добавлении записей.


 
Dok_3D   (2002-11-29 09:06) [14]

2) Говорят он глючный этот счетчик!

Шутники ...


 
LordOfSilence   (2002-11-29 09:19) [15]

Не хочу ёрничать, но vaneks, похоже, на орешник нарывается...


 
MsGuns   (2002-11-29 12:28) [16]

>LordOfSilence © (29.11.02 09:19)
>Не хочу ёрничать, но vaneks, похоже, на орешник нарывается...

.. и конкретно !))


 
vaneks   (2002-11-29 12:47) [17]

> sniknik © (29.11.02 08:15)
db это вроде подсказки что енто таблица ;) А так ведь все таблицы в одном файлеке хранятся...
Ты думаешь автоинкремент буде лучше всего? Пожалуй я стобой соглашусь :) Я тоже ничего лучше непридумал! А теперь с отдельной таблицей... короче класно ты придумал.
ОГРОМНОЕ СПАСИБООООООО!


 
AMS   (2002-11-29 15:26) [18]

Если тебе не нравится автоинкремент, можешь использовать GUID. Всегда будет суперуникальным. В DELPHI его можно получить функцией CreateClassID();


 
Дед Макар   (2002-11-29 16:47) [19]

В орешник половину ветки! :))))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.007 c
1-61586
Explorer
2002-12-10 09:27
2002.12.19
---|Ветка была без названия|---


3-61454
Дмитрий Жуков
2002-11-30 19:53
2002.12.19
Ошибка в TStoredProc.Prepare


1-61518
volph7777
2002-12-09 10:29
2002.12.19
Перекодировка


1-61548
Berg
2002-12-09 16:17
2002.12.19
Поменять шрифт надписи


4-61883
AndreyH
2002-11-05 14:16
2002.12.19
Симулятор LPT1





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский