|
|
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Запуталась в понятиях. Первичный ключ (PK), внешний ключ(FK), суррогатный и бизнес ключ. Объясните пожалуйста: суррогатный ключ это и есть внешний ключ? Таблица "Отделы" Id Name 1 Отдел кадров 2 Технический отдел 3 Финансовый отдел, Таблица "Сотрудники" Id Id_otdela FIO 1 1 Иванов 2 2 Петров 3 2 Сидоров Поле "Сотрудники".Id_otdela является суррогатным ключом или внешним (FK) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 11:29 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга Семенова, Это дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого — служить первичным ключом. Значение этого поля не образуется на основе каких-либо других данных из БД, а генерируется искусственно. Суррогатный ключ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 11:49 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
NafОльга Семенова, Это дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого — служить первичным ключом. Значение этого поля не образуется на основе каких-либо других данных из БД, а генерируется искусственно. Суррогатный ключ вот это как раз и поставило меня и запутало... уточняющие вопросы в которых я путаюсь: 1) Первичный ключ это и есть Primary Key ? или это разные по сути понятия? 2) Что является Первичным ключом в Таблице "Сотрудники" ? Id ? 3) поле Id_otdela в таблице "Сотрудники" является суррогатным или внешним Foreign Key для поддержания целостности между таблицами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 12:18 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга Семенова1) Первичный ключ это и есть Primary Key ? или это разные по сути понятия? настолько одно и тоже, что даже дословный перевод Ольга Семенова2) Что является Первичным ключом в Таблице "Сотрудники" ? Id ? Да, Id Ольга Семенова3) поле Id_otdela в таблице "Сотрудники" является суррогатным или внешним Foreign Key для поддержания целостности между таблицами? внешним ключом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 12:50 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга Семенова, Вы и Ваши комментаторы удивительно заблуждаетесь :) Всё равно что сказать "Кресты бывают католические и металлические" Натуральный ключ - это уникальный идентификатор, основанный на уникальном свойстве объекта предметной области. Напр. ИНН субъекта, БИК банка, СНИЛС физического лица, WIN автомобиля и т.п. Суррогатный ключ - это уникальный идентификатор, сгенерированный системой автоматически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:19 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
КурдльСуррогатный ключ - это уникальный идентификатор, сгенерированный системой автоматически. на основе Sequence например? или это уже будет первичный ключ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:44 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга Семенована основе Sequence например? или это уже будет первичный ключ? Ольга, Вам бы букварь почитать хотя бы по базовой терминологии... Хотя бы ту же википедию. Иначе так и будете путать тёплое с мягким. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 16:07 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovОльга Семенована основе Sequence например? или это уже будет первичный ключ? Ольга, Вам бы букварь почитать хотя бы по базовой терминологии... Хотя бы ту же википедию. Иначе так и будете путать тёплое с мягким. Так именно прочитав ее у меня и возникли путанные вопросы :) авторЭто дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы, единственное предназначение которого — служить первичным ключом. Значение этого поля не образуется на основе каких-либо других данных из БД, а генерируется искусственно. А если у меня в таблице уже есть PK, то какой смысл в себе несет тогда тут суррогатный ключ в этой же таблице ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 17:01 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга СеменоваА если у меня в таблице уже есть PK, то какой смысл в себе несет тогда тут суррогатный ключ в этой же таблице ?Смысла нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 17:06 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга Семенова, Для принятия решения при проектировании БД, в части ПК, достаточно ответить себе на вопрос: "Должен ли быть первичный ключ в проектируемой таблице суррогатным или натуральным?" "За" и "Против" можно изыскать в требованиях (ТЗ, ФТ, FSD, BRD) к АС, для которой Вы проектируете БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 17:34 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга СеменоваТак именно прочитав ее у меня и возникли путанные вопросы :) Ок, что именно Вы прочитали? https://ru.wikipedia.org/wiki/Первичный_ключ - прочитали? Статью Тенцера http://www.ibase.ru/natural-keys-versus-atrificial-keys-by-tentser/ - прочитали? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 17:35 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга СеменоваЗапуталась в понятиях. Вы свалили в одну кучу понятия из разных категорий: 1. Суррогатные и естественные ключи - это одно 2. Первичный и внешний ключи - это другое Что подразумеваете под суррогатным ключом и бизнес ключом я вообще не в курсе (первый раз о таких слышу). В приведенном примере столбцы Id из обеих таблиц, как мне подсказывает интуиция, - суррогатные ключи. Значение Id однозначно идентифицирует строку в таблице. Для того, чтобы на уровне СУБД технически гарантировать неповторяемость по данным столбцам можно создать первичный ключ. А вот если из таблицы "Отделы" столбец Id выбросить, а для однозначной идентификации использовать столбце "Name", то тогда это будет уж естественный ключ, по которому также можно (и нужно) создать первичный ключ. А вот в таблице "Сотрудники" по прежнему остается суррогатный ключ. Тогда структура таблиц будет такой: Таблица "Отделы" Name Отдел кадров Технический отдел Финансовый отдел, Таблица "Сотрудники" Id otdel FIO 1 Отдел кадров Иванов 2 Технический отдел Петров 3 Технический отдел Сидоров Т.е. ключ является суррогатным, если его значение не имеет смысла в предметной области (циферки из столбца "Id" не имеют никакого смысла с точки зрения, например, кадрового учета). И ключ является естественным, если он построен на данных, которые имеют смыл с точки зрения предметной области (наименование отдела в нашем случае). Первичный ключ - это частный случай уникального индекса. Он строится по одному или нескольким столбцам таблицы и технически гарантирует, что сочетание значений столбцов, входящих в его (первичного ключа) состав будет уникальным в пределах этой таблицы. Внешний ключ - техническая реализация отношения между таблицами. В приведенном мной выше примере внешний ключ логично построить на столбцах Name (таблицы "Отделы") и otdel (таблицы "Сотрудники"). Наличие такого внешнего ключа технически гарантирует, что в столбце "otdel" не появится значений, которые отсутствуют в столбце Name таблицы "Отделы". Так понятнее или запутал окончательно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 09:11 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга, базы данных - это не дело Вашей жизни. Вы в теории и практике баз данных не разберетесь. Потому что, в самом начале пути (если предположить, что Вы захотели разобраться) Вы заходите в фундаментальный тупик, так сказать. В базах данных даже теоретически нет тех ключей, о которых Вы спрашиваете. Они просто не нужны. Но, чтобы это понять нужно заниматься базами данных. А Вы (вероятно, под чьим-то влиянием) начали изучать не базы данных, а что-то другое. Вероятно, так называемые, "реляционные базы данных". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 23:38 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ну так что же никто не знает зачем нужен суррогатный ключ? Он нужен для Хранилищ Данных, как один из вариантов - поддержать изменение данных в справочнике во времени Натуральный ключ - один, суррогатных ключей - несколько В обычных базах данных вы его скорей всего никогда и не встретите. суррогатный ключ может быть производным от натурального ключа или от комбинации полей источника данных, сели комбинация полей дает уникальность строки UPPER(CONVERT(char(32),HASHBYTES('MD5', CONCAT( UPPER(RTRIM(LTRIM(COALESCE([DocId], '')))), ';', RTRIM(LTRIM(COALESCE([ItemId], ''))), ';', RTRIM(LTRIM(COALESCE([UnitId], ''))) ) ),2)) AS XLNK_DMSDocumentLine_HK это вот вам пример суррогатного ключа, как проивзодного от бизнес ключей исходной таблицы Всех с Новым Годом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2016, 19:11 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Полковник. По сути - набор пьяного бреда. По форме - попугаистое повторение некоторых тривиальных мыслей, например, из Кимбалла (хотя наверняка далеко не только). Попугаистое - означает механическое повторение слов при явном непонимании их смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2017, 21:31 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
softwarerПолковник. По сути - набор пьяного бреда. По форме - попугаистое повторение некоторых тривиальных мыслей, например, из Кимбалла (хотя наверняка далеко не только). Попугаистое - означает механическое повторение слов при явном непонимании их смысла. Ну твой то пост вообще никаких мыслей не несет. Зато сколько пафоса. Ты,что сказать то хотел? Хотя знаю - ничего, ты просто громко на весь форум перенул, поздравляю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2017, 22:06 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Полковник., смысл слова "пафос" ты тоже явно не понимаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2017, 22:17 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Спасибо всем!!! Вразумили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 22:26 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
Ольга СеменоваА если у меня в таблице уже есть PK, то какой смысл в себе несет тогда тут суррогатный ключ в этой же таблице ? Возможно что у вас неправильный PK и его нужно изменить. ;) Тут общего совета как сделать ключ нету- надо в каждой ситуации по месту смотреть. Учитывая ваши познания -объяснить не получится :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2017, 20:05 |
|
||
|
Суррогатный ключ
|
|||
|---|---|---|---|
|
#18+
>Ольга Семенова, 21 дек 16, 11:29 [20030983] >... Объясните пожалуйста: суррогатный ключ это ... а-ля ассоциативный адрес объекта некоторого абстрактного пространства (два объекта с разными суррогатными ключами - суть разные объекты) + схема формирования ключа. С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 00:16 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39372068&tid=1540230]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
75ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 422ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...