CHAPTER 11 Database Design. 2 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ Agenda Data Organization Relational Database Entity,

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Chapter3 : Data Model Class on 23 and 24 Nov 10
Advertisements

CHAPTER 14 Database Management
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
เรื่อง เทคโนโลยีบอรดแบนด์ไร้สาย
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
เป็นหลักสำคัญในการนำเสนอเนื้อหา ของบทเรียนคอมพิวเตอร์ช่วยสอนก็คือ ควร นำเสนอภาพที่เกี่ยวข้องกับเนื้อหา ประกอบ กับคำอธิบายสั้นๆ ง่ายๆ แต่ได้ใจความ การใช้ภาพประกอบจะทำให้ผู้เรียน.
จัดทำโดย น. ส. ดวงกมล งามอยู่เจริญ เลขที่ 8 น. ส. ณัชชา เชื้อตา เลขที่ 6 เตรียมบริหารธุรกิจปี 1.
System Database Semester 1, 2009 Worrakit Sanpote 1.
Entity-Relationship Model E-R Model
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
หลักการออกแบบฐานข้อมูล
Computer in Business เรื่อง การใช้งาน Access เบื้องต้น.
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
Database Management System
บทที่ 1 หลักการทำโครงงาน
ซอฟต์แวร์และการเลือกใช้
ซอฟต์แวร์ที่น่าสนใจ จัดทำโดย น.ส. จิตรวรรณ เอกพันธ์ sc คณะวิทยาศาสตร์ วิชาเอกคณิตศาสตร์ (กศ.บ.)
MS-Access. SQL สามารถเรียกใช้ฐานข้อมูล ได้ทุกค่าย Access MySQL Foxpro DBF DB2Oracle MS SQL.
ระบบ ฐานข้อมูล (Database). ระบบฐานข้อมูล หมายถึง โครงสร้างสารสนเทศที่ประกอบด้วย รายละเอียดของข้อมูลที่เกี่ยวข้องกันที่ จะนำมาใช้ในระบบต่าง ๆ ร่วมกัน ระบบฐานข้อมูล.
CSIT-URU อ. กฤษณ์ ชัยวัณณคุปต์ Mathematics and Computer Program, URU บทที่ 1 ความรู้ทั่วไปเกี่ยวกับ เทคโนโลยีสารสนเทศ Introduction to Information.
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
ขั้นตอนการใช้บริการต้องทำอย่างไร  สถานประกอบกิจการ ต้องดำเนินการตาม ขั้นตอนต่อไปนี้ ตรวจสอบข้อมูลสถานประกอบกิจการในระบบ ที่
Microsoft Access 2007 ทำความรู้จักและใช้งาน. รู้จักกับฐานข้อมูล (Database) ฐานข้อมูล (Data base) คือ ? Bit Byte Field/Word Record Table/File.
การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ การจัดกิจกรรมการ เรียนรู้แบบการทำ โครงงานคอมพิวเตอร์ ครูชาญณรงค์ ปานเลิศ โรงเรียนพระบางวิทยา ครูชาญณรงค์
Project Management by Gantt Chart & PERT Diagram
เทคโนโลยีพื้นฐานของระบบสารสนเทศ
ฐานข้อมูล.
Material requirements planning (MRP) systems
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การทำ Normalization 14/11/61.
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 11 การเขียนแผนผังข้อมูลแบบสัมพัทธ์.
ฐานข้อมูลและ ระบบจัดการฐานข้อมูล
การประยุกต์ Logic Gates ภาค 2
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
Chapter 4 : ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
หลักสูตรวิศวกรรมศาสตรบัณฑิต
BC320 Introduction to Computer Programming
บทที่ 5 ระบบจัดการฐานข้อมูล
Database design E-R Diagram
คำสั่ง Create , Insert, Delete, Update
การจัดการข้อมูล ดร. นพ. วรสิทธิ์ ศรศรีวิชัย
Chapter 3 Executive Information Systems : EIS
บทที่ 3 ซอฟต์แวร์ประยุกต์
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
แผนระบบสารสนเทศประจำปีงบประมาณ และ แผน e-Faculty ประจำปีงบประมาณ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่
Data storage II Introduction to Computer Science ( )
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
หน่วยที่ 3 การประมวลผลข้อมูลให้เป็นสารสนเทศ
Application of Software Package in Office
ทำความรู้จักและใช้งาน
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
โครงสร้างข้อมูล( Data Structure)
การแก้ไขข้อมูล ความสัมพันธ์ระหว่างตาราง
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
การวิจัยทางการท่องเที่ยว
สถาปัตยกรรมของฐานข้อมูล
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
Introduction to Database System
ฐานข้อมูลเชิงสัมพันธ์
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
ตัวแบบข้อมูล (Data Modeling)
Chapter 7 : ขั้นตอนการแปลงแผนภาพ ER มาเป็นรีเลชั่น ( ER-to-Relational Mapping Algorithm ) อ.คเชนทร์ ซ่อนกลิ่น.
โครงการถ่ายทอดเทคโนโลยีถนนรีไซเคิลเพื่อลดขยะพลาสติกใน 4 ภูมิภาค
Database Design & Development
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

CHAPTER 11 Database Design

2 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ Agenda Data Organization Relational Database Entity, Attribute, Relationship, Key E-R Model Relational Database Model

3 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ Data Organization Data Pyramid Software สำหรับสร้าง และจัดการการทำงาน ของ Database เช่น Microsoft Access

4 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ระดับข้อมูลตัวอย่าง BIT (Binary Digit)0 or 1 Only BYTE or CHARACTER A, ก, 1, …and (Blank) FIELD Mark, RECORD FILE Data Organization

5 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ DATABASEเช่น ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) ตารางลูกค้า ตารางสินค้า ตารางใบสั่งซื้อ ความสัมพันธ์ Data Organization

6 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ คำศัพท์ที่ควรรู้จัก - Entity คือสิ่งที่เราสนใจ ใช้อ้างอิงถึงบุคคล สถานที่ เหตุการณ์ หรือสิ่งของต่าง ๆ เช่น ลูกค้า สินค้า ใบสั่งซื้อ สินค้า เป็นต้น - Attribute คือลักษณะของ entity เช่น attribute ของ ลูกค้า ได้แก่ ชื่อ ที่อยู่ รหัสไปรษณีย์ เบอร์โทรศัพท์ เป็นต้น - Relationship คือความสัมพันธ์ระหว่าง entity ต่าง ๆ เช่น ความสัมพันธ์ระหว่างลูกค้า และใบสั่งซื้อสินค้า คือ ลูกค้า สามารถสั่งซื้อสินค้าได้หลาย ๆ ครั้ง คือ ลูกค้าหนึ่งคนสามารถมี ใบสั่งซื้อสินค้าได้หลาย ๆ ใบ เป็นต้น Relational Database

7 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ –Entity ได้แก่ นักศึกษา, วิชา, อาจารย์ที่ปรึกษา และ โปรเจค เป็นต้น –Attribute ของ นักศึกษา ได้แก่ รหัส, ชื่อ, คณะ, ภาควิชา และ GPA เป็นต้น –Attribute ของ วิชา ได้แก่ รหัส, ชื่อ และ หน่วยกิต เป็นต้น ตัวอย่างระบบการลงทะเบียนเรียนของมหาวิทยาลัย

8 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ฐานข้อมูลเชิงสัมพันธ์ คือ การรวบรวม entity ที่อยู่ในระบบที่มี ความสัมพันธ์กันเข้าไว้ด้วยกัน - Relational database เป็น database system ที่นิยมใช้มากที่สุด -Relational database จะประกอบไปด้วยตารางข้อมูล (Table) ที่ สัมพันธ์กันหลาย ๆ ตาราง โดยที่ 1 ตารางจะแทนข้อมูลของ 1 entity - RDBMS (Relational Database Management System) ที่เป็นที่ นิยม เช่น Microsoft SQL Server, Oracle, MS-Access, Sybase, DB2, Informix, MySQL เป็นต้น Relational Database

9 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ Table ตาราง 1 ตาราง จะใช้แทนข้อมูลของ 1 entity ประกอบด้วยแถว (row) และคอลัมน์ (column) โดยข้อมูลใน 1 แถว คือข้อมูล 1 ระเบียน (record) ส่วนข้อมูลแต่ละคอลัมน์คือข้อมูล attribute ของ entity หรืออาจเรียกว่า filed นั่นเอง

10 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ประเภทของ Relationship –1:1One-to-One –1:NOne-to-Many –M:NMany-to-Many ตัวอย่างของ Relationship ประเภทต่าง ๆ –1:1นักศึกษา และ โปรเจค –1:Nอาจารย์ที่ปรึกษา และ นักศึกษา –M:Nนักศึกษา และ วิชาที่ลงทะเบียนเรียน Relationship

11 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ 1. ความสัมพันธ์แบบ 1:1 (One-to-One) เป็นความสัมพันธ์ที่แถวหนึ่งใน table ใด ๆ สามารถจับคู่กับ หนึ่งแถวในอีก table หนึ่ง เช่น นักศึกษา 1 คน จะทำโปรเจค ได้ 1 หัวข้อเท่านั้น 2. ความสัมพันธ์แบบ 1:N (One-to-Many) เป็นความสัมพันธ์ที่แถวหนึ่งใน table ใด ๆ สามารถจับคู่กับ หลายแถวในอีก table หนึ่ง เช่น อาจารย์ 1 คน สามารถให้ คำปรึกษานักศึกษาได้หลายคน Relationship

12 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ 3. ความสัมพันธ์แบบ M:N (Many-to-Many) เป็นความสัมพันธ์ที่แถวหลาย ๆ แถวใน table ใด ๆ สามารถ จับคู่กับหลายแถวในอีก table หนึ่ง เช่น นักศึกษา 1 คน สามารถเรียนได้หลายวิชา และวิชา 1 วิชา สามารถลงเรียนได้ จากนักศึกษาหลายคน ถ้าเรานำ table ทั้งสองมาเชื่อมโยงกัน จะเห็นว่าทำไม่ได้ เนื่องจากไม่มี column ที่เป็น column ร่วมกันของทั้ง 2 table การสร้างความสัมพันธ์แบบ M:N จึงต้องใช้ table อื่นเข้ามา ช่วยในการเชื่อมโยง Relationship

13 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ E-R ย่อมาจาก Entity-Relationship เป็นแผนภาพที่แสดงถึง Entity ต่าง ๆ ในระบบ ว่ามี ความสัมพันธ์ (Relationship) กันอย่างไร และ ประเภทไหน E-R Model ที่ได้ออกแบบไว้ จะนำไปแปลงเป็น Relational Database Model เพื่อนำไปสร้างใน DBMS ต่อไป สัญลักษณ์ที่ใช้ได้แก่ E-R Model ใช้แทน entity ใช้แทน relationship

14 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ADVISOR ADVISES COURSE STUDENT WORK_ON REGISTER 1 1 1N M N PROJECT ตัวอย่าง E-R Model ของระบบลงทะเบียน

15 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ เพื่อเพิ่มประสิทธิภาพในการจัดการฐานข้อมูล เช่น การอ้างอิง การค้นหา การแก้ไขข้อมูล ในแถวใด ๆ หรือ การกำหนดความสัมพันธ์ระหว่าง entity จะต้องกำหนดคีย์ ดังนี้ ประเภทของคีย์ 1. คีย์หลัก (Primary key) หมายถึง attribute หรือกลุ่มของ attribute ที่มี ข้อมูลไม่ซ้ำกัน และไม่เป็นค่า Null ทำให้สามารถระบุได้ว่าเป็นข้อมูลเรคอร์ด ใด Keys 2. คีย์นอก (Foreign key) คีย์นอก หมายถึง attribute ที่อยู่ใน ตารางหนึ่ง แต่ไปปรากฏเป็น attribute ใน อีกตารางหนึ่ง และทำให้ทั้งสองตารางมีความสัมพันธ์กัน

16 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ตัวอย่าง Keys PK FK ตารางลูกค้า ตารางสินค้า ตารางใบสั่งซื้อ PK: Primary key FK: Foreign key

17 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ การแปลง E-R Model ไปเป็น Relational Database Model 1)ออกแบบ Table โดยการระบุทุก ๆ Attribute ในแต่ละ Entity โดยทั่วไปแล้ว 1 Table แทน 1 Entity และพิจารณาเฉพาะ คุณสมบัติของ Entity ตัวเองเท่านั้น ไม่พิจารณาถึงคุณสมบัติที่มี ความสัมพันธ์กับ Entity อื่น 2)เลือก PK ของแต่ละ Table โดยพิจารณาจาก Attribute ทั้งหมด 3)เพิ่ม FK ของแต่ละ Table โดยพิจารณาจาก Entity ที่มี ความสัมพันธ์กัน –สำหรับความสัมพันธ์แบบ 1:N แล้ว FK จะถูกเพิ่มไปที่ Table ของ Entity ด้าน N –สำหรับความสัมพันธ์แบบ 1:1 แล้ว FK จะถูกเพิ่มไปที่ Table ด้านใดด้านหนึ่งเพียงด้านเดียว 4)สำหรับการแปลงความสัมพันธ์แบบ M:N ต้องเพิ่มตารางใหม่ โดย นำ PK ของทั้งสองตารางมาใช้เป็น PK ร่วมกันในตารางใหม่

18 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ STUDENT(scode, sname, major, birthday, address ) PROJECT(proj_code, proj_name, year) ADVISOR(adv_code, adv_name, office, tel_no) COURSE(course_code, cname, credit_lect, credit_lab) REGISTER(scode, course_code, semester, year, grade), adv_code, proj_code Relational Database Model ของระบบลงทะเบียน

19 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ตัวอย่างตารางที่ได้จากระบบลงทะเบียน scodesnamemajorbirthdayaddressadv_codeproj_code นายสมชาย อดทน คอมพิวเตอร์ 1/7/27 หอชาย 2 ม. ช นางสาวชูใจ รัก เรียน คณิตศาสตร์ 29/2/25 หอหญิง 5 ม. ช proj_codeproj_nameyear 015The Clustering Algorithm with a Large Data Set A Dynamic Automata2551 STUDENT PROJECT adv_codeadv_nameofficetel_no 123 รศ. ทศพร จันทร์คง MB ต่อ รศ. วิไลพร สิริมังครา รัตน์ CSB ต่อ 102 ADVISOR

20 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ course_codec_namecredit_lectcredit_lab Computer Programming I Information Technology I21 COURSE scodecourse_codesemesteryeargrade A C REGISTER ตัวอย่างตารางที่ได้จากระบบลงทะเบียน