Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2

Нужно ли создавать первичный ключ?

30.12.2014, 11:50. Показов 2400. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Коллеги подскажи с таким вопросом.
Например есть две таблицы "Животные"(ID name) и "Страны" (ID, name)
Для того что бы связать эти две таблицы, создаю еще одну таблицу "Связи" (id_animal, id_contry)
Вот такой вопрос - нужен ли для таблицы "Связи" создавать свой первичный ключ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.12.2014, 11:50
Ответы с готовыми решениями:

Нужно создать составной первичный ключ
Здравствуйте. Нужна помощь по составлению первичного ключа к таблице в бд. Созданы следующие таблицы: TOVAR KTOV NTOV SORT 1...

Первичный ключ
Существует некоторый архив, в котором содержатся дела. У каждого дела, есть свой номер.......который и можно использовать в качестве...

Первичный ключ
как сделать так чтобы первичный ключ наращивался автоматически или имел разные значения при добавлении в базу данных?

11
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
30.12.2014, 12:07
необязательно
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
30.12.2014, 12:31
Таблица без первичного ключа, или, на худой конец, уникального индекса - ошибка проектирования.
В вашем случае можно сделать естественный ПК: (id_animal, id_contry).
1
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2
30.12.2014, 22:20  [ТС]
invm, ну а просто поле id в качестве PK будет неверным?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
30.12.2014, 22:49
Цитата Сообщение от NotBeginner Посмотреть сообщение
invm, ну а просто поле id в качестве PK будет неверным?
Может иметь смысл, если на эту таблицу будут ссылаться другие. Но тогда все равно придется делать ограничение уникальности на (id_animal, id_contry).
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
30.12.2014, 23:00
Цитата Сообщение от invm Посмотреть сообщение
Таблица без первичного ключа, или, на худой конец, уникального индекса - ошибка проектирования.
Правильно, Я согласен
Цитата Сообщение от NotBeginner Посмотреть сообщение
Например есть две таблицы "Животные"(ID name) и "Страны" (ID, name)
Для того что бы связать эти две таблицы, создаю еще одну таблицу "Связи" (id_animal, id_contry)
1) Вопрось как то непотно что такой --> "Животные"(ID name) = Если вы думайте что первичный ключ (Имя животных) думаю что это тоже ошибка ... Животни одно и тот же наименование можеть бить несколько НО, из разних стран
2) "Страны" (ID, name) -- тоже непонятно что вы здесь делайте .... назовите всех название стольбцов осмысление имя . и будеть хорошо если почитайте какой то книшку по нормализация бд
0
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2
31.12.2014, 01:46  [ТС]
xxbesoxx, вы наверно меня не поняли,
Животные
SQL
1
2
3
Id(PK)   NAME
1          Lion
2          Monkey
и для стран тоже самое.
invm, и еще такой вопрос, просто как я знаю в таблице может быть только один PK? как тогда сделать их несколько
Цитата Сообщение от xxbesoxx Посмотреть сообщение
и будеть хорошо если почитайте какой то книшку по нормализация бд
был бы рад если что нибудь хорошее посоветуете
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
31.12.2014, 02:00
Цитата Сообщение от NotBeginner Посмотреть сообщение
был бы рад если что нибудь хорошее посоветуете
На это книге все доступном языке Автор: Роберт Виейра ... Погуглите вот так " Программирование баз данных Microsoft SQL Server 2005. Базовый курс.2007.pdf " без кавички .. и допалничелно читать документация

Добавлено через 5 минут
Цитата Сообщение от NotBeginner Посмотреть сообщение
в таблице может быть только один PK?
PK да
FK можно несколько .....
На все учебнике написано это и что здесь расказать ? Может вам скучно и хотите пообщаться
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
31.12.2014, 09:02
обыкновенная граничная сущность в отношении m:n звери-страны. делать суррогатный ключ или составной - по ситуации - тут invm прав
0
174 / 160 / 71
Регистрация: 22.02.2013
Сообщений: 1,769
Записей в блоге: 2
31.12.2014, 14:17  [ТС]
xxbesoxx, не не скучно) просто я наверно не так выразил свои мысли..
как сделать составной первичный ключ?
в access - е там просто выделяешь несколько полей и нажимаешь на ключ
а вот в ms sql как
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
31.12.2014, 16:39
Цитата Сообщение от NotBeginner Посмотреть сообщение
не не скучно) просто я наверно не так выразил свои мысли..
как сделать составной первичный ключ?
в access - е там просто выделяешь несколько полей и нажимаешь на ключ
а вот в ms sql как
Вы удивителни человек .
T-SQL
1
2
3
4
5
create table Tab1
(
 tab1_id int identity(1,1) primary key, -- primary key = Мы говорим что первичный ключ будеть tab1_id
 tab1_name varchar(30) not null
);
понятно ?

Добавлено через 11 минут
Хотябы здесь посмотрите
1) http://dimonchik.com/sql-primary-key.html
2) http://msdn.microsoft.com/ru-r... 89049.aspx
3) Создание первичного ключа
1
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
05.01.2015, 09:21
Цитата Сообщение от xxbesoxx Посмотреть сообщение
в access - е там просто выделяешь несколько полей и нажимаешь на ключ
а вот в ms sql как
да так же - в ssms выделяешь несколько полей - и все - set primary key
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2015, 09:21
Помогаю со студенческими работами здесь

Идентификатор и первичный ключ
Добрый день! Я новичок. Делаю курсовую работу. Создаю информационную систему с помощью С# и MS Sql. Никак не могу понять зачем так...

Составной первичный ключ
Доброго времени суток, вот есть такой вопрос. Как создать составной первичный ключ? вот имеется 2 таблици create or replace table...

Первичный и вторичный ключ
Ребятки, делаю бд и нужно в одной таблице разместить несколько внешних ключей с первичными ключи, в таблице Zayavka_mate в строке oreign...

Строка как первичный ключ
Всем привет. Собственно вопрос теоретического плана к более опытным коллегам. Целесообразно ли в качестве первичного ключа использовать...

Как изменить первичный ключ?
Есть таблица test и поле itest которое является первичным ключом,так вот айди вводится вручну, как его изменить на identity ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru