Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,036

HOME > .NET Framework > Forum > ช่วยให้แนวคิดเรื่อง PK และ FK หน่อยครับ ตอนนี้สับสนมากๆครับ เรื่องการลบข้อมูล



 

ช่วยให้แนวคิดเรื่อง PK และ FK หน่อยครับ ตอนนี้สับสนมากๆครับ เรื่องการลบข้อมูล

 



Topic : 095380

Guest




ปกติเวลาดึง PK ไปใช้งานแล้ว พอจะลบข้อมูล มันจะลบไม่ได้
แต่วันนี้ได้มีโอกาศได้ไปเห็นระบบใหญ่..ใหญ่มากๆ เขามีแต่ PK ไม่มี FK เลย

ช่วยให้ความรู้หน่อยครับว่า ผมควรทำ FK หรือไม่ครับ ค้อนข้างสับสนแล้วตอนนี้ เป็น SQLSERVER นะครับ



Tag : .NET, VS 2010 (.NET 4.x), VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-18 14:43:46 By : ไก่ View : 1219 Reply : 28
 

 

No. 1

Guest


เป็นระบบขายสินค้า ตาม Suppermaket นะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 14:44:24 By : ไก่
 


 

No. 2



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่เคยใช้เหมือนกันอ่ะครับ ^_^
ปกติจะ insert อะไร
ก็เขียนเช็ค master ไว้อยู่แล้ว

ถ้าใช้ FK แล้วให้มันขึ้น error ของมันเอง
มันไม่ค่อยสวยอ่ะครับ T_T"

เวลาจะลบ master ก็ไปเช็ค trans ก่อนอยู่ดี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 17:13:05 By : fonfire
 

 

No. 3

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : fonfire เมื่อวันที่ 2013-05-18 17:13:05
รายละเอียดของการตอบ ::
ถ้าทำแบบนี้ ไม่มีปัญหาต่อการเรียกดูกันหลายตารางใช่ไหมครับ เพราะไม่เชื่อมอะไรเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 18:17:46 By : ไก่
 


 

No. 4

Guest


อะไรคือใหญ่? อะไรคือเล็ก? เอาอะไรมาวัด?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 18:45:00 By : ผ่านมา
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : ผ่านมา เมื่อวันที่ 2013-05-18 18:45:00
รายละเอียดของการตอบ ::
เอาความคิดผมนี้่แหละวัด ใหญ่เล็กแต่ละคนไม่เหมือนกันหรอกครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 18:55:25 By : ไก่
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : ไก่ เมื่อวันที่ 2013-05-18 18:55:25
รายละเอียดของการตอบ ::
... สมองและความคิด สมมุติว่า ท่า วัดด้วย มิลลิกรัม หรือว่า เซ็นติกรรม หรือว่า กิโลกรรม
... เปรียบเทียบกับมาตรฐาน อัตราส่วน x : y = ?


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 19:09:59 By : ผ่านมา
 


 

No. 7

Guest


อะไรคือใหญ่? อะไรคือเล็ก? เอาอะไรมาวัด?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 19:11:13 By : ผ่านมา
 


 

No. 8

Guest


เจอแล้ว ไอ้ขี้โกง 1/1000000

เอาความคิดผมนี้่แหละวัด
โกงแม้กระทั่ง มิลลิกรรม ของตัวเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 19:58:51 By : ผ่านมา
 


 

No. 9

Guest


น่าเบื่อจริงๆคนพวกนี้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 19:59:02 By : ไก่
 


 

No. 10

Guest


เรามีลูกตัวเล็กฯ หลายคน แต่ละคนดื้อฯ ทั้งนั้น เรา ทน และ ทน และทน อยู่กับความ "น่ารำคาญ เบื่อ"

แต่เรา มีความสุขที่อยู่กับสิ่งเหล่านี้ เพราะอะไรรู้ไหม?


เพราะเรา เป็นพ่อ เราเป็นสัตว์ หน้าที่ของเรา ต้องเลี้ยงลูก

และที่เหนือกว่านั้น เรารักลูกของเราทุกฯคน มากกว่าหน้าที่ที่ เราต้องทำ



คนโง่ฯมาร่วมกันคิดว่า ทำอย่างไร เราถึงจะฉลาด
แต่ถ้า เราเจอนักปราชญ์มาบอกว่า เราโง่ เราก็ยอมรับ
และแรา จะ โง่ ตลอดไป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:16:15 By : ผ่านมา
 


 

No. 11

Guest


บอกให้ก็ได้ว่า คนเรามีแต่ หน้า มีแต่ที่ มีแต่ความสุข มีแต่ความเจณิญ
มันก็ไม่แตกต่างกับ เดรัจฉาน แม้แต่สัตว์ ยังเป็นไม่ได้เลย

หายใจทิ้งไปเหอะ สักวันหนึ่งมันก็ไม่เหลือ (แต่ไม่รู้ว่าเมื่อไหร่)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:28:24 By : ผ่านมา
 


 

No. 12



โพสกระทู้ ( 31 )
บทความ ( 0 )



สถานะออฟไลน์


ยกตัวอย่างนะครับ

หากต้องการจะลบข้อมูลจากตาราง Invoice ที่มีการสร้าง FK ในตาราง InvoiceLineItem โดยสั่งแค่

Code (SQL)
delete from Invoice where InvoiceNo = '2555060001'


ที่ SQL Server จะมี Error แจ้งดังนี้ครับ

Error
The DELETE statement conflicted with the REFERENCE constraint "FK_InvoiceLineItem_Invoice". The conflict occurred in database "InvoiceData", table "dbo.InvoiceLineItem", column 'InvoiceNo'.
The statement has been terminated.


เพราะข้อมูลมีการเชื่อมโยงถึงตาราง InvoiceLineItem อยู่ครับ ดังนั้น
วิธีการลบที่ถูกคือต้องสั่งลบตามลำดับครับจาก FK > PK

Code (SQL)
delete from InvoiceLineItem where InvoiceNo = '2555060001'
delete from Invoice where InvoiceNo = '2555060001'


แบบนี้ครับถึงจะลบข้อมูลได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:43:29 By : PizzaCPE23
 


 

No. 13

Guest


เล่าเรื่องจริงให้ฟัง ของผมเองทั้งนั้น (ผมเป็นสัตว์ตัวหนึ่ง ทำได้ขนาดนี้)


วันมะรืนว่าจะไปดูที่ ที่ จ. เชียงราย 30 กว่าไร่ (พึ่งซื้อมาหมาดหมาด 6 ล้านกว่าบาท)
------ มีรถหลายคัน ซื้อเงินสดทั้งนั้น แต่ขี้เกียจขับ นั่งเครื่องบินไปลง จ. เชียงราย ดีกว่า
------ และจะแวะ จ. เชียงใหม่ ไปดูที่เคยซื้อไว้ แถวฯ ม. เชียงใหม่ 3 งาน (แพงฉิบหาย)

------ แวะ จ. ลำปาง ดูที่ของตัวเอง ประมาณ 70 ไร่


อาทิตย์ต่อไปจะไปดูที่ ที่ จ. สระแก้ว 60 ไร่ (ให้เขาเช่าปลูกอ้อย) มานานแล้ว
----- เหนือ ใต้ ติดแม่น้ำ

----- แวะดูที่ ที่ จ. ปราจีนบุรี แถวฯ นิคมอุตสาหกรรม 304
--------- พึ่งแบ่งขายไป ไร่ละ 5 ล้านบาท ได้เงินมา
--------- เอาไว้ลูบหำเล่น 30 กว่าล้านบาทเอง


ยังมีอีกว่ะ ..... เรื่องจริงทั้งนั้น ถามตัวเองดู เงินเดือน > 500,000
จะทำให้เป็นเรื่องจริงอย่างผมได้หรือไม่?



ใครควรหัีวเราะใคร?????
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:47:28 By : ผ่านมา
 


 

No. 14

Guest


ผมเป็นสัตว์ตัวหนึ่ง ทำได้ขนาดนี้?????
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:48:56 By : ผ่านมา
 


 

No. 15

Guest


หัวเราะให้ฟังว่า ที่ตรงนี้เขาขายให้ผม ไร่ละ 2 แสน (โครตถูก)
----- จ. เชียงราย 30 กว่าไร่ (พึ่งซื้อมาหมาดหมาด 6 ล้านกว่าบาท)


[x] เศษ ถี มีเงินแค่ 6 ล้าน ใช้ไม่กี่วันก็หมด +55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:56:01 By : ผ่านมา
 


 

No. 16

Guest


เงินแค่ 6 ล้าน (ขนหน้าแข้งผมไม่ร่วง)
กับ
คนมันขายสมบัติ ของปู่ย่าตายาย ชีวิตนี้มันไม่มีทางเจริญได้
มีแต่เสียงสาปแช่ง ถึงหลาน เหลน โหลน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 20:58:02 By : ผ่านมา
 


 

No. 17

Guest


ผมเล่าเรื่องจริงให้ฟัง
ลองถามตัวเองดู ใครกันแน่ที่น่าเบื่อ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 21:00:38 By : ผ่านมา
 


 

No. 18

Guest


ตอบความคิดเห็นที่ : 9 เขียนโดย : ไก่ เมื่อวันที่ 2013-05-18 19:59:02
รายละเอียดของการตอบ ::
... อยากรู้ไหมว่า ทำไมผมถึงข้ามไปวันมะรืน?
... เพราะว่าวันพรุ่งนี้ ผมนัดเพื่อนเอาไว้ (เจ้าของโรงน้ำแข็ง ที่ใหญ่ที่สุดใน จ.สมุทรปราการ)
... กินเบียร์กันให้สะบายใจ เฉิบ ฯฯฯ เช้า ยัน เย็น
... คน รวย ทำอะไรก็ไม่น่าเกลียด จริงม่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 21:29:23 By : ผ่านมา
 


 

No. 19



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เค้ามีไว้ป้องกันความไม่ถูกต้องและไม่สัมพันธ์กันของข้อมูล ดังนั้น ควรมี ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 21:31:07 By : ikikkok
 


 

No. 20

Guest


ตอบความคิดเห็นที่ : 19 เขียนโดย : ikikkok เมื่อวันที่ 2013-05-18 21:31:07
รายละเอียดของการตอบ ::
... ผมคนดวงซวยครับ ผมรวยอยู่แล้ว รวยจริง แต่โชคร้ายจริงฯ มีแม่ยายรวย > กว่าผมอีก
... ผมมันคนซวยจริงฯ +55555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 22:04:56 By : ผ่านมา
 


 

No. 21

Guest


ตอบความคิดเห็นที่ : 19 เขียนโดย : ikikkok เมื่อวันที่ 2013-05-18 21:31:07
รายละเอียดของการตอบ ::
ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 22:21:57 By : ไก่
 


 

No. 22



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


แป่วววว ไปทะเลกันหมดแล้ววว ^_^"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 22:22:45 By : fonfire
 


 

No. 23

Guest


ตอบความคิดเห็นที่ : 12 เขียนโดย : PizzaCPE23 เมื่อวันที่ 2013-05-18 20:43:29
รายละเอียดของการตอบ ::
... @xxx คุณมั่นใจจริงฯว่า อยากได้แนวทาง/ความคิดเห็น/อื่นฯ ร้อยเอ็ดเจ็ดย่านน้ำ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 22:25:20 By : ผ่านมา
 


 

No. 24

Guest


ตอบความคิดเห็นที่ : 22 เขียนโดย : fonfire เมื่อวันที่ 2013-05-18 22:22:45
รายละเอียดของการตอบ ::
... ผมคุยเรื่องจริงครับ เพื่อนฯ น้องฯ หรือคนที่ผมรู้จักเป็นการส่วนตัว ตายห่าไปเกือบหมดแล้ว
... โดน ระเบิดบ้าง โดนยิงบ้าง เยอะเลย หมาดฯ ก็ จ. ปราจีนบุรี
... อีกไม่นาน ผมก็ตายห่า เช่นเดียวกัน ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 22:30:47 By : ผ่านมา
 


 

No. 25

Guest


ผมไม่ใช่ผู้บริหาร แต่ผมคิดว่าผมเป็นยิ่งกว่าผู้บริหาร (หัวหน้า)


ผมเป็นคนที่ชอบคน กร้าวร้าว คิดแปลกฯ กวนฯ โอ้ย (ทีน) ไม่มีคนชอบ (ไปให้ไกลฯ ทีน)

แต่จริงฯแล้ว กวนทีน มันมีอะไรซ่อนอยู่ นวตกรรมใหม่ฯ หรือ อนาคต ยกตัวอย่างเช่น

โดยปรกติ ผมจะนับ 1, 2, 3, ...
มันก็เป็นไปได้ที่จะนับ สลับกันไป 2, 1, 3, infinity, ...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 22:40:14 By : ผ่านมา
 


 

No. 26

Guest


สอบถามอีกรอบครับ

ถ้าเป็นระบบใหญ่ๆ เขาลบกันยังไงครับ ถ้าไม่มีการ CasCade On Delete/On Update

รบกวนให้ความกระจ่างด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-19 20:57:13 By : ไก่
 


 

No. 27

Guest


ทุกฯอย่าง มันมี 2 ด้าน (ด้านดี/ไม่ดี)

ถ้าเป็นระบบใหญ่ๆ เขาลบกันยังไงครับ ถ้าไม่มีการ CasCade On Delete/On Update
---- เขียนโปรแกรมควบคุมเอาเองครับ (Manual CasCading) อันนี้ต้องจินตนาการ เทียบกับ การขับเครื่องบินโดยสาร
-------- CasCade = ใช้ตารางการบินอัตโนมัติ
-------- Manual Cascade = นักบินเป็นคนควบคุมเอง
-------- ทั้งสองวิธี มีโอกาสที่จะทำให้เครื่องบินตก พอฯกัน ในกรณีที่มีเหตุสุดวิสัย


---- ระบบงานจริงฯ Table (ตาราง) มันลิ้งค์ (เชื่อมโยง) กันอิรุงตุงนัง อย่างน้อยฯก็ > 10 ตารางขึ้นไป ถ้าใช้ CasCade
---- ข้อดีน่าจะมีมากกว่าข้อเสีย


CasCade ใช้ไม่ได้กับระบบงาน HR (ทะเบียนบุคคล)
Table
Employee - ประวัติพนักงาน ---> CasCade On Delete/Update
--- PGD1 - ภงด1
--- PGD1K - ภงด1ก

สมมุติว่า พนักงานคนนั้นลาออก
สมมุติว่า เจ้าหน้าที่ทำการลบ ประวัติของพนักงาน (โดยบังเอิญ)
---- ข้อมูลที่เกี่ยงข้องทั้งหมดของพนักงานคนนี้ หายเกลี้ยง
---- พอถึงสิ้นปี (ภายในเดือน มีนาคม ไม่แน่ใจว่าโดนปรับหรือไม่) เราจะเอาอะไรไปยื่นกับ สัพพกร ล่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 10:24:12 By : ผ่านมา
 


 

No. 28

Guest


ตัวอย่าง Coding Manual Cascade = นักบินเป็นคนควบคุมเอง

ฺDim s(100) As String 'สมมุติว่ามีแค่นี้

s(0) = "Insert into tableXXX (ID, ...) Values (1, ...)"
s(1) = "Insert into tableXXX (ID, ...) Values (2, ...)"
s(2) = "Update TableYYY Set ID = 3, ..."
s(3) = "Delete TableYYY Where ID = 1234"
...
...
...


Begin Transaction

s() ---> RDBMS

If Error Then
RollBack Transaction
Else
Commit Transaction
EndIf

................
Write Log
................
***** ตรวจสอบว่า คำสั่งไหน Success/Error เพราะอะไร?
***** ผมไม่แน่ใจว่า .EDMX/DBML มันตรวจสอบตรงนี้ได้หรือไม่ (ระดับคำสั่งต่อคำสั่ง)
***** ถ้ามันทำได้ ผมคงต้องเปลี่ยนมาใช้แบบนี้บ้าง


*****
กระบวนการทำงานจริงฯ มันซับซ้อนกว่านี้ อันนี้ผมยกตัวอย่างให้ดู เพื่อประกอบความเข้าใจ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 10:39:26 By : ผ่านมา
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยให้แนวคิดเรื่อง PK และ FK หน่อยครับ ตอนนี้สับสนมากๆครับ เรื่องการลบข้อมูล
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่