Первинний ключ

Первинний ключ — атрибут або набір атрибутів, який однозначно ідентифікує кортеж даного відношення. Первинний ключ обов'язково унікальний.

У реляційних базах даних первинний ключ обирають серед одного з потенційних ключів або ж генерують сурогатний ключ.

Первинний ключ у мові SQL

У мові SQL первинний ключ описують обмеженням PRIMARY KEY, яке задається в операторах DDL (Create, Alter). Наприклад[1],

CREATE TABLE fools(id integer primary key auto_increment, name char(20), folly char(40));

Під час створення первинного ключа рушій бази даних зазвичай перевіряє метадані та дані відповідних стовпчиків (англ. columns) щодо їх відповідності таким правилам:

Стовпчики не повинні допускати значень NULL
Стовпчики первинного ключа неявно набувають обмеження NOT NULL[note 1][2]. Розріджений стовпчик[уточнити] можна використовувати як частину первинного ключа, оскільки вони мають дозволяти значення NULL.
Якщо первинний ключ додається до вже наявної таблиці, то набір значень у визначених стовпчиках має бути унікальним (не містити повторів)
Якщо повтори трапляються, то рушій бази даних не створює обмеження та повертає помилку.

Приклади застосування первинного ключа

Приклад створення таблиці мовою SQL з обмеженням первинного ключа:

CREATE TABLE "Student" (
"id_student" int(120) NOT NULL auto_increment,
"first_name" varchar(120) NOT NULL,
"last_name" varchar(120) NOT NULL,
"birth_date" date,
"address" varchar(255),
PRIMARY KEY ("id_student"));

Інший приклад:

CREATE TABLE "Car" (
"Id_Car" int NOT NULL,
"CarName" varchar(120) NOT NULL,
"Price" float NOT NULL,
"BodyType" varchar(120),
PRIMARY KEY ("Id_Car"));

Для створення обмеження первинного ключа в колонці «Id_Car», коли таблиця «Car» вже існує, використовують наступний сценарій мовою SQL з використанням оператора ALTER TABLE:

ALTER TABLE "Car"
ADD PRIMARY KEY ("Id_Car")

Щоб розподілити обмеження первинного ключа на декілька колонок, доцільно використовувати такий синтаксис SQL:

ALTER TABLE "Car"
ADD CONSTRAINT "PrimaryKey_Car" PRIMARY KEY ("Id_Car", "CarName")

Для видалення обмеження первинного ключа використовують наступний SQL:

ALTER TABLE "Car"
DROP PRIMARY KEY

Примітки

  1. У деяких реалізаціях перевірка на неприпустимість значень NULL не виконується. Наприклад, в SQLite в полях первинного ключа дозволено порожні значення (NULL). Це зумовлено сумісністю з попередніми реалізаціями, у яких обмеження не було.

Джерела

  1. Create-table в MySQL. dev.mysql.com (англійською) .
  2. SQLite Primary Key: The Ultimate Guide To Primary Key. SQLite Tutorial. Процитовано 19 грудня 2018.


Read other articles:

Houari Boumédienneهواري بومدينHouari Boumediene Presiden Aljazair ke-4Masa jabatan19 Juni 1965 – 27 Desember 1978 PendahuluAhmed Ben BellaPenggantiRabah Bitat Informasi pribadiLahir23 Agustus 1932dekat Héliopolis, Provinsi Guelma, AljazairMeninggal27 Desember 1978(1978-12-27) (umur 46)Aljir, AljazairPartai politikDewan Revolusioner (Aljazair)Sunting kotak info • L • B Houari Boumédienne (nama resminya Mohamed Ben Brahim Boukharouba) (23 Agustus 1932...

 

Peta Kabupaten Konawe Selatan di Sulawesi Tenggara Berikut adalah daftar kecamatan dan kelurahan di Kabupaten Konawe Selatan, Provinsi Sulawesi Tenggara, Indonesia. Kabupaten Konawe Selatan terdiri dari 25 kecamatan, 15 kelurahan dan 336 desa dengan luas wilayah 5.779,47 km² dan jumlah penduduk sebesar 306.783 jiwa (2017) dengan sebaran penduduk 53 jiwa/km².[1][2] Daftar kecamatan dan kelurahan di Kabupaten Konawe Selatan, adalah sebagai berikut: KodeKemendagri Kecamatan Jum...

 

Gaya atau nada penulisan artikel ini tidak mengikuti gaya dan nada penulisan ensiklopedis yang diberlakukan di Wikipedia. Bantulah memperbaikinya berdasarkan panduan penulisan artikel. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) SMA Negeri 4 DenpasarInformasiDidirikan29 Juli 1982JenisNegeriAkreditasiANomor Statistik Sekolah301220902026Nomor Pokok Sekolah Nasional50103124Kepala SekolahI Made Sudana, S.Pd, M.Pd.Jumlah kelas10 kelas pada tingkat XII(9 MIA & ...

American politician and businessman (1935–2020) Paul H. O'NeillOfficial portrait, 200172nd United States Secretary of the TreasuryIn officeJanuary 20, 2001 – December 31, 2002PresidentGeorge W. BushDeputyKenneth W. DamPreceded byLawrence SummersSucceeded byJohn W. Snow Personal detailsBornPaul Henry O'Neill(1935-12-04)December 4, 1935St. Louis, Missouri, U.S.DiedApril 18, 2020(2020-04-18) (aged 84)Pittsburgh, Pennsylvania, U.S.Political partyRepublicanSpouseNancy O'Neill...

 

United States Navy officer Captain Crozier redirects here. For the Irish polar explorer, see Francis Crozier. Brett E. CrozierBirth nameBrett Elliott CrozierBorn (1970-02-24) February 24, 1970 (age 54)Santa Rosa, California, U.S.AllegianceUnited StatesService/branchUnited States NavyYears of service1992–2022RankCaptainCommands heldUSS Theodore Roosevelt (CVN-71)USS Blue Ridge (LCC-19)VFA-94Battles/warsIraq WarAwardsLegion of Merit (3) Brett Elliott Crozier (bor...

 

Sepak bola pada Pesta Olahraga Asia 2014LokasiStadion Incheon Munhak, Stadion Sepak Bola Incheon, Lapangan Rugbi Namdong Asiad, Stadion Ansan Wa~, Stadion Goyang, Stadion HwaseongTanggal14 September–2 Oktober 2014Negara30← 20102018 → Sepak bola pada Asian Games 2014 adalah cabang olahraga sepak bola dari Asian Games 2014 yang diselenggarakan di Incheon, Korea Selatan dari 14 September-2 Oktober 2014. Pertandingan pembukaan dimainkan 5 hari sebelum upacara pembukaan. Da...

Norwegian composer, conductor and violinist (1864 - 1935) Not to be confused with John Halvorsen or Johan Magnus Halvorsen. Johan HalvorsenBackground informationBorn15 March 1864Drammen, NorwayDied4 December 1935 (age 71)Oslo, NorwayGenresClassicalOccupation(s)Conductor, pedagogue, violinistInstrument(s)ViolinMusical artist Johan Halvorsen (15 March 1864 – 4 December 1935) was a Norwegian composer, conductor and violinist. Life Born in Drammen, he was an accomplished violinist from a v...

 

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

 

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

 本表是動態列表,或許永遠不會完結。歡迎您參考可靠來源來查漏補缺。 潛伏於中華民國國軍中的中共間諜列表收錄根據公開資料來源,曾潛伏於中華民國國軍、被中國共產黨聲稱或承認,或者遭中華民國政府調查審判,為中華人民共和國和中國人民解放軍進行間諜行為的人物。以下列表以現今可查知時間為準,正確的間諜活動或洩漏機密時間可能早於或晚於以下所歸�...

 

Belgian philosopher (1912–1984) Chaïm PerelmanChaïm PerelmanBornHenio Perelman(1912-05-20)20 May 1912Warsaw, Warsaw Governorate, Kingdom of Poland, Russian EmpireDied22 January 1984(1984-01-22) (aged 71)Brussels, Brussels-Capital Region, BelgiumNationalityBelgian, PolishOther names(mistaken) Charles PerelmanAlma materFree University of BrusselsNotable workTraité de l'argumentation – la nouvelle rhétorique (1958), with Lucie Olbrechts-TytecaInstitutionsUniversité Libre ...

 

Attempt to force broader democracy in the state of Rhode Island Dorr RebellionA polemic applauding Democratic support of the Dorrite cause in Rhode Island, 1844Date1841–1842LocationRhode IslandResult Charterite victoryBelligerents Charterites DorritesCommanders and leaders Samuel Ward King Thomas Wilson Dorr The Dorr Rebellion (1841–1842) (also referred to as Dorr's Rebellion, Dorr's War or Dorr War) was an attempt by residents to force broader democracy in the state of Rhode Island. It w...

Ethnic group Lebanese people in KuwaitTotal population41,775[1] - 106,000[2]Regions with significant populationsKuwait CityLanguagesArabic (Lebanese Arabic), English, FrenchReligionChristianity and Islam Lebanese people in Kuwait have a population exceeding 41,775[1] and other estimates report a total of 106,000 Lebanese in Kuwait. Lebanese people form one of the largest community of non-citizen Arabs in Kuwait. In addition, an increasing number of Lebanese students se...

 

Ada usul agar beberapa konten dari artikel ini dipisahkan menjadi artikel baru berjudul MFE - MediaForEurope. (Diskusikan) Mediaset S.p.A.JenisSocietà per azioniKode emitenBIT: MSFTSE MIB ComponentIndustriMedia massaDidirikan15 Desember 1993; 30 tahun lalu (1993-12-15)PendiriSilvio BerlusconiKantorpusatMilan, ItaliaTokohkunciPier Silvio Berlusconi CEOProdukSiaran gratis dan televisi berbayar siaran televisi Radio Produksi TelevisiPendapatan €3.401 miliar (2018)Laba bersih �...

 

Vacuum tube often used to display images Picture tube redirects here. For the PaintShop Pro image type, see PaintShop Pro § Picture tubes. This article may be too long to read and navigate comfortably. When this tag was added, its readable prose size was 18,000 words. Consider splitting content into sub-articles, condensing it, or adding subheadings. Please discuss this issue on the article's talk page. (June 2023) Cathode-ray tube cross section diagram (not to scale) with its focused a...

ناصر السوحي معلومات شخصية الاسم الكامل ناصر عامر السوحي الميلاد 1974الكويت  الوفاة 27 يوليو 2004 (29 سنة)الكويت مركز اللعب وسط الجنسية كويتي المسيرة الاحترافية1 سنوات فريق م. (هـ.) 1986 – 1995 نادي التضامن 2001-2002 النادي العربي (إعارة) 6 (1) 2002 النجمة (إعارة) المنتخب الوطني 1994–2001 الكويت ...

 

1949 film by George Cukor Edward, My SonOriginal posterDirected byGeorge CukorScreenplay byDonald Ogden StewartBased onEdward, My Son1947 playby Noel LangleyRobert MorleyProduced byEdwin H. KnopfStarringSpencer TracyDeborah KerrIan HunterCinematographyFreddie YoungEdited byRaymond PoultonMusic byJohn WooldridgeProductioncompanyMGM-BritishDistributed byMetro-Goldwyn-MayerRelease dates March 1, 1949 (1949-03-01) (UK) June 2, 1949 (1949-06-02) (US) Running t...

 

兰皮奥内岛Lampiuni兰皮奥内岛地理Pelagie Islands map.png位置地中海坐标35°33′N 12°19′E / 35.550°N 12.317°E / 35.550; 12.317群岛佩拉杰群岛面積1.2平方公里(0.46平方英里)长度0.7千米(0.43英里)宽度0.18千米(0.112英里)最高海拔36米(118英尺)管轄Italy省阿格里真托省人口统计人口无人定居 兰皮奥内岛(西西里語:Lampiuni,義大利語:Lampione)是地中海中部佩拉杰群�...

Location of Essex County in Massachusetts This list is of that portion of the National Register of Historic Places (NRHP) designated in Essex County, Massachusetts. The locations of these properties and districts for which the latitude and longitude coordinates are included below, may be seen in a map.[1] There are more than 450 designated properties in the county, including 26 that are further designated as National Historic Landmarks. The municipalities of Andover, Gloucester, Ipsw...

 

Chinese Buddhist founder of Tiantai For the given name, see Zhiyi (given name). Zhiyi智顗Painting of Śramaṇa Zhiyi.PersonalBorn16 February 538Gong'an County, Hubei, ChinaDied3 August 597(597-08-03) (aged 59)Tiantai County, Zhejiang, ChinaReligionBuddhismNationalityChineseSchoolTiantaiLineage4th generationOther namesChen De'an (陳德安), Master Tiantai (天台大師), Master Zhizhe (智者大師)Dharma namesZhiyiOrganizationTempleWaguan TempleGuoqing TempleSenior postingT...