1樓:匿名使用者
1對多來看的話,看成樹狀結構。真要刪除的話,從下往上刪除。刪除到最上面為止。
整個刪除過程作為一個事物來寫。
2樓:
先刪外來鍵所關聯的那個表中的資料,再刪主表的資料
3樓:匿名使用者
先刪除外來鍵表,再刪除主鍵表。
資料庫表的多對多關係 怎麼消除?
4樓:匿名使用者
糾正一抄下,多對多本身就是一種資料庫類
bai型,談不du上消除的。
如:一個老師可以有zhi多個學生,一個學生可dao以有多個老師,這是沒法消除的;
如果想消除不比要多對多關係,如一個學生只能有一個學號,而一個學號只能屬於一個學生,那麼可以確定唯一性,就可以把學號作為此資料庫表的主鍵來進行維護,此情況下就能確保唯一性。
備註:只要資料庫設計合理,出現多對多也不是什麼奇怪的事,所以不用太糾結。
5樓:匿名使用者
直接刪除之間的關聯約束不就好了嗎??
6樓:滿天海晨星
多對bai多關係一般是轉化為一對多關係來du實現,也zhi就是在設計資料庫的dao時候將多對多關係的兩內個表中容間再引入一個關係表,有時候稱之為聯絡實體。然後將參照完整性分別是實在多對多關係的兩個表與聯絡實體表上,查詢的時候進行條件連線即可,這是化解多對多關係正規方法。還有一種就是
實際應用過程中不去引用參照完整性原則,因為參照完整性原則會在一定程度上給開發照成難度,估計這也是xiaozhuimeng這個網友建議的初衷所在。總的來說還是看開發者的使用習慣或者是開發團隊的應用習慣。
7樓:隨o天
那要看錶的具體結構。一般採用拆表,但有些表必須是多對多的關係。
sql語句從主表刪除一條資料,並且把先關聯的多個子表資料也刪除
8樓:匿名使用者
如果建立了主外來鍵約束,那麼這個約束是可以關聯刪除的(建立的時候要加一個引數,這是oracle的寫法,如果你不是oracle我不清楚其他資料庫能不能這樣做)。
建立觸發器,這個所有資料庫都可以。你這裡就是after delete觸發,也是刪除語句,這個是可以的。
9樓:m我們的人的人
delete from table where date in('c','e','f')
結構化查詢語言(structured query language)簡稱sql,結構化查詢語言是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;
用外來鍵關聯刪除,把b表的uid設成外來鍵關聯a表的id,並關聯刪除操作。
用儲存過程,用事務來處理實現。
建立資料庫:create database database-name刪除資料庫
drop database dbname
建立新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
刪除新表:drop table tabname
增加一個列:alter table tabname add column col type
新增主鍵:alter table tabname add primary key(col)
刪除主鍵:alter table tabname drop primary key(col)
建立索引:create [unique] index idxname on tabname(col….)
刪除索引:drop index idxname
建立檢視:create view viewname as select statement
刪除檢視:drop view viewname
10樓:你猜我猜哇擦猜
建議你寫個儲存過程,我寫的一個,讓你參考一下!cardno是自定義的資料型別!用觸發器容易出錯
create procedure delfixuser@cardno cardno
asdeclare @carno carnoselect @carno=車輛號碼 from fixcardindextable
where 卡號=@cardno
delete from allcardindextablewhere 卡號=@cardno
delete from fixcardindextablewhere 卡號=@cardno
delete from fixcardenddatetablewhere 卡號=@cardno
delete from cardpasswordtablewhere 卡號=@cardno
delete from usercarinfotablewhere 車輛牌號=@carno
說明:刪除一個固定使用者記錄,同時從allcardindextable、fixcardindextable、fixcardenddatetable、cardpasswordtable和usercarinfotable表中刪除相應的記錄。
資料庫查詢一對多關係,只列出一條資料
select aaa.bbb.name as bbb name from table3 ccc left join table1 aaa on aaa.id ccc.table1 id left join table2 bbb on bbb.id ccc.table2 id where 1 1 應該...
資料庫中一對一一對多多對多關係是什麼意思
舉個例子 你有3個表 學生表 學生id 學生姓名 課程表 課程id 課程名 成績表 學生id 課程id 分數 班級表 班級id 學生id sql的一對多,多對一,一對一,多對多什麼意思?1 一對多 比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是...
多對多關聯式資料庫必須有三張表嗎,多對多關聯式資料庫必須有三張表嗎
不是的。比如學生表和選課表 就是多對多的關係 一個學生可以選3門課,一門課程可以被多個學生選。但是 只要在學生表裡有選課欄位就可以了 或者在選課表裡有 選擇它的學生欄位就可以了 在關聯式資料庫中,除了一對一,一對多外,還有一個多對多關係.前兩個關係都只需要內兩個表本容身就能表達清楚他們之間的關係,而...