У Hive немає поняття первинного ключа оскільки це не база даних, а у вулику операція базується на файлі, а не на основі запису. 16 лютого 2015 р.
На даний момент у Hive немає концепції первинного ключа та зовнішнього ключа.
- Hive не є заміною реляційної СУБД для виконання транзакцій, але використовується в основному для аналітичних цілей.
- Оскільки це не реляційна база даних, немає сенсу створювати зв’язки між таблицею. …
- Давайте візьмемо приклад.
Використовуйте SQL Server Management Studio
- У провіднику об’єктів клацніть правою кнопкою миші таблицю, до якої потрібно додати унікальне обмеження, і виберіть «Дизайн».
- У конструкторі таблиць виберіть селектор рядків для стовпця бази даних, який потрібно визначити як первинний ключ. …
- Клацніть правою кнопкою миші селектор рядка для стовпця та виберіть «Установити первинний ключ».
Вулик застосовує лише DEFAULT, NOT NULL і CHECK, а не PRIMARY KEY, FOREIGN KEY та UNIQUE. Ви можете використовувати обмеження, наведені нижче, у своїх запитах. Вулик використовує лише DEFAULT, NOT NULL і CHECK, а не PRIMARY KEY, FOREIGN KEY та UNIQUE.
Якщо ми хочемо автоматично згенерувати значення первинного ключа, ми можемо додати анотацію @GeneratedValue. Це може використовувати чотири типи генерації: AUTO, IDENTITY, SEQUENCE і TABLE. Якщо ми явно не вказуємо значення, тип генерації за замовчуванням має значення AUTO.
Тобто стратегія, яка використовується для створення первинних ключів, полягає в тому використовувати таблицю в базі даних. Анотація @TableGenerator використовується для налаштування параметрів таблиці генератора. Елемент name встановлює назву генератора, яким є vendorPartGen у VendorPart.