450 likes | 830 Views
วาทินี นุ้ยเพียร vtn@kmitnb.ac.th. ระบบฐานข้อมูล. (Database System). ระบบสารสนเทศ. (Information System). ระบบสารสนเทศ (Information System) ข้อมูลดิบ (raw data) คือ ข้อมูลโดยทั่วไปที่นำมารวมกัน สารสนเทศ (information) คือ ข้อมูลดิบที่ผ่านกระบวนการ... - เรียงลำดับ - คำนวณ
E N D
วาทินีนุ้ยเพียร vtn@kmitnb.ac.th ระบบฐานข้อมูล (Database System)
ระบบสารสนเทศ (Information System)
ระบบสารสนเทศ (Information System) • ข้อมูลดิบ (raw data) คือ ข้อมูลโดยทั่วไปที่นำมารวมกัน • สารสนเทศ (information) คือ ข้อมูลดิบที่ผ่านกระบวนการ... - เรียงลำดับ - คำนวณ - จัดกลุ่ม หรือ อื่น ๆ
องค์ประกอบของระบบสารสนเทศองค์ประกอบของระบบสารสนเทศ • ฮาร์ดแวร์ (Hardware) • ซอฟต์แวร์ (Software) • ข้อมูล (Stored Data) • บุคลากร (Personnel) • ขั้นตอนการดำเนินงาน (Procedures)
องค์ประกอบของระบบสารสนเทศองค์ประกอบของระบบสารสนเทศ ฮาร์ดแวร์ - หน่วยนำข้อมูลเข้า - หน่วยนำข้อมูลออก - หน่วยประมวลผลกลาง - หน่วยเก็บข้อมูลสำรอง - อุปกรณ์การสื่อสาร ซอฟต์แวร์ - โปรแกรมประยุกต์ - โปรแกรมระบบ ข้อมูล - แฟ้มข้อมูล - ฐานข้อมูล บุคลากร - ผู้ใช้งาน - ผู้ปฏิบัติงาน - ผ้ควบคุมระบบ และ ผู้พัฒนาโปรแกรม บั้นตอนการดำเนินงาน - ขั้นตอนการใช้งานของ ผู้ใช้ - ขั้นตอนการปฏิบัติงาน ของผู้ปฏิบัติงาน
การจัดการฐานข้อมูล การประมวลผลในระบบสารสนเทศ • ระบบการประมวลผลแฟ้มข้อมูล • ระบบการประมวลผลฐานข้อมูล
การจัดการฐานข้อมูล ระบบการประมวลผลแฟ้มข้อมูล แฟ้มนักศึกษา แฟ้มรายวิชา แฟ้มการลงทะเบียน โปรแกรมการลงทะเบียน • ระบบการลงทะเบียนนักศึกษา แฟ้มนักศึกษา แฟ้มรายวิชา แฟ้มการลงทะเบียน แฟ้มผลการเรียนประจำเทอม โปรแกรมประมวลผลการเรียนแต่ละเทอม • ระบบการประมวลผลการเรียนนักศึกษา
การจัดการฐานข้อมูล ข้อดีของระบบแฟ้มข้อมูล • การประมวลผลทำได้อย่างรวดเร็ว • ค่าลงทุนในเบื้องต้นจะต่ำ อาจไม่จำเป็นต้องใช้คอมพิวเตอร์ที่มีความสามารถมาก ก็สามารถทำการประมวลผลข้อมูลได้ • โปรแกรมประยุกต์ในแต่ละโปรแกรมสามารถควบคุมการใช้ข้อมูลในแฟ้มข้อมูลของตนเองได้
การจัดการฐานข้อมูล ข้อเสียของระบบแฟ้มข้อมูล • มีความซ้ำซ้อน (Redundancy) • ทำให้เสียเนื้อที่การใช้งานในดิสก์ • ถ้ามีการเปลี่ยนแปลงข้อมูลในแฟ้มข้อมูลหนึ่ง ก็ต้องตามไปแก้ไขข้อมูลที่อยู่ในแฟ้มข้อมูลอื่น อาจทำให้เกิดความขัดแย้งกันของข้อมูล (Data Inconsistency) • ความยากในการประมวลผลข้อมูลในแฟ้มข้อมูลหลายข้อมูล • ไม่มีผู้ควบคุมหรือรับผิดชอบระบบทั้งหมด • ความขึ้นต่อกัน (Dependency) ระหว่างโปรแกรมประยุกต์และโครงสร้างของแฟ้มข้อมูล
การจัดการฐานข้อมูล ระบบการประมวลผลฐานข้อมูล โปรแกรมจัดการรายวิชา โครงสร้างฐานข้อมูล - ข้อมูลรายวิชา - ข้อมูลนักศึกษา - ข้อมูลการลงทะเบียน - ข้อมูลผลการเรียน ฯลฯ โปรแกรมการลงทะเบียน DBMS โปรแกรมประมลผลการเรียน • ระบบการประมวลผลฐานข้อมูล
การจัดการฐานข้อมูล DBMS (Database Management System) • คือ โปรแกรมชนิดหนึ่งที่สร้างขึ้นมาเพื่อแก้ไขข้อบกพร่องของระบบการประมวลผลแบบแฟ้มข้อมูล • DBMS จะช่วยในการสร้าง เรียกใช้ข้อมูล และปรับปรุงฐานข้อมูล • ทำหน้าที่เสมือนตัวกลางระหว่างผู้ใช้และฐานข้อมูลให้ติดต่อกันได้
การจัดการฐานข้อมูล ข้อดีของระบบฐานข้อมูล • ข้อมูลมีการเก็บอยู่ร่วมกันและสามารถใช้ร่วมกันได้ • ลดความซ้ำซ้อนของข้อมูล • หลีกเลี่ยงความขัดแย้งของข้อมูลที่อาจเกิดขึ้นได้ • การควบคุมความคงสภาพของข้อมูล • เกรดต้องไม่เกิน 4.0 • หนึ่งวันต้องไม่เกิน 24 ช.ม. • การจัดการในฐานข้อมูลทำได้ง่าย
การจัดการฐานข้อมูล ข้อดีของระบบฐานข้อมูล (ต่อ) • ความเป็นอิสระระหว่างโปรแกรมประยุกต์และข้อมูล • มีผู้ควบคุมระบบแค่คนเดียว
การจัดการฐานข้อมูล ข้อเสียของระบบฐานข้อมูล • การใช้งานฐานข้อมูลจะเสียค่าใช้จ่ายค่อนข้างสูง • ราคาของ DBMS ค่อนข้างแพง • การสูญเสียข้อมูลที่อาจเกิดขึ้นได้ • เนื่องจากข้อมูลต่าง ๆ เก็บไว้ในที่เดียวกัน
ฐานข้อมูล (Database) • การเก็บรวบรวมข้อมูลที่มีความสัมพันธ์กันไว้ในที่ที่เดียวกัน
ฐานข้อมูล (Database) • ลำดับชั้นของโครงสร้างข้อมูล • บิท (Bit : Binary Digit) • ไบท์ (Byte) (1 ไบท์ มี 8 บิท) • เขตข้อมูล หรือฟิลด์ (Field) หรือ คอลัมท์ กลุ่มตัวอักษร หรือตัวเลข • ระเบียน หรือเรคคอร์ด (Record) หรือแถว กลุ่มของฟิลด์ที่สัมพันธ์กัน • แฟ้มข้อมูลหรือไฟล์ (File) กลุ่มเรคอร์ดที่ข้อมูลเป็นเรื่องเดียวกัน
เขตข้อมูล หรือฟิลด์ (Field) หรือ คอลัมท์
ระเบียน หรือเรคคอร์ด (Record) หรือแถว
รหัสลูกค้า เลขที่อัลบั้ม ชื่ออัลบั้ม ชื่อลูกค้า 1100 สมศักดิ์ รักเพลง 622 ประเทือง ไท-ธนาวุฒิ 2200 วิไล งามดี 633 ร็อคเอ๊าะเย๊าะ 4600 855 อรัญญา ใจซื่อ ร็อคอำพัน 3500 วิลลี่ คำสร้อย 553 เบเกอรี่เลิฟ รายงานการขายอัลบั้มเพลงของลูกค้า ตัวอย่าง แฟ้มข้อมูล เขตข้อมูล แฟ้ม ข้อมูล ระเบียน
เอนติตี้ แอททริบิวท์ และความสัมพันธ์ • เอนติตี้ (Entity)คือ ตาราง 1 ตาราง • สิ่งต่าง ๆ ในนฐานข้อมูลที่อ้างอิงถึง เช่น คน สัตว์ เช่นพนักงาน นักศึกษา (คิดถึงตารางว่ามีตารางอะไรบ้าง) • แอททริบิวท์ (Attribute) คือคอลัมภ์ ส่วนหัวมีอะไรบ้าง • สิ่งที่ใช้บอกองค์ประกอบหรือเนื้อหาของเอนติตี้ เช่น เอนติตี้รายวิชาประกอบด้วย แอททริบิวท์รหัสวิชา ชื่อวิชา และจำนวนหน่วยกิต
รายวิชา เอนติตี้ รหัสวิชา ชื่อวิชา จำนวนหน่วยกิต แอททริบิวท์ • ตัวอย่างของเอนติตี้ และแอททริบิวท์
เอนติตี้ แอททริบิวท์ และความสัมพันธ์ (ต่อ) • ความสัมพันธ์ (Relation) • ความสัมพันธ์ระหว่าง เอนติตี้ สองเอนติตี้ ใช้คำว่า number นักศึกษา PK คีย์สำรอง รหัสนักศึกษา ชื่อ-สกุล ที่อยู่ รหัสคณะ รหัสสาขา สาขาวิชา รหัสคณะ(PK) รหัสสาขา ชื่อสาขาวิชา
ภาพ E-R ของ เอนติตี้ • สัญลักษณ์ใช้สี่เหลี่ยม ตัวอย่างเอนติตี้พนักงาน พนักงาน
แอททริบิวท์(Attributes) • หมายถึง เป็นสิ่งที่ใช้อธิบายคุณลักษณะของ เอนติตี้หนึ่ง ๆ เช่น เอนติตี้พนักงาน ประกอบด้วยแอททริบิวท์ รหัสพนักงาน ชื่อพนักงาน ตำแหน่ง รหัสแผนก
สัญลักษณ์ • วงรี แทน แอททริบิวท์ ตำแหน่ง ชื่อ รหัส พนักงาน
ความสัมพันธ์ (Relationships) • คือการแสดงความสัมพันธ์ระหว่างเอนติตี้แต่ละเอนติตี้ที่เกี่ยวข้องกัน • สัญลักษณ์ รูปสี่เหลี่ยมข้าวหลามตัด
ตัวอย่าง สังกัด พนักงาน แผนก สมศักดิ์ สังกัด แผนกบัญชี สุชาติ สังกัด แผนกบุคลากร สมชาย สังกัด แผนกการตลาด
ประเภทของความสัมพันธ์ระหว่างเอนติตี้ประเภทของความสัมพันธ์ระหว่างเอนติตี้ • ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (one-to-one) จะใช้สัญลักษณ์ 1:1 แทนความสัมพันธ์แบบ หนึ่งต่อหนึ่ง ความสัมพันธ์ที่สมาชิกหนึ่งรายการ ของเอนติตี้หนึ่งมีความสัมพันธ์กับสมาชิกหนึ่งราย การของอีกเอนติตี้หนึ่ง
ตัวอย่าง มีการซื้อ 1 1 รถยนต์ ลูกค้า
ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (one-to-many) • จะใช้สัญลักษณ์ 1:N แทนความหมายของความ สัมพันธ์แบบหนึ่งต่อกลุ่ม เป็นที่ปรึกษา 1 N นักศึกษา อาจารย์ที่ปรึกษา
ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many-to-many) จะใช้สัญลักษณ์ N:M แทนความสัมพันธ์แบบกลุ่ม ต่อกลุ่ม ซึ่งความสัมพันธ์แบบนี้จะเป็นความสัมพันธ์ ที่สมาชิกหลายรายการในเอนติตี้หนึ่งมีความสัมพันธ์ กับสมาชิกหลายรายการในเอนติตี้หนึ่ง การลงทะเบียน M นักศึกษา วิชา N
ตัวอย่างข้อมูลลูกค้าที่มีการสั่งซื้อที่มากกว่า 1 รายการ เป็นแบบ N:M
ค่าว่าง (Null Values) แอททริบิวท์ใดไม่มีค่าข้อมูลเก็บอยู่ เรียกว่าแอททริบิวท์มีค่าว่าง เช่น คนงาน บางคนในรีเลชันคนงานไม่มีใครเป็นผู้ควบคุม ค่าว่างไม่ใช่ช่องว่าง (blank)หรือเลข 0 เป็นเพียงการไม่รู้หรือยังไม่พร้อมที่จะใส่ข้อมูลอะไรลงไปในแอททริบิวท์ คีย์หลัก (Primary Key-PK) มีแอททริบิวท์หรือกลุ่มของแอททริบิวท์ใดที่มีข้อมูลไม่ซ้ำกันเลย (uniqueness) เช่น ฟิลด์รหัสพนักงาน นำไปจัดเรียงได้ และไม่เป็นค่าว่าง
ดัชนี (Index) ตัวชี้ เป็นคีย์ใช้ในการค้นหาหรือจัดเรียงกลุ่มเรคอร์ดที่มีจำนวนมากได้อย่างรวดเร็ว เช่นการค้นหาชื่อและนามสกุล Candidate Key คีย์คู่แข่ง ในหนึ่ง Table มีฟิลด์หลายฟิลด์ที่มีคุณสมบัตินำมาใช้เป็นคีย์หลักแทนกันได้ เช่น รหัสพนักงานและชื่อพนักงาน
คีย์รวม Compound Key นำฟิลด์หลาย ๆ ฟิลด์มารวมกัน เพื่อให้มีคุณสมบัติเป็นคีย์หลัก คีย์นอก (Foreign Key ) ตัวโย้ง เป็นคีย์ที่ใช้เชื่อมโยง Table ที่มีข้อมูลที่เกี่ยวข้องกัน
กฎที่ใช้ควบคุมการคงสภาพความถูกต้องของข้อมูล (Integrity Constraint) • กฎการคงสภาพของเอนทิตี้ (Entity Integrity Constraint) ใน Table เดียวกัน • - จะต้องไม่มีค่าว่าง (Null) ในฟิลด์ใด ๆ ที่ประกอบขึ้นเป็นคีย์หลักของ Table 2. กฎการคงสภาพการอ้างอิง (Referential Integrity Constraint) ระหว่าง Table -ถ้ามีคีย์นอกอยู่ใน Table ใด ข้อมูลที่อยู่ในคีย์นอกต้องเป็นข้อมูลที่อยู่ในคีย์หลักของอีก Table หนึ่งด้วย
ข้อกำหนด 3 ประการของกฏการคงสภาพการอ้างอิง • ไม่สามารถสร้างเรคอร์ดใน Table ลูกได้ถ้าไม่มีเรคอร์ดที่สัมพันธ์กันใน Table แม่ • เรคอร์ดใน Table แม่ไม่สามารถถูกลบได้ ถ้ายังมีเรคอร์ดที่สัมพันธ์กันใน Table ลูก • ไม่สามารถเปลี่ยนแปลงข้อมูลในฟิลด์ที่ใช้เป็นคีย์หลักของ Table แม่ได้ ถ้ามีเรคอร์ดที่ • สัมพันธ์กับฟิลด์นั้นใน Table ลูก
ขั้นตอนการออกแบบฐานข้อมูลขั้นตอนการออกแบบฐานข้อมูล • เก็บรวบรวมข้อมูลรายละเอียดทั้งหมด - ข้อมูลที่เป็นเรื่องเดียวกัน ให้จัดกลุ่มเป็นเอนทิตี้เดียวกัน - ชนิดของข้อมูเป็นแบบใด มีเงื่อนไขหรือข้อกำหนดอย่างไร - มีข้อมูลอย่างไรที่ต้องนำมาค้นหาหรือประมวลผล - ใครเป็นผู้ใช้ฐานข้อมูล - ลักษณะของรายงาน ประกอบด้วยรายงานอะไรบ้าง - ข้อมูลอื่น ๆ ที่สามารถรวบรวมได้
ขั้นตอนการออกแบบฐานข้อมูลขั้นตอนการออกแบบฐานข้อมูล • กำหนดโครงสร้างของ Table • กำหนดคีย์ • การทำ Normalization • กำหนดความสัมพันธ์
การทำ Normalization • ข้อมูลที่เก็บรวบรวมจากเอกสารต่าง ๆ อาจมีข้อมูลที่ซับซ้อนกันมากไม่เหมาะที่นำมาใช้งานโดยตรง • ประโยชน์ที่ได้จากการทำ Normalization • ช่วยลดปัญหาการเก็บข้อมูลซ้ำซ้อนกันในหลาย Table • ถ้าแก้ไขการเก็บข้อมูลซ้ำซ้อนกันได้ ขจัดปัญหาความขัดแย้งกันจากการแก้ไขข้อมูลไม่ตรงกันด้วย • ทำให้การแก้ไขโครงสร้าง Table ทำได้ง่ายและมีผลกระทบกับ Table อื่น ๆ ที่เกี่ยวข้องน้อยที่สุด
การทำ Normalization • First Normal Form (1NF) - Table ใดที่อยู่ในรูปแบบ 1NF ได้ Table นั้นต้องไม่มีกลุ่มข้อมูลซ้ำ • Second Normal Form (2NF) - Table ใดที่อยู่ในรูปแบบ 2NF ได้ Table นั้นจะต้องเป็น 1NF และทุกฟิลด์ที่ไม่ใช่คีย์ (Non-Key field) ต้องขึ้นกับคีย์หลักอย่างแท้จริง ไม่ใช่ขึ้นกับเพียงบางส่วนของคีย์หลัก (ถ้าคีย์หลักประกอบด้วยฟิลด์มากกว่า 1 ฟิลด์) • Third Normal Form (3NF) - Table ใดที่อยู่ในรูปแบบ 3NF ได้ Table นั้นจะต้องเป็น 2NF และทุกฟิลด์ที่ไม่ใช่คีย์ (Non-key field) จะต้องขึ้นกับคีย์หลักเท่านั้น จะต้องไม่มีการขึ้นต่อกันระหว่างฟิลด์ที่ไม่ใช่คีย์ (Transitive Dependency)