成績表裡的學生姓名id和科目id通過外來鍵約束關係學生表和科目表。
建立多對多的關係表 (可以看成兩個一對多)
create table t_sid(
sid int primary key,
id int not null
);create table t_sub_id(
sub_id int primary key,
sub char(200) not null
);create table t_student(
id int primary key,
sname char(200) not null,
s_id int not null,
sub_id int not null,
foreign key (s_id) references t_sid(sid),
foreign key (sub_id) references t_sub_id(sub_id)
);
建立一對一的關係表(想辦法讓外來鍵字段同時有唯一約束):
create table t_person(
id int primary key,
sname char(200) not null,
sage int
);create table t_id(
card_number varchar(18) primary key,
create_date date,
pid int unique,
foreign key (pid) references t_person(id)
)
建立一對多的關係,只需要在多的那張表增加乙個外來鍵字段。
create table t_question(
id int primary key,
detail varchar(1000) not null,
u_id int
);create table t_answer(
id int primary key,
detail varchar(1000) not null,
u_id int,
q_id int
);create table t_accept(
id int primary key,
q_id int unique,
a_id int unique
);create table t_user(
id int primary key,
username char(200) not null
);alter table t_question add constraint fk_1 foreign key (u_id) references t_user(id);
alter table t_answer add constraint fk_2 foreign key (u_id) references t_user(id);
alter table t_answer add constraint fk_5 foreign key (q_id) references t_question(id);
alter table t_accept add constraint fk_3 foreign key (q_id) references t_question(id);
alter table t_accept add constraint fk_4 foreign key (a_id) references t_answer(id);
mysql 關係表 MySQL表關係的理解
關係型資料庫表之間存在各種各樣的聯絡,及一對多,多對一,多對多。這裡主要講下一對多,為什麼要建立表之間的關聯。一對多的定義 一對多關係 一對多關係是關聯式資料庫中兩個表之間的一種關係,該關係中第乙個表中的單個行可以與第二個表中的乙個或多個行相關,但第二個表中的乙個行只可以與第乙個表中的乙個行相關。一...
mysql 表參照關係 MYSQL表關係
表關係 一 外來鍵 foreign key 作用 約束當前表的某列值必須取自於另一張表的主鍵列值 外來鍵所在的列稱之為 外來鍵列 外來鍵所在的表稱之為 外來鍵表 或 子表 被外來鍵列所引用的表稱之為 主表 或 主鍵表 語法 1.建立表的同時指定外來鍵 create table 字段 型別,const...
mysql 關係 MySQL之表關係
mysql表關係 一對多關係 一對多與多對一是乙個概念,指的是乙個實體的某個資料與另外乙個實體的多個資料有關聯關係。舉例,學校中乙個學 院可以有很多的學生,而乙個學生只屬於某乙個學院 通常情況下 學院與學生之間的關係就是一對多的關係,通過外來鍵關聯來實現這種關係。建立學院表 mysql create...