ฐานข้อมูลDatabase - ฐานข้อมูลDatabase นิยาย ฐานข้อมูลDatabase : Dek-D.com - Writer

    ฐานข้อมูลDatabase

    ความรู้เกี่ยวกับฐานข้อมูล

    ผู้เข้าชมรวม

    3,032

    ผู้เข้าชมเดือนนี้

    3

    ผู้เข้าชมรวม


    3.03K

    ความคิดเห็น


    0

    คนติดตาม


    0
    เรื่องสั้น
    อัปเดตล่าสุด :  25 ก.ย. 52 / 20:40 น.


    ข้อมูลเบื้องต้น
    ตั้งค่าการอ่าน

    ค่าเริ่มต้น

    • เลื่อนอัตโนมัติ

      ·       ความหมายของฐานข้อมูล

                      ฐานข้อมูล (Database) หมายถึง กลุ่มของข้อมูลที่มีความสัมพันธ์กัน นำมาเก็บรวบรวมเข้าไว้ด้วยกันอย่างมีระบบและข้อมูลที่ประกอบกันเป็นฐานข้อมูลนั้น ต้องตรงตามวัตถุประสงค์การใช้งานขององค์กรด้วยเช่นกัน เช่น ในสำนักงานก็รวบรวมข้อมูล ตั้งแต่หมายเลขโทรศัพท์ของผู้ที่มาติดต่อจนถึงการเก็บเอกสารทุกอย่างของสำนักงาน ซึ่งข้อมูลส่วนนี้จะมีส่วนที่สัมพันธ์กันและเป็นที่ต้องการนำออกมาใช้ประโยชน์ต่อไปภายหลัง ข้อมูลนั้นอาจจะเกี่ยวกับบุคคล สิ่งของสถานที่ หรือเหตุการณ์ใด ๆ ก็ได้ที่เราสนใจศึกษา  หรืออาจได้มาจากการสังเกต การนับหรือการวัดก็เป็นได้ รวมทั้งข้อมูลที่เป็นตัวเลข  ข้อความ  และรูปภาพต่าง ๆ ก็สามารถนำมาจัดเก็บเป็นฐานข้อมูลได้ และที่สำคัญข้อมูลทุกอย่างต้องมีความสัมพันธ์กัน เพราะเราต้องการนำมาใช้ประโยชน์ต่อไปในอนาคต

       

                      ตัวอย่าง

       

      ชื่อฐานข้อมูล

      กลุ่ม ข้อมูล

      บริษัท

       

      -          พนักงาน

      -          ลูกค้า

      -          สินค้า

      -          ใบสั่งสินค้า

      โรงเรียนหรือมหาวิทยาลัย

      -          นักเรียน

      -          อาจารย์

      -          วิชา

      -          การลงทะเบียน

       

       

       

                      ระบบฐานข้อมูล (Database System) หมายถึง การรวมตัวกันของฐานข้อมูลตั้งแต่ 2ฐานข้อมูลเป็นต้นไปที่มีความสัมพันธ์กัน โดยมีวัตถุประสงค์เพื่อเป็นการลดความซ้ำซ้อนของข้อมูล และทำให้การบำรุงรักษาตัวโปรแกรมง่ายมากขึ้น โดยผ่านระบบการจัดการฐานข้อมูล หรือ เรียกย่อ ๆ ว่า DBMS

       

       

      องค์ประกอบของระบบฐานข้อมูล

                      ระบบฐานข้อมูลเป็นเพียงวิธีคิดในการประมวลผลรูปแบบหนึ่งเท่านั้น แต่การใช้ฐานข้อมูลจะต้องประกอบไปด้วยองค์ประกอบหลักดังต่อไปนี้

      1.       แอพลิเคชันฐานข้อมูล (Database Application)

      2.       ระบบจัดการฐานข้อมูล (Database Management System หรือ  DBMS)

      3.       ดาต้าเบสเซิร์ฟเวอร์ (Database Server)

      4.       ข้อมูล (Data)

      5.       ผู้บริหารฐานข้อมูล ((Database Administrator หรือ DBA)

       

      แอพพลิเคชันฐานข้อมูล

      เป็นแอพพลิเคชันที่สร้างไว้ให้ผู้ใช้งานสามารถติดต่อกับฐานข้อมูลได้อย่างสะดวก ซึ่งมี

      รูปแบบการติดต่อกับฐานข้อมูลแบบเมนูหรือกราฟฟิก  โยผู้ใช้ไม่จำเป็นต้องมีความรู้เกี่ยวกับฐานข้อมูลเลยก็สามารถเรียกใช้งานฐานข้อมูลได้เช่น บริการเงินสด ATM

       

      ระบบจัดการฐานข้อมูล

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

      Microsoft Access, FoxPro, SQL Server, Oracle, Informix, DB2 เป็นต้น

       

                      หน้าที่ของระบบจัดการฐานข้อมูล มีดังนี้

      1.       กำหนดมาตรฐานข้อมูล

      2.       ควบคุมการเข้าถึงข้อมูลแบบต่าง ๆ

      3.       ดูแล-จัดเก็บข้อมูลให้มีความถูกต้องแม่นยำ

      4.       จัดเรื่องการสำรอง และฟื้นสภาพแฟ้มข้อมูล

      5.       จัดระเบียบแฟ้มทางกายภาพ (Physical Organization)

      6.       รักษาความปลอดภัยของข้อมูลภายในฐานข้อมูล และป้องกันไม่ใช้ข้อมูลสูญหาย

      7.       บำรุงรักษาฐานข้อมูลให้เป็นอิสระจากโปรแกรมแอพพลิเคชันอื่น ๆ

      8.       เชื่อมโยงข้อมูลที่มีความสัมพันธ์เข้าด้วยกัน เพื่อรองรับความต้องการใช้ข้อมูลในระดับ

      ต่าง ๆ

       

                     

      ดาต้าเบสเซิร์ฟเวอร์

                      เป็นคอมพิวเตอร์ที่คอยให้บริการการจัดการฐานข้อมูล ซึ่งก็คือเครื่องคอมพิวเตอร์ที่ระบบจัดการฐานข้อมูลทำงานอยู่นั่นเอง เพราะฉะนั้นควรเป็นคอมพิวเตอร์ที่มีความรวดเร็วในการทำงานสูงกว่าคอมพิวเตอร์ที่ใช้งานโดยทั่วไป

                      ข้อมูล

                      ข้อมูล คือ เนื้อหาของข้อมูลที่เราใช้งาน ซึ่งจะถูกเก็บในหน่วยความจำของดาต้าเบสเซิร์ฟเวอร์ โยจะถูกเรียกมาใช้งานจากระบบจัดการฐานข้อมูล

                      ผู้บริหารฐานข้อมูล

                      ผู้บริหารฐานข้อมูล คือ กลุ่มบุคคลที่ทำหน้าที่ดูแลข้อมูลผ่านระบบจัดการฐานข้อมูล ซึ่งจะควบคุมให้การทำงานเป็นไปอย่างราบรื่น นอกจากนี้ยังทำหน้าที่กำหนดสิทธิการใช้งานข้อมูล กำหนดในเรื่องความปลอดภัยของการใช้งาน พร้อมทั้งดูแลดาต้าเบสเซิร์ฟเวอร์ให้ทำงานอย่างปกติด้วย

       

      ·       โครงสร้างฐานข้อมูล แบบ Network

      ความหมายของ แบบจำลองข้อมูล (Data model)
      แบบจำลองข้อมูล (data model) คือ โครงสร้างข้อมูลและความสัมพันธ์ระหว่างข้อมูลให้ผู้ใช้เห็นและเข้าใจ
      ประเภทของแบบจำลองข้อมูล
      1. แบบจำลองข้อมูลแบบไฮราคี (Hierarchical data model)
      พัฒนาโดย บ. ไอบีเอ็ม ใช้กับเครื่องคอมพิวเตอร์เมนเฟรม, DBMS ชื่อ IMS/VS (Information Management System/Virtual Storage) ใช้ภาษา DL/1 (Data Language 1)
      - นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (Tree structure)
      - เรคคอร์ดที่อยู่ระดับบนสุดเรียกว่า รูต (Root) หรือ เรคอร์ด พาเรนต์ (parent – parent record) เรคอร์ดระกับถัดมาเรียกว่า เรคอร์ด ไชลด์ (Child record)
      - parent record สามารถมี Child record ได้หลายเรคอร์ด แต่ Child record แต่ละเรคอร์ด จะมี parent record ได้เพียงเรคอร์ดเดียวเท่านั้น

       

       

       

       

       

       

       

       

       

      2. แบบจำลองข้อมูลแบบเครือข่าย ( network data model )
      พัฒนาขึ้นมาเพื่อแก้ปัญหาความสัมพันธ์แบบหลายต่อหลาย (M : N)
      - นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในแบบมัลติลิสต์ (multilist) หรือหลายรายการ
      - มีลักษณะการเชื่อโยงข้อมูลให้เชื่อมเป็นจุด
      - โครงสร้างของแบบจำลองเป็นเซตของเรคอร์ด (Record Set) เรคอร์ดแต่ละชุดประกอบด้วย Owner record และ Member record - Member record สามารถมี Owner record ได้หลายเรคอร์ด




      3. แบบจำลองข้อมูลแบบสัมพันธ์ (Relation data model)
      - นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปรีเลชั่น (Relation) ซึ่งใช้ตารางนำเสนอแทน

      4. แบบจำลองข้อมูลแบบออบเจกต์ (Object-oriented data model)

      -นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปของออบเจกต์ (Object)

       

      ·       ประโยชน์ของฐานข้อมูล

       

      1.       ลดความซ้ำซ้อนของข้อมูล  (Minimal Data Redundancy)      การจัดเก็บข้อมูลอาจ

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

      2.       หลีกเลี่ยงความขัดแย้งของข้อมูลได้  (Consistency of Data)  การจัดเก็บข้อมูลใน

      ลักษณะเป็นแฟ้มข้อมูล  โดยที่ข้อมูลเป็นเรื่องเดียวกัน  อาจมีอยู่ในหลายแฟ้ม  ซึ่งก่อให้เกิดความขัดแย้งของข้อมูลขึ้นได้  ทั้งนี้อาจเนื่องมาจากการแก้ไขข้อมูลที่แฟ้มแห่งหนึ่ง  แต่มิได้แก้ไขข้อมูลเรื่องเดียวกันที่อยู่ในไฟล์อื่น ๆ  ทำให้ข้อมูลนั้น ๆ  แตกต่างกันได้

      3.       จำกัดความผิดพลาดในการป้อนข้อมูลให้น้อยที่สุด (Data Integrity) บางครั้งความ

      ผิดพลาดของข้อมูล อาจเกิดขึ้นจากการป้อนข้อมูลที่ไม่ถูกต้องเข้าสู่ระบบดังนั้นในระบบจัดการฐานข้อมูล  จึงจำเป็นที่จะต้องกำหนดกฎเกณฑ์ในการรับข้อมูลจากการป้อนของผู้ใช้  เพื่อรักษาความถูกต้องของข้อมูลให้มากที่สุดเท่าที่จะทำได้

      4.       สามารถใช้ข้อมูลร่วมกันได้  (Sharing of Data)  เนื่องจากระบบฐานข้อมูลเป็นการ

      จัดเก็บข้อมูลไว้ในที่เกี่ยวกัน  เมื่อผู้ใช้ต้องการเรียกใช้ข้อมูลจากแฟ้มที่แตกต่างกัน  ก็จะสามารถทำได้โดยง่าย

      5.       สามารถกำหนดความเป็นมาตรฐานเดียวกันได้ (Enforcement of Standard) การ

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

      6.       สามารถป้องกันความปลอดภัยของข้อมูลได้  (Security and Privacy Central) 

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

      7.       หากข้อมูลมีความเป็นอิสระ  (Data Independence)  ระบบฐานข้อมูลจะทำหน้าที่

      เป็นตัวเชื่อมโยงกับโปรแกรมประยุกต์  ที่ทำงานกับข้อมูลโดยตรง  การแก้ไขข้อมูล  เช่น  ต้องการเปลี่ยนรหัสไปรษณีย์จากเลข  4  หลัก  เป็นเลข  5  หลักก็จะทำการแก้ไขข้อมูลที่เป็นรหัสไปรษณีย์เฉพาะโปรแกรมที่เรียกใช้รหัสไปรษณีย์เท่านนั้น  ส่วนโปรแกรมอื่นจะเป็นอิสระต่อการเปลี่ยนแปลงนี้

       

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

       

       

      ·       คำศัพท์ที่ใช้ในการจัดการฐานข้อมูล

      ·       แบบจำลองข้อมูล (data model) หมายถึง โครงสร้างข้อมูล ในระดับตรรกะที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลที่ผู้ใช้เห็น

       - สคีมา (schema) หมายถึง โครงสร้างของฐานข้อมู

         - รีเลชัน (relation) คือ โครงสร้างข้อมูลของฐานข้อมูลแบบสัมพันธ์ ซึ่งนำเสนอโดยใช้ตาราง มีลักษณะเป็นแถวและคอลัมน์ และมีเนื้อข้อมูลอยู่ในตาราง
        - อินสแตนซ์ (instances) คือ เนื้อข้อมูล

          - เอนทิตี (entity) หมายถึง สิ่งต่างๆ ที่เราสนใจต้องการเก็บข้อมูลเกี่ยวข้องด้วย ซึ่ง entity อาจเป็นรูปธรรมหรือนามธรรมก็ได้

       - แอตทริบิวต์ (attribute) หมายถึง ข้อมูลที่แสดงคุณลักษณะหรือคุณสมบัติต่างๆ ของ entity หนึ่งๆ เช่น entity นักศึกษา ประกอบด้วย attribute รหัสนักศึกษา, ชื่อ, เพศ และรหัสคณะ เป็นต้น

        - ความสัมพันธ์ (relationship) หมายถึง ความสัมพันธ์ระหว่าง entity สอง entity เป็นความสัมพันธ์ที่สมาชิกของ entity หนึ่งมีความสัมพันธ์ กับอีก entity หนึ่ง ซึ่งแบ่งความสัมพันธ์ระหว่าง entity ได้เป็น 3 รูปแบบ คือ

      ความสัมพันธ์แบบหนึ่งต่อหนึ่ง(One to one relationship) เป็นความสัมพันธ์ที่แต่ละรายการของสมาชิกใน entity A มีความสัมพันธ์กับสมาชิกใน entity B เพียงรายการเดียว ในทางกลับกันแต่ละรายการของสมาชิกใน entity B ก็มีความสัมพันธ์กับสมาชิกใน entity A เพียงรายการเดียว เช่น entity มหาวิทยาลัย และ entity อธิการบดี เป็นต้น

      ความสัมพันธ์แบบหนึ่งต่อหลาย (one to many relationship) เป็นความสัมพันธ์ที่แต่ละรายการของสมาชิกใน entity A มีความสัมพันธ์กับสมาชิกใน entity B หลายรายการ ในทางกลับกันแต่ละรายการของสมาชิกใน entity B จะมีความสัมพันธ์กับสมาชิกใน entity A เพียงรายการเดียว เช่น entity แผนก และ entity พนักงาน เป็นต้น

      ความสัมพันธ์แบบหลายต่อหลาย(many to many relationship) เป็นความสัมพันธ์ที่แต่ละรายการของสมาชิกใน entity A มีความสัมพันธ์กับสมาชิกใน entity B หลายรายการ ในทางกลับกันแต่ละรายการของสมาชิกใน entity B ก็มีความสัมพันธ์กับสมาชิกใน entity A หลายรายการ เช่น นักศึกษา และ entity วิชา เป็นต้น

       

       

       

      ·       การออกแบบฐานข้อมูล ER-Diagram

      ขั้นตอนเกี่ยวกับการออกแบบฐานข้อมูล

      1.       เปลี่ยนความต้องการของผู้ใช้เป็น ER model หรือ Relational model

      โมเดลแบบ ER model (Entity-Relationship Model)

      เอ็นติตี้ (Entity)

      แอททริบิวท์ (Attribute)

      ความสัมพันธ์ระหว่างเอ็นติตี้ (Relationship)

      ดีกรีของความสัมพันธ์ (Degree of a relation)

      โมเดลเชิงสัมพันธ์ (Relational model)

      รีเลชัน (Relation) หรือ Table หรือ file

      ทูเพิล (Tuple) หรือ Row หรือ Record

      แอททริบิวท์ (Attribute) หรือ Column หรือ Field

      2.       การทำนอร์มัลไลซ์ (Normalization)

      3.        กำหนดคุณสมบัติของเขตข้อมูลแต่ละตัว

       

       

      ส่วนประกอบของ ER model
      - เอ็นติตี้ (Entity)
      - แอททริบิวท์ (Attribute)
      - ความสัมพันธ์ระหว่างเอ็นติตี้ (Relationship)
      - ดีกรีของความสัมพันธ์ (Degree of a relation)

       


      ขั้นตอนการเขียน ER model
      3.1 สร้าง entity ขึ้นมาจากความต้องการของผู้ใช้
      3.2 สร้างความสัมพันธ์ (Relation) ระหว่าง entity
      3.3 พิจารณา key ของแต่ละ entity
      3.4 พิจารณาคุณสมบัติของ entity แต่ละตัว

      1.       ขั้นตอนการเขียน ER model
       กำหนด Entity type โดยกำหนดมาจากความต้องการของผู้ใช้ระบบ ว่าจะให้มี Entity สำหรับเก็บข้อมูลอะไรบ้าง

      เอนติตี้(Entity) อาจเรียกว่า file หรือ table  Strong entity คือเกิดขึ้นด้วยตนเองไม่ขึ้นกับ entit

      ใด เช่น นักศึกษา หรืออาจารย์ หรือสินค้า เป็นต้น
       Weak entity คือขึ้นโดยอาศัย entity อื่น เช่น เกรดเฉลี่ย ที่มาจากแฟ้มผลการเรียน หรือ แฟ้มลงทะเบียน หรือ แฟ้มสั่งซื้อ เป็นต้น

      สิ่งต่าง ๆ ที่ผู้ใช้งานฐานข้อมูลจะต้องยุ่งเกี่ยวด้วย เช่น คน แผนก ประเภท การสั่งซื้อ เป็นต้น

      Entities are the principal data object about which information is to be collected. Entities are usually recognizable concepts, either concrete or abstract, such as person, places, things, or events which have relevance to the database. Some specific examples of entities are EMPLOYEES, PROJECTS,  INVOICES. An entity is analogous to a table in the relational model.

      2.       กำหนดความสัมพันธ์ (Relationship type) ที่เกิดขึ้นระหว่าง entity ในลักษณะของกริยา

      ดีกรีของความสัมพันธ์(Degree of relation) มี 4 แบบ
      2.1 Unary relationship คือความสัมพันธ์ภายใน entity เดียวกัน เช่นแต่งงานของพนักงาน แต่ถ้ามีระดับแบบลูกน้อง หัวหน้าจะเรียก Recursive relationship (Unary)
      2.2 Binary relationship คือความสัมพันธ์แบบสอง entity
      2.3 Ternary relationship คือความสัมพันธ์แบบสาม entity
      2.4 Quaternary relationship คือความสัมพันธ์แบบสี่ entity

      3.       กำหนดแอททริบิวท์ (Attribute) ของแต่ละเอนติตี้

      :: แอททริบิวท์(Attibute) อาจเรียก field หรือ column คือ สิ่งที่ใช้อธิบายคุณสมบัติของเอนติตี้ เช่นคุณสมบัติของคน ก็มี รหัส ชื่อ อายุ เพศ เป็นต้น

      Attributes describe the entity of which they are associated. A particular instance of an attribute is a value. For example, "Jane R. Hathaway" is one value of the attribute Name. The domainof an attribute is the collection of all possible values an attribute can have. The domain of Name is a character string.

      A key is the attribute or set of attributes which allow to identify each unique instance of an entity. So no two instances of an entity have or ever can have the same key value. These keys are called candidate keys. (รหัสนักศึกษา กับรหัสบัตรประชาชน)

      Often we have different attributes or combinations of attributes which can serve as key. One key will be choosen and indicated as main key. It is called the primary key. The other keys are the alternate keys. The primary key is often the shortest possible and is the most unlikely to change.

      The primary key is indicated by underlining the name of attributes which form the primary key. In this case the attribute 'Code' has beed underlined.

      The roof, body and trim of a same car can have different colors. The attribute 'color' is called a multivalued attribute. This type of attribute is represented with a double line. (นักศึกษา 1 คนลงได้หลายวิชา)

      The 'age' attribute, indicated with the slashed line, is a derived attribute. It can be computed from the year and the present date. (เกรดเฉลี่ยของนักศึกษา)



      คำต่าง ๆ ที่ควรทราบ

      - คีย์หลัก (Primary key) :: คีย์หลักประจำแฟ้ม

      คุณสมบัติของคีย์หลัก

      ·       ข้อมูลของแอททริบิวท์มีความเป็นหนึ่งเดียว(Uniqueness) กล่าวคือทุก ๆ แถวของตารางจะต้องไม่มีข้อมูลของแอททริบิวท์ที่เป็นคีย์หลักซ้ำกันเลย

      ·       ต้องประกอบด้วยจำนวนแอททริบิวท์ที่น้อยที่สุด(Minimality) ที่จะสามารถใช้เจาะจง หรืออ้างอิงถึงแถวใดแถวหนึ่งในรีเลชันได้

      - คีย์คู่แข่ง (Candidate key) :: คีย์ที่สามารถเป็น Primary key ได้ เช่น รหัสบัตรประชาชน หรือรหัสผู้เสียภาษี

      - คีย์สำรอง (Alternate key) :: คีย์ตัวอื่น ๆ ในตารางหลังจากเลือก primary key แล้ว

      - คีย์นอก (Foreign key) :: คีย์ตัวอื่น ๆ ในตารางหลังจากเลือก primary key แล้ว

      - คีย์ร่วม (Composite key) :: สามารถแยกออกไปได้อีก เช่น ที่อยู่

      - Composite attibute :: สามารถแยกออกไปได้อีก เช่น ที่อยู่

      - Atomic attibute :: ไม่สามารถแยกออกไปได้อีก เช่น นามสกุล

      - Multivalued attibute :: อาจมีหลายค่าได้ เช่น สีรถ

      - Derived attibute :: ไม่มีค่าแน่นอนของตน แต่ขึ้นกับค่าอื่น เช่นอายุ ขึ้นกับปีเกิด และปีปัจจุบัน

      - Entity type:: ชื่อของ entity เช่น course (courseno,coursename)

      - Entity instance:: ค่าภายในของ entity เช่น bcom101,Introduction to computer

       

      4.       คาร์ดินัลลิตี้ และปาร์ติซิเปชั่นของความสัมพันธ์ (Cardinality and participation of relationship)

      4.1 คาร์ดินัลลิตี้ของความสัมพันธ์ (Cardinality of Relationship)

      :: แต่ละเอนติตี้มีความสัมพันธ์ต่อกัน โดยมีคำกริยามาเชื่อมระหว่างแต่ละเอนติตี้

      ·       One-to-one relationship ความสัมพันธ์แบบ 1 ต่อ 1

      เช่น คนขับกับรถ หรือครูใหญ่กับโรงเรียน เป็นต้น

      ·       One-to-many relationship ความสัมพันธ์แบบ 1 ต่อหลายข้อมูล

      เช่น ลูกค้ากับหมายเลขโทรศัพท์มือถือ หรือ อาจารย์ที่ปรึกษากับนักเรียน

      ·       Many-to-many relationship ความสัมพันธ์แบบหลายข้อมูล ต่อหลายข้อมูล

      เช่น นักเรียนกับวิชาที่ลงทะเบียน หรือ คนงานกับโครงการสร้างบ้าน

       

      4.2 ปาร์ติซิเปชั่นของความสัมพันธ์ (Participation of relationship)

      :: ความสัมพันธ์ระหว่าง entity

      1. Total หรือ Mandatory participation (ต้องมี จะใช้เส้นคู่)

      2. Partial หรือ Optional participation (เลือกได้ จะใช้เส้นเดียว)

      5. ขั้นตอนการ Normalization

      5.1 เปลี่ยนตารางที่ยังไม่เคย Normalization เป็น First Normal Form หรือ 1NF

      วิธีพิจารณา คือ แยกข้อมูลเป็นระเบียน โดยไม่มีการจัดกลุ่ม

      ตารางที่ไม่ผ่านการ normalization

      orderid
      305

      orderdate
      31/01/47

      productid
      432
      455
      467

      quan
      20
      2
      1

      ตารางที่ผ่านการ normalization ในระดับ 1NF

      orderid

      orderdate

      productid

      quan

      305

      31/01/47

      432

      20

      305

      31/01/47

      455

      2

      305

      31/01/47

      467

      1


      5.2 เปลี่ยนจาก 1NF เป็น 2NF(Second Normal Form) คือการเปลี่ยนตารางที่มีปัญหา 4 ประการ

      วิธีพิจารณาเปลี่ยน 1NF เป็น 2NF คือ ไม่มี non key ตัวใด ไม่สัมพันธ์กับ primary key (ให้พิจารณาเฉพาะ non key และ primary key)

      สิ่งที่ได้จากตาราง 1 ตาราง จะแตกออกมาเป็นหลายตาราง

         5.2.1 แก้ไขข้อมูล ต้องแก้หลายระเบียน

         5.2.2 มีข้อมูลเดียวกันในหลายระเบียน อาจขัดแย้งกันได้

         5.2.3 การเพิ่มข้อมูลทำได้ยาก

         5.2.4 การลบข้อมูลทำได้ยาก
      ท่านลองพิจารณา Schema ของตารางนี้ว่าจะแยกได้กี่ตาราง
      จากorderid,custid,custname,date,proid,proname,price,quantity,categoryid,categoryname เป็น orders (orderid,custid,custname,date,proid,proname,price,quantity)
      เป็น categories (categoryid,categoryname)
      เหตุที่แยก categories ออกมา เพราะ categoryid ไม่สัมพันธ์กับ orderid แต่สัมพันธ์กับ proid โดยตรง จึงต้องแยกออกมา

      5.3 เปลี่ยนจาก 2NF เป็น 3NF(Third Normal Form) คือแก้ปัญหายังไม่หมด อาจยังมีข้อมูลที่มีปัญหาอีก จึงต้องทำ 3NF

      วิธีพิจารณาเปลี่ยน 2NF เป็น 3NF คือ ไม่มี non key ตัวใด ขึ้นอยู่กับ non key ตัวอื่นใน entity เดียวกัน (ให้พิจารณาเฉพาะ non key และ non key)
      จาก orders (orderid,custid,custname,date,proid,proname,price,quantity)
      เป็น orders (orderid,custid,date)
      เป็น customers (custid,custname)
      เป็น order details (orderid,proid,price,quantity)
      เป็น products (proid,proname)


      ตัวอย่าง 5.1 ตารางที่ยังไม่ทำ normalization (จากเอกสารของผู้ใช้ที่ส่งให้นักวิเคราะห์)
      เป็นตารางการสั่งซื้อ ให้ท่านลองนำไปทำ normalization

      orderid
      301

      orderdate
      15/12/46

      productid
      401
      402

      quan
      2
      5

      302

      16/12/46

      402
      405
      406

      4
      4
      1

      ตัวอย่าง 5.2 ตารางที่ยังไม่ทำ normalization (จากเอกสารของผู้ใช้ที่ส่งให้นักวิเคราะห์)
      เป็นตารางเงินเดือน ให้ท่านลองนำไปทำ normalization

      saleid
      101



      salesalary
      2000

      saleposition
      sale

      custid
      201
      202
      203
      204

      custname
      tom
      dang
      boy
      girl

      ตัวอย่าง 5.3 ใบเสร็จ 2 ใบ เลขที่ A0001 และ A0002 (ให้ท่านลองนำไปทำ normalization)
      ตัวอย่างนี้ได้รับการเสนอแนะจาก sudomvon@minebea.co.th

                                    Invoice No.:      A0001

                                    Date:        24/10/2004

      Sold to: ABC company

      Item                    Quantity    UnitPrice   Amount

      Pen                       50        3           150

      Book                     100        5           500

      Ruler                     20        2            40

                                          Total       690


       

                                    Invoice No.:      A0002

                                    Date:       24/10/2004

      Sold to: XYZ company

      Item                    Quantity    UnitPrice   Amount

      Pen                     100         3           300

      Book                    120         5           600

      Ruler                    50         2           100

                                          Total      1000

      การทำ Normalization ของตัวอย่าง 5.3 (ได้รับคำแนะนำจาก อ.อมรทิพย์ rung@yonok.ac.th)

      การเริ่มต้นทำ normalization ต้องนำข้อมูลมาสร้าง ตารางเริ่มต้น ซึ่งเป็นขั้นตอนก่อนการทำ 1NF

      โดยไม่เขียน amount และ total เพราะเป็นค่าที่เกิดจากการคำนวณเท่านั้น

      ตาราง temp

      A0001,24/10/2004,ABC  company,Pen,50,3

      A0001,24/10/2004,ABC  company,Book,100,5

      A0001,24/10/2004,ABC  company,Ruler,20,2

      A0002,24/10/2004,XYZ  company,Pen,100,3

      A0002,24/10/2004,XYZ  company,Book,120,5

      A0002,24/10/2004,XYZ  company,Ruler,50,2

      การทำ 1NF ของ ตัวอย่าง 5.3
      นำตารางเริ่มต้นมาจัดการเรื่อง multivalue เช่น คนชอบกินหลายอย่าง หรือการเพิ่ม key ประกอบข้อมูลที่อาจซ้ำ

      ตัวอย่างนี้เพิ่มรหัสลูกค้า และรหัสสินค้า เป็น key เพราะคิดว่า ชื่อลูกค้า และชื่อสินค้า อาจมีโอกาสซ้ำกันได้ และไม่เหมาะที่จะเป็น key

      ตาราง tempoforder

      A0001,24/10/2004,101,ABC  company,201,Pen,50,3

      A0001,24/10/2004,101,ABC  company,202,Book,100,5

      A0001,24/10/2004,101,ABC  company,203,Ruler,20,2

      A0002,24/10/2004,102,XYZ  company,201,Pen,100,3

      A0002,24/10/2004,102,XYZ  company,202,Book,120,5

      A0002,24/10/2004,102,XYZ  company,203,Ruler,50,2

      การทำ 2NF ของ ตัวอย่าง 5.3
      แยกตาราง tempoforder เป็นหลายตาราง และทุกตารางมี primary key ที่มีการตรวจสอบการขึ้นตรงอย่างถูกต้อง

      primay key คือ รหัสใบสั่งซื้อ

      ตาราง invoid_1

      A0001,24/10/2004,101,ABC  company

      A0002,24/10/2004,102,XYZ  company

      primay key คือ รหัสใบสั่งซื้อ และรหัสสินค้า

      ตาราง invoid_2

      A0001,201,50,3

      A0001,202,100,5

      A0001,203,20,2

      A0002,201,100,3

      A0002,202,120,5

      A0002,203,50,2

      ตาราง product เพราะราคาขึ้นกับรหัสสินค้า

      primary key คือ รหัสสินค้า

      ตาราง product

      201,Pen,3

      202,Book,5

      203,Ruler,2

      การทำ 3NF ของ ตัวอย่าง 5.3

      ตาราง invoid_1 เพราะชื่อลูกค้าไม่ขึ้นกับรหัสใบสั่งซื้อ จึงต้องแยกไปทำตาราง customer

      primay key คือ รหัสใบสั่งซื้อ

      ตาราง invoid_1

      A0001,24/10/2004,101

      A0002,24/10/2004,102

      ตาราง customer เพราะชื่อลูกค้าไม่ขึ้นกับ รหัสใบสั่งซื้อ แต่ขึ้นกับรหัสลูกค้า

      primay key คือ รหัสลูกค้า

      ตาราง customer

      101,ABC  company

      102,XYZ  company

      primay key คือ รหัสใบสั่งซื้อ และรหัสสินค้า เพราะ ปริมาณ และราคาต้องขึ้นกับ key 2 ตัวนี้

      ตาราง invoid_2

      A0001,201,50,3

      A0001,202,100,5

      A0001,203,20,2

      A0002,201,100,3

      A0002,202,120,5

      A0002,203,50,2

      ตาราง product เพราะราคาขึ้นกับรหัสสินค้า

      primary key คือ รหัสสินค้า

      ตาราง product

      201,Pen,3

      202,Book,5

      203,Ruler,2

       

       

       

       

       

       

      ·       ส่วนประกอบของโปรแกรม Access

      หมายเลย 1             แถบชื่อเรื่อง (Tltle Bar) แถบแสดงชื่อโปรแกรมและชื่อแฟ้มข้อมูล

      หมายเลย 2             แถบเมนู (Manu Bar) แถบรวมคำสั่งที่ใช้งานทั่งหมดในโปรแกรม

      หมายเลย 3             แถบเครื่องมือ (Tool Bar) แถบไอคอนคำสั่งที่ใช้งานประจำหรือที่สำคัญใช้งานบ่อยๆ

      หมายเลย 4             วินโดว์ฐานข้อมูล (Database Windows) ใช้ในการทำงาน

      หมายเลย 5             แถบแสดงสถานะ (Status Bar)

       

       

       

       

       

       

       

       

       

       

       

      องค์ประกอบของแถบวัตถุในฐานข้อมูล

                    สำหรับเก็บข้อมูล

                    สำหรับดึงข้อมูลที่ได้จากการค้นหาตามเงื่อนไข

                    สำหรับแสดงข้อมูลที่ได้จากตารางหรือแบบสอบถาม

                    คล้ายๆ กับฟอร์ม แต่ข่อมูลที่แสดงออกมาแก้ไขไม่ได้

                    เป็นทางลัดไปยัง data access pages

                    เป็นชุดคำสั่งหรือขั้นตอนง่ายๆ ให้เลือกใช้

                    เป็นโปรแกรมสำเร็จรูปภาษา Access Basic

       

      ·       วธีการสร้างตาราง

      ตารางข้อมูล (Table) คือ ออบเจ็กที่ใช้สำหรับจัดเก็บข้อมูลในระบบฐานข้อมูลของ Microsoft Access ซึ่งส่วนใหญ่ ในหนึ่งฐานข้อมูล เรามักจะแบ่งตารางข้อมูลออกเป็นหลาย ๆ ตาราง ทั้งนี้ ขึ้นอยู่กับข้อมูลที่ต้องการจัดเก็บในระบบ

      ตัวอย่างเช่น
      คุณต้องการจัดเก็บ ข้อมูลสินค้า, ข้อมูลลูกค้า และข้อมูลผู้จัดจำหน่าย ไว้ในฐานข้อมูลเดียวกัน
      ก็จะแบ่งตารางข้อมูล (เทเบิล) ออกเป็น 3 ตาราง คือ
      1. ตารางข้อมูลสินค้า
      2. ตารางข้อมูลลูกค้า
      3. ตารางข้อมูลผู้จัดจำหน่าย

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

       

       

      :: ขั้นตอนการสร้างตารางข้อมูล

      1.                        คลิกเลือกออบเจ็ก Tables

      2.                        คลิกปุ่ม New เพื่อสร้างตารางข้อมูลใหม่

      3.                        จะปรากฏไดอะล็อก เพื่อเลือกวิธีการสร้างตารางข้อมูลใหม่
      ซึ่งมีให้เลือกทั้งหมด 5 วิธี ได้แก่

      Datasheet View คือ การสร้างตารางข้อมูลใหม่ ในมุมมองแบบ Datasheet

      Design View คือ การสร้างตารางข้อมูลใหม่ ในมุมมอง Design

      Table Wizard คือ วิซาร์ดที่ช่วยกำหนดขั้นตอนการสร้างตารางข้อมูลโดย Access ได้จัดเตรียมตารางข้อมูลสำเร็จรูป ไว้ให้เลือกใช้มากมายตามวัตถุประสงค์ในการจัดเก็บข้อมูลที่คุณต้องการ

      Import Table คือ วิซาร์ดที่ช่วยให้คุณนำข้อมูลจากฐานข้อมูลภายนอกหรือไฟล์ข้อมูลอื่น ๆ เข้ามาบันทึกลงยังฐานข้อมูลปัจจุบัน

      Link Table คือ วิซาร์ดที่ช่วยให้คุณเชื่อมโยงข้อมูลระหว่างฐานข้อมูลปัจจุบัน กับฐานข้อมูลภายนอก หรือไฟล์ข้อมูลอื่น ๆ

      สำหรับตัวอย่างนี้ ผู้เขียนเลือกการสร้างตารางข้อมูลใหม่ ในมุมมองแบบ Datasheet

      4.                        คลิกปุ่ม OK เพื่อเริ่มขั้นตอนการสร้างตารางข้อมูลใหม่

       

      จะปรากฏ Datasheet (ดาต้าชีต) ดังรูป

      วิธีการสร้างตารางข้อมูล ในมุมมองแบบ Datasheet นี้คุณจะต้องป้อน ตัวอย่างข้อมูล ลงในคอลัมน์ที่ต้องการจากนั้น เมื่อบันทึกตารางข้อมูลแล้ว Microsoft Access ก็จะนำข้อมูลดังกล่าว
      ไปกำหนดเป็นโครงสร้างของตารางข้อมูลให้โดยอัตโนมัติ

      ทั้งนี้ Microsoft Access ได้จัดเตรียมคอลัมน์สำหรับป้อนข้อมูลมาให้ จำนวน 10 คอลัมน์
      ซึ่งหากข้อมูลที่คุณต้องการบันทึก มีมากกว่า 10 คอลัมน์คุณก็สามารถเพิ่มคอลัมน์ได้อีก โดย

      1. คลิกเมาส์ขวาที่บริเวณหัวคอลัมน์
      2. คลิกเลือกคำสั่ง Insert Column       

      จะได้คอลัมน์เพิ่มขึ้นใหม่ ดังรูป         

      5.                        ป้อนตัวอย่างข้อมูล ลงในคอลัมน์ตามต้องการ

       

      6.                        ตั้งชื่อคอลัมน์ โดยคลิกเมาส์ขวาบริเวณหัวคอลัมน์ที่ต้องการตั้งชื่อ

      7.                        คลิกเลือกคำสั่ง Rename Column

      8.                        พิมพ์ชื่อคอลัมน์ เสร็จแล้วกด Enter

      ตั้งชื่อคอลัมน์ ให้ครบทุกคอลัมน์ (เฉพาะคอลัมน์ที่มีข้อมูล)

      9.                        จากนั้นทำการบันทึกตารางข้อมูล โดยคลิกที่เมนู File > คลิกเลือกคำสั่ง Save

       

      10.                    ตั้งชื่อตารางข้อมูล (ในฐานข้อมูลเดียวกัน จะใช้ชื่อตารางข้อมูลซ้ำกันไม่ได้)

      11.                    คลิกปุ่ม OK เพื่อยืนยันการบันทึกตารางข้อมูล

      12.                    จะปรากฏไดอะล็อก แจ้งเตือนว่าคุณยังไม่ได้กำหนดคีย์หลัก (Primary key)
      พร้อมกับถามยืนยันว่า ต้องการให้แอคเซส สร้างคีย์หลักให้คุณทันทีหรือไม่
      ในขั้นตอนนี้ ให้คลิกปุ่ม No หากไม่ต้องการให้แอคเซสสร้างคีย์หลักค่ะ

      13.                    เมื่อบันทึกตารางข้อมูลเรียบร้อยแล้ว จะได้ผลลัพธ์ดังภาพ
      จากนั้นคลิกที่เมนู View > คลิกเลือกคำสั่ง Design View
      เพื่อดูโครงสร้างของตารางข้อมูล ที่แอคเซสกำหนดให้

      14.                    จากภาพด้านล่าง เป็นโครงสร้างของตารางข้อมูล ซึ่งมีส่วนประกอบที่สำคัญคือ
      Field Name, Data Type, Description และ Field Properties
      โดยหลังจากที่แอคเซส ได้กำหนดโครงสร้างต่าง ๆ ให้แล้ว
      คุณก็ยังคงสามารถแก้ไขโครงสร้างนี้ได้ด้วย

       

       

       

       

      ·       การกำหนดคุณสมบัติของ ข้อมูล

      ชนิดข้อมูล Text
      ขนาดเขตข้อมูล
      ค่าโดยปริยาย (Default Value) จะเป็น 50 ตัวอักษร เราสามารถกำหนดได้ตามต้องการโดยเปลี่ยนค่า ในกรอบขนาดเขตข้อมูล เพื่อเป็นการตรวจสอบไม่ให้ป้อนค่าเกินขนาดที่กำหนด และลดการใช้หน่วยความจำ

      รูปแบบการป้อนข้อมูล เราสามารถกำหนดรูปแบบ ตลอดจนตัวอักขระตัวยึดตำแหน่ง ทำให้การป้อนข้อมูล สะดวก รวดเร็วขึ้น ดังนี้ ให้เลือกคลิกเขตข้อมูล(Field) Phone คลิกในกรอบ รูปแบบการป้อนข้อมูล จะปรากฏปุ่ม     ให้คลิกที่ปุ่ม

       

      โปรแกรมจะแสดงกรอบเตือนให้บันทึกข้อมูลก่อน ให้ตอบ ใช่

      จะแสดงหน้าต่างตัวช่วยสร้างรูปแบบการป้อนข้อมูล

      ให้เลือกรูปแบบการป้อนข้อมูลที่ต้องการใน List Box ในที่นี้ให้เลือก Phone/Fax no.
      คลิกที่กรอบ ลองดู เพื่อดูตัวอย่างลักษณะการทำงานรูปแบบการป้อนข้อมูล
      เราต้องการเปลี่ยนรูปแบบการป้อนข้อมูลให้เป็นรูปแบบโทรศัพท์มือถือ ให้คลิกปุ่ม ถัดไป

      ให้แก้ไข ! (9)0000-0000 เป็น \08-0000-0000 (เวลาป้อนข้อมูลจะป้อนเลข 08 ให้อัตโนมัติ) แล้วกดปุ่ม ถัดไป

      โปรแกรมจะถามว่าต้องการเก็บข้อมูลอย่างไร ให้เลือก ใส่สัญลักษณ์เข้าไปด้วย แล้วกดปุ่ม ถัดไป

      กดปุ่ม เสร็จสิ้น จะได้ผลตามรูป

      ให้เปลี่ยนเป็นมุมมองแผ่นข้อมูล แล้วคลิกที่ เขตข้อมูล(Field) Phone จะได้ผลดังนี้

      ชนิดข้อมูล Number
      ขนาดเขตข้อมูล จะมีรูปแบบแตกต่างจาก ชนิดข้อมูล Text คือจะเป็นช่วงค่าของตัวเลข แบบต่าง ๆ (ใช้ชื่อ ชนิดข้อมูลตัวเลขจำนวนเต็มและทศนิยม ไว้ศึกษาอย่างละเอียดในวิชาการเขียนโปรแกรม) ซึ่งปกติ จะเป็นแบบ Long Integer มีขั้นตอนการกำหนดขนาดเขตข้อมูล ดังนี้

       

      รูปแบบ ชนิดตัวเลขมีดังนี้

      ปกติจะไม่ต้องเลือกรูปแบบและจะแสดงผลในมุมมองแผ่นข้อมูลเป็น General Number
      *** โปรดสังเกตรูปแบบ Currency กับชนิดข้อมูล Currency เป็นอันเดียวกันดังนั้นถ้าต้องการให้ได้ข้อมูลที่มีสัญลักษณ์ ฿ ก็ให้กำหนดชนิดข้อมูล เป็น Currency

      ชนิดข้อมูล Date/Time
      รูปแบบ วันและเวลาที่ถูกเลือกและจะแสดงผลในมุมมองแผ่นข้อมูล มีดังนี้

      รูปแบบการป้อนข้อมูล จะกำหนดค่าโดยปริยาย(Default Value) เป็นรูปแบบ Short Date คือ วว/ดด/ปปปปเราสามารถกำหนดรูปแบบ ตลอดจนตัวอักขระตัวยึดตำแหน่ง ทำให้การป้อนข้อมูล สะดวก รวดเร็วขึ้น ดังนี้ ให้เลือกคลิกเขตข้อมูล (Field) Entry Date แล้วทำตามขั้นตอนเช่นเดียวกับชนิดข้อมูล Text

      ให้เปลี่ยนเป็นมุมมองแผ่นข้อมูล แล้วคลิกที่ เขตข้อมูล(Field) Entry Date จะได้ผลดังนี้

       

       

      ·       การกำหนดคีย์หลัก

      Primary key

      1.       Primary key จะทำหน้าที่เป็น index โดยอัตโนมัติ จะเพิ่มความเร็วของคิวรี่และการปฏิบัติงานต่างๆ

      2.       การเรียงลำดับต่างๆ Primary key จะเป็นตัวกำหนดในการเรียงลำดับโดยอัตโนมัติ

      3.       เมื่อมีการป้อนข้อมูลเข้าไปใน Table แล้ว Access จะไม่ยอมให้มีชื่อซ้ำกันในฟิลด์ที่เป็น Primary key จึงเป็นการประกันการป้องกันค่าซ้ำกันใน Table

      การสร้าง Primary key

      ที่เมนู Edit เลือก Set Primary key (เลือกคำสั่ง Edit + Set primary key) หรือคลิกปุ่ม Set Primary key

      การสร้าง Primary key แบบ Multi - primary key

      Primary key แบบ Multi - primary key เป็น Primary key ที่ประกอบด้วยหลายฟิลด์ซึ่งมักจะใช้ในกรณีที่เป็น Table เก็บข้อมูลที่ประกอบด้วยหลายฟิลด์แล้วสามารถแสดงค่าไม่ซ้ำ โดยกำหนดฟิลด์ให้เป็น primary key ทุกตัวแต่ให้กำหนดชื่อ Index Name ที่ฟิลด์แรกเท่านั้น

      ·       การสร้างความสัมพันธ์ระหว่างฐานข้อมูล

      Relationship

      ถ้ามีการกำหนดความสัมพันธ์ระหว่าง Table ในฐานข้อมูลไว้ ทำให้สามารถเรียกข้อมูลที่ประกอบด้วยหลาย Table หรือคิวรี่ในเวลาเดียวกัน ซึ่งการใช้ ความสัมพันธ์ (Relationship) จะอำนวยความสะดวก คือ

      • สร้างเส้นเชื่อมในคิวรี่ใหม่ เมื่อมีการสร้างคิวรี่ใหม่ โดยการเพิ่ม Table หรือคิวรี่ที่มีการกำหนดความ สัมพันธ์ไว้แล้ว Access จะสร้างเส้นเชื่อมระหว่างข้อมูลโดยอัตโนมัติขึ้นภายในคิวรี่
      • การดูความสัมพันธ์ระหว่างเรคคอร์ดภายในฟอร์มย่อย (Sub form) หรือรายงานย่อย (Sub report) เมื่อมี การสร้างฟอร์มย่อยหรือรายงานย่อยขึ้นภายในฟอร์มหลัก (Main form) หรือ รายงานหลัก (Main report) Access จะใช้ความสัมพันธ์ที่กำหนดขึ้นไปเชื่อมข้อมูลจากฟอร์มย่อยหรือรายงานย่อย
      • การบังคับ และควบคุมข้อมูลตามความสัมพันธ์ของ Table เมื่อมีการเพิ่ม แก้ไข หรือลบ

      การกำหนดความสัมพันธ์ของระหว่าง Table หรือคิวรี่ทำได้ โดยการระบุฟิลด์ที่มีค่าเหมือนกันในแต่ละเรคคอร์ด

      ประเภทของความสัมพันธ์

      ความสัมพันธ์ระหว่าง Table สามารถแบ่งออกเป็น 2 ลักษณะ คือ

      • One - Many คือฟิลด์ใน Table หลักจะมีค่าเดียว แต่ใน Table สัมพันธ์มีหลายค่า เช่น ความสัมพันธ์ ระหว่างรหัสสินค้าของ Table รายชื่อสินค้า กับ Table การขายสินค้า
      • One - One เมื่อฟิลด์ทั้งสอง Table ต่างเก็บเรคคอร์ดแบบไม่ซ้ำค่า

      การสร้างความสัมพันธ์

      ที่ Database Windows เลือก Relationships บน เมนู Tools หรือคลิกปุ่ม บนแถบเครื่องมือ

      1.       การเพิ่ม Table หรือคิวรี่เข้าไปใน Relationship Windows ให้เลือก Table หรือคิวรี่ที่ต้องการ แล้วคลิกปุ่ม Add

      2.       การสร้างความสัมพันธ์ Relationship ให้ drag ฟิลด์ ที่ต้องการสร้างความสัมพันธ์ไปจับคู่กับฟิลด์ของ Table อื่น ถ้าฟิลด์หนึ่งของคู่สัมพันธ์ที่สร้างขึ้นเป็น Primary key จะเรียกTable ของฟิลด์ นั้นเป็น Table หลัก (Primary Table) และ Table ของฟิลด์ที่จับคู่เป็น Table คู่สัมพันธ์ (Related Table)

      เมื่อจับคู่แล้วจะมี dialog box ของ Edit Relationship ปรากฏมาให้ตรวจสอบชื่อฟิลด์ทีละชื่อ Table

      ประเภทของการเชื่อม (Join Type)

      เส้นเชื่อม (Join) สามารถกำหนดเป็น 2 ชนิด คือ

      1.       เส้นเชื่อมภายใน (Inner Join)

      2.       เส้นเชื่อมภายนอก (Outer Join)

      ในส่วนของเส้นเชื่อมภายนอก (Outer Join) สามารถกำหนดให้แสดงผลด้านหลักที่ Table ใดก็ได้ของคู่ฟิลด์ที่สัมพันธ์กัน

      การกำหนดประเภทการเชื่อม

      ให้คลิกที่ปุ่ม Join Type บน Windows ของ Edit Relationship (แก้ไขความสัมพันธ์)

      ·       การสร้างQLEE

      คิวรี่ (Query)

      คิวรี่ (Query) เป็นอ๊อบเจคที่สำคัญมากในการประมวลผลและแสดงผล เนื่องจาก Table มีหน้าที่เก็บข้อมูล แต่ไม่มีเครื่องมือในการประมวลผล ดังนั้น การวิเคราะห์ การคำนวณ ต้องใช้คิวรี่ในการทำงาน และมีหน้าที่สำคัญ คือ

      • คัดเลือกเฉพาะข้อมูลที่ต้องการ โดยกำหนด Expression หรือค่าที่ต้องการที่ Criteria
      • แสดงกลุ่มข้อมูลที่ต้องการ สร้างคิวรี่จากหลาย Table โดยใช้การเชื่อมฟิลด์
      • ใช้ในการคำนวณใช้คำสั่ง Totals, ฟังก์ชัน และ Expression ของคิวรี่

      เครื่องมือในคิวรี่

      1.       Totals เป็นฟังก์ชันการประมวลผลทางคณิตศาสตร์และสถิติพื้นฐาน

      2.       Sort ใช้การเรียงลำดับข้อมูล

      1) Ascending เรียงจากน้อยไปหามาก
      2) descending เรียงจากมากไปหาน้อย
      3) not Sort ยกเลิกการเรียง

      3.       Expression Builder

      1) Function

      1.1 Built-in function: เป็นฟังก์ชันที่ติดมากับ Access
      1.2 Module: เป็นฟังก์ชันที่เขียนด้วย Visual Basic ขึ้นมาใช้งานเอง

      2) Constant เป็นค่าพิเศษที่ใช้ในการควบคุมฟิลด์ เช่น Null, True

      3) Operator

      3.1 Arithmetic คือ เครื่องหมายบวก ลบ คูณ เป็นต้น
      3.2 Comparison คือ เครื่องหมายเปรียบเทียบ เช่น มากกว่า น้อยกว่า
      3.3 Logical คือ คำสั่งทางด้านตรรกศาสตร์ เช่น AND, OR

      4) Common Expression เป็นคำสั่งทั่วๆ ไป เช่น เลขหน้ากระดาษ ชื่อ

      ประเภทของคิวรี่

      1. Select Query เป็นคิวรี่สร้างขึ้นมาจาก Table เดียวหรือหลาย Table เพื่อแสดงข้อมูลที่ต้องการ

      2. Crosstab Query เป็นคิวรี่ที่แสดงข้อมูล 2 มิติ คือ เป็นการแสดงข้อมูลตามความสัมพันธ์ในแนวคอลัมน์กับแถว เช่น ยอดขายแต่ละเดือนของสินค้าแต่ละตัว ในลักษณะเดียวกันโปรแกรม Excel

      3. Action Query

      1) Make - Table Query เป็นคิวรี่ที่สร้างขึ้นมาแล้วจะส่งข้อมูลที่มีอยู่เป็น Table ใหม่ โดยจะนำเอาคุณสมบัติของฟิลด์ไปด้วย
      2) Update Query เป็นคิวรี่ที่จะปรับข้อมูลฟิลด์ครั้งเดียวพร้อมกันทุกเรคคอร์ด
      3) Append Query เป็นคิวรี่ที่จะเลือกข้อมูลตามที่ต้องการไปต่อท้ายใน Table ที่มีอยู่
      4) Delete Query เป็นคิวรี่ที่จะทำหน้าที่ลบเรคคอร์ดตามเงื่อนไขที่กำหนด

      4. SQL Specific เป็นคิวรี่ที่ต้องสร้างโดยเขียนด้วยคำสั่ง SQL

      1) Union Query เป็นการแสดงข้อมูลของฟิลด์จากหลาย Table มาอยู่คอลัมน์เดียวกัน
      2) Pass - Through Query เป็นการแสดงค่าคิวรี่ให้ภาษา SQL เพื่อส่งไปยังฐานข้อมูลแบบ SQL
      3) Data-Definition Query เป็นคำสั่ง SQL เพื่อการลบ การสร้าง Table

      การสร้างคิวรี่

      การสร้างคิวรี่สามารถสร้างด้วย Design view และ Wizard โดยเลือกคิวรี่ Queries ภายใต้อ๊อบเจคบน Database Windows แล้วเลือกปุ่ม new จะปรากฏ dialog box ของ New Query จากนั้นจึงเลือกวิธีการสร้าง ในลำดับต่อไปให้เลือก Table ที่ใช้เป็นแหล่งข้อมูลจาก dialog box ของ Show Table

      ปกติถ้ามีการกำหนดความสัมพันธ์มาแล้ว Access จะเชื่อมฟิลด์ให้โดยอัตโนมัติ หรือฟิลด์ที่เชื่อมมีชื่อเดียวกันและประเภทข้อมูลเหมือนกัน แต่ถ้าไม่เกิดขึ้นก็ให้สร้างขึ้นมาเอง ซึ่งในการแสดงผลแบบหลาย Table การเชื่อมฟิลด์มีความจำเป็นเพื่อทำให้คิวรี่ที่สร้างขึ้น สามารถแสดงสารสนเทศของข้อมูลที่สัมพันธ์กัน ลักษณะของเส้นเชื่อม (Join) จะคล้ายกับเส้นเชื่อมของ Relationships โดยฟิลด์ที่เป็นเลข 1 จะเป็นด้าน "One" และฟิลด์ที่เป็นสัญลักษณ์อนันต์ (Infinity) หรือ จะเป็นด้าน many ส่วนการเชื่อมสร้างด้วยใช้การ drag ฟิลด์ระหว่างฟิลด์ที่ต้องการเชื่อม

      ที่ตาราง QBE ด้านล่างของคิวรี่มีแถวต่างๆในการใช้งาน คือ

      Field: ใช้แสดงฟิลด์ที่ต้องการจากแหล่งข้อมูล หรือฟิลด์ที่สร้างด้วยการคำนวณโดยการประยุกต์ฟังก์ชันหรือ Expression
      Totals: ใช้ประยุกต์ฟังก์ชันของ Totals
      Sort: ใช้ในการเลือกคำสั่งเรียงลำดับ
      Show: กำหนดการแสดงข้อมูลของฟิลด์เมื่อด้าน Datasheet view

      Criteria

      Criteria พื้นที่ด้านล่างต่อจากตาราง QBE ใช้สำหรับการกำหนด Expression ในการคัดเลือกข้อมูลที่ต้องการ รวมถึงการคัดเลือกข้อมูลด้วย Parameter Query

      การสร้างคิวรี่แบบ Action Query

      การสร้างคิวรี่แบบ Action query ให้สร้างเป็น Select query แล้วเลือกประเภทคิวรี่ที่ต้องการสร้างในเมนูคิวรี่

      การสร้างคิวรี่แบบ Crosstab Query

      การสร้างคิวรี่แบบ Crosstab query ควรสร้างด้วย Wizard

      การสร้างคิวรี่แบบ SQL Specific

      การสร้างคิวรี่แบบ SQL Specific ให้เปิด Query windows แล้วเลือก SQL Specific ในเมนูคิวรี่เพื่อเปิดคิวรี่ในด้าน SQL สำหรับการเขียนคำสั่งด้วยภาษา SQL

       

      ·       การกลองด้วย คิวรี และพิวเตอร์

      ·       ส่วนประกอบของฟร์อม

      จากรูปฟอร์มใน Design View ที่ผ่านมาจะเห็นว่าตัวแผ่นฟอร์มจะประกอบด้วย 5 ส่วน คือ

                      // Form Header และ Form Footer

                                      เป็นส่วนที่อยู่บนสุดและท้ายสุดของแผ่นฟอร์ม บนจอภาพ ไม่ว่าจะมีการเปลี่ยนไปอยู่ที่หน้าใดของฟอร์มเมื่ออยู่ในมุมมองฟอร์ม หรือ Form View  แต่ถ้าอยู่ในมุมมองแผ่นข้อมูลจะไม่มี Form Header และ Form Footer   การกำหนดให้มี Form Header และ Form Footer หรือไม่ จะต้องกำหนดทั้งสองส่วนเหมือนกัน แต่สามารถกำหนดให้มองเห็นหรือไม่เห็นแยกกันได้ ส่วนเมื่อพิมพ์มุมมองฟอร์มออกทางเครื่องพิมพ์  Form Header จะถูกพิมพ์ออกเฉพาะที่หน้าแรก และ Form Footer จะพิมพ์ออกเฉพาะหน้าสุดท้ายของฟอร์มเท่านั้น

                      // Page Header และ Page Footer

                                      เป็นส่วนประกอบที่ไม่แสดงทางหน้าจอภาพ แต่เมื่อพิมพ์มุมมองฟอร์มออกทางเครื่องพิมพ์จะถูกพิมพ์ออกทุกหน้า โดย Page Header จะพิมพ์ทางส่วนบนของกระดาษ ส่วน Page Footer พิมพ์ทางส่วนท้ายของกระดาษ ส่วนประกอบทั้งสองนี้ต้องกำหนดร่วมกันว่าให้มีหรือไม่มี

                      // Detail

                                      เป็นส่วนประกอบที่สำคัญที่สุดต้องมีเสมอแต่กำหนดให้ไม่แสดง(คือมองไม่เห็น)ได้ เป็นส่วนที่ใช้วางเขตข้อมูลหรือตัวควบคุมที่ใช้แสดงข้อมูลหรือรับข้อมูลจากผู้ใช้ รวมทั้งเป็นส่วนส่วนที่ใช้วางฟอร์มย่อย

       

      & เครื่องมือและสิ่งที่ใช้ในการออกแบบและแก้ไขแบบฟอร์มใน Design View

                                      ในการออกแบบและแก้ไขฟอร์มในมุมมองออกแบบ มีเครื่องมือหรืออุปกรณ์ที่ใช้ในการจัดสร้างแบบฟอร์ม  จัดเป็นกลุ่ม ได้ดังนี้

                      &&  Form design Toolbars

                                      เป็นแถบเครื่องมือที่รวบรวมเครื่องมือที่ใช้ในการออกแบบและแก้ไขฟอร์มไว้  โดยเฉพาะไอคอนของ รายการเขตข้อมูล (field list) กล่องเครื่องมือ(toolbox) คุณสมบัติ(properties) ดังรูป

       

      &&  Formatting (Form/Report) Toolbars

                                      แถบเครื่องมือที่รวบรวมคำสั่งเกี่ยวกับการจัดรูปแบบฟอร์มและส่วนประกอบ ตัวควบคุม ต่าง ๆ ที่ใช้ในฟอร์ม มีลักษณะ ดังรูป

       

       

                      &&  Toolbox หรือ กล่องเครื่องมือ

                                      กล่องเครื่องมือ หรือ Toolbox เป็นแถบเครื่องมือที่เก็บรวบรวมตัวควบคุม หรือ Control ต่าง ๆ ที่ใช้เป็นส่วนประกอบในฟอร์ม การใช้งาน Toolbox อาจเรียกใช้จากคำสั่ง View Toolbox หรือคลิกจาก Form design Toolbars หรือเปิดเป็น toolbars เลย  ลักษณะของ Toolbox เป็นดังรูป

       

                      &&  รายการคุณสมบัติ (Properties)

                                      เป็นหน้าต่างแสดงคุณสมบัติของ ฟอร์ม หรือ ส่วนประกอบของฟอร์ม รวมทั้งคุณสมบัติของ Control ต่าง ๆ ที่ประกอบบนฟอร์ม ขึ้นอยู่กับการเลือกของผู้ใช้ มีลักษณะ ดังรูป

       

       

       

       

                     

      &&  รายการเขตข้อมูล (Field List)

                                      เป็นรายการของเขตข้อมูลที่มีใน ตารางหรือแบบสอบถาม ที่ฟอร์มใช้เป็นแหล่งระเบียน หรือ แหล่งของข้อมูล มีลักษณะ ดังรูป

       

       

       

      ·       การสร้างฟร์อม 

      แบบฟอร์ม (Form) เป็นส่วนหนึ่งของฐานข้อมูลที่ช่วยในการป้อน, แสดง, หรือ แก้ไขข้อมูลโดยที่เราสามารถจัดรูปแบบการแสดงผลบนจอภาพได้

      มุมมองของแบบฟอร์ม

      การำงานกับฟอร์ม จะมี 3 มุมมองด้วยกัน คือ

      • มุมมองออกแบบ (Design View) ใช้ในการออกแบบ, แก้ไขแบบฟอร์ม

      • มุมมองแบบฟอร์ม (Form Wizard) ใช้ในการแสดงข้อมูลที่ปรากฏบนแบบฟอร์มทีเราสร้างไว้

      • มุมมองแผ่นข้อมูล (Datasheet View) ใช้ในการแสดงข้อมุลที่ปรากฏบนแบบฟอร์มที่เราสร้างไว้ในรูปแบบของตารางข้อมูล การเข้าสู่มุมมองใด ๆ จะกระทำได้ 2 ทาง ดังนี้

      จากเมนู มุมมอง (View) เลือกคำสั่ง หรือเลือกไอคอนจากแถบเครื่องมือ

            

      การสร้างแบบฟอร์ม

      • เปิดใช้ไฟล์ฐานข้อมูล

      • จากเมนู แทรก เลือกคำสั่ง ฟอร์ม

      หรือ คลิกที่แผ่นป้าย ฟอร์ม (Form) แล้วเลือกปุ่ม สร้างใหม่

      หรือ เลือกจากแถบเครื่องมือ

       

      • เลือกมุมมองในการสร้างแบบฟอร์ม ซึ่งอาจเป็น สร้างฟอร์มด้วยตัวช่วยสร้าง

      •  เลือกตารางข้อมูลหรือแบบสอบถามที่จะนำมาสร้างฟอร์ม

       

      • เลือก ตกลง

       

      การสร้างฟอร์มด้วยฟอร์มอัตโนมัติ (Auto From)

           เป็นการสร้างแบบฟอร์มอย่างรวดเร็ว โดยเราไม่ต้องตอบคำถามใด ๆ เลย โดยจะใช้รูปแบบล่าสุด ที่เราเคยสร้างไว้จาก Form Wizard

      • จากขั้นตอนการสร้างฟอร์ม เลือกชนิดของฟอร์มอัตโนมัติ (ขึ้นต้นเดือน ด้วย Auto Form) ซึ่งอาจเป็น

      Auto From: Columnar

           ใช้ในการสร้างฟอร์มที่แสดงข้อมูลแต่ละฟิลด์เรียงในแนวคอลัมน์ โดยแสดงข้อมูล 1 ข้อมูลต่อ 1เรคคอร์ด

       

      Auto Form : Tabular

      ใช้ในการสร้างฟอร์มที่ข้อมูลแต่ละฟิลด์จะถูกเรียงในแนวนอน โดยแสดงข้อมูลหน้าละหลาย ๆ เรคอร์ด

       

      Auto From: Datasheet

      ใช้ในการสร้างฟอร์มที่แสดงข้อมูลในแบบแผ่นตารางข้อมูล

      • เลือกตารางข้อมูลที่จะนำมาสร้างฟอร์ม

      • เลือก ตกลง

       

       

       

       

      ·       การสร้าง Report

      การสร้างรายงานด้วยตนเอง เป็นเทคนิคการออกแบบรายงานที่เราจะต้องมีประสบการณ์หรือมีมุมมองในการออกแบบ รายงานมากพอสมควร  เนื่องจากเราจะต้องเป็นผู้จัดวางลำดับฟิลด์ที่เป็นโครงสร้างของตารางข้อมูลบนแผ่นออกแบบรายงาน

            โดยใช้กลุ่มเครื่องมือทูลบ็อกซ์   เพื่อใช้ในการออกแบบ วิธีการสร้างดังต่อไปนี้

       

      1. คลิกวัตถุรายงาน

      2. คลิกปุ่ม สร้าง

      3. คลิก มุมมอง ออกแบบ

      4. คลิกเลือกตาราง    ที่ต้องการสร้างรายงาน

      5. คลิกปุ่ม ตกลง

      6. จะปรากฏหน้าต่าง Report 1 ขึ้นมา ซึ่งมีส่วนประกอบต่าง ๆ ดังรูป

       

      7. คลิกฟิลด์จากหน้าต่างรายการเขตข้อมูลที่ต้องการค้างไว้แล้วลากไปวางยังส่วนรายละเอียด ในหน้าต่างรายงาน   เพื่อออกแบบรายงาน ดังรูป

      8. ให้นำฟิลด์ต่าง ๆ มาวางจนครบตามจำนวนที่ต้องการในการสร้างรายงาน

      9. ส่วนข้อความอื่น ให้ใช้ป้ายชื่อจากกล่องเครื่องมือ มาพิมพ์เพิ่มเติม

      10. ส่วนหัว ส่วนท้าย ของหน้า ให้นำเคอเซอร์ ไปวางไว้ที่ขอบ   จนเคอเซอร์เปลี่ยนเป็นลูกศร 2 หัว   ดังรูป      แล้วคลิกค้างไว้ ลากเก็บพื้นที่ไม่จำเป็น

      11. บันทึกข้อมูล ตั้งชื่อ   ตัวอย่างตั้งชื่อ   บัตร

       

      12. ตัวอย่างการแสดงผลรายงานที่ได้ออกแบบไว้จากการคลิกเมนูมุมมอง เลือก ตัวอย่างก่อนพิมพ์หรือคลิกปุ่ม     

      13. จะได้รายงานดังภาพ ตัวอย่าง  (จะต้องมีการตั้งค่าหน้ากระดาษตามต้องการก่อน)

       

      การกำหนดรูปแบบของการพิมพ์รายงาน

                      เพื่อให้รายงานของเราอยู่ในรูปแบบที่สวยงามตามต้องการก่อนที่จะพิมพ์ออกเป็นเอกสารจริง ซึ่งเราสามารถ

            กำหนดรายละเอียดการพิมพ์รายงานได้ดังนี้

      กำหนดการพิมพ์ในแต่ละส่วนของรายงาน

                      1. เลือกเมนูมุมมอง เลือกคุณสมบัติ

       

      2.ในแท็บ Format ของหน้าต่าง  Properties เราสามารถกำหนดลักษณะการพิมพ์ข้อมูลในแต่ละส่วนของรายงานได้ตามความ

            ต้องการ       การกำหนดค่าการพิมพ์กันอย่างละเอียด      โดยเราสามารถกำหนดค่าเหล่านี้ได้กับข้อมูลในส่วนของ   Report Header ,

            Report Footer , Group Header , Detail และ Group Header

                                 

         

           

       

                    

       

      การพิมพ์รายงานออกทางพรินเตอร์

      เมื่อเราได้สร้างและปรับแต่งรายงานจนเป็นที่พอใจแล้ว ขั้นตอนสุดท้ายก็คือ การสั่งบันทึกรายงานเก็บเอาไว้ใช้และสั่งพิมพ์

            ออกทางพรินเตอร์ โดยวิธีการก็เหมือนกันกับการใช้งานโปรแกรมออฟฟิศทั่วไป

       

      web hosting

       

      ผู้อ่านนิยมอ่านต่อ ดูทั้งหมด

      loading
      กำลังโหลด...

      ความคิดเห็น

      ×