สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial JAVA

01 install Eclipse 02 intro to programming Eclipse 03 condition 04.loop 05.array 05 2 array cont 06 01 function 06 02 function cont 07 object 08 string 09 constructor 10 01 oop 10 02 oop2 11 exception 12 reading file 13 thread 14 generic 15 01 GUI 15 02 GUI2 15 03.GUI3 16 using WindowBuilder 17 event 18 database management system 19 ER diagram 20 Relational 21 Xampp 22 JDBC 23 MVC 24 SQL

แผนภาพ E-R (Entity-Relationship Diagram)

            การเขียนแผนภาพ E-R อยู่ในขั้นตอนของการออกแบบฐานข้อมูล เป็นการจัดข้อมูลต่างๆให้มีระเบียบและมีความสัมพันธ์กัน การเขียนแผนภาพE-R ก็คือการวางแผนให้เห็นภาพโดยรวมเพื่อทำให้การสร้างฐานข้อมูลง่ายและลดข้อผิดพลาด โดยในการเขียนแผนภาพ E-R จะเป็นการแสดงให้เห็นว่า entities และ attributes ใดบ้างรวมถึงสิ่งเหล่านั้นมีความสัมพันธ์กันแบบใด

การเขียนแผนภาพ

            Entity

            คือสิ่งที่เราสนใจ เช่น พนักงาน หนังสือ หรืออาจะเป็นสถานที่ โดยจะเห็นได้ว่า entity นั้นเป็นคำนามที่มีคุณลักษณะได้ ดังนั้นการตั้งชื่อให้กับ entity จะตั้งชื่อด้วยคำนามและเป็นตัวอักษรตัวใหญ่ เช่น STUDENT, EMPLOYEE, STORE, REGISTRATION, HIRING

            Entity จะเขียนอยู่ในรูปกรอบสี่เหลี่ยม                              นอกจากนี้ entity ยังมีอีก 2 แบบ ได้แก่

            1.Strong Entity เป็น entity หลัก ที่สามารถเขียนได้เลย

            2.Weak Entity เป็น entity ที่ไม่ได้เกิดขึ้นเองแต่ต้องอยู่กับ entity หลัก ถ้า entity หลักถูกลบ weak entity จะถูกลบไปด้วย เขียนแทนด้วย

 


รูป 2-1

            เมื่อมีนักเรียนเราก็อาจจะต้องเก็บข้อมูลของผู้ปกครองด้วย ในกรณีที่มีเหตุฉุกเฉินจะได้สามารถติดต่อผู้ปกครองของเด็กได้ ดังนั้น STUDENT_PARENTS จึงเป็น weak entity เพราะเมื่อนักเรียนหายไปก็จะไม่มีการเก็ยข้อมูลของผู้ปกครอง

            Attribute

            คุณลักษณะของ entity  เช่นนักเรียนก็ต้องมี ชื่อ รหัสนักเรียน ที่อยู่ เบอร์โทร โดยจะใช้สัญลักษณ์วงรี โดยที่ primary key จะถูกขีดเส้นใต้ การตั้งชื่อจะตั้งด้วยตัวเล็กแต่ถ้ามีมากกว่าหนึ่งคำให้ใช้ตัวใหญ่สลับ

            หากต้องการจะสร้าง entity ของนักเรียน ก็จะประกอบไปด้วย รหัส ชื่อ และที่อยู่ จะได้รูปดังข้างล่าง

 


รูป2-2

            แต่จะเห็นได้ว่าในที่อยู่นั้นไม่ได้เก็บข้อมูลแค่อย่างเดียวแต่ต้องเก็บ เลขที่ หมู่บ้าน ถนน แขวง เขต จังหวัด ดังนั้นเราจะต้องแตกออกอีก

 


รูป2-3

            Attribute เช่น stuName เรียกว่า simple attribute ส่วน stuAdress เรียกว่า Composite attribute คือประกอบไปด้วย attribute ย่อยๆอีก

            แต่อย่างไรก็ตามยังมี attribute บางอันที่สามารถเก็บข้อมูลได้มากกว่า 1 ค่า เรียกว่า multivalued Attribute เช่น เบอร์โทรของนักเรียนอาจมีได้มากกว่าหนึ่งเบอร์โทร วิธีแก้ปัญหาก็คือการแตกออกเป็น attribute ย่อยๆ เช่น phone_1, phone_2, phone_3 แต่จะเห็นได้ว่าวิธีนี้อาจจะยังไม่มีประสิทธิภาพเพราะการสร้าง attribute ไว้มากๆเพื่อรองรับการใส่ข้อมูลนั้น อาจเป็นการสร้างทิ้งไว้เปล่าๆ ดังนั้นควรแก้สร้าง entity ขึ้นมาให้และให้มีความสัมพันธ์เชื่อมกับ entity ของนักเรียน

 


รูป2-4

            ความสัมพันธ์(Relationship)

            ความสัมพันธ์เป็นสิ่งที่ใช้เชื่อม entity ใช้บอกว่าแต่ละ entity มีความสัมพันธ์กันแบบใด โดยจะใช้สัญลักษณ์คล้ายๆบนไพ่ข้าวหลามตัด และในปลายของแต่ละข้างให้ระบุความสัมพันธ์ของ entity ลงไป ดูจากรูป 2-4 คือมีความสัมพันธ์แบบ หนึ่งต่อหลาย นักเรียนหนึ่งคนมีได้หลายเบอร์โทร

            ความสัมพันธ์แบบที่เป็นปัญหาก็ได้แก่ความสัมพันธ์แบบหลายต่อหลาย(M:N) เพราะเป็นรูปแบบของความสัมพันธ์ที่ทำให้คนดูงงไปด้วย เช่น ร้านยา – ยาหลายชนิดมีลูกค้ามาซื้อได้หลายคน ในขณะที่ ลูกค้าหลายคนก็ซื้อยาได้หลายชนิด ปัญหาแบบนี้คือควรแยกการกระทำของความสัมพันธ์ออกมาเป็นอีก entity หนึ่ง เช่นในที่นี้มี 2 entity ได้แก่ยากับลูกค้ามีการกระทำระหว่างกันคือการซื้อ ก็แยกการซื้อออกมาเป็นอีก 1 entity

 


รูป2-5

 


รูป2-6

Super-type และ sub-type

            จะคล้ายกับ inheritance คลาสแม่คลาสลูก คือมี entity ที่มี attribute ที่ entity อื่นก็จะมี attribute แบบเดียวกัน เช่น entity ของ พนักงานในบริษัท ประกอบด้วย attribute คือ id, name, address, phone แต่บริษัทมีพนักงานหลายๆส่วนที่ทำงานเฉพาะด้านต่างกัน เช่นพนักงานที่เป็นวิศวกร พนักงานฝ่ายขาย พนักงานบัญชี พิสูจน์อักษร หรืออาจมีพนักงาน part time พนักงานทั้งหลายเหล่านี้ก็ต้องมีการเก็บข้อมูลที่เหมือนกับ entity ของ พนักงานในบริษัทคือเก็บ id, name, address, phone แต่ก็ต้องมี attribute เพิ่มเติมเช่น วิศวกร อาจต้องมี attribute คือ ด้านเฉพาะ เงินเดือน ส่วนพนักงานฝ่ายขาย ก็มี attribute ที่เป็นโบนัสจากการขาย และพนักงานพิสูจน์อักษร  ก็มี attribute เช่น ภาษาที่ตรวจได้ ตรวจงานได้วันละกี่หน้า เป็นต้น ในที่นี้ entity ของ พนักงานในบริษัท ถือเป็น super-type ส่วน พนักงานต่างๆเป็น sub-type การเขียน super-type sub-type ใช้แทนด้วยเครื่องหมายยูเนียน (U)

 


รูป2-7



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา