Главная страница
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.49 MB
Время: 0.035 c
2-1161959511
TIF
2006-10-27 18:31
2006.11.12
Win 98 - профессионалы по этой ОС, помогите!


15-1161900433
Ketmar
2006-10-27 02:07
2006.11.12
что, правда?


3-1157963510
Loginov Dmitry
2006-09-11 12:31
2006.11.12
Восстановление базы данных


2-1161678395
JTAG
2006-10-24 12:26
2006.11.12
Добрый день, подскажите пожалуйста при помощи каких функция


2-1161774672
KyRo
2006-10-25 15:11
2006.11.12
Долгий коннект из за чего ?