Унікальний ключ

В реляційному моделюванні та реалізації баз даних, унікальний ключ (також відомий як потенційний ключ) відношення — мінімальний суперключ цього відношення; тобто множина атрибутів таких, що:

  1. відношення не має двох різних кортежів (тобто рядків або записів поширеною мовою баз даних) з однаковими значеннями цих атрибутів (що означає те, що множина атрибутів є суперключем);
  2. немає власне підмножини цих атрибутів, для якої виконується (1) (що означає мінімальність множини).

Коли колонка чи множина колонок визначається унікальним для системи керування базами даних, система перевіряє унікальність кожної множини значень перед призначенням обмеження. Після визначення колонок унікальними станеться помилка при спробі вставки з уже наявними значеннями. Деякі системи не дозволять оновити ключові значення, всі системи не дозволять дублікати. Це забезпечує підтримку унікальному і в основній таблиці, й у будь-якому відношенні, що пізніше зв'яжеться з нею.

Резюме

Ключі забезпечують засоби для користувачів баз даних і прикладних програм із визначення, доступу й оновлення інформації в таблиці бази даних. У будь-якій таблиці можуть бути декілька ключів. Наприклад, двома різними ключами в таблиці працівників можуть бути його номер і логін. Дотримання ключових обмежень (тобто обмежень унікальності) у таблиці також полягає у функції цілісності даних бази. СКБД запобігає оновленням, які призведуть до дублікатів ключових значень, і тим самим гарантує, що таблиці завжди дотримуватимуться бажаних правил унікальності. Правильний вибір ключів при проектуванні бази даних є важливим аспектом її цілісності.

Таблиця реляційної бази даних можуть мати один або більше доступних ключів (формально званих потенційними). Один із таких ключів на таблицю може бути призначено первинним; інші ключі називаються альтернативними.

Будь-який ключ може складатися з одного чи більше атрибутів. Наприклад, номер соціального страхування може бути ключем із єдиного атрибуту для працівника; сполучення номера рейсу та дати може бути ключем, який складається з двох атрибутів, для запланованого рейсу.

Існують декілька типів ключів, які використовуються в моделюванні баз даних і реалізаціях:

Простий
Ключ, зроблений лише з одного атрибуту.
Зчеплений (англ. concatenated)
Ключ, зроблений з понад одного атрибуту, з'єднані разом як єдиний ключ, як-от частина чи ціле ім'я зі згенерованим системою числом наприкінці, як часто використовується для електронних адрес.
Складений
Ключ, зроблений із принаймні двох атрибутів або простих ключів, лише прості ключі існують у складеному.
Композитний (англ. composite)
Ключ, який містить принаймні один складений із принаймні одним іншим атрибутом або простим ключем (це розширення складеного ключа).
Природний
Ключ, зроблений із даних, які існують поза поточною базою даних. Іншими словами, дані не згенеровані системою, як-от номер соціального страхування, імпортований із іншої системи.
Сурогатний
Штучний ключ, зроблений із даних, які призначені чи згенеровані системою, коли існує інший потенційний ключ. Сурогатні ключі зазвичай є числовими значеннями ідентифікаторів та часто використовуються з міркувань продуктивності[джерело не вказане 3759 днів].
Потенційний
Ключ, який може стати первинним.
Первинний ключ
Ключ, який обрано первинним. Лише один ключ у сутності вибирається первинним. Це ключ, якому дозволено мігрувати до інших сутностей для визначення відношень, які існують між сутностями. Коли модель даних інстанціюється у фізичну базу даних, це ключ, який система найбільше використовує при доступі до таблиці, чи з'єднанні таблиць разом при виборі даних.
Альтернативний
Непервинний ключ, який може використовуватися для визначення лише одного рядка в таблиці. Альтернативні ключі можуть використовуватися як первинні в однотабличній вибірці.
Зовнішній
Унікальний ключ, який мігрував до іншої сутності.

У найосновнішому визначенні «ключ — унікальний ідентифікатор»[1], тому унікальний ключ є плеоназмом. Ключі, що знаходяться в їх початковій сутності, є унікальними в цій сутності. Ключі, що мігрують до іншої сутності, можуть бути чи не бути унікальними, залежно від конструкції та їх використання в іншій таблиці. Зовнішні ключі можуть бути первинним у іншій таблиці; наприклад, PersonID може стати EmployeeID у таблиці Employee. У цьому випадку EmployeeID є і зовнішнім ключем, і унікальним первинним, це означає, що таблиця має відношення 1:1. У випадку, коли сутність осіб містить ID біологічного батька, ID батька не очікується унікальним, оскільки батько може мати понад одну дитину.

Ось приклад первинного ключа, що стає зовнішнім у пов'язаній таблиці. ID мігрує з таблиці Автор до таблиці Книга.

  Схема таблиці Автор:
    Автор(ID, Ім'я, Адреса, Народження)

  Схема таблиці Книга:
    Книга(ISBN, AuthorID, Назва, Видавець, Ціна)

Тут ID слугує первинним ключем таблиці «Автор», але також AuthorID слугує зовнішнім ключем у таблиці «Книга». Зовнішній ключ слугує посиланням, а відтак і зв'язком між двома пов'язаними таблицями у цій простій базі даних.

В реляційній базі даних потенційний ключ унікально ідентифікує кожен рядок значень даних у таблиці бази. Потенційний ключ містить єдину колонку чи множину колонок в одній таблиці бази даних. Жодні два різні рядки чи записи даних у таблиці бази не можуть мати ті самі значення даних (або сполучення значень даних) у колонках цього потенційного ключа, оскільки значення NULL не використовуються. Залежно від своєї конструкції, таблиця бази даних може мати багато потенційних ключів, але щонайбільше один із них має бути виділений як первинний.

Ключові обмеження застосовуються до множини кортежів у таблиці в будь-який момент часу. Ключ не обов'язково є унікальним ідентифікатором серед сукупності усіх можливих екземплярів кортежів, які можуть зберігатися в таблиці, але він означає правило цілісності даних, що дублікати не повинні дозволятися в таблиці бази даних. Деякими можливими прикладами унікальних ключів є номери соціального страхування, ISBN, реєстраційний номер транспортного засобу чи логіни користувачів.

На унікальні ключі так само, як і на первинні, можуть логічно посилатися зовнішні ключі, але більшість РСКБД дозволяють обмеження зовнішнього ключа лише на первинний ключ.

Визначення унікальних ключів у SQL

Визначення інших унікальних ключів синтаксично дуже схоже на первинні.

  ALTER TABLE <ідентифікатор таблиці> 
      ADD [ CONSTRAINT <ідентифікатор обмедення> ] 
      UNIQUE ( <вираз колонки> {, <вираз колонки>}… )

Також унікальні ключі можуть визначатись як частина інструкції SQL CREATE TABLE.

  CREATE TABLE table_name (
     id_col   INT,
     col2     CHARACTER VARYING(20),
     key_col  SMALLINT NOT NULL,
     
     CONSTRAINT key_unique UNIQUE(key_col),
     
  )
  CREATE TABLE table_name (
     id_col  INT  PRIMARY KEY,
     col2    CHARACTER VARYING(20),
     
     key_col  SMALLINT NOT NULL UNIQUE,
     
  )

Відмінності від обмежень первинних ключів

Відмінності між обмеженнями первинних ключів й унікальності:

Обмеження первинного ключа

  1. Первинний ключ не може дозволяти NULL (первинний ключ не може визначатися на колонках, які дозволяють NULL).
  2. Кожна таблиця не може мати понад один первинний ключ.
  3. На деяких РСКБД первинний ключ за замовчуванням генерує кластерний індекс.

Обмеження унікальності

  1. Обмеження унікальності може визначатися на колонках, які дозволяють NULL.
  2. Кожна таблиця може мати багато унікальних ключів.
  3. На деяких РСКБД унікальний ключ за замовчуванням генерує некластерний індекс.

Зверніть увагу, що, на відміну від обмеження PRIMARY KEY, обмеження UNIQUE не означає NOT NULL для колонок, які беруть участь у обмеженні. NOT NULL повинно бути вказано, щоби зробити колонку(и) ключовим(и). Можливо поставити обмеження UNIQUE на нульові колонки, але стандарт SQL стверджує, що обмеження не гарантує унікальності таких колонок (унікальність не дотримується для рядків, де будь-яка з колонок містить NULL).

Відповідно до стандарту SQL[2], обмеження унікальності не дотримує унікальності за наявності NULL, а тому може містити кілька рядків з ідентичними сполученнями NULL і не-NULL значень — однак, не всі РСКБД реалізують цю функцію відповідно до стандарту SQL[3][4].

Див. також

Примітки

  1. Awad, Elias (1985), Systems Analysis and Design (вид. 2-е), Richard D. Irwin, Inc., ISBN 0-256-02824-9
  2. Bouman, Roland P. Summary of ANSI/ISO/IEC SQL. XCDSQL (англійською) . Архів оригіналу за 5 травня 2007. Процитовано 19 грудня 2018. {{cite web}}: Проігноровано |розділ= (довідка)
  3. Constraints — SQL Database Reference Material — Learn sql, read an sql manual, follow an sql tutorial, or learn how to structure an SQL query!. www.sql.org. Процитовано 16 серпня 2018.
  4. Comparison of different SQL implementations. troels.arvin.dk. Процитовано 16 серпня 2018.

Посилання

Read other articles:

Politics of Rwanda Constitution Human rights International Criminal Tribunal Government President Paul Kagame Prime Minister Édouard Ngirente Cabinet Parliament Senate President: Bernard Makuza Chamber of Deputies Speaker: Donatille Mukabalisa Judiciary Supreme Court Administrative divisions Provinces Districts Elections Recent elections President: 20172024 Assembly: 20182024 Senate: 20112019 Political parties Foreign relations Ministry of Foreign Affairs and Cooperation Ministry: Richard S...

 

BAC 1-11British Island Airways BAC One-Eleven.Tipepesawat jet berbadan sempitTerbang perdana20 August 1963Diperkenalkan1965Pengguna utamaBritish AirwaysPengguna lainAmerican AirlinesBraniff AirwaysBritish United AirwaysTahun produksi1963–1982 (Britania Raya)1982–1989 (Rumania)Jumlah produksi244 BAC 1-11 merupakan sebuah pesawat penumpang yang dibuat oleh British Aircraft Corporation. Pesawat ini dahulu merupakan sebuah pesawat paling populer di dunia untuk waktu yang lama. BAC 1-11 pertam...

 

Japanese term coined by NHK for year-long historical drama television series Taiga drama (Japanese: 大河ドラマ, Hepburn: Taiga dorama, Big River Drama) is the name NHK gives to the annual year-long historical drama television series it broadcasts in Japan. Beginning in 1963 with the black-and-white Hana no Shōgai, starring kabuki actor Onoe Shoroku II and Awashima Chikage, the network regularly hires different writers, directors, and other creative staff for each taiga drama. The 45-min...

Abdul Latif gelar Dt. Bandaro Sati (1901-1984)[1] adalah politisi dan pejuang kemerdekaan Indonesia dari Bangkinang, Kampar, Riau. Pada masa Hindia Belanda, ia menjabat sebagai anggota Minangkabau Raad (Dewan Minangkabau) mewakili onderafdeeling Bangkinang pada 1938-1942.[2][a] Abdul Latif turut serta dalam Pemerintahan Darurat Republik Indonesia sebagai penyedia logistik ketika rombongan Syafruddin Prawiranegara melalui Kampar pada Desember 1948.[3] Catatan Ka...

 

False claim that Jews killed Christians to use blood in ceremonies Statue of Simon of Trent, an Italian child whose disappearance and death was blamed on the leaders of the city's Jewish community Part of a series onAntisemitism Part of Jewish history and discrimination History Timeline Reference Definitions IHRA definition of antisemitism Jerusalem Declaration on Antisemitism Nexus Document Three Ds Geography Argentina Australia Austria Belarus Belgium Canada Chinese Chilean Costa Rican Eur...

 

Part of a series onBritish law Acts of Parliament of the United Kingdom Year      1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 ...

Cet article est une ébauche concernant une commune d’Ille-et-Vilaine. Vous pouvez partager vos connaissances en l’améliorant (comment ?). Le bandeau {{ébauche}} peut être enlevé et l’article évalué comme étant au stade « Bon début » quand il comporte assez de renseignements encyclopédiques concernant la commune. Si vous avez un doute, l’atelier de lecture du projet Communes de France est à votre disposition pour vous aider. Consultez également la page d�...

 

Panahan nasional aduan beregu putri pada Pekan Olahraga Nasional 2016LokasiLapangan Panahan Jalak Harupat, Kabupaten BandungTanggal23 September 2016Peserta24 atletPeraih medali   Jawa BaratRatna Humaira Khaerunnisa Fadhly, Syifa Nur Afifah Kamal, Diana Kustiana Kamal  Jawa TimurBunga Arbela, Asiefa Nur Haenza, Novia Nuraini   Kalimantan Barat Susilawati, Dwi Rini Pangestuti, Diajeng Zulka Nasyabila Panahan padaPekan Olahraga Nasional XIX Recurve Perorangan putra ...

 

American professional wrestler and television personality Jonny FairplayDalton at the Big Apple Convention in Manhattan, October 17, 2009BornJon Dalton (1974-03-11) March 11, 1974 (age 50)[1]TelevisionSurvivor: Pearl IslandsSurvivor: MicronesiaSpouseMichelle Deighton (2005–2011)Children2 Jonny Fairplay (born Jon Dalton, March 11, 1974)[1] is an American former art consultant, professional wrestler, and reality television personality. He has twice competed on the reality...

Overview of education in Portugal Education in PortugalMinistry of EducationMinisterJoão Marques da Costa (2022–present)National education budget (2006)Budget€ 6.1 billionGeneral detailsPrimary languagesPortugueseSystem typeNationalOriginsUniversity SchoolsPolytechnic SchoolsIndustrial InstitutesPolytechnical InstitutesMajor reorganizationsBologna process12th century2 (established)12903 (established)1837 to 191141852 to 197451970s - 1980s6 (established)1990s and 2000s720078 (established)...

 

Sungai yang mengalir melalui wilayah anggur Portugis, ditetapkan sebagai Situs Warisan Dunia Douro (UK /ˈdʊəroʊ, ˈdʊəruː/, US /ˈdɔːruː, ˈdɔːroʊ, ˈdoʊru/,[1][2][3][4] bahasa Portugis: [ˈdo(w)ɾu]; bahasa Spanyol: Duero [ˈdweɾo]; bahasa Latin: Durius) adalah sungai dengan aliran tertinggi di Iberia. Sungai ini berada di dekat Duruelo de la Sierra di Provinsi Soria, Spanyol tengah, mengalir ke selatan kemudian ke barat melalui bag...

 

Voce principale: Law & Order - Unità vittime speciali. Il cast principale durante l'undicesima stagione:Stephanie March (Alexandra Cabot), B. D. Wong (Dott. George Huang), Tamara Tunie (Melinda Warner), Christopher Meloni (Det. Elliot Stabler), Mariska Hargitay (Det. Olivia Benson), Dann Florek (Cap. Donald Cragen), Richard Belzer (Det. John Munch) e Ice-T (Det. Odafin Tutuola). L'undicesima stagione della serie televisiva Law & Order - Unità vittime speciali, composta da 24 episod...

Голубянки Самец голубянки икар Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ПервичноротыеБез ранга:ЛиняющиеБез ранга:PanarthropodaТип:ЧленистоногиеПодтип:ТрахейнодышащиеНадкласс:ШестиногиеКласс...

 

  「俄亥俄」重定向至此。关于其他用法,请见「俄亥俄 (消歧义)」。 俄亥俄州 美國联邦州State of Ohio 州旗州徽綽號:七葉果之州地图中高亮部分为俄亥俄州坐标:38°27'N-41°58'N, 80°32'W-84°49'W国家 美國加入聯邦1803年3月1日,在1953年8月7日追溯頒定(第17个加入联邦)首府哥倫布(及最大城市)政府 • 州长(英语:List of Governors of {{{Name}}}]]) •&...

 

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)&#...

Навчально-науковий інститут інноваційних освітніх технологій Західноукраїнського національного університету Герб навчально-наукового інституту інноваційних освітніх технологій ЗУНУ Скорочена назва ННІІОТ ЗУНУ Основні дані Засновано 2013 Заклад Західноукраїнський �...

 

American sports executive Jerry ReinsdorfReinsdorf in 2011BornJerry Michael Reinsdorf (1936-02-25) February 25, 1936 (age 88)New York City, U.S.EducationGeorge Washington University (BA)Northwestern University (JD)Known forOwner of Chicago White Sox and Chicago BullsSpouse Martyl Rifkin ​ ​(m. 1956; died 2021)​Children4Awards 6× NBA champion (as owner) 1991, 1992, 1993, 1996, 1997, 1998 with Bulls 1× World Series champion (as owner) ...

 

Para otros usos de este término, véase Glasgow (desambiguación). GlasgowGlasgow / Glesga / Glaschu Ciudad BanderaEscudo Lema: Let Glasgow Flourish(Que Glasgow prospere) GlasgowLocalización de Glasgow en Glasgow GlasgowLocalización de Glasgow en EscociaCoordenadas 55°51′40″N 4°15′00″O / 55.861111111111, -4.25Idioma oficial inglés • Co-oficiales escocés • Otros idiomas gaélicoEntidad Ciudad • País  Reino Unido • Nación consti...

2017 Italian filmThe PrizeDirected byAlessandro GassmanWritten byAlessandro Gassmann, Walter Lupo, Massimiliano BrunoProduced byFulvio Lucisano, Federica LucisanoStarringGigi ProiettiAlessandro GassmannAnna FogliettaRocco PapaleoMatilda De AngelisMarco ZitelliCinematographyFederico SchlatterMusic byMaurizio FilardoProductioncompanyMG Italian International FilmDistributed byVision Distribution ItaliaRelease date 6 December 2017 (2017-12-06) Running time100 minutesCountryItalyLan...

 

PháoPháo vào năm 2021SinhNguyễn Diệu Huyền28 tháng 3, 2003 (21 tuổi)Tuyên Quang, Việt NamQuốc tịch Việt NamNghề nghiệpRapperCa sĩNhạc sĩ sáng tác ca khúcNăm hoạt động2021 – naySự nghiệp âm nhạcNguyên quánThành phố Hồ Chí Minh, Việt NamThể loạiV-pophip hopdance-popNhạc cụGiọng hát Nguyễn Diệu Huyền (sinh ngày 28 tháng 3 năm 2003), thường được biết đến với nghệ danh Pháo hay Pháo No...