1樓:匿名使用者
course表怎麼能有2個 primary key ;另外varchar2這個資料型別是自定義的麼?
如果不是,以我的理解,以course表為例,應該這麼寫:
create table course(
cno varchar(10) not null,
cname varchar(20) not null,
tno varchar(20) not null,
constraint pk_course primary key clustered (cno,tno)
)這是sybase的寫法。 mssql 則多加一行 on [primary]。
這應該是學生、教師、課程、成績4個表。學生表中有學號和姓名2個字段,學號為主鍵;教師中有教師號和姓名2個字段,教師號為主鍵;課程表中包含課程號、課程名、教師號,教師和課程可以是多對多的關係,所以主鍵為課程號+教師號;最後乙個成績表包含學號、課程號、成績,同樣,學號和課程號可以是多對多的關係,所以主鍵是學號+課程號。表關係非常明確,只是建表指令碼不對。
2樓:寒默憂傷
create table course(
cno varchar2(10) primary key,cname varchar2(20),
tno varchar2(20),
constraint pk_course primary key (cno,tno)
);你執行過了嗎?這個是有問題的吧?
3樓:匿名使用者
表可以建立但是外來鍵關係不對。
4樓:匿名使用者
這麼亂,重寫一遍吧。注意格式。
5樓:匿名使用者
可以,不過建議參考預設的那個建圖語句,最好還是分配一下空間什麼的
如何在資料庫中建立表與表的關係
6樓:神秘的大騙紙
1/, 最常用的一種: 減少重複資料.表a中擁有外來鍵,表b的資料基本是不允許刪除的.這時選擇對 insert 和 update 強制關係即可.
2/,其次,是增加乙個從屬表. 如果表a刪除一條記錄時,表b中也隨著刪除一條相關聯的記錄,那麼外來鍵關係中,表a的主鍵是表b的外來鍵。這種關係,實際上表b是表a的從屬表(即表a是父表),選擇對 insert 和 update 強制關係時,如果向表b中插入資料,表a中必須已經存在對應的記錄。
選擇級聯刪除相關的字段時,刪除表a中的一條記錄,就會刪除對應的表b中的一條記錄。
資料庫表 多對多的關係怎麼建啊?
7樓:匿名使用者
a表,a_id,a_name,a_tel三個字段。
b表,b_id,b_address,b_sol三個字段。
關聯表,ref_id,a_id,b_id,儲存著ab兩表的id,比如:a有
a0001,zhang3,139555533a0002,li4,1397788888
a0003,wang5,13655566
b有 b0001,shanghai,234b0002,shenyang,332
b0003,chongqing,123
如果想要ab表多對多的話,只需要將關聯表進行增加即可,而ab兩表基本資料不變,
比如:關聯表ref_table:
r0001,a0001,b0002
r0002,a0001,b0001
r0003,a0001,b0003
r0004,a0002,b0003
通過聯合查詢,就可以得到多對多的資料了,而且不破壞基本資料表。
資料庫如何建立表間一對多關係
如何新建資料庫關係圖
8樓:糖糖寳寳
1.選擇表--->某一列--->修改
2.右鍵單擊--- >關係
3.新增--->表和列規範-->選擇表和列4.新建資料庫關係圖
5.只需要按住主鍵 並拖動 到它外來鍵上,就會看到乙個指定關係的對話方塊
9樓:匿名使用者
紅框:在create table 的時候使用外來鍵約束。
不論你建立一對
一、一對多、多對多的關係,關係的兩端都是連線一張表,這方面你可以了解一下e-r圖!
如何設定sql資料庫表與表的關聯關係?
10樓:匿名使用者
sql server management studio
所要設定的表下面的選項,可以新建外來鍵約束、一些約束行為來進行表與表直接的關聯。而且你也可以建立檢視來看表之間的關係 這樣直觀,簡單。
也可以用sql語句。
11樓:匿名使用者
如果是 父子關係, 或者 一對多 關係。
可以通過 建立外來鍵的方式, 在 父表 與 子表之間, 建立乙個關聯關係。
例如:-- 建立測試主表. id 是主鍵.
create table test_main (
id int not null,
value varchar(10),
primary key(id)
);-- 建立測試子表.
create table test_sub (
id int not null,
main_id int ,
value varchar(10),
primary key(id)
);-- 插入測試主表資料.
insert into test_main(id, value) values (1, 'one');
insert into test_main(id, value) values (2, 'two');
-- 插入測試子表資料.
insert into test_sub(id, main_id, value) values (1, 1, 'oneone');
insert into test_sub(id, main_id, value) values (2, 2, 'twotwo');
sql> -- 建立外來鍵(預設選項)
sql> alter table test_sub add constraint main_id_cons foreign key (main_id) references test_main;
table altered.
sql>
sql> -- 測試刪除主表資料. 將出錯 ora-02292: 違反完整約束條件
sql> delete
2 test_main
3 where
4 id = 1;
delete
*error at line 1:
ora-02292: integrity constraint (hr.main_id_cons) violated - child record found
12樓:雲天英雄
在對應的庫下建立對應的表即可
在oracle資料庫中,如何建立表與表之間的關係?
13樓:匿名使用者
就是在表與表之間建立起鏈結就行了,這個鏈結就叫做外來鍵—fc;列入:create table stu(stuid int,sname varchar2(20));
create table score(stid int,cid int);
alter table stu add constraint pk_stuid primary key(stuid);
alter table score add constraint fk_stuid foreign key(stid) references stu(stuid); stuid這個屬性就是foreign key就是外來鍵;他就是鏈結stu表和score表的橋梁。
怎樣用postgresql建表,建資料庫
postgresql的create table語句是用來在任何指定的的資料庫中建立乙個新錶。yiibai.com 語法create table語句的基本語法如下 create table table name column1 datatype,column2 datatype,column3 dat...
資料庫建表時表最多可以有幾個主鍵,幾個外來鍵
乙個表最多只能有乙個主鍵,但外來鍵可以有若干個。主鍵不一定是單個字段,也可以是多個字段組成的聯合主鍵。主鍵在乙個表中只有乙個,但主鍵有兩種,單一的和復合的,想設復合主鍵要先建立約束,外來鍵可以有多個.補充 澄江秋色 的 主鍵只有乙個 但是可以設定為多個字段為主鍵,也即復合主鍵。外來鍵就隨便你自己設定...
資料庫sql語句四表連線,資料庫SQL語句 四表連線
1 如圖所示,開啟了sql server 2008,並建立好了資料庫。然後看當前是否是在自己要建立表的資料庫中。2 如圖,選中好lx資料庫,練習資料庫。3 或者在新建視窗中輸入 use lx,然後選中後執行它,一樣進入到lx資料庫中。如圖所示。4 之前有教過不用 設計資料庫的表,這裡只講用語句建立表...
sql怎麼把資料庫中的表移到另資料庫中
結構一樣的話 insert into 資料庫a.dbo.tablea select from 資料庫b.dbo.tablea 另外 nsert into ddd 欄位1,欄位2,欄位3 select 欄位1,欄位2,欄位3 from aaa,bbb,ccc 插入的字段和查詢的字段數量型別一致 由於你...
C怎麼建立資料庫,用c 如何建立資料庫表?? 急
要用sql server這個軟來做的 用c 如何建立資料庫表?急 第一.sql server 2000建立資料庫表.很簡單.開啟企業管理器.樹狀結構圖開啟至資料庫資料夾.右鍵新建資料庫.資料庫名字自己取.選擇資料檔案和事務日誌的放置地點.最好和自己做的東西放在乙個資料夾下.ok.資料庫建立成功.進入...