當前位置:首頁 » 數據倉庫 » 資料庫邏輯主鍵
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫邏輯主鍵

發布時間: 2022-07-07 08:55:31

1. 什麼是關系型資料庫,主鍵,外鍵,索引分別是什麼

1、關系型資料庫,是指採用了關系模型來組織數據的資料庫,其以行和列的形式存儲數據,關系型資料庫這一系列的行和列被稱為表,一組表組成了資料庫。

2、主關鍵字(primary key)是表中的一個或多個欄位,它的值用於唯一的標識表中的某一條記錄

3、外鍵表示了兩個關系之間的相關聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字

4、在關系資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的值進行排序的一種存儲結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單

2. 關於資料庫主鍵問題

根據你的提問,我認為你所說的是物理主鍵和邏輯主鍵的概念.
一般所言的資料庫中的主鍵是物理主鍵,他可能在系統中由資料庫自動生成,比如一個32位長的隨機字元串.
而邏輯主鍵一般是用來表示一個包含確切意義的並唯一的鍵值,使用者可以根據邏輯主鍵的值清晰的了解到一些信息,但這些信息從物理主鍵是無法了解的.
你上面的表裡是打算用邏輯主鍵當物理主鍵用.這樣做可以,但不推薦.
一般的做法,尤其在大型項目中.建議使用物理主鍵,該主鍵交由資料庫自動生成.並使用自己的邏輯主鍵,需要在程序中判斷自己邏輯主鍵的唯一性,當然如果要求不高的系統可以不做判斷.
優點,在資料庫遷移等過程中,可最大可能的保護你數據的完整性,比如你從一個ORACLE資料庫移動到SEQ SERVER資料庫時,可能物理主鍵會存在這樣或那樣的問題,這時你可以選擇放棄原有的物理主鍵,只移動數據內容並生成新的物理主鍵.
還有點建議,在程序中使用的時候,建議使用物理主鍵來關聯你的數據內容~
答題完畢,希望對你有所幫助.

3. 資料庫的主鍵和外鍵有什麼區別

主鍵:
概念
主關鍵字(主鍵,primary key)是被挑選出來,作表的行的惟一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。 主鍵可以由一個欄位,也可以由多個欄位組成,分別成為單欄位主鍵或多欄位主鍵。
作用
1)保證實體的完整性;
2)加快資料庫的操作速度
3) 在表中添加新記錄時,ACCESS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復。
4) ACCESS自動按主鍵值的順序顯示表中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示表中的記錄。
特點
1) 一個表中只能有一個主鍵。如果在其他欄位上建立主鍵,則原來的主鍵就會取消。在ACCESS中,雖然主鍵不是必需的,但最好為每個表都設置一個主鍵。
2)主鍵的值不可重復,也不可為空(NULL)。

外鍵:

如果公共關鍵字在一個關系中是主關鍵字,那麼這個公共關鍵字被稱為另一個關系的外鍵。由此可見,外鍵表示了兩個關系之間的聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字。

以上是摘抄的,簡單來說,主鍵就是一個關系中作為標識用的,而外鍵是其他關系中的屬性,使用外鍵可避免冗餘。

4. 資料庫中關系模型中的主鍵是什麼

資料庫中,關系模型中的主鍵是對每條數據記錄的唯一標識,不可重復。主鍵可以是屬性集,比如一張表R(A,B,C,D),主鍵為A+B是可以的。

主鍵,即主關鍵字(primary key)是表中的一個或多個欄位,它的值用於唯一地標識表中的某一條記錄。在兩個表的關系中,主關鍵字用來在一個表中引用來自於另一個表中的特定記錄。主關鍵字是一種唯一關鍵字,表定義的一部分。

一個表的主鍵可以由多個關鍵字共同組成,並且主關鍵字的列不能包含空值。主關鍵字是可選的,並且可在 CREATE TABLE 或 ALTER TABLE 語句中定義。

(4)資料庫邏輯主鍵擴展閱讀:

建立主鍵應該遵循的原則:

1、主鍵應當是對用戶沒有意義的。如果用戶看到了一個表示多對多關系的連接表中的數據,並抱怨它沒有什麼用處,那就證明它的主鍵設計地很好。

2、 永遠也不要更新主鍵。因為主鍵除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了。

3、主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。

4、主鍵應當由計算機自動生成。如果由人來對主鍵的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主鍵的動機。

5. 業務主鍵和資料庫主鍵有什麼區別

資料庫主鍵指的是本身表的id,比如可以創建一個自增id當做資料庫主鍵。
業務主鍵是指對於本身表的業務邏輯關系組成的主鍵,比如你這張表示股票日行情表,業務主鍵就是股票+日期。
但是資料庫不允許有兩個主鍵,建議自增id設置為唯一鍵

6. 如果用了邏輯主鍵是否就不能作為外鍵

可以,外鍵都是用其他表得主鍵作為外鍵得
首先要明白主鍵與外鍵是什麼,以下解釋什麼是主鍵與外鍵主鍵(PRIMARY KEY):表通常具有包含唯一標識表中每一行的值的一列或一組列。這樣的一列或多列稱為表的主鍵 (PK),用於強製表的實體完整性。
外鍵(FOREIGN KEY):外鍵 (FK) 是用於建立和加強兩個表數據之間的鏈接的一列或多列。在外鍵引用中,當一個表的列被引用作為另一個表的主鍵值的列時,就在兩表之間創建了鏈接。這個列就成為第二個表的外鍵。
之後再來說邏輯主鍵,邏輯主鍵(代理主鍵):在資料庫表中採用一個與當前表中邏輯信息無關的欄位作為其主鍵,稱為「代理主鍵」。

7. 資料庫裡面的主鍵和外鍵及候選鍵是什麼意思啊

1、主鍵(primary key)吧:一張表(關系)的一個列(屬性)或多個列可以作為主鍵,但是前提是讓這個列作主鍵,這個列就能保證該列下的各個行(元組)的值不能相同,比如說用姓名屬性作主鍵的話,那麼這個主鍵就不一定可以,如果有兩個人是同樣的名字的話,就不能做到該屬性下的各個元組數據的值不同,如果用阿拉伯數字作主鍵就是一個很好的選擇。
2、外鍵(foreign key):一張表(關系)的列(屬性)它同時存在表1和表2中,它不是表1的主鍵,而是表2的主鍵,就可以說他是表1的外鍵。
3、候選鍵(Candidate Key):能唯一標識表(關系)中行(元組)的列(屬性),則稱該屬性為候選鍵,也稱 候選關鍵字 或 候選碼;由此來看候選鍵可以不只一個,還看一看得出的就是主鍵同時它也是候選鍵。

8. 資料庫中主鍵和外鍵是干嗎的

1、主鍵:若某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就是一個主鍵。主鍵不能重復,且只能有有一個,也不允許為空。定義主鍵主要是為了維護關系資料庫的完整性。

2、外鍵: 外鍵用於與另一張表的關聯,是能確定另一張表記錄的欄位。外鍵是另一個表的主鍵,可以重復,可以有多個,也可以是空值。定義外鍵主要是為了保持數據的一致性。

3、簡單來說就是把兩個表關聯起來。同樣的一個名字在兩個表中:如stu(name,sex)和表grade(name,cou),如果name是表stu中的主鍵,並且name也是表grade中的主鍵,那麼表stu中的name就是表grade的外鍵了。

4、外鍵取值規則:空值或參照的主鍵值。插入非空值時,如果主鍵表中沒有這個值,則不能插入。更新時,不能改為主鍵表中沒有的值。刪除主鍵表記錄時,可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。SQL的主鍵和外鍵就是起約束作用。

5、索引的主要作用為了提高查詢速度。主鍵就是唯一索引。外鍵是兩張表之間做連接關系時用的。一般是某一張表的一個外鍵欄位引用另一張表的主鍵。

9. 我想知道資料庫中設置主鍵的作用

1、保證每個實體的完整性;

2、加快資料庫的操作速度,更好地給用戶帶來體驗;

3、在表中添加新記錄時,DBMS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復;

4、DBMS自動按主鍵值的順序顯示表中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示表中的記錄。

當創建或更改表時可通過定義 PRIMARY KEY 約束來創建主鍵。一個表只能有一個 PRIMARY KEY 約束,而且 PRIMARY KEY 約束中的列不能接受空值。

(9)資料庫邏輯主鍵擴展閱讀

主鍵的使用規則介紹:

1、任意兩行都不具有相同的主鍵值;

2、每行都必須具有一個主鍵值(主鍵列不允許NULL值);

3、可以使用多個列作為主鍵,但是所有列值得組合必須是唯一的(但單個列的值可以不唯一);

4、不更新主鍵列中的值;

5、不重用主鍵列的值;

6、不在主鍵列中使用可能會更改的值(例如,供應商的名字,如果供應商更改了名字,你就得改這個主鍵)。

10. 資料庫中的主鍵、關鍵字、索引

資料庫中主鍵是:
主鍵是在一個表上定義的唯一鍵中的一個,而且該鍵被選為最重要的鍵。一個表上只能有一個主鍵。

會自動為主鍵創建主索引。資料庫管理器使用主索引來有效地訪問錶行,且主索引允許資料庫管理器強制主鍵的唯一性。(也可以在非主鍵列上定義索引,以便在處理查詢時高效率地訪問數據。)

關鍵字就是為了方便編程人員在打開資料庫的時候知道每個表所代表的值是什麼。主要起到注釋作用

索引可以提高查詢的速度.
其實主鍵和索引都是鍵,不過主鍵是邏輯鍵,索引是物理鍵,意思就是主鍵不實際存在,而索引實際存在在資料庫中,主鍵一般都要建,主要是用來避免一張表中有相同的記錄,索引一般可以不建,但如果需要對該表進行查詢操作,則最好建,這樣可以加快檢索的速度