งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การประยุกต์ใช้คอมพิวเตอร์ทางวิศวกรรมชีวการแพทย์ Computer Application in Biomedical Engineering (BME 333) Database Design คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การประยุกต์ใช้คอมพิวเตอร์ทางวิศวกรรมชีวการแพทย์ Computer Application in Biomedical Engineering (BME 333) Database Design คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต."— ใบสำเนางานนำเสนอ:

1 การประยุกต์ใช้คอมพิวเตอร์ทางวิศวกรรมชีวการแพทย์ Computer Application in Biomedical Engineering (BME 333) Database Design คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต โดย อ.รัชนี เสาร์สุวรรณ์ หัวหน้ารายวิชา ผศ.ดร. ปิยะมาศ เสือเพ็ง อาจารย์ผู้ร่วมสอน อ.อนุชิต นิรภัย อาจารย์ผู้ร่วมสอน

2 หัวข้อ ( Outline ) องค์ประกอบของฐานข้อมูล ขั้นตอนการออกแบบฐานข้อมูล
ชนิดข้อมูลใน MySQL (Datatype) คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

3 องค์ประกอบของฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

4 องค์ประกอบของฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต แฟ้มข้อมูล ฐานข้อมูล

5 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

6 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

7 ขั้นตอนการออกแบบฐานข้อมูล
ภายใต้การออกแบบระบบเทคโนโลยีสารสนเทศ การออกแบบฐานข้อมูลจะเป็นขั้นตอนหนึ่งที่เราจะต้องให้ความสำคัญ หลักการออกแบบฐานข้อมูลจะประกอบไปด้วย 6 ขั้นตอนหลักที่จะประกอบด้วยการศึกษาฐานข้อมูลขององค์กรเบื้องต้น (database initial study), การออกแบบฐานข้อมูล (database design), การสร้างฐานข้อมูลและการโหลดข้อมูลเข้าสู่ฐานข้อมูล (implementation and loading), การทดสอบและประเมินการทางานของฐานข้อมูล (testing and evaluation), การประยุกต์ใช้ฐานข้อมูล (operation), และการดูแลรักษาและพัฒนาให้ดียิ่งขึ้น (maintenance and evolution) ตามลำดับ คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

8 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

9 ขั้นตอนการออกแบบฐานข้อมูล
การศึกษาฐานข้อมูลขององค์กรเบื้องต้น ในการศึกษาเกี่ยวกับฐานข้อมูลขององค์กรหนึ่งๆเพื่อทำการปรับปรุงหรือสร้างระบบเทคโนโลยีสารสนเทศขึ้นใหม่ ผู้ออกแบบฐานข้อมูล/ผู้ออกแบบระบบจะต้องเข้าใจถึงสาเหตุและเหตุผลที่ระบบที่ใช้อยู่ในปัจจุบันเกิดความล้มเหลวที่ซึ่งจะสามารถทาความเข้าใจได้การพูดคุย สัมภาษณ์ และ/หรือสอบถามจากผู้ใช้งานระบบ การศึกษาดังกล่าวจะมีวัตถุประสงค์หลัก 3 ส่วนดังนี้ การวิเคราะห์สถานการณ์ของบริษัท (analysis of the company situation) การระบุถึงปัญหาและเงื่อนไขต่างๆ (define problems and constraints) การระบุถึงวัตถุประสงค์ และขอบเขต (Define objectives, scopes and boundaries คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

10 ขั้นตอนการออกแบบฐานข้อมูล
การศึกษาฐานข้อมูลขององค์กรเบื้องต้น คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

11 ขั้นตอนการออกแบบฐานข้อมูล
ขั้นตอนการออกแบบฐานข้อมูลจะประกอบไปด้วย 1 การวิเคราะห์ความต้องการว่าต้องการฐานข้อมูลอะไร แล้วทำการรวบรวมข้อมูลที่เกี่ยวข้องกับฐานข้อมูลที่จะทำ 2 การออกแบบตามแนวความคิดด้วยการนำข้อมูลที่รวบมาได้มาทำแผนภาพ ER diagram 3 เลือก DBMS การออกแบบเชิงตรรกะด้วยรูปแบบข้อมูลแบบ DBMS 4 การกลั่นกรองโครงร่างของ Relational DBs เพื่อไม่ให้เกิดความขัดแย้งของข้อมูลด้วยกระบวนการ Normailization 5 การออกแบบเชิงกายภาพ เช่น การออกแบบรูปแบบของดัชนีการค้นหา และรูแบบฟังก์ชันการทำงานต่างๆ ในส่วนติดต่อกับผู้ใช้ 6 การออกแบบระบบความปลอดภัย เพื่อจัดระดับการเข้าถึงข้อมูล คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

12 ขั้นตอนการออกแบบฐานข้อมูล
กลยุทธ์ในการออกแบบฐานข้อมูล การออกแบบฐานข้อมูลจะมีวิธีดั้งเดิม 2 วิธีดังนี้  Top-down—จะเริ่มจากการระบุถึงข้อมูลอย่างคร่าวๆ แล้วจึงทาการระบุถึงข้อมูลที่มีความละเอียดมากขึ้น ตัวอย่างเช่น เริ่มจากการระบุถึงเอ็นทิตี้ต่างๆแล้วจึงทาการระบุถึงแอทริบิวต่างๆในเอ็นทิตี้เหล่านั้น  Bottom-up—จะเริ่มจากการระบุถึงข้อมูลที่มีความละเอียดก่อนแล้วค่อยระบุถึงกลุ่ม/ประเภทของข้อมูล ตัวอย่างเช่น การระบุถึงแอทริบิวต่างๆที่จาเป็นต้องทาการจัดเก็บในฐานข้อมูล จากนั้นค่อยทาการรวบรวมแอทริบิวที่เกี่ยวเนื่องกันเพื่อระบุถึงเอ็นทิตี้หนึ่งๆ คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

13 ขั้นตอนการออกแบบฐานข้อมูล
กลยุทธ์ในการออกแบบฐานข้อมูล คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

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

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

16 ขั้นตอนการออกแบบฐานข้อมูล
การออกแบบในลักษณะ centralized และ decentralized การเลือกวิธีการออกแบบฐานข้อมูลแบบ bottom-up หรือ top-down จะขึ้นกับขอบเขตและขนาดของระบบฐานข้อมูลที่จะทาการออกแบบ แต่อย่างไรก็ตาม เราควรที่จะพิจารณาเกี่ยวกับโครงสร้างขององค์กรที่จะมีลักษณะเป็นแบบ centralized หรือ decentralized ที่จะเกี่ยวเนื่องกับหลักการการออกแบบฐานข้อมูล 2 หลักการดังนี้ Centralized design—จะเป็นหลักการออกแบบฐานข้อมูลขนาดเล็กที่มีการดาเนินการกับฐานข้อมูลไม่มากนัก ดังนั้น การออกแบบฐานข้อมูลอาจดาเนินการด้วยผู้ออกแบบเพียงคนเดียวหรืออาจดาเนินการด้วยทีมผู้ออกแบบกลุ่มเล็กๆ การออกแบบแบบ centralized จะประกอบไปด้วยขั้นตอนการออกแบบ การระบุถึงปัญหา/การดาเนินการต่างๆ การออกแบบกรอบความคิด การตรวจสอบความคิดที่ออกแบบไว้ การกำหนดฟังก์ชันการทางาน/การดาเนินการต่างๆของระบบ การกำหนดเงื่อนไขของข้อมูล และการตรวจสอบกรอบความคิดว่ามีความสอดคล้อง/สามารถตอบสนองต่อการดาเนินการทางธุรกิจและสิ่งที่ผู้ใช้ต้องการ ตามลาดับ คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

17 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

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

19 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

20 ขั้นตอนการออกแบบฐานข้อมูล
ก่อนการออกแบบฐานข้อมูล ควรจัดแบ่งข้อมูลเป็นระบบอย่างเหมาะสม ไม่ซ้ำซ้อน โดยการดำเนินการดังนี้ 1.กำหนดว่าจะต้องมีข้อมูลอะไรบ้างที่เกี่ยวกับ ตาราง(Table)นั้น เช่น ตาราง(Table) ลูกค้า(Costumers) จะต้องมีข้อมูลเกี่ยวกับ ชื่อ สกุล วันเดือนปีเกิด ที่อยู่ หมายเลขโทรศัพท์ ส่วน ตาราง(Table)ใบสั่งซื้อ(Orders) จะต้องมีข้อมูลเกี่ยวกับรหัสสินค้า จำนวน ส่วนลดเป็นต้น 2.ลดความซ้ำซ้อนของฐานข้อมูลโดยกำหนด เขตข้อมูล(Field) ต่างๆ อย่างถูกต้องเหมาะสม 3.กำหนความสัมพันธ์ระหว่าง ตาราง(Table)โดยกำหนด คีย์หลัก(Primary Key :PK) และ คีย์นอก(Foreign Key :FK) ขึ้นในตาราง(Table)ทีเกี่ยวข้อง คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

21 ขั้นตอนการออกแบบฐานข้อมูล
คีย์หลัก(Primary Key :PK) หมายถึง Field ที่มีข้อมูลไม่ซ้ำกัน เช่น เขตข้อมูล(Field) รหัสลูกค้า ซึ่งจะต้องไม่มีลูกค้าคนใดใช้รหัสซ้ำกัน โดยในหนึ่ง ตาราง(Table) ควรมี คีย์หลัก(Primary Key :PK) เพียง 1 คีย์ และใน คีย์หลัก(Primary Key :PK) จะต้องไม่เป็นค่าว่าง Null คีย์นอก(Foreign Key :FK) หมายถึง เขตข้อมูล(Field) หรือส่วนประกอบของตาราง(Table)หนึ่งซึ่งมีความสัมพันธ์กับ เขตข้อมูล(Field) ใน ตาราง(Table)อื่น ที่เป็น คีย์หลัก(Primary Key :PK) โดยสามารถเชื่อมโยงข้อมูลระหว่างกันได้ คีย์คู่แข่ง(Candidate Key)หมายถึงเขตข้อมูล(Field)หนึ่งหรือหลายเขตข้อมูลมีคุณสมบัติเป็น คีย์หลัก PK(ไม่ซ้ำ)และไม่ได้ใช้เป็นคีย์หลัก เช่น รหัสสินค้าเป็น คีย์หลัก ส่วนชื่อสินค้าก็ไม่ซ้ำเช่นกันแต่ไม่ได้เป็นคีย์หลักจึงเป็นคีย์คู่แข่ง Compound  Key  หมายถึง  คีย์ที่เกิดจากการรวมข้อมูลหลายฟิลด์ให้มีคุณสมบัติเหมือนคีย์หลัก (มีค่าไม่ซ้ำกันและไม่มีค่าว่าง หรือ null value) เช่น  การนำฟิลด์ชื่อพนักงาน  มารวมกับฟิลด์สกุลของพนักงาน  ทำให้เกิดเป็นฟิลด์ข้อมูลที่มีค่าไม่ซ้ำซ้อนกัน  เราเรียกคีย์ที่เกิดจากการรวมชื่อพนักงาน  และสกุลว่า Compound Key หรือ คีย์รวม คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

22 ขั้นตอนการออกแบบฐานข้อมูล
คีย์หลัก (Primary Key :PK) คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

23 ขั้นตอนการออกแบบฐานข้อมูล
คีย์นอก (Foreign Key :FK) คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

24 ขั้นตอนการออกแบบฐานข้อมูล
คีย์คู่แข่ง (Candidate Key) คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

25 ขั้นตอนการออกแบบฐานข้อมูล
Compound Key คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

26 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

27 ขั้นตอนการออกแบบฐานข้อมูล
การแปลง one-to-many Relationship เป็น Relation คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

28 ขั้นตอนการออกแบบฐานข้อมูล
การแปลง one-to-many Relationship เป็น Relation คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

29 ขั้นตอนการออกแบบฐานข้อมูล
คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

30 ขั้นตอนการออกแบบฐานข้อมูล
VARCHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร ทุกครั้งที่เลือกชนิดของฟิลด์เป็นประเภทนี้ จะต้องมี การกำหนดความยาวของข้อมูลลงไปด้วย ซึ่งสามารถกำหนดค่าได้ตั้งแต่ ฟิลด์ชนิดนี้ เหมาะ สำหรับการเก็บข้อมูลสั้นๆ เช่น ชื่อ นามสกุล หรือหัวข้อต่างๆ เป็นต้น... ในส่วนฟิลด์ประเภทนี้ จะ สามารถเลือก "แอตทริบิวต์" เป็น BINARY ได้ โดยปกติแล้วการจัดเรียงข้อมูลเวลาสืบค้น (query) สำหรับ VARCHAR จะเป็นแบบ case-sensitive (ตัวอักษรใหญ่ และเล็กมีความหมายแตกต่างกัน) แต่ หากระบุ "แอตทริบิวต์" เป็น BINARY ปุ๊บ การสืบค้นจะไม่คำนึงตัวอักษรว่าจะเป็นตัวใหญ่ หรือตัวเล็ก CHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร แบบที่ถูกจำกัดความกว้างเอาไว้คือ 255 ตัวอักษร ไม่ สามารถปรับเปลี่ยนได้เหมือนกับ VARCHAR หากทำการสืบค้นโดยเรียงตามลำดับ ก็จะเรียงข้อมูล แบบ case-sensitive เว้นแต่จะกำหนดแอตทริบิวต์เป็น BINARY ที่จะทำให้การเรียงข้อมูลเป็นแบบ non case-sensitive เช่นเดียวกับ VARCHAR TINYTEXT : ในกรณีที่ข้อความยาวๆ หรือต้องการที่จะค้นหาข้อความ โดยอาศัยฟีเจอร์ FULL TEXT SEARCH ของ MySQL เราอาจจะเลือกที่จะไม่เก็บข้อมูลลงในฟิลด์ประเภท VARCHAR ที่มีข้อจำกัด แค่ 256 ตัวอักษร แต่เราจะเก็บลงฟิลด์ประเภท TEXT แทน โดย TINYTEXT นี้ จะสามารถเก็บข้อมูล ได้ 256 ตัวอักษร ซึ่งมองเผินๆ ก็ไม่ต่างกับเก็บลงฟิลด์ประเภท CHAR หรือ VARCHAR(255) เลย แต่ จริงๆ มันต่างกันตรงที่ มันทำFULL TEXT SEARCH ได้ คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

31 ขั้นตอนการออกแบบฐานข้อมูล
TEXT : สำหรับเก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่สามารถเก็บได้มากขึ้น โดย สูงสุดคือ 65,535 ตัวอักษร หรือ 64KB เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ MEDIUMTEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร LONGTEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร TINYINT : สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาด 8 บิต ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติม ในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น UNSIGNED หรือ UNSIGNED ZEROFILL โดยจะมี ความแตกต่างดังนี้ - UNSIGNED : จะหมายถึงเก็บค่าตัวเลขแบบไม่มีเครื่องหมาย แบบนี้จะทำใหสามารถเก็บค่าได้ ตั้งแต่ UNSIGNED ZEROFILL : เหมือนข้างต้น แต่ว่าหากข้อมูลที่กรอกเข้ามาไม่ครบตามจำนวน หลักที่เรากำหนด ตัว MySQL จะทำการเติม 0 ให้ครบหลักเอง เช่น ถ้ากำหนดให้ใส่ได้ 3 หลัก แล้วทำการเก็บข้อมูล 25 เข้าไป เวลาที่สืบค้นดู เราจะได้ค่าออกมาเป็น 025 หากไม่เลือก "แอ ตทริบิวต์" สิ่งที่เราจะได้ก็คือ SIGNED นั่นก็คือต้องเสียบิตนึงไปเก็บเครื่องหมาย บวก/ลบ ทำ ให้สามารถเก็บข้อมูลได้อยู่ในช่วง -128 ถึง 127 เท่านั้น คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

32 ขั้นตอนการออกแบบฐานข้อมูล
SMALLINT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ ถึง (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT MEDIUMINT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 24 บิต นั่นก็หมายความว่าสามารถเก็บ ข้อมูลตัวเลขได้ตั้งแต่ ไปจนถึง (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 32 บิต หรือสามารถเก็บข้อมูลได้ตั้งแต่ ไปจนถึง ครับ (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT BIGINT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 64 บิต สามารถเก็บข้อมูลได้ตั้งแต่ ไปจนถึง เลยทีเดียว (แบบคิดเครื่องหมาย) หรือ 0 ถึง (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

33 ขั้นตอนการออกแบบฐานข้อมูล
FLOAT[(M,D)] : ที่กล่าวถึงไปทั้งหมด ในตระกูล INT นั้นจะเป็นเลขจำนวนเต็ม หากเราบันทึกข้อมูล ที่มีเศษทศนิยม มันจะถูกปัดทันที ดังนั้นหากต้องการจะเก็บค่าที่เป็นเลขทศนิยม ต้องเลือกชนิดขอฟิลด์ เป็น FLOAT โดยจะเก็บข้อมูลแบบ 32 บิต คือมีค่าตั้งแต่ E+38 ไปจนถึง E- 38, 0 และ E-38 ถึง E+38 DOUBLE[(M,D)] : สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่มีขนาดเป็น 64 บิต สามารถเก็บได้ตั้งแต่ E+308 ถึง E-308, 0 และ E-308 ถึง E+308 DECIMAL[(M,D)] : สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่ใช้กับข้อมูลที่ ต้องการความละเอียดและถูกต้องของข้อมูลสูง ข้อสังเกต เกี่ยวกับข้อมูลประเภท FLOAT, DOUBLE และ DECIMAL ก็คือ เวลากำหนดความ ยาวของข้อมูลในฟิลด์ จะถูกกำหนดอยู่ในรูปแบบ (M,D) ซึ่งหมายความว่า ต้องมีการระบุว่า จะให้มี ตัวเลขส่วนที่เป็นจำนวนเต็มกี่หลัก และมีเลขทศนิยมกี่หลัก เช่น ถ้าเรากำหนดว่า FLOAT(5,2) จะ หมายความว่า เราจะเก็บข้อมูลเป็นตัวเลขจำนวนเต็ม 5 หลัก และทศนิยม 2 หลัก ดังนั้นหากทำการใส่ ข้อมูล เข้าไป สิ่งที่จะเข้าไปอยู่ในข้อมูลจริงๆ ก็คือ (ปัดเศษให้มีจำนวนหลัก ตามที่กำหนดไว้) คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

34 ขั้นตอนการออกแบบฐานข้อมูล
DATE : สำหรับเก็บข้อมูลประเภทวันที่ โดยเก็บได้จาก 1 มกราคม ค.ศ ถึง 31 ธันวาคม ค.ศ โดยจะแสดงผลในรูปแบบ YYYY-MM-DD DATETIME : สำหรับเก็บข้อมูลประเภทวันที่ และเวลา โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ เวลา 23:59:59 โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น (query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS TIMESTAMP[(M)] : สำหรับเก็บข้อมูลประเภทวันที่ และเวลาเช่นกัน แต่จะเก็บในรูปแบบของ YYYYMMDDHHMMSS หรือ YMMDDHHMMSS หรือ YYYYMMDD หรือ YYMMDD แล้วแต่ ว่าจะระบุค่า M เป็น 14, 12, 8 หรือ 6 ตามลำดับ สามารถเก็บได้ตั้งแต่วันที่ 1 มกราคม ค.ศ ไป จนถึงประมาณปี ค.ศ. 2037 คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

35 ขั้นตอนการออกแบบฐานข้อมูล
TIME : สำหรับเก็บข้อมูลประเภทเวลา มีค่าได้ตั้งแต่ -838:59:59 ไปจนถึง 838:59:59 โดยจะแสดงผล ออกมาในรูปแบบ HH:MM:SS YEAR[(2/4)] : สำหรับเก็บข้อมูลประเภทปี ในรูปแบบ YYYY หรือ YY แล้วแต่ว่าจะเลือก 2 หรือ 4 (หากไม่ระบุ จะถือว่าเป็น 4 หลัก) โดยหากเลือกเป็น 4 หลัก จะเก็บค่าได้ตั้งแต่ ค.ศ ถึง 2155 แต่ หากเป็น 2 หลัก จะเก็บตั้งแต่ ค.ศ ถึง 2069 ข้อสังเกต ค่าที่เก็บในข้อมูลประเภท TIMESTAMP และ YEAR นั้นจะมีความสามารถพอๆ กับ การเก็บข้อมูลวันเดือนปี และเวลา ด้วยฟิลด์ชนิด VARCHAR แต่ต่างกันตรงที่ จะใช้เนื้อที่เก็บข้อมูล น้อยกว่า... ทว่า ฟิลด์ประเภท TIMESTAMP นั้นจะมีข้อจำกัดในเรื่องของเวลาที่สามารถเก็บได้ คือ จะต้องอยู่ในระหว่าง 1 มกราคม ค.ศ ไปจนถึงแถวๆ ค.ศ อย่างที่บอก แต่หากเก็บเป็น VARCHAR นั้นจะไม่ติดข้อจำกัดนี้ ฟิลด์ชนิด YEAR ก็เช่นกันครับ... ใช้เนื้อที่แค่ 1 ไบต์เท่านั้นในการ เก็บข้อมูล แต่ข้อจำกัดจะอยู่ที่ ปี ค.ศ ถึง 2155 เท่านั้น (หรือ ค.ศ ถึง 2069 ในกรณี 2 หลัก) แต่หากเก็บเป็น VARCHAR จะได้ตั้งแต่ 0000 ถึง 9999 เลย อันนี้เลยอยู่ที่ความจำเป็นมากกว่าครับ (แต่ ด้วยความที่ว่า ปัจจุบันฮาร์ดดิสก์ราคาถูกมากๆ ผมเลยไม่ติดใจอะไรที่จะใช้ VARCHAR แทน เพื่อ ความสบายใจ อิอิ เพราะสมมติว่ากินเนื้อที่ต่างกัน 3 ไบต์ ต่อ 1 ระเบียน มีข้อมูล 4 ล้านระเบียน ก็เพิ่ง ต่างกัน 12 ล้านไบต์ หรือ 12 เมกะไบต์เท่านั้นเอง ซึ่งหากเทียบกับปริมาณข้อมูลทั้งหมดของข้อมูล 4 ล้านระเบียน ผมว่ามันต้องมีอย่างน้อยเป็นกิกะไบต์ ดังนั้นความแตกต่างที่ไม่กี่เมกะไบต์จึงไม่มากมาย) TINYBLOB : สำหรับเก็บข้อมูลประเภทไบนารี ได้แก่ ไฟล์ข้อมูลต่างๆ, ไฟล์รูปภาพ, ไฟล์มัลติมีเดีย เป็นต้น คือไฟล์อะไรก็ตามที่อัพโหลดผ่านฟอร์มอัพโหลดไฟล์ในภาษา HTML โดย TINYBLOB นั้น จะมีเนื้อที่ให้เก็บข้อมูลได้ 256 ไบต์ BLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่สามารถเก็บข้อมูลได้ 64KB คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต

36 ขั้นตอนการออกแบบฐานข้อมูล
MEDIUMBLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่เก็บข้อมูลได้ 16MB LONGBLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่เก็บข้อมูลได้ 4GB ข้อสังเกต ข้อมูลประเภท BLOB นั้น แม้จะมีประโยชน์ในเรื่องของการเก็บข้อมูลประเภท BINARY ให้อยู่กับตัวฐานข้อมูล ทำให้สะดวกเวลาสืบค้นก็ตาม แต่มันก็ทำให้ฐานข้อมูลมีขนาดใหญ่ เกินความจำเป็นด้วย ทำให้เกิดความไม่สะดวกในการสำรองฐานข้อมูลในกรณีที่ มีข้อมูลอัพโหลดไป เก็บมากๆ โดยปกติแล้ว จะใช้วิธีการอัพโหลดไปเก็บไว้ในโฟลเดอร์ แล้วเก็บลิงก์ไปยังไฟล์เหล่านั้น เป็นฟิลด์ชนิด VARCHAR มากกว่า SET : สำหรับเก็บข้อมูลที่เป็นกลุ่มของข้อมูลที่ยอมให้เลือกได้ 1 ค่าหรือหลายๆ ค่า ซึ่งสามารถกำหนด ได้ถึง 64 ค่า คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต


ดาวน์โหลด ppt การประยุกต์ใช้คอมพิวเตอร์ทางวิศวกรรมชีวการแพทย์ Computer Application in Biomedical Engineering (BME 333) Database Design คณะวิศวกรรมชีวการแพทย์ มหาวิทยาลัยรังสิต.

งานนำเสนอที่คล้ายกัน


Ads by Google