วันอังคารที่ 18 ธันวาคม พ.ศ. 2555

Xcode Programming XIV : Core Data ( Part I )

ในบทความที่แล้วเราได้ทำความเข้าใจการวิธีการทำงานของ Core Data กันอย่างง่ายๆ ไปแล้วนะครับ ในส่วนของบทความนี้เรามาลองใช้งานจริงกันดูว่ามันทำงานอย่างไรครับ เริ่มกันเลยดีกว่า


  • New Project >> Single View Application >> ตั้งชื่อ File
ในการใช้งาน Core Data นั้นก็ต้องใช้งาน Core Data Framework ด้วย


  • ทำตามขั้นตอน ดังรูปด้านล่าง


  • พิมพ์คำว่า "coredata" ในช่องค้นหา >> เลือก CoreData.Framework >> Add

Core Data.Framework จะถูกเพิ่มเข้ามาใน Project เรียบร้อยแล้ว หลังจากนั้นเราต้องเพิ่ม File ที่ทำหน้าที่เป็นฐานข้อมูลสำหรับ Project
  • New file >> Core Data >> Data Model >> ตั้งชื่อ File



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


ให้สังเกตมุมขวาล่างตรง Editor Style เป็นการให้เลือกมุมมองในการทำงาน โดยมีมุมมองแบบตาราง และมุมมองแบบแผนภาพ ให้เราลองเพิ่มข้อมูลลงไปโดยการกดที่  Add Entity แล้วสังเกตความแตกต่างของแต่ละมุมมอง 

มุมมองแบบตาราง

มุมมองแบบแผนภาพ

นั่นหมายความว่าเราสามารถเลือกทำมุมมองได้ก็ได้ตามที่ถนัดได้เลยครับข้อมูลจะเป็นชุดเดียวกัน และลองสังเกตว่าปุ่ม  Add Attribute สามารถใช้งานได้แล้วเป็นเพราะเราทำการสร้าง Entity ขึ้นมาแล้วนั่นเอง ในส่วนนี้ต้องมีความเข้าใจเรื่อง DataBase มาด้วยนะครับ

ใครไม่เข้าใจผมจะอธิบายหลักการคร่าวๆ ให้นะครับ ใครเข้าใจข้ามส่วนนี้ไปทำต่อได้เลยครับ

หลักการทำฐานข้อมูล
  1. สร้าง Entity ขึ้นมา มองให้เป็น Class นะครับ
  2. Entity ประกอบด้วย Attribute และ RelationShip
    • Attribute คือข้อมูลที่เราใช้เก็บข้อมูลต่างๆ เสมือนกับตัวแปรต่างๆ ใน Class
    • RelationShip คือการระบุความสัมพันธ์ของ Entity นั้นๆกับ Entity อื่นๆ เพื่อเข้าถึงและใช้งานต่างๆ เหมือนกับเรา #import File อื่นมาแล้วเราสามารถอ้างอิงไปเรียกใช้งานได้นั่นเองครับ

หากเข้าใจแล้ว ลองมากำหนดข้อมูลเพื่อที่จะเรียกใช้งานร่วมกับ Code ดูนะครับ

  • สร้างข้อมูลในฐานข้อมูลดังนี้
    • สร้าง Entity ขึ้นมา 2 Entity ชื่อว่า ChildData และ ParentData
    • ใน ChildData  สร้าง Attribute ขึ้นมา 3 Attributes กำหนดชนิดข้อมูลเป็น Double,  Float และ Integer 32
    • ใน ParentData สร้าง Attribute ขึ้นมา 3 Attributes กำหนดชนิดข้อมูลเป็น Boolean, Date และ String
    • สร้าง Relation ของทั้งสอง Entity จาก ParentData ไปยัง ChildData เป็นแบบ 1 to Meny



ในการสร้างฐานข้อมูลจากมุมมองแบบตารางจะทำได้ง่ายกว่า โดยสามารถกดที่เครื่องหมาย + อันเล็กในแต่ละส่วนเพื่อสร้างได้ทันทีแล้วกำหนดคุณสมบัติต่างๆของ Entity และ Relation ได้โดยตรง แต่ในการสร้างแบบมุมมองรูปภาพ ต้องกดที่ปุ่ม Add Entity หรือกดค้างไว้แล้วเลือก Add RelationShip แล้วกำหนดคุณสมบัติจากหน้าต่างทางด้านขวามือ


ตัวอย่างการกำหนดคุณสมบัติของ Attribute


ตัวอย่างการกำหนดคุณสมบัติของ RelationShip

  • เลือกเครื่องหมายถูกหน้าข้อความ To-Many Relationship คือ Relationship อันนี้จะมีความสัมพันธ์กับ Relationship ที่ชี้ไปเป็น 1 To many
  • Delete Rule เป็น Cascade หมายถึงหากข้อมูลใน Entity นี้ถูกลบไป ข้อมูลใน Entity ที่เกี่ยวข้องก็จะถูกลบไปด้วย


บทความนี้จะเป็นการให้ทดลองใช้งานการสร้างฐานข้อมูลให้คุ้นเคยก่อนนะครับ ลองดูว่าสามารถสร้างและกำหนดค่าอะไรได้บ้าง ทำให้ชำนาญนะครับ

1 ความคิดเห็น:

  1. ขอบคุณสำหรับบทความดีๆนะครับ ได้ความรู้มากมายเลย
    และจะติดตามในบทต่อไปเรื่อยๆนะครับ

    ตอบลบ