หลังจากติดตั้งและทดสอบการใช้งานในการสร้าง Table หรือ View แบบธรรมดาไปแล้ว (http://systemdevman.blogspot.com/2011/06/mysql-5xx-oracle-22.html)
ซึ่งเป็นการพัฒนาโปรแกรมแบบ Basic ในยุคก่อนนี้เราอาจจะต้องมีเอกสารที่เกี่ยวกับ ER Diagram แสดงความสัมพันระหว่างข้อมูล เพื่อที่จะออกแบบฐานข้อมูลได้อย่างถูกต้องตามการวิเคราะห์ระบบมา (System Analysis) แต่ในยุคนี้การพัฒนาของเครื่องมือที่ทำงานกับฐานข้อมูลมีประสิทธิ์ภาพสูงมากขึ้น มีการนำเอา Diagram และหลักการทางการพัฒนาระบบเข้าสู่ฐานข้อมูลโดยตรง ซึ่งบริษัทผู้ผลิตฐานข้อมูลใหญ่ๆ ไม่ว่าจะเป็น Microsoft และ Oracle ก็ต่างแข่งขันกันพัฒนาในเรื่องนี้ แต่ไม่จำเป็นที่จะต้องใช้เครื่องมือที่บริษัทใหญ่ๆ จำหน่ายในราคาสูงก็สามารถทำได้เทียบเท่า อย่างเช่นโปรแกรม MySQL Workbench ที่ใช้เป็นเครื่องมือสำหรับบริหารจัดการฐานข้อมูล MySQL ไม่ต้องเสียค่าใช้จ่ายใดๆ เป็นลิขสิทธิ์แบบ OpenSource
เริ่มต้นการสร้าง ER Model ด้วย MySQL Workbench
เมื่อเปิดโปรแกรมขึ้นมาให้ดูในส่วนของ Data Modeling ซึ่งอยู่ตรงกลางของหน้าต่าง Home
ให้เลือกที่ Create New ERR Model เพื่อเริ่มสร้าง ER ใหม่
หมายเหตุ
- Create EER Model From Existing Database : คือการสร้าง ER Model จาก Database ที่มีอยู่แล้ว
- Create EER Model From SQL Script : สร้าง ER Model จาก SQL Statement
จะพบหน้าจอของการสร้าง ER Model ใหม่ ให้ดับเบิ้ลคลิ๊กที่ icon Add Diagram
จะมีหน้าจอเป็นกระดาษว่างพร้อมสำหรับการสร้าง ER Diagram
การวาด ER นั้นจะใช้แถบเครื่องมือที่อยู่ด้านริมซ้ายของหน้ากระดาษเป็นหลัก
ผู้เขียนจะลงมือสร้าง Table ก่อน Table นี้จะเป็น Table ที่มีชื่อว่า "PEOPLE" โดยเก็บข้อมูลของบุคคลเอาไว้ และเป็น Table หลัก
กดที่เครื่องมือ TABLE 1 ครั้ง |
ซึ่งในแต่ละช่องจะให้เรากำหนดค่าเริ่มต้นของการทำงาน |
- Schema : ฐานข้อมูลที่อยู่ของ Table หากไม่มีการตั้งชื่อค่าเริ่มต้นจะเป็น mydb
- Engine : เลือกระบบการทำงานหลัก หากไม่กำหนดจะมีค่าเริ่มต้นเป็น InnoDB ก็คือจะมีการจัดการ Transaction ให้ด้วย
- Collation : จะเป็นการกำหนด Character Set
จากนั้นให้นำ Cursor ที่เป็นรูปมือไปคลิ๊กลงบนส่วนของหน้ากระดาษ ก็จะปรากฏเป็น Object Table ขึ้นมา
ให้คลิ๊กเมาท์ปุ่มขวาในบริเวณ Object Table
จะมีแถบรายละเอียดของ Table ขึ้นมาให้ แถบนี้จะเป็นแถบที่ทำการกำหนดค่าทุกอย่างของ Object Table ที่วางลงไปในแต่ละตัว จะมีลักษณะเหมือนกับการสร้าง Table ลงในฐานข้อมูลโดยตรง
Tab แรกคือ Tab Table ใช้กตั้งชื่อ Table และกำหนดค่าเริ่มต้นได้เช่นกัน |
Tab ที่สองคือ Tab Columns ใช้สำหรับสร้าง Column ใน Table |
Tab Indexes เป็นการสร้าง Index ให้กับ Table |
จากนั้นก็ถึงขั้นตอนสุดท้าย คือการใส่ Relation การใส่นั้นไมายากเพียงแค่ไปคลิ๊ก 1 ที ที่เครื่องมือกลุ่มของ Relationship โดนที่ผู้เขียนจะเลือก Relation แบบ 1:1
เมื่อคลิ๊กแล้วให้นำ Cursor ที่เป็นรูปมือไปกดเลือก Column ที่เป็น Relation กัน เพียงเท่านี้โปรแกรมก็จะโยงความสัมพันและสร้าง Foreign Key ให้อัตโนมัติ สุดท้ายก็จะได้หน้าตาของ ER Model ที่มีลักษณะเป็น snowflake schema เรียบร้อบ
แต่เนื่องจากผุ้เขียนต้องการให้ตารางเหล่านี้ถูกสร้างขึ้นในฐานข้อมูลที่มีอยู่แล้ว คือ ฐานข้อมูลที่มีชื่อว่า "test" ผู้เขียนจึงเปลี่ยนแปลงชื่อของ Schema ในแถบ Catalog Tree
คลิ๊กเมาท์ขวาที่ชื่อ แล้วเลือก Edit Schema... จะมีแถบให้แก้ไขปรากฏขึ้น |
จะมีหน้าต่างให้กำหนดค่าต่างๆ ที่ต้องการจะให้ Generate ออกมาเป็น SQL
ในส่วนของ Output SQL Script File เราสามารถกำหนดให้ Generate SQL Script ไปเป็นไฟล์ .sql ตามที่อยู่ที่เลือกได้ หากกำหนดเรีบร้อยแล้วกด Next ถัดไป
หน้าจอถัดมาจะแสดงจำนวนของ Object ต่างๆที่อยู่ใน Er Model ที่สร้างขึ้น เราสามารถเลือกเพียงบางส่วนก็ได้ ผู้เขียนใช้ค่าเริ่มต้นคือ เลือกทั้งหมด (5 Table)
หน้าจอสุดท้ายจะแสดง SQL Script ที่ได้จาก ER Model จะเลือกคัดลอกไปที่ Clipboard หรือจะกด Finish เลยก็ได้
ทดสอบด้วยการปิดการใช้งานในส่วนของ ER Modeling ทั้งหมด แล้วเชื่อมต่อเพื่อจัดการฐานข้อมูลปกติ
ผู้เขียนมีเพียงฐานข้อมูลชื่อ "test" เท่านั้น มี Table อยู่ภายใน 1 Table ชื่อ "mytable"
จากนั้นให้เปิด SQL File ที่บันทึกไว้ในขั้นตอนที่แล้วขึ้นมา โดยไปที่ File > Open SQL Script...
ไฟล์จะถูกเปิดเข้ามาในส่วนของแถบ Query ให้ทำการ Execute ได้เลย |
หมายเหตุ
ในการลบตารางชุดนี้ จะทำการ Drop Table เฉยๆ ไม่ได้อีกต่อไป จำเป็นต้องเอา Foreign Key ที่ออกก่อน หรืออีกทางเลือกคือการลบ Table PEOPLE ออกก่อน เพราะเป็น Relation ของ Table อื่นๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น