ฐานข้อมูลเป็นสงิ่ ท่อี ยใู่ กล้ตวั เรา การดาเนินชวี ติ ในปจั จบุ ันเกยี่ วข้องกับฐานข้อมลู ท้ังส้ิน เช่นการใชโ้ ทรศัพท์ การติดต่องานทะเบียนราษฎร์ การทาธุรกรรมทางการเงนิ การลงทะเบียนเรียน การทาธุรกจิ ต่าง ๆ เปน็ ต้น1.1 ฐานข้อมูล 1.1.1 ความหมายของฐานข้อมูล สารานุกรมไทยสาหรับเยาวชน เล่มที่ 25 เรื่องที่ 2 (2544:52) ได้ให้ความหมายของฐานขอ้ มูลไว้ว่า ฐานข้อมูล คอื กลมุ่ ของข้อมูล ท่ีมีความเก่ียวขอ้ งกันเป็นระยะยาวนาน โดยเก็บไวเ้ ป็นหมวดหมู่ เพอื่ ความสะดวกในการสบื คน้ ขอ้ มูลและดแู ลรักษา วิเชียร เปรมชัยสวัสดิ์ (2546:2) ให้ความหมายว่า ฐานข้อมูล คือ ชุดของข้อมูลที่มีความสัมพันธ์กันท่ีถูกนามาจัดเก็บไว้ด้วยกัน เพ่ือให้สามารถใช้ข้อมูลเหล่าน้ันร่วมกันได้อย่างรวดเร็วและมีประสิทธิภาพ นนั ทินี แขวงโสภา (2551:38) กล่าวถงึ ความหมายของฐานข้อมูลไว้ดังน้ี กล่มุ ของข้อมูลท่ีมีความสัมพันธ์กันและถูกเก็บรวบรวมไว้ในท่ีเดียวกันอย่างเป็นระบบ เพ่ือนาไปใช้ในวัตถุประสงค์อย่างใดอยา่ งหน่ึงโดยกล่มุ ผู้ใชต้ ั้งแต่หนง่ึ กลุ่มข้นึ ไป โอภาส เอี่ยมสิริวงศ์ (2551:35) ให้ความหมายว่า ฐานข้อมูล คือ ศูนย์รวมของข้อมูลท่ีมีความสัมพันธ์กัน โดยจะมีกระบวนการจัดหมวดหมู่ข้อมูลอย่างมีระเบียบแบบแผน ก่อให้เกิดฐานข้อมูลที่เป็นแหล่งรวมของข้อมูลจากแผนกต่าง ๆ ซึ่งถูกจัดเก็บไว้อย่างมีระบบภายในฐานข้อมูลเดยี วกัน โดยผ้ใู ช้งานแตล่ ะแผนกสามารถเขา้ ถึงข้อมูลส่วนกลางนเี้ พ่อื นาไปประมวลผลร่วมกนั ได้ จากที่มีผู้กล่าวมาข้างต้นสรุปได้ว่า ฐานข้อมูล หมายถึง การเก็บรวบรวมข้อมูลท่ีมีความสัมพันธ์กนั มกี ารกาหนดรูปแบบการจัดเก็บอย่างเปน็ ระบบและจดั เกบ็ ไว้ในฐานขอ้ มูลเดียวกันเพื่อให้ผู้ใชแ้ ตล่ ะกลมุ่ สามารถใชข้ อ้ มูลร่วมกันได้ 1.1.2 ระบบฐานขอ้ มลู สารานุกรมไทยสาหรับเยาวชน เล่มที่ 25 เรื่องท่ี 2 (2544:52) กลา่ วถึงระบบฐานขอ้ มูลไว้ว่า ระบบฐานข้อมูล (Database System) ประกอบด้วย 2 ส่วนหลัก คือ ฐานข้อมูล (Database)และระบบจดั การฐานข้อมลู (Database Management System : DBMS) เทพฤทธิ์ บัณฑิตวัฒนาวงศ์ (2554:17) ได้กล่าวไว้ว่า ระบบฐานข้อมูลเป็นระบบจัดดาเนินการขอ้ มลู ทีป่ ระกอบดว้ ย 3 สว่ นประกอบสาคัญ คือ
2 1) ฐานข้อมลู (Database) 2) ชุดโปรแกรมที่ทาให้ใช้ทั่วไปได้ (Generalized Program) ประกอบด้วยระบบจัดการฐานข้อมูล (Database Management System : DBMS) และโปรแกรมภาวะการเช่ือมต่อ(Database Connectivity : DBC) 3) โปรแกรมประยุกต์ (Application) สรปุ ได้ว่า ระบบฐานขอ้ มูล ประกอบด้วยส่วนสาคญั คือ ฐานขอ้ มลู และโปรแกรมท่ใี ชใ้ นการจดั การฐานขอ้ มลู ทเ่ี รยี กวา่ ระบบจัดการฐานข้อมูล 1.1.3 ระบบจดั การฐานข้อมลู ทกั ษิณา สวนานนท์ (2544:155) ให้ความหมายว่า ระบบจัดการฐานข้อมูล หมายถึงซอฟต์แวรท์ ่ีสรา้ งขน้ึ เพอ่ื รวบรวมข้อมูลให้เปน็ ระบบ เพื่อจะไดน้ าไปเกบ็ รกั ษา เรยี กใชห้ รอื นามาปรบั ปรุงใหท้ นั สมัยได้ง่าย ทัง้ น้จี าเป็นต้องคานึงถึงการรกั ษาความปลอดภัยของขอ้ มลู เปน็ เร่ืองสาคัญด้วย สารานกุ รมไทยสาหรบั เยาวชน เลม่ ที่ 25 เรือ่ งที่ 2 (2544:52) ใหค้ วามหมายว่า ระบบจัดการฐานขอ้ มูล คือ ซอฟต์แวร์ที่ทาหน้าที่บนั ทึกขอ้ มูลไวใ้ นคอมพิวเตอร์ สืบค้นขอ้ มลู เปล่ียนแปลงข้อมูลและรกั ษาความปลอดภัยของฐานขอ้ มลู สมจิตร อาจอินทร์ และงามนิจ อาจอินทร์ (2550:235) ให้ความหมายว่า ระบบจัดการฐานขอ้ มลู เปน็ ซอฟตแ์ วร์ระบบชนดิ หน่งึ ทค่ี ล้ายกบั ซอฟต์แวรร์ ะบบปฏบิ ตั ิการทวั่ ไปมีหนา้ ท่ีให้บริการแก่ผใู้ ช้งานฐานขอ้ มูล และผู้เขียนโปรแกรม ปริศนา มัชฌิมา (2556:14) ระบบการจัดการฐานข้อมูล คือ โปรแกรมที่ทาหน้าที่ในการกาหนดลักษณะข้อมูลท่ีจะเก็บไว้ในฐานข้อมูล อานวยความสะดวกในการบันทึกข้อมูลลงในฐานข้อมูล กาหนดผู้ท่ีได้รับอนุญาตใหใ้ ช้ฐานข้อมูลได้ พร้อมกับกาหนดด้วยว่าให้ใช้ได้แบบใด เช่นใหอ้ า่ นข้อมูลได้อย่างเดยี วหรอื ให้แกไ้ ขข้อมูลได้ดว้ ย นอกจากน้ันยงั อานวยความสะดวกในการคน้ หาขอ้ มลู และการแกไ้ ขปรับปรุงข้อมลู ทาให้ผู้ใช้สามารถเข้าถงึ ข้อมลู ได้ง่าย สะดวกและมปี ระสทิ ธิภาพเสมอื นเป็นตวั กลางระหวา่ งผู้ใช้กับฐานขอ้ มูลให้สามารถตดิ ต่อกนั ได้ สรุปได้วา่ ระบบจัดการฐานข้อมูล คอื โปรแกรมที่ทาหน้าที่จดั เก็บข้อมูลในฐานขอ้ มูลคน้ หา เปลี่ยนแปลง ปรับปรุงและบารุงรักษาฐานข้อมูล ตลอดจนสามารถกาหนดสิทธิของผู้ใชใ้ นการเขา้ ถึงฐานข้อมลู เช่น กาหนดให้อา่ นข้อมลู ไดอ้ ย่างเดยี วหรอื แกไ้ ขข้อมูลได้ดว้ ย 1.1.4 ประโยชนข์ องฐานขอ้ มลู การใช้ฐานขอ้ มูลในการประมวลผลกอ่ ให้เกิดประโยชน์ดังน้ี 1) การใช้ข้อมูลร่วมกัน ฐานข้อมูลมีการจัดเก็บข้อมูลรวมไว้ที่เดียวกัน และกาหนดรูปแบบเป็นมาตรฐานเดียวกัน ทาใหโ้ ปรแกรมประยกุ ต์ของแต่ละระบบสามารถใช้ขอ้ มูลร่วมกันได้ เช่นฝ่ายทะเบยี นและฝ่ายปกครองสามารถใชข้ ้อมลู นักเรียนพรอ้ มกนั ได้
3 2) ลดความซา้ ซ้อนของข้อมูล ในการประมวลผลดว้ ยฐานข้อมลู ขอ้ มลู จะมีความซ้าซ้อนนอ้ ยที่สุด เนอื่ งจากข้อมูลถูกเกบ็ อยู่เพียงที่เดียวในฐานข้อมูล เชน่ ข้อมูลนักเรยี น ข้อมูลการลงทะเบียนเมือ่ มกี ารเปลี่ยนแปลงข้อมูลก็จะแกไ้ ขเพียงแหง่ เดียวเท่าน้ัน เช่น ถา้ มีการแก้ไขชื่อนักเรยี นก็จะแกไ้ ขในตารางนักเรียนเพียงแห่งเดียว ดังนั้นจึงเป็นการลดความซ้าซ้อนของข้อมูล ทาให้ขอ้ มลู มคี วามถูกต้องและไมม่ ีความขัดแย้งกัน 3) การรกั ษาความถูกต้องของข้อมลู กล่าวคือ ถ้ามีการแก้ไขข้อมูลในตารางใด ข้อมูลทุกตารางท่ีมีความสัมพันธ์กับตารางน้ันก็จะมีการแก้ไขตาม เช่น ถ้ามีการลบช่ือนักเรียนในตารางนักเรียน ก็จะต้องมีการลบช่ือนักเรียนคนนั้นในตารางลงทะเบียนและตารางอื่น ๆ ท่ีสัมพันธ์กับตารางนักเรียนดว้ ย โดยเปน็ หน้าทีข่ องระบบจดั การฐานขอ้ มลู 4) ความปลอดภัยของข้อมูลผู้บริหารระบบฐานข้อมูลสามารถกาหนดขอบเขตการเรียกใชข้ ้อมูลของผ้ใู ชแ้ ต่ละคนได้ 5) ความเป็นอิสระระหว่างโปรแกรมประยุกต์และขอ้ มูล เน่ืองจากโปรแกรมประยกุ ต์ท่ีเขยี นขึ้นไมต่ ้องนยิ ามโครงสร้างของขอ้ มลู ไว้ในโปรแกรม เพราะโครงสร้างของข้อมลู ทง้ั หมดถูกนิยามและจัดเก็บในฐานขอ้ มูล ดังน้ันถ้ามีการเปลี่ยนแปลงโครงสร้างเช่น ขนาดของเขตขอ้ มูลก็ไม่จาเป็นต้องแก้ไขโปรแกรมประยุกต์ที่เรียกใช้ข้อมูลนั้น ยกเว้นถ้าเป็นการเพ่ิม ลบ หรือเปล่ียนชื่อเขตข้อมูลโปรแกรมประยุกต์ท่ีมกี ารอา้ งถึงเขตข้อมูลนัน้ จึงจะถกู แก้ไข1.2 โปรแกรมจดั การฐานขอ้ มูล โปรแกรมจัดการฐานข้อมูลเป็นโปรแกรมด้านการประมวลผลและจัดการเรื่องต่าง ๆ ที่เกี่ยวข้องกับข้อมูลที่อยู่ในฐานข้อมูล เช่น การเพ่ิม แก้ไข ลบ เรียงลาดับข้อมูล ค้นหาข้อมูล จัดทารายงานและจัดเก็บข้อมูล ปจั จุบันมีโปรแกรมที่นิยมใช้อยูห่ ลายโปรแกรม ได้แก่ Microsoft Access,Oracle, MySQL, Ingress, FoxPro, Sybase และ DB2 เป็นต้น ในที่น้ีจะยกตัวอย่างโปรแกรมจัดการฐานขอ้ มูลที่นยิ มใช้ดงั น้ี 1.2.1 Microsoft Access เป็นโปรแกรมจัดการฐานข้อมูลที่นิยมใช้กันมาก เพราะมีความสามารถโดดเดน่ ใชห้ ลักการของระบบจดั การฐานข้อมูลเชิงสัมพันธ์ มีเคร่ืองมอื ในการสร้างและใช้งานฐานข้อมูลอย่างครบถ้วน มีระบบรักษาความปลอดภยั ของข้อมูล โดยการกาหนดรหสั ผ่านเพื่อป้องกันความปลอดภัยของข้อมูลในระบบ ใช้ได้กบั เคร่อื งไมโครคอมพิวเตอร์ ภาษาทใ่ี ช้ในการจัดการข้อมูล คือ ภาษาเอสคิวแอล (Structure Query Language : SQL) และภาษาคิวบีอี (Query ByExample : QBE) 1.2.2 Oracle เป็นโปรแกรมจัดการฐานข้อมูลแบบวัตถุ-สัมพันธ์ (object-relational) ที่รวมความสามารถของฐานข้อมูลเชิงสัมพันธ์กับความสามารถในการพัฒนาโปรแกรมแบบเชิงวัตถุ
4(object-oriented) เขา้ ดว้ ยกัน มีประสิทธิภาพในการทางานแบบไคลเอนด์/เซิร์ฟเวอร์ (client/ server)สนับสนุนการทางานบนหลายแพลตฟอร์ม เช่น Windows NT/2000/XP และ Linux เป็นต้น ซ่ึงข้อมูลท่ีอยู่ภายในฐานข้อมูลบนแพลตฟอร์มหน่ึงสามารถย้อนไปทางานบนแพลตฟอร์มอ่ืนได้ ส่วนบริการตา่ ง ๆ ทโี่ ปรแกรม Oracle จัดเตรียมไว้ให้ได้แก่ บริการดา้ นการจดั เก็บข้อมูล ค้นหาข้อมูล การทาดัชนีเป็นต้น สาหรับภาษาที่ใช้ในการพัฒนาน้ันใช้ภาษา C, C++, PL/SQL หรอื Java ซ่ึงหลักการในการพัฒนาส่วนใหญ่จะยึดตามมาตรฐานของกลุม่ การจดั การวัตถุ (Object Management Group : OMG) เป็นหลกั 1.2.3 MySQL เป็นโปรแกรมจัดการฐานข้อมูลเชงิ สัมพันธ์ที่มีโครงสร้างของภาษาท่ีเขา้ ใจง่ายไมซ่ บั ซ้อน มปี ระสทิ ธภิ าพการทางานสูง ไม่ต้องเสียคา่ ใช้จ่ายเนือ่ งจากเป็น freeware และเปน็ โปรแกรมประเภท open source สามารถดาว์นโหลด source code ต้นฉบับได้จากอินเทอร์เน็ต สนับสนุนการใช้งานบนระบบปฏิบัติการหลายตัว เช่น Unix, OS/2, Mac OS และ Windows นิยมใช้กันมากสาหรับฐานข้อมูลที่เป็นเว็บไซต์ โดยใช้ร่วมกันกับภาษา PHP นอกจากน้ียังสามารถใชร้ ่วมกับภาษาอื่น ๆ อกี เชน่ C, C++, C#, JAVA และ ASP เป็นต้น 1.2.4 Sybase เป็นระบบจัดการฐานข้อมูลสาหรับอุปกรณ์พกพา ซ่ึงในระบบของไซเบสจะมีส่ิงสาคัญที่เรียกว่าโมบายลิงค์ (MobiLink) ซึ่งทาหน้าที่เช่ือมโยงฐานข้อมูลสองตัว คือ ฐานข้อมูลท่ีอยู่บนอปุ กรณ์พกพากับฐานข้อมูลที่เป็นของสว่ นกลางให้มขี ้อมูลตรงกัน โดยฐานขอ้ มูลกลางนั้นรองรับหลายยี่ห้อด้วยกัน เช่น ไอบีเอ็ม ดีบีทู (IBM DB/2) ออราเคิล (Oracle) และเอสคิวเอลเซิร์ฟเวอร์ (SQL Server) เป็นต้นทาให้เทคโนโลยีน้ีมคี วามสาคัญในการพฒั นาโปรแกรมประยกุ ต์สาหรบั ระบบโมบายอย่างมาก ด้วยคุณสมบัติการส่ือสารระยะไกลที่ให้ผู้ใช้จากทุกที่สามารถเข้าถึงข้อมูลส่วนกลางได้ด้วยความปลอดภัยและได้ข้อมูลที่ถูกตอ้ งตรงกบั ฐานขอ้ มลู กลางท่สี ดุ1.3 คาศพั ท์ทเ่ี กยี่ วข้องกับฐานข้อมูล ในการใชง้ านฐานขอ้ มลู มีคาศพั ท์ท่ีใชเ้ รยี กส่วนต่าง ๆ ดังน้ี 1.3.1 เขตข้อมูลหรือฟิลด์ (Field) คือ กลุ่มของข้อมลู ที่เกิดจากการรวมตัวของอักขระตั้งแต่1 ตวั ขึน้ ไปแล้วมคี วามหมาย เช่น ชือ่ นามสกุล ท่อี ยู่ เป็นต้น หรอื เรียกอกี อยา่ งวา่ คอลมั น์ 1.3.2 ระเบียนหรือเรคอร์ด (Record) คือ กลุ่มของข้อมูลที่เกิดจากการรวมตัวของเขตข้อมูลหลายเขตข้อมูลท่ีมีความสัมพันธ์ในเรื่องเดียวกัน เช่น ข้อมูลของนักเรียน 1 ระเบียน ประกอบด้วยรหัสนกั เรยี น ชอ่ื ที่อยู่ 1.3.3 ตาราง (Table) หรือรีเลชัน (Relation) คือ รูปแบบการเก็บโครงสร้างข้อมูลของฐานข้อมูลเชิงสมั พันธ์ ที่ประกอบดว้ ย กลุ่มของคอลัมน์ (Column) และแถว (Row) โดยคอลัมน์แตล่ ะคอลัมน์จะใช้แทนเขตขอ้ มูล หรือเรียกอีกอย่างว่า แอตทริบิวต์ (Attribute) และแถวแต่ละแถวจะใช้แทนระเบียน หรือเรียกอีกอย่างว่า ทูเปิล (Tuple) เช่น ตารางข้อมูลนักเรียน ประกอบด้วยข้อมูลนักเรียนหลายระเบยี น
5 1.3.4 เอนทติ ี คือ ตัวแทนของสิ่งต่าง ๆ เช่น บคุ คล สถานที่ ส่ิงของ หรือเหตุการณ์ และเป็นช่อื ที่ใช้เรียกแทนตารางหรือรีเลชันในการสร้างแบบจาลองข้อมูลหรือเขียนแผนภาพ E-R เช่น เอนทิตีลกู ค้า เอนทิตีสนิ ค้า เอนทติ ีการส่งั ซ้ือ เป็นต้น สัญลกั ษณ์ทใี่ ช้แทนเอนทิตีคือ รูปสี่เหลี่ยมและระบชุ ื่อเอนทติ ภี ายในกรอบส่ีเหลย่ี ม ตามรูปท่ี 1.1 ลกู ค้า สินคา้ รูปที่ 1.1 แสดงตัวอยา่ งสญั ลกั ษณเ์ อนทติ ี 1.3.5 แอตทริบิวต์ (Attribute) คือ ช่ือคอลัมน์ต่าง ๆ ในตารางหรือรีเลชันท่ีใช้อธิบายคุณลักษณะของแต่ละเอนทิตี เช่น เอนทติ ลี ูกคา้ ประกอบดว้ ยแอตทริบิวต์รหัสลูกค้า ช่ือลูกค้า ท่ีอยู่เป็นต้น สัญลักษณท์ ใี่ ช้แทนแอตทรบิ วิ ต์ คอื รปู วงรีและระบุช่ือแอตทริบิวต์ภายในวงรี ถา้ แอตทริบิวตใ์ ดเป็นคยี ์หลักให้ขดี เส้นใตท้ ชี่ ื่อแอตทริบวิ ต์นนั้ ตามรูปที่ 1.2แอตทรบิ ิวตค์ ยี ์หลกั รหสั ลูกค้า แอตทริบวิ ตป์ กติ ชอ่ื ลูกคา้ รูปท่ี 1.2 แสดงตวั อยา่ งสัญลักษณ์แอตทริบวิ ต์1.3.6 โดเมน (Domain) คือ ขอบเขตค่าของข้อมูลหรือรูปแบบหรือชนิดข้อมูลในแต่ละเขตข้อมูลที่กาหนดข้ึน เช่น ชื่อ-นามสกุลไม่เป็นค่าว่าง จานวนสนิ ค้ามากกว่าศนู ย์ รหัสสินค้ามีชนิดข้อมูลเปน็ ข้อความ ขนาด 10 ตวั อกั ษร เปน็ ต้น1.3.7 ทเู ปิล (Tuple) คือ แถวของตารางหรือรเี ลชัน1.3.8 ความสัมพันธ์ (Relationships) คือ ความสัมพันธ์ที่เกิดขึ้นระหว่างตาราง (เอนทิตี)ในระบบฐานข้อมูล เช่น ตารางลูกค้ากับตารางสินค้า โดยลูกค้าแต่ละคนซื้อสินค้าได้หลายชนิดและสินค้าแต่ละชนิดถูกซ้ือโดยลูกค้าหลายคน ในการแสดงความสัมพันธ์ระหว่างตารางจะใช้ลูกศรเพื่อแสดงความสัมพนั ธ์สนิ คา้ ชอ่ื ตารางหรือรเี ลชัน แอตทรบิ วิ ต์รหสั สินค้า ชื่อสินคา้ ราคา ระเบยี น/ รหสั สนิ ค้า ชื่อสินค้า ราคา 2101 พัดลม 1,300 เรคอร์ด/ทเู ปิล d8hk เอนทิตี 2102 โทรทศั น์ 4,230 สนิ คา้ 2103 ตู้เย็น 12,435เขตขอ้ มูล/ฟลิ ด์/แอตทริบวิ ต์) รปู ท่ี 1.4 แสดงตัวอยา่ งเอนทติ ีและแอตทรบิ ิวต์ รูปที่ 1.3 แสดงสว่ นตา่ ง ๆ ของตารางหรือรเี ลชัน
6 จากรูปที่ 1.3 แสดงตัวอยา่ งตารางหรอื รีเลชนั สินค้าที่ประกอบด้วยแอตทรบิ ิวต์ 3 แอตทริบิวต์คือรหสั สนิ คา้ ชื่อสินค้าและราคา โดยแต่ละระเบียนประกอบดว้ ยขอ้ มลู ดังน้ี ระเบียนที่ 1 รหัสสินคา้ 2101 ชอ่ื สนิ ค้า พดั ลม ราคา 1,300 ระเบียนที่ 2 รหสั สินค้า 2102 ชอื่ สนิ คา้ โทรทัศน์ ราคา 4,230 ระเบยี นท่ี 3 รหัสสนิ คา้ 2103 ชื่อสนิ ค้า ตเู้ ย็น ราคา 12,435 และรูปท่ี 1.4 แสดงตัวอยา่ งเอนทติ ีสินคา้ ประกอบด้วย 3 แอตทริบวิ ต์ คือ รหัสสนิ ค้า ชื่อสินค้าและราคา โดยมีแอตทริบิวตร์ หสั สินคา้ เปน็ คีย์หลัก1.4 แบบจาลองฐานข้อมลู เชิงสัมพนั ธ์ 1.4.1 แบบจาลองฐานข้อมลู เชงิ สัมพนั ธ์ (Database Relational Model) หมายถึง แฟม้ ข้อมลูทมี่ ีการเก็บขอ้ มูลในรปู แบบของตาราง (Table) หรือเรยี กอกี อย่างว่า รีเลชนั (Relation) ทป่ี ระกอบดว้ ยคอลมั นท์ ีใ่ ช้แทนเขตขอ้ มูลหรือแอตทริบวิ ต์ และแถวทีใ่ ชแ้ ทนระเบยี นหรอื ทเู ปิล คาว่า รีเลชัน แอตทริบิวต์ และทูเปิล จะเป็นคาศัพท์ท่ีใช้ในการอธิบายเก่ียวกับทฤษฎีของแบบจาลองฐานข้อมูลเชิงสัมพันธ์ และมีชื่อเรียกต่างกันเมื่อถูกใช้ในกลุ่มผู้ที่เก่ียวข้องกับการเขียนโปรแกรมทางคอมพิวเตอร์หรือผู้ออกแบบระบบ ซ่ึงสามารถสรุปได้ตามลกั ษณะการใชง้ านตามตารางท่ี 1.1ตารางท่ี 1.1 แสดงรูปแบบคาศัพท์พ้ืนฐานของแบบจาลองฐานข้อมลู เชิงสัมพันธ์ แบบจาลองฐานข้อมูล แผนภาพ E-R โปรแกรมเมอรห์ รือ เชิงสมั พันธ์ บุคคลท่วั ไป เอนทติ ีรเี ลชัน หรอื ตาราง แอตทรบิ วิ ต์ ตารางแอตทรบิ วิ ต์ สมาชิกของเอนทิตี เขตข้อมูล หรอื คอลัมน์ทูเปลิ ระเบยี น หรือแถว ดงั นั้นในเอกสารเล่มน้จี ะใช้คาว่า ตาราง เขตข้อมลู และระเบียนในการอธิบายตงั้ แต่หนว่ ยท่ี 3เปน็ ต้นไปลูกค้า ความสัมพันธ์ ใบสั่งซือ้รหสั ลูกคา้ ชือ่ ลูกคา้ ทีอ่ ยู่ เบอร์โทร เลขท่ใี บส่ังซ้ือ รหัสลกู ค้า วันที่สั่งซื้อC001 ใจกวา้ ง สมุทรสาคร 034-411248 5407001 C002 15-07-54C002 รอบคอบ นครปฐม 034-411321 5407002 C001 18-07-54C003 กลา้ หาญ ราชบุรี 034-421367 รูปท่ี 1.5 แสดงแบบจาลองฐานขอ้ มูลเชิงสมั พันธ์
7 จากรูปที่ 1.5 แสดงตัวอย่างแบบจาลองฐานข้อมูลเชิงสัมพันธ์ที่ประกอบด้วย ตารางลูกค้าและตารางใบสั่งซอื้ โดยท้งั 2 ตารางมีเขตข้อมลู ท่ีมีความสมั พนั ธ์กันคือ เขตขอ้ มูลรหสั ลูกค้า 1.4.2 ข้อดแี ละขอ้ เสียของแบบจาลองฐานขอ้ มูลเชิงสมั พนั ธ์ ก) ขอ้ ดขี องแบบจาลองฐานขอ้ มลู เชงิ สัมพนั ธ์ มดี ังนี้ 1. มีความเป็นอิสระทางด้านโครงสร้าง กล่าวคือ โครงสร้างของแบบจาลองฐานขอ้ มูลเชิงสัมพันธ์ถูกออกแบบมาใหม้ ีความง่ายต่อการเปลี่ยนแปลงโครงสร้าง และเป็นอิสระจากการทางานของระบบจัดการฐานข้อมูลและโปรแกรมประยุกต์ ดังนั้นการเปล่ียนแปลงโครงสร้างของฐานขอ้ มูล จะไม่มีผลกระทบตอ่ การเข้าถึงข้อมลู ของระบบจัดการฐานขอ้ มูล และโปรแกรมประยุกต์ที่เก่ียวขอ้ งกับฐานข้อมลู นั้น ๆ 2. เนื่องจากแบบจาลองชนดิ นี้มคี วามเป็นอิสระทางด้านข้อมูลและโครงสร้าง จงึ ทาให้งา่ ยต่อการออกแบบฐานขอ้ มลู การพัฒนา การนาไปใช้และการจัดการข้อมลู ภายในฐานข้อมูล 3. การมีประสิทธิภาพและความยืดหยุ่น เนือ่ งจากมีภาษาที่ใชส้ าหรับการค้นหาและจดั การข้อมูลที่เรียกว่า ภาษาเอสคิวแอล (Structure Query Language : SQL) ซง่ึ เปน็ คาสั่งที่เข้าใจงา่ ย ทาใหล้ ดขั้นตอนการเขียนโปรแกรมประยุกตท์ ่ีซบั ซ้อนในการเข้าถึงข้อมูลในฐานขอ้ มูลลงได้ ข) ข้อเสียของแบบจาลองฐานข้อมูลเชิงสัมพันธ์ คือ ความต้องการฮาร์ดแวร์ซอฟตแ์ วร์และระบบปฏบิ ัติการท่มี ปี ระสทิ ธิภาพ เนื่องจากแบบจาลองนถ้ี ูกออกแบบมาเพื่องา่ ยตอ่ การใชง้ าน โดยซ่อนความซับซ้อนของการทางานของระบบไว้ภายใน ดังนั้นจึงต้องใชเ้ คร่ืองคอมพิวเตอร์ท่ีมปี ระสิทธิภาพเพื่อรองรับการทางานด้านตา่ ง ๆ ของระบบจดั การฐานขอ้ มูล1.5 คียใ์ นฐานข้อมูล คยี ์ คอื เขตข้อมูลท่ีสามารถบอกความแตกต่างของแต่ละระเบยี น อาจประกอบดว้ ยเขตข้อมูลเดียวหรือกลุ่มของเขตข้อมลู ประเภทของคีย์ที่ใช้ในงานฐานขอ้ มูลมดี งั นี้ 1.5.1 คีย์คู่แข่ง (Candidate Key) คือ เขตข้อมูลหรือกลุ่มของเขตข้อมูลท่ีสามารถระบุความแตกต่างของแต่ละระเบียนได้ ซ่ึงแต่ละตารางสามารถมีคีย์คู่แข่งได้หลายตัว เช่น ตารางลูกค้าประกอบดว้ ย เขตขอ้ มูลรหัสลูกคา้ ช่ือลกู คา้ ท่อี ยู่ รหสั ไปรษณยี ์และเขตข้อมลู ที่สามารถเปน็ คียค์ ู่แข่งได้ คือ รหัสลกู คา้ และชื่อลกู ค้า 1.5.2 คีย์หลัก (Primary Key : PK) คือ คีย์คู่แข่งท่ีได้รับเลือกให้เป็นคีย์หลัก ท่ีสามารถนาไปใช้เพื่ออ้างอิงถึงความแตกต่างของระเบียนในตารางได้ และคีย์หลักจะต้องมีข้อมูลเสมอ ในท่ีน้ีเขตข้อมลู รหัสลูกค้าได้รับเลือกให้เป็นคีย์หลัก สว่ นชื่อลูกค้า เรยี กว่าคีย์รอง (Alternate Key) ซ่ึงถ้านาคยี ร์ องไปค้นหาข้อมูลในตาราง อาจได้ข้อมูลมากกวา่ 1 ระเบียน เนื่องจากชอ่ื ลกู คา้ อาจซา้ กัน
8 1.5.3 คียน์ อก (Foreign Key : FK) คอื เขตขอ้ มลู ที่เปน็ คยี ์หลกั ในตารางหน่งึ และไปปรากฏในอีกตารางหน่ึง เพื่อใช้สาหรับการเชื่อมความสัมพนั ธ์ระหว่างตาราง เชน่ ตารางลูกคา้ มีรหัสลกู ค้าเป็นคยี ์หลัก และขณะเดียวกันในตารางการสัง่ ซื้อก็มีรหัสลูกคา้ เหมอื นกนั แตถ่ ูกกาหนดให้เป็นคีย์นอกเพื่อใช้เช่ือมโยงไปยงั ตารางลกู คา้ 1.5.4 คีย์ผสม (Composite Key) คือ กลุ่มของเขตข้อมูลตั้งแต่ 2 เขตข้อมูลข้ึนไปที่ทาให้ข้อมูลในแต่ละระเบียนของตารางไม่ซ้ากันและสามารถนามาเป็นคีย์หลักได้ เน่ืองจากบางตารางอาจจะหาเขตข้อมลู เดยี่ วท่มี ีคา่ ไมซ่ ้ากนั ไมไ่ ด้ลูกคา้ ใบสง่ั ซือ้ คยี ห์ ลัก (Primary Key : PK )รหสั ลูกค้า ชือ่ ลกู คา้ ทอ่ี ยู่ เบอรโ์ ทร เลขทใ่ี บสง่ั ซื้อ รหัสลกู คา้ วนั ท่ีสั่งซ้อืC001 ใจกวา้ ง สมทุ รสาคร 034-411248 101 C001 15-07-54C002 รอบคอบ นครปฐม 034-411321 102 C003 18-07-54C003 กลา้ หาญ ราชบรุ ี 034-421367 คยี ์คแู่ ขง่ (Candidate Key) คีย์นอก (Foreign Key : FK) รปู ท่ี 1.6 แสดงคียห์ ลกั และคียน์ อก จากรูป 1.6 ตารางลูกค้ากาหนดให้เขตข้อมูลรหัสลูกค้าเป็นคีย์หลักเพราะมีค่าไม่ซ้ากันสว่ นตารางใบสั่งซื้อกาหนดใหเ้ ขตข้อมูลเลขท่ีใบส่ังซ้ือเป็นคีย์หลัก เน่ืองจากมีค่าไม่ซ้ากัน และมีรหัสลกู คา้ เป็นคยี น์ อกเพือ่ สรา้ งความสัมพนั ธ์ระหวา่ งตารางลูกคา้ และตารางใบส่ังซ้ือสินคา้ รายละเอยี ดใบสัง่ ซ้ือ คียห์ ลักแบบคีย์ผสม (Composite Key)รหสั สนิ ค้า ชอื่ สินคา้ ราคา จานวน เลขท่ใี บส่งั ซื้อ รหสั สินค้า จานวน 2101 พดั ลม 1,300 234 2102 ทีวี 4,230 210 101 2101 25 2103 ตเู้ ยน็ 4,230 55 101 2102 39 102 2101 12คยี ์หลัก ใบสัง่ ซือ้(Primary Key : PK )เลขท่ใี บส่ังซอื้ รหัสลกู ค้า วนั ทส่ี ง่ั ซ้อื แต่ละตัวเป็นคยี ์นอก 101 C001 15-07-54 (Foreign Key : FK) 102 C003 18-07-54 รูปท่ี 1.7 แสดงคยี ห์ ลกั คีย์นอกและคีย์หลกั แบบคยี ผ์ สม
9 จากรูปที่ 1.7 ตารางสนิ ค้ามเี ขตข้อมูลรหสั สินค้าเป็นคีย์หลกั ตารางใบส่ังซอื้ มเี ขตข้อมูลเลขท่ีใบส่ังซ้ือเป็นคีย์หลัก และตารางรายละเอียดใบส่ังซ้ือไม่มีเขตข้อมูลเดี่ยวใดมคี ุณสมบัติเป็นคีย์หลักได้ดงั นั้นจึงใช้เขตขอ้ มูลเลขท่ีใบส่ังซ้อื และเขตข้อมูลรหัสสินค้ารวมกันเป็นคีย์หลักหรือที่เรียกว่าคีย์ผสมและในขณะเดียวกันเขตข้อมูลเลขที่ใบสั่งซ้ือก็เป็นคีย์นอกเพราะมีความสัมพันธ์กับตารางใบสั่งซ้ือและเขตข้อมลู รหสั สินค้าก็เป็นคียน์ อกเหมอื นกันเพราะมีความสัมพนั ธ์กบั ตารางสินค้า1.6 ชนิดของความสัมพนั ธ์ ความสมั พนั ธ์ในฐานขอ้ มลู มี 3 ชนิดคือ 1.6.1 ความสมั พนั ธแ์ บบหนง่ึ ตอ่ หน่ึง (One to One) หมายถึง ความสมั พันธ์ของตาราง 2ตาราง โดยที่แต่ละระเบียนของตารางเป็นความสัมพันธ์แบบ 1 ระเบียนต่อ 1 ระเบียนเท่านั้น เช่นธนาคารโรงเรียนระบุให้ลกู คา้ แต่ละคนสามารถเปิดบัญชีได้คนละ 1 บัญชแี ละแต่ละบัญชีจะมเี จา้ ของไดเ้ พียง 1 คนเทา่ นัน้ ตามรปู ที่ 1.8 ลูกคา้ 1 1:1 บญั ชี 1 ลูกคา้ 2 บัญชี 2 ลกู ค้า 3 บญั ชี 3 รูปที่ 1.8 แสดงความสัมพันธแ์ บบหนึ่งต่อหน่ึง 1.6.2 ความสมั พันธแ์ บบหน่ึงต่อกลุ่ม (One to Many) หมายถงึ ความสัมพนั ธ์ของตาราง 2ตาราง โดยระเบียน 1 ระเบียนจากตารางที่ 1 สามารถมีความสัมพันธ์กับระเบียนของตารางที่ 2 ได้มากกว่า 1 ระเบียน เช่น ลูกค้า 1 คนสามารถสั่งซื้อสินค้าได้มากกว่า 1 ครั้ง และใบส่ังซื้อ 1 ใบจะระบลุ กู คา้ ได้ 1 คน ตามรูปที่ 1.9ลกู ค้า ใบสงั่ ซ้ือรหัสลูกค้า ชอื่ ลูกคา้ ท่อี ยู่ เบอรโ์ ทร 1:M เลขทีใ่ บสง่ั ซ้อื รหสั ลกู ค้า วันท่สี ง่ั ซอ้ื 101 2101 02/02/532101 ใจกว้าง สมทุ รสาคร 034-411248 102 2103 05/02/532102 รอบคอบ นครปฐม 034-411321 103 2101 21/02/532103 กล้าหาญ สมทุ รสงคราม 034-421367 104 2103 28/02/53 รปู ท่ี 1.9 แสดงความสัมพนั ธแ์ บบหนงึ่ ตอ่ กลุ่ม
10 1.6.3 ความสัมพนั ธ์แบบกลมุ่ ตอ่ กล่มุ (Many to Many) หมายถึง ความสมั พันธ์ของตาราง2 ตาราง โดยแต่ละระเบียนจากตารางที่ 1 สามารถมีความสัมพันธ์กับระเบียนของตารางที่ 2 ได้มากกว่า 1 ระเบียน และแต่ละระเบียนจากตารางท่ี 2 ก็สามารถมีความสัมพันธ์กับระเบียนของตารางที่ 1 ได้มากกว่า 1 ระเบยี น เช่น สินค้า 1 รายการอยใู่ นใบสั่งซอ้ื ได้หลายใบ และใบสั่งซือ้ 1 ใบมีรายการสินคา้ ไดม้ ากกวา่ 1 รายการเปน็ ตน้ ตามรปู ท่ี 1.8 จากความสมั พันธ์ลกั ษณะนีท้ าให้เกิดตารางใหม่ 1 ตาราง เรียกว่า ตารางเชื่อมต่อ เพ่ือแตกความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มเป็นความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่มจานวนสองความสัมพันธ์ โดยการนาคีย์หลักของแต่ละตารางมาใส่ในตารางท่ีเกิดขึ้นใหม่ และกาหนดให้ทง้ั สองคยี ร์ วมกนั เป็นคยี ห์ ลัก ตามรูปท่ี 1.10 สนิ คา้ ใบส่งั ซือ้ รหัสสินคา้ (PK) M:N เลขที่ใบส่งั ซ้อื (PK) รหัสลกู คา้ A001 101 C101 A002 102 C103 B001 103 C102 B002 104 C101 รปู ท่ี 1.10 แสดงความสมั พนั ธแ์ บบกลุ่มตอ่ กลุม่ ใบสงั่ ซือ้ รายละเอยี ด (ตารางที่เกิดข้ึนใหม่ )เลขทใี่ บสัง่ ซ้อื (PK) รหัสลูกคา้ 1:M เลขทใี่ บสง่ั ซอื้ (PK) รหสั สินคา้ (PK) รหัสลูกค้า 101 C101 101 A001 C101 102 C103 102 A002 C103 103 C102 102 B001 C103 104 C101 102 B002 C103 103 A001 C102ตารางสินคา้ รหัสสินค้า (PK) 103 A002 C102 104 B002 C101 A001 A002 B001 B002 1 : M รปู ท่ี 1.11 แสดงความสัมพันธ์ทเ่ี กิดขึ้นใหม่
11 จากความสัมพันธ์แบบกลุ่มต่อกลุ่มรูปที่ 1.10 ทาให้เกิดตารางใหม่ 1 ตาราง ให้ชื่อว่าตารางรายละเอียด และความสัมพันธ์ระหว่างตารางจะเปลี่ยนเป็นความสัมพันธ์แบบหน่ึงต่อกลุ่ม จานวน 2ความสัมพันธ์ ตามรูปท่ี 1.11สรปุ ประเดน็ สาคญั ฐานข้อมูลเป็นกลุ่มของข้อมูลที่มีความสัมพันธ์กันและมีการเก็บรวบรวมไว้เป็นหมวดหมู่เดียวกัน เพ่ือความสะดวกในการคน้ หา ปรับปรุงและแกไ้ ขข้อมูล โดยมีโปรแกรมจดั การฐานข้อมูลเป็นตัวควบคุมการทางาน และระบบฐานข้อมูลประกอบด้วยฐานข้อมูลและโปรแกรมจัดการฐานข้อมูลและการใช้ฐานข้อมลู ในการประมวลผลก่อให้เกิดประโยชน์คือ ชว่ ยลดความซ้าซอ้ นของข้อมูล รักษาความถูกต้องของข้อมูลและใช้ข้อมูลร่วมกันได้ คีย์ต่าง ๆ ในฐานข้อมูล ประกอบด้วย คีย์คู่แข่ง(Candidate Key) คีย์หลัก (Primary Key:PK) คีย์นอก (Foreign Key:FK) คีย์ผสม (CompositeKey) โปรแกรมจัดการฐานขอ้ มูลทน่ี ยิ มใช้คือ Access, SQL, MySQL, Oracle, Visual Foxpro และSybase เป็นต้น แบบจาลองฐานข้อมูลที่นิยมใช้คือ แบบจาลองฐานข้อมูลเชิงสัมพันธ์ ซ่ึงมีลักษณะเหมือนตาราง 2 มิติ ประกอบด้วยแถวและคอลัมน์ ซึ่งแต่ละแถวหมายถึงระเบียน และคอลัมน์หมายถึงเขตข้อมูล แต่ละตารางจะมีคีย์หลักเพื่อใช้แยกหรือระบุความแตกต่างของข้อมูลในแต่ละระเบียน บางตารางอาจมีคีย์นอกและแต่ละตารางจะมีความสัมพันธ์กัน ความสัมพันธ์มี 3 ชนิดคือความสมั พนั ธ์แบบหนึง่ ต่อหนง่ึ ความสัมพันธแ์ บบหนึง่ ตอ่ กลมุ่ และความสมั พนั ธ์แบบกลุ ม่ ต่อกลุ่ม
Search
Read the Text Version
- 1 - 11
Pages: