The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Thapanee Phengsuk, 2023-11-20 17:59:09

database tutor

database tutor

Keywords: database

0 แบบฝึกหัด วิชา: การบริหารจัดการระบบฐานข้อมูลเพื่องานธุรกิจ Databases Management Systems for Business รหัสวิชา BC10201 จํานวน 3 หนวยกิต (2-2-5) หลักสูตรบริหารธุรกิจบัณฑิต สาขาวิชาคอมพิวเตอร์ธุรกิจ อาจารย์ฐาปนี เพ็งสุข (ปรับปรุง 1 มิถุนายน 2564) ชื่อ-สกุล____________________________________________________________ รหัสนักศึกษา__________________________________ห้องเรียน__________________


1 แบบฝึกหัดบทที่ 1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล 1. ในปัจจุบัน ฐานข้อมูลมีความสำคัญกับองค์กรธุรกิจอย่างไรบ้าง จงอธิบาย ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 2. อธิบายความแตกต่าง ระหว่าง ข้อมูล และสารสนเทศ ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 3. ในชีวิตประจำวันของนักศึกษา มีกิจกรรมใด เกี่ยวข้องกับระบบฐานข้อมูลบ้าง จงยกตัวอย่างมา พร้อมอธิบาย ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 4. ชนิดของข้อมูลแต่ละชนิด (Type of data) มีรูปแบบใดบ้าง จงอธิบายพร้อมยกตัวอย่าง ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 5. โครงสร้างแฟ้มข้อมูล ประกอบไปด้วยหน่วยอะไรบ้าง ให้เรียงลำดับจากหน่วยที่ใหญ่สุดไปยังหน่วยที่เล็กที่สุด ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 6. จากรูป จงตอบคำถาม 6.1 จากตาราง มี field ทั้งหมด จำนวนเท่าใด ตอบ ……………………………… 6.2 จากตาราง มีrecord ทั้งหมด จำนวนเท่าใด ตอบ ……………………………… 6.3 จากตาราง Field ใดเหมาะที่จะเป็น Primary Key ตอบ ……………………………… 6.4 จากตาราง Field ใดสามารถกำหนดรูปแบบ formatted data ได้ตอบ ………………………………


2 7. จงอธิบายการทำงานของระบบแฟ้มข้อมูล และยกตัวอย่างของเสียงของระบบแฟ้มข้อมูลในประเด็นเรื่องความ ซ้ำซ้อนในข้อมูล และการขึ้นต่อกันของข้อมูลมาให้เข้าใจพอสังเขป ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 8. จงอธิบายโครงสร้างแฟ้มข้อมูลแบบเรียงลำดับ แบบเข้าถึงโดยตรง และแบบเรียงลำดับดัชนีมาให้เข้าใจพอ สังเขป ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 9. จงยกตัวอย่างการประยุกต์ใช้งานฐานข้อมูลกับองค์กรธุรกิจในปัจจุบัน ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 10. จงอธิบายแนวคิดหลักของฐานข้อมูล และประโยชน์ของฐานข้อมูล ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 11. จงอธิบายความหมายของประโยคที่ว่า “การจัดเก็บข้อมูลในฐานข้อมูลมีความเป็นอิสระจากโปรแกรม” ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 12. จงยกตัวอย่างฐานข้อมูลที่เกี่ยวข้องในชีวิตประจำวันของนักศึกษา พร้อมอธิบายส่วนประกอบของฐานข้อมูล มา อย่างน้อย 2 ตัวอย่าง ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………


3 แบบฝึกหัดบทที่ 2 ความรู้พื้นฐานของระบบฐานข้อมูล 1) จงอธิบายความหมายของระบบฐานข้อมูล …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 2) จงอธิบายความแตกต่างระหว่างระบบฐานข้อมูล และระบบแฟ้มข้อมูล …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 3) จงอธิบายความหมายของ ระบบจัดการฐานข้อมูล DBMS …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 4) จงอธิบายส่วนประกอบด้านสภาพแวดล้อม ของระบบจัดการฐานข้อมูล DBMS …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 5) จงอธิบายบทบาทหน้าที่ของบุคลากรในระบบฐานข้อมูล …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 6) จงบอกข้อดีข้อเสีย ของระบบฐานข้อมูล DBMS พร้อมยกตัวอย่างประกอบ …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………


4 7) จงยกตัวอย่างโปรแกรมที่ เป็นระบบจัดการฐานข้อมูลอย่างน้อย 3 โปรแกรม …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 8) ระบบฐานข้อมูล และระบบจัดการฐานข้อมูล DBMS ต่างกันอย่างไร …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 9) จงบอกประโยชน์ของและระบบจัดการฐานข้อมูล DBMS …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 10) จงอธิบายการประยุกต์ใช้งานฐานข้อมูล DBMS ในปัจจุบัน …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 11) จากในอดีตองค์กรต่าง ๆได้มีการเก็บรวมรวมข้อมูลในรูปแบบเอกสาร เก็บลงในแฟ้ม จึงทำให้มีตู้เก็บแฟ้ม เอกสารเป็นจำนวนมาก การค้นหาข้อมูลเกิดความล่าช้า อีกทั้งข้อมูลเกิดความเสียหายได้ง่าย หากท่าน เป็นผู้บริหารองค์กร ท่านจะมีวิธีในการแก้ปัญหาการจัดเก็บข้อมูลอย่างไร จงอธิบาย …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………


5 แบบฝึกหัดบทที่ 3 สถาปัตยกรรมระบบฐานข้อมูล สถาปัตยกรรมระบบฐานข้อมูล มีจุดประสงค์หลักคืออะไร และมีประโยชน์อย่างไร จงอธิบาย …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… จงอธิบาย มุมมองสถาปัตยกรรมระดับภายนอก (external level) …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… จงอธิบาย มุมมอง สถาปัตยกรรมระดับแนวคิด (conceptual level) …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… จงอธิบาย มุมมอง สถาปัตยกรรม ระดับภายใน (internal level) ………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………… แบบจำลองข้อมูล เป็นการปฏิบัติงานสถาปัตยกรรมในระดับใด จงอธิบาย …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… อธิบายการทำงาน และประโยชน์ของการแปลระดับข้อมูล (Mapping) …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… จงสรุปความหมายและความสำคัญของ สคีมา (Schema) พร้อมยกตัวอย่าง …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………


6 จงสรุปความหมายและความสำคัญของ อินสแตนซ์ (Instance) พร้อมยกตัวอย่าง …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… จากภาพ เป็นสถาปัตยกรรม DBMS ระดับใด …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… จากภาพ เป็นสถาปัตยกรรม DBMS ระดับใด …………………………………………………………………………………………………………………………………………………………… จากภาพ เป็นสถาปัตยกรรม DBMS ระดับใด …………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………


7 แบบฝึกหัดบทที่ 4 แบบจำลองข้อมูล (Data Model) 1. อธิบายความหมายของแบบจ าลองฐานข้อมูล ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 2. อธิบายความหมายของศัพท์พื้นฐานของฐานข้อมูลเชิงสัมพันธ์พร้อมยกตัวอย่าง 1) รีเลชัน (Relation) ………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………. 2) ทัพเพิล (Tuple) …………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………. 3) คาร์ดินัลลิตี(Cadinality) ………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………. 4) แอตทริบิวต์ (Attribute) …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………. 5) ดีกรี (degree) …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… 6) โดเมน (Domain) …………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………….…………………………………………………….......................


8 3. จากรีเลชัน Teacher จงตอบค าถามต่อไปนี้ Teacher Tcode TName TsName MCode MName T001 นายนราวิชญ์ ความหมั่น M002 ระบบสารสนเทศ T002 นางสาวกรกนก งามพริ้ง M002 ระบบสารสนเทศ T003 นายแก้ว มาลัยกูล M004 การบัญชี T004 นางปรีดา ตัญจนะ M003 การตลาด 3.1 จ านวนโดเมน ……………….. 3.2 จ านวนแอตทริบิวต์ ……………… 3.3 จ านวนทัพเพิล………………. 3.4 จ านวนดีกรี ……………………… 3.5 จ านวนคาร์ดินัลลิตี ………………. 4. จงอธิบายคุณสมบัติของรีเลชัน ที่ส าคัญ ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 5. จงบอกหลักการตั้งชื่อของแอตทริบิวต์ที่ถูกต้อง …………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………….……………………………………………………....................... 6. จงอธิบายความหมายของคีย์แต่ละประเภท 6.1. ซูเปอร์คีย์ (SuperKey) …………………………………………………............................................................... 6.2. คีย์คู่แข่ง (Candidate Key) …………………………………………………................................................................ 6.3. คีย์หลัก (Primary Key) …………………………………………………................................................................ 6.4. คีย์รอง (Alternate Key) …………………………………………………................................................................ 6.5. คีย์นอก (Foreign Key) ………………………………………………….......................................................................


9 แบบฝึกหัดบทที่5 ความสัมพันธ์ระหว่างเอนทิตี้ 1. จงยกตัวอย่างของคีย์ที่กำหนดต่อไปนี้ คีย์หลัก (Primary Key) จงยกตัวอย่าง มา 2 ตัวอย่าง ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… คีย์ร่วม (Composite Key) จงยกตัวอย่าง มา 2 ตัวอย่าง ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… คีย์นอก (Foreign Key) จงยกตัวอย่าง มา 2 ตัวอย่าง ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… คีย์คู่แข่ง Candidate Key จงยกตัวอย่าง มา 2 ตัวอย่าง ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… 2. จากตาราง 2.1 ข้อมูลใดคือ Primary Key เลขประจำตัวประชาชน ชื่อพนักงาน วันเริ่มทำงาน ตำแหน่ง 1 4055 00138 07 7 นางสาวรจนา ทานไทสงค์ 1 มกราคม 2558 พนักงาน 6 4080 00138 58 8 นายสุรศักดิ์ แก้ววิเชียร 1 ธันวาคม 2557 ลูกจ้าง 2 1141 57236 94 0 นางสาวสุดารัตน์ เวียงพลออม 1 มกราคม 2556 พนักงาน 1 5114 40138 07 7 นางสาววรันดา ไกรวาสังข์ 1 มกราคม 2553 ลูกจ้าง


10 2.2 ข้อมูลใดคือ Primary Key ชื่อพนักงาน สกุล วันเริ่มทำงาน ตำแหน่ง เงินเดือน นางสาวรจนา ทานไทสงค์ 1 มกราคม 2558 พนักงาน 36,000 นายสุรศักดิ์ แก้ววิเชียร 1 ธันวาคม 2557 ลูกจ้าง 44,000 นางสาวสุดารัตน์ เวียงพลออม 1 มกราคม 2556 พนักงาน 45,000 นางสาววรันดา ไกรวาสังข์ 1 มกราคม 2553 ลูกจ้าง 48,000 2.3 ข้อมูลใดคือ Foreign Key รหัสสินค้า รายการสินค้า ราคาต่อหน่วย หน่วย p001 ปากกาสีMOJI (เส้นเล็ก 0.5 มม) ฿ 25.25 ด้าม p002 ปากกาน้ำเงิน Lancer (เส้นเล็ก 0.5 มม) ฿ 15.00 ด้าม p003 ดินสอกด สอดไส้ สีดำ ฿ 27.00 ด้าม p004 ดินสอกด สอดไส้ แพ็ก 12 สี ฿ 135.50 แพ็ค 12 สี รหัสพนักงาน ชื่อพนักงาน รหัสสินค้า จำนวนที่ขาย p0001 นางสาวรจนา ทานไทสงค์ p001 1000 p0002 นายสุรศักดิ์ แก้ววิเชียร p002 5000 p0003 นางสาวสุดารัตน์ เวียงพลออม p002 3000 3. จงอธิบายความสัมพันธ์และยกตัวอย่าง Entity ความสัมพันธ์แบบ หนึ่งต่อหนึ่ง (1 : 1) ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… หนึ่งต่อกลุ่ม (1 : M) ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… กลุ่มต่อกลุ่ม (M : N) ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………


11 4. จงเขียน ER-Diagram ให้แสดงความสัมพันธ์ระหว่างเอนทิตี้โดยยังไม่ต้องใส่แอททริบิวต์) …………………………………………………………………………… …………………………………………………………………………… ……………………………………………………………………………. ………………………………………………………………………………


12 ………………………………………………………………………………… ……………………………………………………………………………… …………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………………………


13 5. จงเขียนแสดงความสัมพันธ์ ( 1:1 / 1:N / M:N ) จาก Entity ดังต่อไปนี้


14 จงเขียนแสดงความสัมพันธ์ ( 1:1 / 1:N / M:N ) จาก Entity ดังต่อไปนี้


15 แบบฝึกหัดบทที่6 การสร้าง ER Diagram จากข้อมูลต่อไปนี้ โดยให้สมมติแอททริบิวต์ (Attribute) ให้เหมาะสมและครอบคลุมรายละเอียดที่ให้มา พร้อมทั้งแสดงความสัมพันธ์ระหว่างเอนติตี้(Entity) และกำหนด PrimaryKey ของแต่ละเอนทิตี้ ศูนย์OTOP ของจังหวัดนนทบุรีมีความต้องการพัฒนาเว็บไซต์อีคอมเมิร์ชเพื่อเพิ่มช่องทางการขายและการ ประชาสัมพันธ์สินค้า โดยความต้องการของเว็บไซต์ที่ต้องการพัฒนามีรายละเอียดของข้อมูลที่ต้องการมีดังต่อไปนี้ ข้อมูลลูกค้า ประกอบด้วย รหัสลูกค้า, ชื่อ, สกุล,เพศ,ที่อยู่,เบอร์โทรศัพท์, ข้อมูลประเภทสินค้า ประกอบด้วย รหัสประเภทสินค้า,ชื่อประเภท, รายละเอียด ข้อมูลใบสั่งซื้อ ประกอบด้วย รหัสการสั่งซื้อ,วันที่สั่งซื้อ ข้อมูลสินค้า ประกอบด้วย รหัสสินค้า, ชื่อสินค้า, ราคา,จานวนคงเหลือ ข้อมูลพนักงาน ประกอบด้วย รหัสพนักงาน,ชื่อ,สกุล,เพศ,ที่อยู่,เบอร์โทรศัพท์ หมายเหตุ ในการสั่งซื้อสินค้าแต่ละรายการจะต้องระบุ จานวน ที่สั่งซื้อ ความต้องการของระบบ o ลูกค้าแต่ละคนสามารถสั่งซื้อสินค้าได้หลายครั้ง ในการสั่งซื้อแต่ละครั้งลูกค้าสามารถสั่งซื้อสินค้าได้ทีละหลายรายการ o รายละเอียดของสินค้าที่แสดงบนเว็บไซต์จะถูกจัดแสดงตามประเภทของสินค้า ซึ่งศูนย์OTOP มีสินค้าหลายหลาย ประเภทจึงจำแนกสินค้าเป็นประเภทเพื่อสะดวกต่อการจัดการต่าง ๆ โดยแต่ละประเภทจะประกอบด้วยสินค้าหลาย รายการ เช่น ประเภทเครื่องปั้นดินเผา จะประกอบด้วย หม้อ ไห ตุ๊กตา เป็นต้น o พนักงานของศูนย์OTOP มีหน้าที่ตรวจสอบรายการสั่งซื้อของลูกค้าผ่านทางเว็บไซต์เมื่อเข้าไปดูรายการสั่งซื้อแล้ว พนักงานจะกดปุ่มตอบรับคาสั่งซื้อ ระบบจะมีการบันทึกชื่อพนักงานที่ทาการตอบรับการสั่งซื้อในแต่ละครั้งไว้เพื่อเป็น หลักฐานในการตรวจสอบว่าพนักงานคนใดเป็นผู้รับผิดชอบการสั่งซื้อของลูกค้า เพื่อการติดตามงานและตรวจสอบ


16 ตัวอย่าง การสร้าง ER Diagram 1. จาก E-R 1.1 อธิบายความหมาย ลูกค้า 1 คน สามารถซื้อสินค้าได้หลายรหัสสินค้า และ สินค้า 1 รหัสสินค้า สามารถถูกซื้อได้จากลูกค้า ได้หลายคน 1.2 แปลงความสัมพันธ์ ความสัมพันธ์ ซื้อ จะเกิดเป็น entity ใหม่ ชื่อ การซื้อ (ชื่อของความสัมพันธ์เป็นคำกริยา เมื่อถูกแปลง เป็น entity จะถูกเปลี่ยนเป็น คำนาม ที่มีความสอดคล้องกันกับคำกริยาเดิม) ซึ่ง จะได้แผนภาพความสัมพันธ์ ดังนี้ จากภาพ อธิบายได้ว่า ลูกค้า 1 คน สามารถทำ การซื้อ ได้หลายครั้ง และ การซื้อแต่ละครั้ง จะเป็นของลูกค้า เพียง 1 คน ซื้อ ลูกค้า สินค้า m n ซื้อ ลูกค้า สินค้า m n ท า ลูกค้า 1 n การซื้อ มี n m สินค้า


17 การซื้อ 1 ครั้ง จะมีสินค้าได้หลายรายการ และสินค้า 1 รายการ จะปรากฏในการซื้อได้หลายครั้ง ซึ่ง จะสังเกตได้ว่า ความสัมพันธ์จะยังคงเป็น m:n อยู่ (นักศึกษาต้องพิจารณา หรือ สอบถาม business rule ของระบบ ว่าเป็นเช่นนี้จริงหรือไม่ หาก business rule กำหนดว่า การซื้อ 1 ครั้ง ซื้อสินค้าได้เพียง 1 รายการเท่านั้น ความสัมพันธ์ก็จะเป็น 1:n ซึ่งไม่ต้องดำเนินการต่อ) ดังนั้น เราต้องกำจัดความสัมพันธ์ m:n ให้เหลือ 1:1 หรือ 1:n ความสัมพันธ์ มีจะถูกแปลงไปเป็น entity รายการซื้อ อธิบายได้ว่า การซื้อ 1 ครั้ง จะมีรายการซื้อได้หลายรายการ (ลองนึกภาพใบเสร็จรับเงิน) และ รายการซื้อ 1 รายการ จะเป็นของการซื้อแต่ละครั้ง รายการซื้อ 1 รายการ จะมีสินค้า 1 รายการ แต่สินค้า 1 รายการ (หรือ 1 รหัสสินค้า) จะอยู่ใน รายการซื้อได้หลายรายการ (ลองนึกภาพใบเสร็จรับเงิน กรณีซื้อสินค้า 2 ชิ้นที่มีรหัสสินค้าเดียวกัน แต่อ่าน บาร์โค้ดสินค้า 2 ครั้ง) ดังนั้น จากความสัมพันธ์ระหว่าง entity ลูกค้า และ entity สินค้า จะสามารถแปลงความสัมพันธ์ให้ อยู่ในรูปของ Normalization ได้ ดังนี้ มี การซื้อ m n สินค้า มี การซื้อ 1 n รายการซื้อ มี สินค้า 1 n


18 2. จาก E-R 2.1 ใส่ Cardinality ตามปกติแล้ว ในการจัดการสินค้านั้น สินค้าแต่ละรายการ หรือแต่ละรหัสสินค้า จะถูกจัดกลุ่ม หรือ จัดอยู่ในประเภท ต่างๆ เช่น สินค้าประเภทอุปโภค สินค้าประเภทเครื่องแต่งกาย สินค้าประเภทเครื่องใช้ไฟฟ้า สินค้าประเภทอาหารสด สินค้าประเภทอาหารแห้ง ซึ่งแต่ละประเภท ก็จะประกอบไปด้วยสินค้า หลายรายการ เช่น สินค้าประเภทเครื่องใช้ไฟฟ้า จะมีสินค้า พัดลม ตู้เย็น หม้อหุงข้าวฯลฯ ดังนั้น อาจกล่าวความสัมพันธ์ได้ว่า สินค้า 1 รายการ จะถูกจัดอยู่ในประเภทสินค้าเพียงประเภทเดียว และสินค้า 1 ประเภท อาจมีสินค้าได้หลายรายการ เป็นความสัมพันธ์แบบ 1:n มี การซื้อ 1 n รายการซื้อ มี สินค้า 1 n ท า ลูกค้า 1 n อยู่ใน สินค้า n 1 ประเภทสินค้า


19 5.1 จงออกแบบ ER-Diagram ฐานข้อมูล ระบบเสนอโครงการกิจกรรมนักศึกษา ฐานข้อมูลจะต้องสามารถเก็บรายละเอียดของข้อมูล ต่อไปนี้ และให้กำหนด Primary key และ field อื่นๆให้ คลอบคลุมรายละเอียดมากที่สุด 1) ข้อมูลนักศึกษา ประกอบด้วย รหัสนักศึกษา ชื่อ สกุล เบอร์โทร อีเมล์ ที่อยู่ 2) ข้อมูลสาขาวิชา ประกอบด้วย รหัสสาขาวิชา ชื่อสาขาวิชา เบอร์โทร 3) ข้อมูลคณะ ประกอบด้วย รหัสคณะ ชื่อคณะ ที่อยู่คณะ 4) ข้อมูลอาจารย์ที่ปรึกษา ประกอบด้วย รหัสอาจารย์ ชื่อ สกุล เบอร์โทร อีเมล์ 5) ขั้นตอนการเสนอโครงการ เริ่มจากนักศึกษาทำโครงการ เสนอผ่าน --->อาจารย์ที่ปรึกษา --->เสนอรองคณบดี --->เสนอคณบดี แล้วจึงจะได้รับผลการอนุมัติโครงการ 6) กำหนดให้นักศึกษา 1 คน มีอาจารย์ที่ปรึกษา ได้ 1 คนเท่านั้น 7) กำหนดให้นักศึกษา 1 คน เสนอโครงการได้ครั้งละหลายโครงการ 8) กำหนดให้อาจารย์ 1 คน เป็นที่ปรึกษาได้หลายโครงการ 9) กำหนดให้คณบดี 1 คน ตรวจสอบโครงการเพื่ออนุมัติ ได้หลายโครงการ วาดภาพสร้าง ER Diagram 3.1


20 5.2 จงออกแบบ ER-Diagram ฐานข้อมูล ระบบการจองห้องพักโรงแรม ฐานข้อมูลจะต้องสามารถเก็บรายละเอียดของข้อมูล ต่อไปนี้ และให้กำหนด Primary key และ field อื่นๆให้ คลอบคลุมรายละเอียดมากที่สุด กำหนดให้ 1. ห้องพักในโรงแรม แบ่งเป็นห้องพักได้หลายประเภท แต่ละประเภทมีหลายห้อง และห้องพัก1ห้อง มีได้ 1 ประเภทเท่านั้น 2. แผนกหนึ่งแผนก มีพนักงานหลายคน พนักงานแต่ละคน ถูกจ้างในแผนกหนึ่งเท่านั้น โดยหนึ่งแผนกไม่จำกัด จำนวนพนักงาน 3. ห้องพักแต่ละห้องมีพนักงานดูแลหนึ่งคน พนักงานแต่ละคนจะดูแลห้องพักได้หลายห้อง 4. ลูกค้าหนึ่งคน สามารถจองห้องพักได้หลายครั้ง และการจองแต่ละครั้ง มีลูกคนเพียงคนเดียวเท่านั้น 5. การจองแต่ละครั้ง สามารถจองได้หลายห้องและห้องพักแต่ละห้องสามารถจองได้หลายครั้ง วาดภาพสร้าง ER Diagram


21 5.3 จากข้อมูลเหล่านี้ จงเขียนให้อยู่ในรูปของ ER-Diagram Bank database Bank ธนาคาร (Bank _name, Bank _address) Bank _name ชื่อธนาคาร Bank _Address ที่อยู่ธนาคาร Branch สาขา (branch_name, branch_city, assets) Branch_name ชื่อสาขาธนาคาร Branch_city ชื่อเมืองที่สาขาตั้งอยู่ Assets สินทรัพย์ ทรัพย์สิน Employee พนักงานธนาคาร (Employee _name, Employee _Address , Employee _tell) Employee _name ขื่อพนักงาน Employee _address ที่อยู่พนักงาน Employee _tell เบอร์โทรพนักงาน Employee Type ตำแหน่งพนักงานธนาคาร (EmployeeType_name, Employee Type _sarary) EmployeeType _name ขื่อตำแหน่งพนักงาน EmployeeType _sarary เงินเดือนพนักงาน Customer ลูกค้า (customer_name, customer_address, customer_tell) Customer_name ขื่อลูกค้า Customer_ address ที่อาศัยลูกค้า Customer_Tell เบอร์โทรลูกค้า Loan การกู้ยืม (loan_id, branch_name, amount) Loan_number เลขที่การยืม Branch_name ชื่อสาขาที่ยืม Amount จำนวนเงินยืม Account เลขที่บัญชี (account_id, branch_name, balance) Account_number เลขที่บัญชี Branch_name ชื่อสาขา Balance ยอดเงินคงเหลือ Account Type ประเภทเลขที่บัญชี (Account Type_id, Account Type_name) Account Type_id เลขที่ประเภทบัญชี Account Type_name ชื่อประเภทบัญชี


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


23 5.4 ร้านค้าMK Mart มีความต้องการพัฒนาเว็บไซต์อีคอมเมิร์ชเพื่อเพิ่มช่องทางการขายและการประชาสัมพันธ์สินค้า โดยความต้องการของเว็บไซต์ที่ต้องการพัฒนามีรายละเอียดของข้อมูลที่ต้องการมีดังต่อไปนี้ ข้อมูลลูกค้า ประกอบด้วย รหัสลูกค้า, ชื่อ, สกุล,เพศ,ที่อยู่,เบอร์โทรศัพท์, ข้อมูลประเภทสินค้า ประกอบด้วย รหัสประเภทสินค้า,ชื่อประเภท, รายละเอียด ข้อมูลใบสั่งซื้อ ประกอบด้วย รหัสการสั่งซื้อ,วันที่สั่งซื้อ ข้อมูลสินค้า ประกอบด้วย รหัสสินค้า, ชื่อสินค้า, ราคา,จานวนคงเหลือ ข้อมูลพนักงาน ประกอบด้วย รหัสพนักงาน,ชื่อ,สกุล,เพศ,ที่อยู่,เบอร์โทรศัพท์ หมายเหตุ ในการสั่งซื้อสินค้าแต่ละรายการจะต้องระบุ จำนวน และราคารวมสินค้าที่สั่งซื้อด้วย ความต้องการของระบบ 1) ลูกค้าแต่ละคนสามารถสั่งซื้อสินค้าได้หลายครั้ง 2) ในการสั่งซื้อแต่ละครั้งลูกค้าสามารถสั่งซื้อสินค้าได้ทีละหลายรายการ 3) สินค้า จะถูกจัดแสดงตามประเภทของสินค้า ซึ่งร้านค้า MK Mart มีสินค้าหลายหลายประเภท แต่ละประเภทจะประกอบด้วยสินค้าหลายรายการ เช่น เครื่องเขียน เครื่องใช้สำนักงาน เครื่องใช้ไฟฟ้า เป็นต้น 4) ในการซื้อแต่ละครั้งพนักงานของร้านค้า MK Mart มีหน้าที่ตรวจสอบรายการสั่งซื้อของลูกค้าผ่านทางเว็บไซต์ เมื่อเข้าไปดูรายการสั่งซื้อแล้วพนักงานจะกดปุ่มตอบรับคาสั่งซื้อ ระบบจะมีการบันทึกชื่อพนักงานที่ทำการตอบรับ การสั่งซื้อในแต่ละครั้งไว้เพื่อเป็นหลักฐานในการตรวจสอบว่าพนักงานคนใดเป็นผู้รับผิดชอบการสั่งซื้อของลูกค้า จงสร้าง ER Diagram จากข้อมูลต่อไปนี้ โดยให้สมมติแอททริบิวต์ (Attribute) ให้เหมาะสมและครอบคลุม รายละเอียดที่ให้มา พร้อมทั้งแสดงความสัมพันธ์ระหว่างเอนติตี้(Entity) และกำหนด Primary Key ของแต่ละเอนทิตี้ วาดภาพสร้าง ER Diagram


24 แบบฝึกหัดบทที่7 การแปลง ER-Diagram เป็นข้อมูลเชิงสัมพันธ์ 6.1 จงแปลงความสัมพันธ์ของ ER- diagram การเรียนการสอนในรูปแบบรีเลชันสกีมา ต่อไปนี้ …………………………………………………………………………… …………………………………………………………………………… ……………………………………………………………………………. ……………………………………………………………………………… …………………………………………………………………………………


25 ……………………………………………………………………………… …………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………………………


26 6.2 จงแปลงความสัมพันธ์ของ ER- diagram ในรูปแบบรีเลชันสกีมา นักศึกษาเรียนได้หลายๆวิชาใน แต่ละเทอม แต่ละปีการศึกษา เมื่อสิ้นเทอมอาจารย์ออกผลการเรียน อาจารย์ก็ สอนได้หลายๆวิชา และแต่ละวิชา ก็สามารถถูกสอนโดยอาจารย์ได้หลายคนได้ ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………… นักศึกษา รหัสน ศ ชื่อ สกุล เกรด เฉลี่ย เทอ ม ปี ผล เรีย น วิชา รหัสวิชา หน่วยกิต ชื่อวิชา M N M N อาจารย์ เทอ ม ปี สอ น รหัส อาจารย์ ชื่อ สกุล ต าแหน่ง


27 6.3 จงแปลงความสัมพันธ์ของ ER- diagram ในรูปแบบรีเลชันสกีมา …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. รหัสพนักงาน ชื่อ สกุล ย้าย เข้า วันที่ย้าย เข้า รหัสแผนก ชื่อแผนก จ านวน พนักงาน พนักงาน 1 N เงินเดือน เลขที่ เขต ถนน เบอร์โทร ที่อยู่ จังหวัด รวม เงินเดือน แผนก


28 6.4 จงแปลงความสัมพันธ์ของ ER- diagram ในรูปแบบรีเลชันสกีมา …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. โครงการ รหัสโครงการ ชื่อโครงการ งบประมาณ บริหาร ผู้จัดการ รหัส พนักงาน ชื่อ สกุล เงินเดือน 1 1 วันที่เริ่ม รหัสอุปกรณ์ ชื่ออุปกรณ์ จ านวน N M สี อุปกรณ์ ใช้


29 6.5 จงแปลงความสัมพันธ์ของ ER- diagram ในรูปแบบรีเลชันสกีมา …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. นักศึกษา วิชา เทอม ผล ลงทะเบีย นเรียน ปี ป เพิ่ม/ ถอน รหัส วิชา ชื่อวิชา หน่วยกิต เทอม ปี ป สถานะ M N M N รหัส นักศึกษา ชื่อ สกุล สังกั ด สาขาวิชา 1 M รหัสสาขา ชื่อสาขา เกรดเฉลี่ย


30 6.6 จงแปลงความสัมพันธ์ของ ER- diagram ในรูปแบบรีเลชันสกีมา …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………..


31 6.7 จงแปลงความสัมพันธ์ของ ER- diagram ในรูปแบบรีเลชันสกีมา …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………..


32 แบบฝึกหัดบทที่8 Normalization 7.1 จงอธิบายและยกตัวอย่าง ฟังก์ชันการขึ้นต่อกันแบบสมบูรณ์ (Complete / Fully functional dependencies) …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. 7.2 จงอธิบายและยกตัวอย่าง การขึ้นต่อกันเพียงบางส่วนของคีย์หลัก (Partial Dependency) …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. 7.3 จงอธิบายและยกตัวอย่าง การขึ้นต่อกันของคอลัมน์ที่ไม่ใช่คีย์หลัก (Transitive Dependency) …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. 7.4 จงอธิบายและยกตัวอย่าง กระบวนการ Normalization ระดับ 1 NF …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………..


33 7.5 จงอธิบายและยกตัวอย่าง กระบวนการ Normalization ระดับ 2 NF …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. 7.6 จงอธิบายและยกตัวอย่าง กระบวนการ Normalization ระดับ 3 NF …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. 7. 7 กระบวนการ กระบวนการ Normalization มีประโยชน์อย่างไร …………………………………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………….. …………………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………………


34 7.8 จากตารางต่อไปนี้ จงแสดงวิธีการ Normalization โดยการวาดภาพประกอบ รหัส สั่งซื้อ วันที่สั่งของ รหัส ลูกค้า ชื่อ ลูกค้า ที่อยู่ลูกค้า รหัสสินค้า ชื่อสินค้า สี สินค้า จำนวน ซื้อ 1000 10/07/2001 C001 สมพร 17 หมู่ 10 บางซื่อ กทม. 12345 TVC100 โทรทัศน์สี เงิน 10 สมพร 17 หมู่ 10 บางซื่อ กทม. 12345 RFG100 ตู้เย็น แดง 5 สมพร 17 หมู่ 10 บางซื่อ กทม. 12345 WAM105 เครื่องซัก ผ้า เขียว 3 1001 12/07/2001 C002 สมใจ 20 หมู่ 3 บางบอน กทม. 18999 IRN110 เตารีด น้ำเงิน 20 สมใจ 20 หมู่ 3 บางบอน กทม. 18999 RFG100 ตู้เย็น แดง 8 1002 12/07/2001 C003 รัตนา 35หมู่ 5บางปู สมุทรปราการ 204444 TVC108 โทรทัศน์สี ดำ 7 1003 15/07/2001 C003 รัตนา 35 หมู่ 5บางปู สมุทรปราการ 204444 WAM104 เครื่องซัก ผ้า เหลือง 15 1. First Normal Form (1NF) 2. Second Normal Form (2NF) 3. Third Normal Form (3NF)


35 7.9 จากตารางต่อไปนี้ จงแสดงวิธีการ Normalization โดยการวาดภาพประกอบ รหัสนักศึกษา ชื่อนักศึกษา รหัสคณะ ชื่อคณะ รหัสวิชา ชื่อวิชา หน่วยกิต เกรด 5301122001 วนิดา ศรีแก้ว MS วิทยาการจัดการ bc10201 ฐานข้อมูล 3 A วิทยาการจัดการ bc10350 วิเคราะห์ระบบ 3 B วิทยาการจัดการ bc10202 สื่อประสม 3 A วิทยาการจัดการ bc10203 ออกแบบสื่อ 3 B 5301122002 ภิณรี สัพโส EDU ศึกษาศาสตร์ Ed00123 ภาษาไทย 2 A ศึกษาศาสตร์ Ed00124 ภาษาอังกฤษ 2 A 5301122005 เอมอร สังห์พันธ์ EN วิศวกรรมฯ En10211 ออกแบบ 3 C วิศวกรรมฯ En10200 วงจรไฟฟ้า 3 B 1. First Normal Form (1NF) 2. Second Normal Form (2NF) 3. Third Normal Form (3NF)


36 7.10 จากตารางต่อไปนี้ จงแสดงวิธีการ Normalization โดยการวาดภาพประกอบ รหัสสั่งซื้อ วันที่สั่งของ รหัสลูกค้า ชื่อลูกค้า รหัสสินค้า ชื่อสินค้า จำนวนซื้อ รหัสพนักงาน ชื่อพนักงาน b1000 10/07/2015 C001 นิติเนตร TVC100 โทรทัศน์สี 1 J001 สงวนศักดิ์ นิติเนตร RFG100 ตู้เย็น 1 J001 สงวนศักดิ์ b1001 12/07/2015 C002 สุเรนา IRN110 เตารีด 2 J002 วรรณะ สุเรนา RFG100 ตู้เย็น 1 J003 ฉวีวรรณ b1002 12/07/2015 C003 รัตนา TVC108 โทรทัศน์สี 1 J001 สงวนศักดิ์ 1003 15/07/2001 C003 รัตนา WAM104 เครื่องซักผ้า 1 J002 วรรณะ 1. First Normal Form (1NF) 2. Second Normal Form (2NF) 3. Third Normal Form (3NF)


37 7.11 จากตารางต่อไปนี้ จงแสดงวิธีการ Normalization โดยการวาดภาพประกอบ รหัส นักศึกษา ชื่อนักศึกษา รหัสคณะ ชื่อคณะ รหัสวิชา ชื่อวิชา เกรด รหัสอาจารย์ ชื่ออาจารย์ 5701122001 ชัย พรมธรณ์ MS วิทยาการจัดการ bc10201 ฐานข้อมูล A BC09 อ.ฐาปนี วิทยาการจัดการ bc10202 สื่อประสม A BC04 อ.สมวรร วิทยาการจัดการ bc10203 ออกแบบสื่อ B BC09 อ.ฐาปนี 5701122002 ธรณ์ นรวีย์ EDU ศึกษาศาสตร์ Ed00123 ภาษาไทย A ED01 อ.เพ็ญนภา ศึกษาศาสตร์ Ed00124 ภาษาอังกฤษ A Ed02 อ.ฉัตรแก้ว 5801122005 เมฆา นรชิต EN วิศวกรรมฯ En10211 ออกแบบ C EN05 อ.วรวุฒิ วิศวกรรมฯ En10200 วงจรไฟฟ้า B EN06 อ.สุเมธ 1. First Normal Form (1NF) 2. Second Normal Form (2NF) 3. Third Normal Form (3NF)


38 แบบฝึกหัดบทที่9 การฝึกสร้างตารางลงฐานข้อมูล ด้วยโปรแกรม Microsoft Access จงสร้างฐานข้อมูลร้านขายสินค้า มีชื่อตารางตามรูป ตาราง : TblProducts มีรายละเอียดตารางดังรูป ตาราง : TblOrders มีรายละเอียดตารางดังรูป ตาราง : TblOrderDetails มีรายละเอียดตารางดังรูป ตาราง : TblCustomers มีรายละเอียดตารางดังรูป ตาราง : TbCategorys มีรายละเอียดตารางดังรูป


39 ER-Diagram ระบบการขายสินค้า มีความสัมพันธ์ดังต่อไปนี้ แบบฝึกหัดจงเขียนคำสั่ง SQL 1. จงแสดงข้อมูลรายการทั้งหมดของ Customers 2. จงแสดงข้อมูลรายการทั้งหมดของ TblProducts 3. จงแสดงข้อมูลรายการทั้งหมดของ TblProducts ที่มีราคาสินค้า ตั้งแต่ 700 บาท 4. จงแสดงข้อมูลรายการทั้งหมดของ TblProducts ที่มีราคาสินค้า มากกว่า 1000 บาท 5. จงแสดงข้อมูลรายการทั้งหมดของ TblProducts ที่มีราคาสินค้า อยู่ ระหว่าง 1,500-2,000 บาท 6. จงแสดงข้อมูลรายการทั้งหมดของ TblProducts ที่มีราคาสินค้า อยู่ ระหว่าง 1,500-2,000 บาท เรียงตามลำดับจากน้อยไปหามาก 7. จงแสดงข้อมูลรายการทั้งหมดของ TblProducts ที่มีราคาสินค้า อยู่ ระหว่าง 1,500-2,000 บาท เรียงตามลำดับจากมากไปหาน้อย


40 แบบฝึกหัดบทที่10 คำสั่ง SQL ให้นักศึกษา ศึกษาคำสั่ง SQL ตามโจทย์ต่อไปนี้ และวิเคราะห์ 1.SELECT * FROM TblProducts; 2.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts SELECT ProductName, UnitPrice from TblProducts; 3.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts ที่ราคาสินค้า มากกว่า 700 บาท ขึ้นไป SELECT ProductName, UnitPrice FROM TblProducts where UnitPrice >700; 4.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProductsที่ราคาสินค้า ตั้งแต่1000 บาท ขึ้นไป SELECT ProductName, UnitPrice FROM TblProducts where UnitPrice >=1000; 5.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts ที่ราคาสินค้า ระหว่าง 500-1000 บาท SELECT ProductName, UnitPrice FROM TblProducts where UnitPrice BETWEEN 500 and 1000; 6.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts ที่ราคาสินค้า ระหว่าง 500-1000 บาท ที่ราคา สินค้า เรียงจากมากไปหาน้อย SELECT * FROM TblProducts where UnitPrice BETWEEN 500 and 1000 order by UnitPrice DESC ; 7.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts ที่ราคาสินค้า ระหว่าง 500-1000 บาท ที่ราคาสินค้า เรียงจากน้อยไปหามาก SELECT * FROM TblProducts where UnitPrice BETWEEN 500 and 1000 order by UnitPrice ASC ; 8.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProductsที่ ชื่อสินค้า ขึ้นต้นด้วย JAPANESE SELECT * FROM TblProducts WHERE ProductName LIKE 'JAPANESE*'; 9.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts ที่ ชื่อสินค้า มีคำบางคำว่า กุ้ง SELECT * FROM TblProducts WHERE ProductName LIKE '*กุ้ง*'; 10.ให้แสดงข้อมูล ชื่อสินค้า กับ ราคาสินค้า จาก TblProducts ที่ ชื่อสินค้า ที่ อักษรตัวที่ 2 เป็นตัว a ตัวถัดไปเป็นอะไรก็ได้ SELECT * FROM TblProducts WHERE ProductName LIKE '?a*


41 2 จากรูปตารางสินค้า ชื่อ TblProduct จงเขียนคำสั่ง SQL ในการสั่งงานต่อไปนี้ 4.1 หากต้องการสร้าง Table ที่ชื่อว่า TblProducts คำสั่ง SQL ในการสร้างคือ ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.2 หากต้องการเรียกดูข้อมูล ราคาสินค้า ที่ราคามากกว่า 1,000 บาท คำสั่ง SQL ในการเรียกดูข้อมูลคือ ………….…………………………………………………………………………………………………………………………………


42 ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.3 หากต้องการเรียกดูข้อมูล ราคาสินค้า ที่อยู่ระหว่าง 500-1,000 บาท คำสั่ง SQL ในการเรียกดูข้อมูลคือ ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.4 หากต้องการเรียกดูข้อมูล ราคาสินค้า ที่ราคาตั้งแต่ 1,000-2,500 บาท จากตาราง TblProducts โดยเรียงจากราคาสินค้า จากมากไปหาน้อย คำสั่ง SQL ในการเรียกดูข้อมูลคือ ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.5 หากต้องการเรียกดูข้อมูล ชื่อสินค้า กับ ราคาสินค้า 4,000 บาท ขึ้นไป จากตาราง TblProducts โดยเรียง จากราคาสินค้า จากน้อยไปหามากคำสั่ง SQL ในการเรียกดูข้อมูลคือ ………….………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.6 หากต้องการเรียกดูข้อมูล ชื่อสินค้า กับ ราคาสินค้า จากตาราง TblProducts ที่ ชื่อสินค้า ที่มีคำบางคำว่า Vocab โดยเรียงจากราคาสินค้าจากมากไปหาน้อย ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.7 หากต้องการเรียกดูข้อมูลทั้งหมดจากตาราง TblProducts เฉพาะชื่อสินค้า ที่ขึ้นต้นด้วยตัว F คำสั่ง SQL ในการเรียกดูข้อมูลคือ ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.8 หากต้องการเรียกดูข้อมูล ชื่อสินค้า, ราคาสินค้า, จำนวนสินค้า และยอดรวมที่ได้จากการคำนวณค่า (ราคาสินค้าXจำนวนสินค้า) จะใช้คำสั่ง SQL ในการเรียกดูข้อมูลคือ ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….… 4.9 หากต้องการเรียกดูข้อมูล ชื่อสินค้า, ราคาสินค้า, จำนวนสินค้า และยอดภาษีสินค้าที่ได้จาก การคำนวณค่า (ราคาสินค้าX0.7) จะใช้คำสั่ง SQL ในการเรียกดูข้อมูลคือ ………………………………………………………………………………………………………………………………………….… ………………………………………………………………………………………………………………………………………….…


43


44 บทที่ 11 คำสั่ง SQL ในการเรียกข้อมูลจากสองตาราง Join Table ตอนที่ 1 การเรียกข้อมูลจากสองตาราง Join Table วิธีที่ 1 Equi Join รูปแบบคำสั่ง SELECT ชื่อตาราง.ชื่อคอลัมน์ , ชื่อตาราง.ชื่อคอลัมน์ ฯ... From ชื่อตาราง1, ชื่อตาราง2 Where เงือนไขฯ (table1.column_name = table2.column_name) Order by การจัดเรียงข้อมูลฯ วิธีที่ 2 Inner Join รูปแบบคำสั่ง SELECT ชื่อตาราง.ชื่อคอลัมน์ , ชื่อตาราง.ชื่อคอลัมน์ ฯ... From ชื่อตาราง1 Inner Join ชื่อตาราง2 On เงือนไขฯ (table1.column_name = table2.column_name) Order by การจัดเรียงข้อมูลฯ ตัวอย่างคำสั่ง 1) เลือก คอลัมน์ชื่อประเภทสินค้า.ตารางประเภทสินค้า , คอลัมน์สินค้า.ตารางสินค้า จาก ตารางประเภทสินค้า, ตารางสินค้า เรียงข้อมูลจาก ชื่อประเภทสินค้า.ตารางประเภทสินค้า SELECT TblCategories.CategoryName, TblProducts.ProductName From TblProducts, TblCategories Order by TblCategories.CategoryName ; 2) เลือก คอลัมน์ชื่อประเภทสินค้า.ตารางประเภทสินค้า , คอลัมน์สินค้า.ตารางสินค้า จาก ตารางประเภทสินค้า, ตารางสินค้า เงื่อนไข รหัสประเภทสินค้า.ตารางประเภทสินค้า = 1 เรียงข้อมูลจาก ชื่อสินค้า.ตารางสินค้า SELECT TblProducts.ProductName, TblCategories.CategoryName from TblProducts, TblCategories where TblCategories.CategoryID= 1 Order by TblProducts.ProductName ;


45 ตอนที่ 2 ข้อมูลเกี่ยวกับระบบฐานข้อมูลการขาย ตาราง Categories รหัสประเภท ชื่อประเภท รายละเอียดประเภท CategoryID CategoryName Description 1 Beverages Soft drinks, coffees, teas, beers, and ales 2 Condiments Sweet and savory sauces 3 Confections Desserts, candies, and sweet breads 4 Dairy Products Cheeses 5 Grains/Cereals Breads, crackers, pasta, and cereal ตาราง Products รหัสสินค้า ชื่อสินค้า รหัสพ่อค้า รหัสประเภท หน่วย ราคา ProductID ProductName SupplierID CategoryID Unit Price 1 Chais 1 1 10 boxes x 20 bags 18 2 Chang 1 1 24 - 12 oz bottles 19 3 Aniseed Syrup 1 2 12 - 550 ml bottles 10 4 Chef Anton's Cajun 2 2 48 - 6 oz jars 22 5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35 ตาราง Orders รหัสการสั่งซื้อ รหัสลูกค้า รหัสพนักงาน วันที่สั่งซื้อ รหัสพ่อค้า OrderID CustomerID EmployeeID OrderDate ShipperID 10248 90 5 1996-07-04 3 10249 81 6 1996-07-05 1 10250 34 4 1996-07-08 2 10251 84 3 1996-07-08 1 10252 76 4 1996-07-09 2


46 ตาราง OrderDetails รหัสรายละเอียดการสั่งซื้อ รหัสการสั่งซื้อ รหัสสินค้า จำนวนสั่งซื้อ OrderDetailID OrderID ProductID Quantity 1 10248 11 12 2 10248 42 10 3 10248 72 5 4 10249 14 9 5 10249 51 40 ให้เขียนคำสั่ง SQL เพื่อให้ได้ผลลัพธ์ดังต่อไปนี้ 2.1 ให้เลือกข้อมูล ชื่อประเภท จากตาราง Categories ชื่อสินค้า ,หน่วย , ราคา จากตาราง Products ที่ชื่อสินค้า มีคำว่า Anton โดยเรียงลำดับจาก ราคาสินค้า มากไปน้อย โดยใช้วิธี Equi Join โดยใช้วิธี Inner Join


47 การเลือกข้อมูลโดยใช้SELECT DISTINCT 1. ในข้อมูลรายละเอียดการขายที่มีสินค้าหลาย ๆ อย่างขายได้ซ้ำกัน จึงต้องการทราบว่ามีสินค้าใดบ้าง ที่ขายได้ (โดยไม่สนใจว่ามีจำนวนการขายแต่ละสินค้าเท่าไร) SELECT DISTINCT ProductID as รหัสสินค้า FROM TblOrderDetails ORDER BY ProductID DESC; 2. ต้องการทราบว่ามีสินค้าในตารางสินค้า มีประเภทสินค้าใดบ้าง (โดยไม่สนใจว่ามีสินค้าจำนวนเท่าไร) SELECT DISTINCT TblCategories.CategoryName From TblCategories, TblProducts Order by TblCategories.CategoryName ; การเลือกข้อมูลโดยใช้SELECT Max / Min / COUNT/ Sum 1. ต้องการค้นหารหัสสินค้า หาค่าสูงสุด (ลำดับล่าสุด) จากตารางสินค้า SELECT max( ProductName) FROM TblProducts; 2. ต้องการค้นหารหัสสินค้า หาค่าต่ำสุด (ลำดับท้ายสุด) จากตารางสินค้า SELECT min( ProductName) FROM TblProducts; 3.ต้องการนับ จำนวนสินค้าทั้งหมดจากตารางสินค้า SELECT COUNT(ProductID) as ผลรมจำนวนสินค้า FROM TblProducts; 4.ต้องการหาผลรวม ราคาสินค้าทั้งหมดจากตารางสินค้า SELECT sum( UnitPrice) as ผลรวมราคาสินค้า FROM TblProducts; 5.ต้องการหาค่าเฉลี่ย ราคาสินค้าทั้งหมดจากตารางสินค้า SELECT AVG( UnitPrice) as ผลรวมราคาสินค้า FROM TblProducts; การเลือกข้อมูลโดยใช้SELECT top 10/ SELECT top 100 ต้องการเลือกออเดอร์รายการสินค้า จากตาราง TblOrders โดยเรียงจากวันที่ OrderDate มากไปหาน้อย SELECT top 10 OrderID,OrderDate from TblOrders order by OrderDate DESC;


48 แบบฝึกหัด จงเขียนคำสั่ง SQL SELECT เพื่อเลือกข้อมูลตามเงื่อนไขต่อไปนี้ 1. จงแสดงข้อมูล CategoryName , CategoryDescription, ProductName , UnitPrice จาก 2 ตารางคือ TblProducts และ TblCategories 2. จงแสดงข้อมูล OrderID , CustomerID, CustomerName, Telephone จาก 2 ตารางคือ TblOrders ,TblCustomers 3. จงแสดงข้อมูล ProductName, UnitPricec และ CategoryName จาก 2 ตารางคือ TblProducts และ TblCategories โดยให้แสดงเฉพาะรหัสประเภท CategoryID= 2; 4. จงแสดงข้อมูล CustomerName, CustomerAddress และ OrderDate จาก 2 ตารางคือ TblCustomers และ TblOrders เฉพาะรหัสลูกค้า CustomerID = 181 5. ต้องการค้นหารหัสการสั่งซื้อ OrderID หาค่าสูงสุด (ล าดับล่าสุด) จากตาราง TblOrders และจงแสดงค่า ผลลัพธ์ที่ได้ 6. ต้องการค้นหารหัสการสั่งซื้อ OrderID หาค่าต ่าสุด (ล าดับท้ายสุด) จากตาราง TblOrders และจงแสดงค่า ผลลัพธ์ที่ได้ 7. ต้องการนับ จ านวน Orders ที่ลูกค้าสั่งซื้อทั้งหมด จากตาราง TblOrders และจงแสดงค่าผลลัพธ์ที่ได้ 8. ต้องการนับ จ านวน CustomerName ของลูกค้าทั้งหมด จากตาราง TblCustomers และจงแสดงค่าผลลัพธ์ที่ ได้ 9. ต้องการหาผลรวม ProductCount จ านวนสินค้าที่สั่งซื้อทั้งหมด จากตาราง TblOrderDetails และจงแสดงค่า ผลลัพธ์ที่ได้ 10. ต้องการหาค่าเฉลี่ย ราคาสินค้า ที่มีรหัสประเภทสินค้า CategoryID = 2 จากตารางสินค้า TblProducts และ จงแสดงค่าผลลัพธ์ที่ได้


49 ภาคผนวก กรณีศึกษา ระบบซื้อขายสินค้า (อ.ปณิธาน เมฆกมล) ร้าน BC ขายคอมพิวเตอร์และอุปกรณ์ต่อพ่วงต่างๆ ข้อมูลรายละเอียดและกฎเกณฑ์ทางธุรกิจ (Business Rules) ประกอบด้วยรายละเอียดดังต่อไปนี้ 1. ระบบข้อมูลสินค้า 1.1. ระบบสามารถบันทึกและปรับปรุงข้อมูลเบื้องต้นของสินค้า ราคาต้นทุน ราคาขาย และจำนวนสินค้าคงเหลือ 1.2. สินค้าที่ขายแยกเป็นประเภทต่าง ๆ เช่น เครื่องคอมพิวเตอร์ตั้งโต๊ะ เครื่องคอมพิวเตอร์พกพา อุปกรณ์ต่อพ่วง อุปกรณ์อัพเกรด โดยสินค้าแต่ละอย่างจะจัดอยู่ในประเภทเดียว 2. ร้านจัดเก็บข้อมูลลูกค้าเพื่อใช้ในการออกใบกำกับภาษี และตรวจสอบบริการหลังการขาย 3. ร้านจัดเก็บข้อมูลพนักงานเพื่อใช้บันทึกการทำรายการในระบบของแต่ละคน 4. ระบบจัดซื้อสินค้า 4.1. เมื่อร้านต้องการจัดซื้อสินค้าใหม่จะส่ง RFP ไปให้ผู้จัดจำหน่าย โดยผู้จัดจำหน่ายจะส่งใบเสนอราคากลับมา เมื่อ ได้ราคาที่พอใจแล้วจึงจะออกใบสั่งซื้อสินค้า (Purchase Order) 4.2. ใบสั่งซื้อสินค้าหนึ่งใบจะส่งให้ผู้จัดจำหน่ายเพียงหนึ่งราย 4.3. ใบสั่งซื้อสินค้าแต่ละใบสามารถมีรายการสินค้าได้หลายรายการ 4.4. ใบสั่งซื้อสินค้าแต่ละใบต้องมีข้อมูลชื่อ-ที่อยู่ผู้จัดจำหน่าย วันเดือนปีที่สั่งซื้อ จำนวนเงินรวม รายการสินค้า จำนวน สินค้า และราคาสินค้าที่สั่งซื้อ 4.5. ระบบสามารถบันทึกและปรับปรุงสถานะขอใบสั่งซื้อสินค้าได้ เช่น ปกติ, ได้รับสินค้าแล้ว หรือ ยกเลิก 5. ระบบรับสินค้า 5.1. ระบบต้องสามารถจัดเก็บวันที่รับสินค้า จำนวนสินค้าที่รับ พนักงานบันทึกรับสินค้า 5.2. แต่ละครั้งที่รับสินค้า ต้องจัดเก็บข้อมูลอ้างอิงใบสั่งซื้อสินค้า 5.3. แต่ละครั้งที่รับสินค้าสามารถมีรายการสินค้าได้หลายรายการ 5.4. ระบบสามารถบันทึกและปรับปรุงสถานะขอใบรับสินค้าได้ เช่น ปกติ หรือ ยกเลิก 5.5. ระบบต้องสามารถออกใบรับสินค้าเพื่อใช้เก็บเป็นหลักฐานได้ 6. ระบบขายสินค้า 6.1. ระบบต้องสามารถออกใบเสร็จรับเงิน/ใบกำกับภาษีให้ลูกค้าได้ 6.2. ในใบเสร็จแต่ละใบจะออกให้ลูกค้าเพียงหนึ่งราย 6.3. ใบเสร็จแต่ละใบสามารถมีรายการสินค้าได้หลายรายการ 6.4. ใบเสร็จแต่ละใบต้องมีข้อมูลชื่อ-ที่อยู่ลูกค้า วันเดือนปีที่ขาย จำนวนเงินรวม รายการสินค้า จำนวนสินค้า และ ราคาสินค้าที่ขาย 6.5. ระบบต้องบันทึกข้อมูลพนักงานที่ออกใบเสร็จได้ 6.6. ระบบต้องสามารถบันทึกและปรับปรุงสถานะของใบเสร็จได้ เช่น ปกติ หรือ ยกเลิก


Click to View FlipBook Version