Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Первичный ключ по двум полям   Найти похожие ветки 

 
Neo Trinitron ©   (2006-09-14 13:57) [0]

Доброго времени всем! Как можно в MSAccess таблице указать первичный ключ по двум и более полям? Может есть другой выход. Мне нужно чтобы значения двух или более полей не могли повторяться.


 
Sergey13 ©   (2006-09-14 14:00) [1]

1. Первичный ключ и уникальный ключ могут и не совпадать.
2. В чем проблема то?


 
ANB ©   (2006-09-14 14:26) [2]


> первичный ключ по двум и более полям

Это сделать можно, но не нужно. Для обеспечения уникальности есть уникальный индекс или уникальный ключ.


 
Val (from Kiev)   (2006-09-14 15:21) [3]

>ANB ©   (14.09.06 14:26) [2]
предположим - есть таблица-развязка отношения многие-ко-многим - всего два поля, которые по сути - ссылки, пара уникальна. на мой взгляд достаточено составного PK, т.е. все то же - "каждому овощу - свое время".


 
Desdechado ©   (2006-09-14 15:28) [4]

> пара уникальна. на мой взгляд достаточено составного PK
Не подменяй понятий. Сам сказал, что уникально. Вот и сделать нужно уникальное граничение.

автору
Не совсем ясно, что нужно. Первичный ключ тоже может быть составным ALTER TABLE XXX ADD CONSTRAINT PK_XXX PRIMARY KEY( fld1, fld2 )
Но очень не рекомнедую так делать, геморройно потом на него ссылаться. Лучше сделай суррогатный целочисленный.


 
Val (from Kiev)   (2006-09-14 15:38) [5]

>Desdechado ©   (14.09.06 15:28) [4]
подмена понятий? для чего нужен пк?


 
Neo Trinitron ©   (2006-09-14 16:44) [6]

Что мне нужно. Есть таблица деталей накладной. Одно поле - идентификатор накладной, другое - идентификатор товара. Как сделать так чтобы в одной накладной не могло быть одного и того же товара более одного раза?


 
Sergey13 ©   (2006-09-14 16:51) [7]

> [6] Neo Trinitron ©   (14.09.06 16:44)

Ну так и добавь уникальный ключ на дкумент+товар. Но это не значит, что этот ключ обязан быть первичныи (хотя может). Для ПК в товаре достаточно и просто отдельного ИД-шника - ссылаться будет проще.

Кстати, иногда в накладной может быть одинаковый товар, если учет по партиям идет.


 
Neo Trinitron ©   (2006-09-14 17:03) [8]

> Ну так и добавь уникальный ключ на дкумент+товар.

Очень стыдно, но я не знаю как это сделать в MS Access...


 
Desdechado ©   (2006-09-14 17:14) [9]

еще стыднее, что справку читать не желаешь


 
Neo Trinitron ©   (2006-09-14 17:45) [10]

Desdechado, позвольте поинтересоваться, по каким словам её искать. Unique - нету. Что ещё можно придумать?


 
ANB ©   (2006-09-14 18:28) [11]


> Neo Trinitron ©   (14.09.06 17:45) [10]

create unique index on Table1(F1, F2)


 
Desdechado ©   (2006-09-14 18:39) [12]

Neo Trinitron ©   (14.09.06 17:45) [10]
По словам из [4], заменив PRIMARY KEY на UNIQUE


 
Anatoly Podgoretsky ©   (2006-09-14 19:52) [13]

Да можно искать и по create index и потом после прочтения основной темы, при необходимости переход на подробности


 
Neo Trinitron ©   (2006-09-15 10:36) [14]

Спасибо, разобрался.

create unique index Index_name on Table1(F1, F2)



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

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1162122043
~Aid~
2006-10-29 14:40
2006.11.12
размер


15-1160999941
palva
2006-10-16 15:59
2006.11.12
Оказывается, приемник GPS полезен при поиске сокровищ


15-1161514484
ANTPro
2006-10-22 14:54
2006.11.12
Дрова для адаптера Bluetooth


15-1161601984
Layner
2006-10-23 15:13
2006.11.12
Кто работает с беспл. инсталятором NSIS (v2.2)


15-1161709579
Геймер
2006-10-24 21:06
2006.11.12
Эмулятор Dos





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский