多張資料庫表怎麼確定外來鍵和主鍵

2025-05-30 05:35:24 字數 2448 閱讀 5367

1樓:操雪綠偉秋

根據業務邏遲睜輯。

比如學生(學號,姓名,年齡,班級號)

學號主鍵,班級號外來鍵。

班級(班級號,班級名稱)班級號主鍵。

學生表孝扮裡的班級號要參照班級表裡的班級號。

可以建立外來鍵關係。

外來鍵關係主要是在資料增刪改的時候要符合參照完整性約束。

假設班級表裡有3條記錄,班級號分別為

插入學生資訊時,班級號取值要麼為空要巧旦灶麼從中取值。

如果違反參照完整性約束。

插入的時候會有提醒。

sql怎麼在有外來鍵的主鍵表中插資料

2樓:惠企百科

1、建立表test_key_f,並新增主鍵。

create table

create table test_key_f(class_id number , class_name varchar2(20));

alter table test_key_f add constraint p_key_2 primary key (class_id);

2、建立test_key_p表,並引用test_key_f表的class_id鍵為外來鍵,create table test_key_p( id number,class_id number);

alter table test_key_p add constraint f_key2 foreign key (class_id)

references test_key_f (class_id);

3、先在被關聯的外來鍵表中插入資料;

insert into test_key_f values(1001, '班1');

insert into test_key_f values(1002, '班2');

insert into test_key_f values(1003, '班3');

4、再往有外來鍵的主鍵表test_key_p中插入記錄;可以發現資料已插入成功。

insert into test_key_p values(1,1001);

insert into test_key_p values(2,1001);

insert into test_key_p values(3,1002);

insert into test_key_p values(4,1002);

commit;

設定資料庫外來鍵時如何區分那個為主鍵表那個為外來鍵表

3樓:惠企百科

1、首先新建一張表,設定主鍵。

欄位,這個等下要關聯另外表的外來鍵。

資料庫建表時乙個表最多可以有幾個主鍵,幾個外來鍵

4樓:卯楚楚鄒辰

主鍵只有乙個,但是可以設定為多個欄位為主鍵,也即聯合主鍵。

外來鍵就隨便你自己設定了也即可以有多個,可以設定除主鍵以外的其他欄位全部是外來鍵的。

擴充套件資料:1、資料庫的每張表只能有乙個主鍵,不可能有多個主鍵。

2、所謂的一張表多個主鍵,我們稱之為聯合主鍵。

注:聯合主鍵:就是用多個欄位一起作為一張表的主鍵。

3、主鍵的主鍵的作用是保證資料的唯一性和完整性,同時通過主鍵檢索表能夠增加檢索速度。

5樓:胥曉瑤白蓓

主鍵在乙個表中只有乙個,但主鍵有兩種,單一的和複合的,想設複合主鍵要先建立約束,外來鍵可以有多個。

6樓:希青桖

從來沒見過自己的外來鍵跟自己的主鍵關聯呢,我用postgre和mysql試了,你說的情況都是可以的。

那麼問題來了,這樣做意義何在???

資料庫建表時乙個表最多可以有幾個主鍵,幾個外來鍵

7樓:深空遊戲

1、主鍵在族碰乙個表中蠢陵只有乙個,但主鍵有兩種,單一的和複合主鍵,可以設定為多個欄位為主鍵,即複合主鍵。想設複合主鍵要先建立約束,外來鍵可以有多個。

2、只能有乙個主鍵,但是可以有多個唯一索引及普通索引。

3、主鍵只能有乙個。但是,如果你想用多個『唯一索引』(uniqueindex),是可以有多個的。主鍵的作用是保證資料的唯一性和完整性,同時通過主鍵檢索表能夠增加檢索速度。

所謂的一張表多個主鍵,我們稱之為聯合主鍵。

4、就是組合主鍵。這種主鍵主要用在一對多的關係中,如果是在乙個典型的一對多的關係中,某一表定義為組合主鍵後,也意味著它對它的下屬一對多表,也要用組合主鍵方可。用了組合鍵的表相當於是連線其他幾個表的橋樑。

5、乙個表中只能有乙個主鍵,但可以有多個外來鍵。

6、帶穗戚當然可以了。表:table_a,主鍵是a_id表:

table_b,列:b_id,a1_id,a2_id,a3_id那麼:table_b,列:

a1_id,a2_id,a3_id都可以分別是table_a的主鍵a_id的外來鍵。

MySQL資料庫如何鎖定和解鎖資料庫表

第一步,建立資料庫表writer和檢視錶結構,利用sql語句 create table writer wid int 10 wno int 10 wname varchar 20 w varchar 2 wage int 2 第二步,向資料庫表writer插入五條資料,專插入後檢視錶裡屬資料第三步,...

有「學生課程」資料庫,資料庫中包括表

使用t sql語言完成下列操作1 建立 學生 課程 資料庫 將資料檔案和日誌有一個 學生 課程 資料庫,資料庫中包括三個表 1 學生 表1.最討厭這種不加思考發一大堆問題上來,可悲現在的學校,可嘆現在的學生,只會依賴,不會自己研究一下麼 我也知道是資料庫哇 這樣的回答也算是滿意答案,真是的。發問題的...

mybatis怎樣批量操作多張資料表?要求保證資料一致性

只要是一個事務裡,就可以保持資料一致了。與你使用mybatis還是什麼其他框架無關。usegeneratedkeys true mybatis srpingmvc向2張表插入資料如何保證事務一致性 樓主您好 aop給service層中配置事務就好,一個service實現類的一個方法下,分別有兩行da...