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,037

HOME > Community Zone > Forum > ใครรู้สัญลักษณ์ทาง database นี้ว่ามีความต่างกันอย่างไรครับ ?



 

ใครรู้สัญลักษณ์ทาง database นี้ว่ามีความต่างกันอย่างไรครับ ?

 



Topic : 034974



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



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




คือตอนนี้กำลังออกแบบ database โปรแกรมบางอย่างอยู่ โดยใช้โปรแกรม MySQL Workbench น่ะครับผม พยายามหาอ่านข้อมูลจากที่ต่างๆแล้ว
แต่ยังคิดว่าเวลาไปใช้จริงนั้น มันยังดูไม่เคลียร์เท่าไหร่ เลยเผื่อว่าใครที่พอจะยกตัวอย่างการเชื่อมโยงง่ายๆ ให้นำไปเป็นคอนเซ็บได้ก็จะขอบคุณครับ
หมายเหตุ : อ่า ... ห้ามตอบว่า one - many นะครับ อันนั้นผมเข้าใจแล้ว แต่อยากทำความเข้าใจอย่างเคลียร์ๆ กับ identifying(เส้นทึบ) และ non-identifying
น่ะครับ ขอบคุณล่วงหน้าครับ

One_0002

Thanks,
Lovepong



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-11-27 16:37:14 By : rugrinho View : 21044 Reply : 10
 

 

No. 1



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



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

on to many






Date : 2009-11-29 10:23:22 By : maccit
 


 

No. 2



โพสกระทู้ ( 1,528 )
บทความ ( 1 )

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

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


Identifying and Non-Identifying Relationships
Date : 2009-11-30 09:45:12 By : Sek-Artdrinker
 

 

No. 3



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



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


เอ่อ ขอบคุณสำหรับคำตอบครับ... แต่ผมว่าผมเขียนไว้ข้างบนชัดเจนแล้วนะครับว่าผมถามถึงตรงจุดไหน?

อะวาดรูปให้ดูอีกซักรูปก็ได้ครับ จะได้ไม่ต้องบอกว่า 1:M อีก และก็ไม่ต้องบอกว่า 1:1 อีกนะครับ...

Line

ทีนี้คือคำถามนะครับ คือ อยากรู้ว่าถ้ารูปทั้งสองเหมือนกันทุกอย่าง จะต่างกันก็แค่เส้นประ กับเส้นทึบ... อยากจะรู้ว่า
มันมีความหมายต่างกันอย่างไรหร่อครับ?

ปล. อยากได้ลักษณะเขียนตามความเข้าใจจริงๆนะครับไม่ใช่ แนบลิงค์มาให้ไปอ่านอีกทีหน่ะครับ คือว่าได้ลองไปหาอ่านมาเยอะและ... ขอบคุณครับ
Date : 2009-11-30 16:21:56 By : rugrinho
 


 

No. 4



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

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

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


เอ่อ ขอตอบว่างี้ครับ คือจริงๆจาก link ของ คุณ Sek คห.2 ก็อธิบายกระจ่างมากเลยครับ

เส้นทึบ := ความสัมพันธ์ (relationship) แบบ 1:1 หรือ 1:M โดยมี key index เป็นตัวเชื่อม
เช่น
Account (AccountID(pk), AccountNum, AccountTypeID)
PersonAccount (AccountID(pk), PersonID, Balance)
Person(PersonID(pk), Name)


Relationship 1 := Acount A, PersonAccount B on A.AccountID = B.AccountID
Relationship 2 := PersonAccount A, Person B on A.PersonID = B.PersonID

เส้นประ := ความสัมพันธ์ (relationship) แบบ 1:1 หรือ 1:M โดยจาก column ที่ไม่ใช่ key index เชื่อมกับ key index ของอีก table ครับ
เช่น
Example...
Account( AccountID(pk), AccountNum, AccountTypeID )
AccountType( AccountTypeID(pk), Code, Name, Description )


Releationship := Account A, AccountType B on A.AccountTypeID = B.AccountTypeID

ถ้าเป็นผัง db ของทาง Microsoft แบบนี้เค้าน่าจะเรียกว่าแบบ Foreign Key อ่ะครับ
Date : 2009-12-05 23:53:40 By : salapao_codeman
 


 

No. 5



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



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


อ่าครับ อันนั้นเข้าใจ ขอบคุณสำหรับคำอธิบายเพิ่มเติมครับ...

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

tableA

แล้วเราจะรู้ได้อย่างไรครับ ว่าเราควรจะเลือกใช้งานอย่างไรครับ? เช่นถ้าโจทย์เค้าคือมีรูปมาให้ดังภาพด้านบน
แล้วเค้าให้เราเลือก ระหว่างเส้นประ หรือเส้นทึบ.... ผมจะรู้ได้ไงคับว่าใช้เส้นแบบไหนจึงจะถูกครับ?

ขอบคุณครับ
Date : 2009-12-06 12:07:59 By : rugrinho
 


 

No. 6



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

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

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


ขึ้นอยู่กับภาพใหญ่ของระบบ ไม่ใช่หรือครับ table ใน database หนึ่งๆ ออกแบบมาเพื่อระบบอะไรซักอย่างอยู่แล้ว ดังนั้นแต่ละ table ก็จะมีความสามารถ หรือความหมายที่แน่นอนอยู่ของแต่ละ table นี่ครับ ใช่หรือเปล่า?? ทีนี้จากคำถามว่าจากรูปข้างบน จะต้องใช้เส้นประหรือทึบ ขอตอบว่า ไม่ตายตัวครับ ใช้ได้ทั้งคู่ ขึ้นอยู่กับระบบนั้น และอีกอย่างไม่มีกฏตายตัวนี่ว่า table หนึ่งๆ จะมีเส้นเชื่อมความสัมพันธ์แค่เส้นเดียว ทั้งนี้ก็ขึ้นอยู่กับระบบที่เราออกแบบ, ความหมายของ table ที่เราออกแบบครับ

** สรุปคือ คำตอบของผมคือไม่มีรูปแบบตายตัว ขึ้นอยู่กับรายละเอียดอื่นๆประกอบครับ

กรณีตัวอย่างจากใน link ของคุณ Sek ครับ

Example...
Account (AccountID, AccountNum, AccountTypeID)
PersonAccount (AccountID, PersonID, Balance)
Person(PersonID, Name)

จากรายการข้างบนนี้เขียนเป็นรูปได้ อย่างนี้ใช่ป่ะครับ
db_design

คือ ถ้าเป็นการถาม/ตอบ ในข้อสอบ final ก็ต้องดูคำถามให้ละเอียดอ่ะครับ
แต่ถ้าจะออกแบบ table เพื่อระบบใดๆ ซักระบบ ก็ต้องคิดให้รอบคอบอ่ะครับ มองภาพรวมให้ออก table แต่ละ table เป็นแค่องค์ประกอบของภาพใหญ่ เท่านั้น index ก็ต้องเลือกใช้ให้เหมาะสม กับ query ที่เราจะใช้ใน app ของเราเพื่อให้เกิดประโยชน์สูงสุด ก็ไม่แน่ใจว่าไขข้อข้องใจของคุณ lovepong ได้หรือเปล่านะครับ
Date : 2009-12-06 21:48:40 By : salapao_codeman
 


 

No. 7



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



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


โอ้วครับ... ขอบคุณคุณ Codeman ช่วยให้ชัดเจนขึ้นถึงตรงจุดดีครับ ...เพราะว่าในความเป็นจริงในใจผมก็คิดอย่างนั้นเช่นกัน ว่ามันจะเลือกใช้เส้นอะไรก็แล้วแต่เรา เพียงแต่เราจะเลือกใช้ในแบบไหนมากกว่า พอดีตอนนี้ผมก็ได้ออกแบบโปรแกรมระบบการจัดซื้อขึ้นมาอยู่หน่ะนะครับ ก็เลยทำให้เกิดคำถามตั้งแต่ที่เริ่มตั้งกระทู้มา... ยังไงขอบคุณมากๆครับ

สำหรับผู้ที่สนใจหรือ ต้องการจะเริ่มเรียนรู้หรือต้องการจะเข้าใจในเรื่องนี้จริงๆ ผมมีหนังสือมาฝากครับ
ชื่อหนังสือว่า database-Wiley, Beginning Database Design 2006.pdf ถ้าใครสนใจก็ก็ลองไปเสริ์ซหากันได้ครับ ผมว่าเค้าเขียนไว้ดีอ่านง่ายครับ และที่สำคัญ ทุกอย่างเคลียร์ สำหรับ สัญลักษณ์ต่างๆ... concept หรือ แม้กระทั่งเรื่อง identify or non-identify นะครับ....

ขอบคุณทุกคำตอบหลายๆครับ
Date : 2009-12-07 14:33:11 By : rugrinho
 


 

No. 8

Guest


test
Date : 2010-09-01 17:33:06 By : test
 


 

No. 9

Guest


พูดเป็น Index อาจจะดูแล้วงงครัีบ เพราะตัว workbench นั้น โดยปกติแล้ว หากมีการใช้ field ใดเป็น FK มันก็จะสร้าง Index ของ Field นั้นขึ้นมาด้วย เลยอาจจะสงสัยว่า ก็เชื่อมจาก index ไป index แล้ว ทำไมยังเป็นเส้นประ

ประเด็นนี้ดูง่าย ๆ ครับ ให้สังเกตที่ field ที่เชื่อมโยงของทั้ง 2 table คือถ้าเป็น PK ทั้งคู่ ก็จะได้เส้นทึบ แต่ในกรณีที่ข้างใดข้างหนึ่งไม่ใช่ PK มันก็จะได้เป็นเส้นประครับ

วิธีทดสอบง่าย ๆ ครับ ลองสร้างเส้นทึบขึ้นมาโยงจาก PK ไป PK หลังจากนั้นเปลี่ยนจากเส้นทึบเป็นเส้นประ (non-identifying relation) ตัว wb มันก็จะเอา PK ออกไปเลยครับ

หรือวิธีทดสอบอีกอย่างนึงคือ สร้าง Relation ไว้ให้กับ Table ก่อน แล้วลอง Reverse Engineer ดู ก็จะเห็นเส้นประและเส้นทึบตามที่บอกไปข้างบนครับ

แต่มันใช้ประโยชน์เพื่ออะไรนั้น ตอนนี้ยังคิดไม่ออกเลย
Date : 2010-09-01 17:38:05 By : มือใหม่หัด mySQL
 


 

No. 10

Guest


Identifying ถ้ามีการลบข้อมูลจาก table หลัก table ลูกที่เชื่อมด้วยเส้นทึบ จะถูกลบออกด้วย
non-identifying ก็ตรงกันข้าม ถ้ามีการลบข้อมูลจาก table หลัก table ลูกที่เชื่อมอยู่ก็จะไม่ถูกลบ

ตัวอย่างเช่น

สมมติให้มี table users และ table comments โดยที่ มีความสัมพันธ์แบบ 1:m คือ 1 user มีได้หลาย comments
- ดังนั้นถ้าหาก เราเชื่อมความสัมพันธ์แบบ Identifying แล้วทำการลบ user ใน table users ทิ้งไป comments ที่เป็นของ user คนนั้นจะถูกลบออกไปด้วย
- แต่ถ้าหาก เชื่อมความสัมพันธ์แบบ non-identifying ต่อให้เราลบ user ออกจาก table users ข้อมูลที่อยู่ใน table comments ก็ยังคงอยู่ครบ ไม่ถูกลบออกไปด้วย แม้ว่า user เจ้าของ comment นั้นจะถูกลบออกจากฐานข้อมูลแล้วก็ตาม

อธิบายแบบ บ้านๆ ก็คง ประมาณนี้มั้งครับ....
Date : 2013-11-07 09:57:46 By : กรรมกรไซเบอร์
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ใครรู้สัญลักษณ์ทาง database นี้ว่ามีความต่างกันอย่างไรครับ ?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่