[ บทที่ 5 ] การออกแบบฐานข้อมูล

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 5 แบบจำลองระบบ System Model.
Advertisements

Chapter3 : Data Model Class on 23 and 24 Nov 10
การจัดทำแผนปฏิทินการจัดการความรู้ และแผนในการติดตามประเมินผลการจัดการความรู้ E:\ประกันคุณภาพ\ppt\ดูงาน\12-PPT_เสนอ_ครุศาสตร์_จุฬา_19_11_50.ppt.
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
ตราด สำนักงานโยธาธิการและผังเมืองจังหวัด นางสาวอุสิมา สิงห์โตทอง
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
System Database Semester 1, 2009 Worrakit Sanpote 1.
Entity-Relationship Model E-R Model
การจัดการศูนย์สารสนเทศ หน่วยที่ 10 “ ความร่วมมือในการบริการ สารสนเทศ ” อาจารย์ ดร. นฤมล รักษาสุข.
หลักการออกแบบฐานข้อมูล
Database Management System
ระบบ ฐานข้อมูล (Database). ระบบฐานข้อมูล หมายถึง โครงสร้างสารสนเทศที่ประกอบด้วย รายละเอียดของข้อมูลที่เกี่ยวข้องกันที่ จะนำมาใช้ในระบบต่าง ๆ ร่วมกัน ระบบฐานข้อมูล.
กลุ่มออกแบบและก่อสร้าง สำนัก อำนวยการ สพฐ.
INTRODUCE SUBJECT สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
วิธีการใ ช้ โปรแกรมคำนวณคะแนน กลุ่มเกษตรกรดีเด่น กองพัฒนาสหกรณ์ด้าน การเงินและร้านค้า กรมส่งเสริม สหกรณ์
ผลการดำเนินงาน ปีงบ ๒๕๕๘ ( ร่าง ) แผนปฏิบัติการฯ ปี งบ ๒๕๕๙ กลุ่มงานบริหารทั่วไป สำนักงานสาธารณสุข จังหวัดตราด.
Microsoft Access 2007 ทำความรู้จักและใช้งาน. รู้จักกับฐานข้อมูล (Database) ฐานข้อมูล (Data base) คือ ? Bit Byte Field/Word Record Table/File.
CHAPTER 11 Database Design. 2 PHP ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ Agenda Data Organization Relational Database Entity,
การออกแบบโครงสร้างข้อมูล การออกแบบโครงสร้างข้อมูล หมายถึง กรณีสร้างตารางใหม่ด้วย ออกแบบตาราง (Table Design) เพื่อต้องการกำหนด โครงสร้างด้วยตนเอง โดยมีขั้นตอนการ.
Entity-Relationship Model
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
การทำ Normalization 14/11/61.
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 11 การเขียนแผนผังข้อมูลแบบสัมพัทธ์.
การเปลี่ยนจาก E-R Diagram เป็นโมเดลเชิงสัมพันธ์ (ตารางข้อมูล)
Chapter 4 : ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
Chapter 6 : แบบจำลอง E-R (Entity-Relationship Model)
บทที่ 5 การควบคุมความถูกต้องให้กับข้อมูล (Data Integrity)
การบันทึกรายการค้าในสมุดบัญชี
บทที่ 5 แบบจำลองขั้นตอนการทำงานของระบบ
7 Entity-Relationship Modeling แผนภาพความสัมพันธ์ ORACLE MS SQL SERVER
Database design E-R Diagram
Entity – Relationship Model
Presentation การจัดการข้อร้องเรียนในธุรกิจบริการ Customer Complaint Management for Service.
บทที่ 6 การพัฒนาระบบการสอนบนเครือข่าย
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
E-R Diagram (Entity Relationship Diagram)
คำสั่ง Create , Insert, Delete, Update
การสร้างฟอร์มย่อย การสร้างฟอร์มย่อยและรายงานย่อย
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
การบริหารโครงการซอฟต์แวร์
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
การจัดองค์กรฝ่ายขาย MGEN313 Sales Management การบริหารงานขาย Department of Marketing Bangkok University- MGEN313.
การออกแบบโครงสร้างฐานข้อมูลด้วย E-R Model และการแปลงเป็นรีเลชัน
Application of Software Package in Office
อาจารย์ณัฐภัทร แก้วรัตนภัทร์ วท.ม.,วท.บ.เกียรตินิยมอันดับ1
ความคืบหน้าการจ้างลูกจ้างชั่วคราว เป็นพนักงานกระทรวงสาธารณสุข (พกส.)
SMS News Distribute Service
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
สัมมนาเชิงปฏิบัติการหลักสูตรการฝึกยกระดับฝีมือแรงงาน
เรียนอย่างไรให้ประสบความสำเร็จ
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
กฎการ Normalization 1. จะต้องไม่มีเซลล์ใดในตารางที่มีค่าเกิน 1 ค่า ดังนั้นเราสามารถทำให้ตารางผ่านกฎข้อที่ 1 ได้ด้วยการแยกเซลล์ที่มีค่าเกินหนึ่งออกเป็นเรคคอร์ดใหม่
วัสดุและเทคนิค ทางการออกแบบ อ.สุวิธธ์ สาดสังข์ ( Material and
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
สถาปัตยกรรมของฐานข้อมูล
สรุปขั้นตอนการสร้าง E-R Diagram
ฐานข้อมูลเชิงสัมพันธ์
บทที่ 2 รูปแบบของฐานข้อมูล
02/08/62 การศึกษาพลังงานทางเลือกจากมูลช้างทำถ่านอัดแท่ง สู่ชุมชนท้องถิ่นในเขตจังหวัดสุรินทร์ The Study of Alternative Fuel From Elephant Dung Made Bar.
ตัวแบบข้อมูล (Data Modeling)
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
Chapter 7 : ขั้นตอนการแปลงแผนภาพ ER มาเป็นรีเลชั่น ( ER-to-Relational Mapping Algorithm ) อ.คเชนทร์ ซ่อนกลิ่น.
การสร้างแบบทดสอบ อาจารย์ ปรีชา เครือวรรณ อาจารย์ สมพงษ์ พันธุรัตน์
Database Design & Development
MTRD 427 Radiation rotection - RSO
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

[ บทที่ 5 ] การออกแบบฐานข้อมูล

แบบจำลองฐานข้อมูล(Database Model) คือแบบจำลองที่ใช้อธิบายโครงสร้างและ ความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูล ความสัมพันธ์ของข้อมูล (Cardinality) ความสัมพันธ์แบบ One-to-one (1:1) ความสัมพันธ์แบบ one-to-many (1:M) ความสัมพันธ์แบบ many-to-many (M:N)

Data Structure of database Tuple รายการข้อมูลของแต่ละรายการเทียบเท่ากับ record ในระบบ แฟ้มข้อมูล เช่น ประวัติ พนักงานของแต่ละคน Attribute รายละเอียดของแต่ละ attribute ใน Tuple เช่น ประวัติพนักงาน ประกอบด้วย ชื่อ สกุล วันเดือนปีเกิด เพศ การศึกษา เงินเดือน

Attribute Key ค่าของAttribute ที่สามารถชี้ความเป็น Tuple ของ ตัวเองได้ชัดเจน Candidate Key คือ key ขนาดเล็กที่สุดที่ทำให้ ข้อมูลแต่ละ Tuple มีค่าไม่ซ้ำกัน Primary Key Alternate key Foreign key Non key คือฟิลด์อื่นๆที่ไม่ใช่ key แสดง รายละเอียดใดๆ ของ Tuple

( Attribute, Field, Column ) ระเบียนและเขตข้อมูล เขตข้อมูล ( Attribute, Field, Column ) Std_id Name Sex Province 5005001 สมหญิง งามดี ญ เชียงใหม่ 5005002 เทวา งามขำ ช อุดร 5005003 ภรรณกร พงศกร ลำปาง ระเบียน - Tuple - Record - Row

ความสัมพันธ์ของข้อมูลระหว่างตาราง แบบหนึ่งต่อหนึ่ง (One-to-One) One-to-One

ความสัมพันธ์ของข้อมูลระหว่างตาราง แบบหนึ่งต่อหลาย (One-to-Many) One-to-Many

ความสัมพันธ์ของข้อมูลระหว่างตาราง แบบหลายต่อหลาย (Many-to-Many)

ประเภทของ key คีย์หลัก (Primary Key) คือ ฟิลด์ใดฟิลด์หนึ่งหรือหลาย ๆ ฟิลด์ ประกอบกันในตารางที่จะชี้ไปยังข้อมูลแต่ ละเรคอร์ดในตาราง โดยที่คีย์หลัก จะต้องไม่มีค่าที่ซ้ำกัน คีย์นอก (Foreign Key) คือฟิลด์ที่ทำหน้าที่เป็นคีย์หลักในตารางที่ หนึ่ง แต่ทำหน้าที่เป็นฟิลด์ปกติในตารางที่ สอง ซึ่งเราจะเรียกฟิลด์นี้ในตารางที่ สองว่า คือ คีย์นอก (Foreign Key)

อะไรคือ FK ? Employee empNo empName position sex birthDate salary Branch branchNo street city postcode B005 21 ถ.ห้วยแก้ว เชียงใหม่ 50300 B007 56 ถ.พหลโยธิน พิษณุโลก 65150 B003 143 ถ.วิภาวดีรังสิต กรุงเทพฯ 10110 B004 22 ถ.สหมิตร เชียงราย 57000 B002 11 ถ.พหลโยธิน อะไรคือ FK ? Employee empNo empName position sex birthDate salary branchNo E001 ขวัญชัย ศรีมา ผู้จัดการ ชาย 28/2/2535 30000 B005 E003 กิริตา เกษรทอง ผู้ช่วย หญิง 2/3/2536 23000 B003 E004 ธนพล แย้มทวน supervisor 23/1/2536 19500 E012 นุพล สุดใจดี 9/6/2534 B007 E002 พัชรี วิถีไพร 30/12/2537 E013 ธันยาวี ถิ่นสถาน เลขานุการ 13/4/2534 35000

ขั้นตอนการออกแบบฐานข้อมูล 1. พิจารณาองค์ประกอบข้อมูล (ตาราง) ที่ จะรวมไว้ในฐานข้อมูล 2. จัดกลุ่มตารางข้อมูลที่ได้จากข้อ 1 และ ความสัมพันธ์ต่าง ๆ ระหว่างตารางและ ออกแบบโครงสร้างตาราง 3. กำหนดคีย์หลักให้แก่ตาราง (เช่น primary key, foreign key) 4. กำหนดความสัมพันธ์ระหว่างตาราง (เช่น 1:1, 1:M, M:N) 5. ทดลองป้อนข้อมูล และสร้างวัตถุ ฐานข้อมูลอื่น ๆ เช่นแบบฟอร์มและ รายงานว่าตรงกับความต้องการหรือไม่ 6. ทบทวนฐานข้อมูลที่ได้ออกแบบไว้

การวางแผน, การออกแบบ และการบริหารฐานข้อมูล (Database Planning, design and administration)

SDLC Database Systems Development Life Cycle การศึกษาเบื้องต้น (Database Initial Study) การออกแบบฐานข้อมูล (Database Design) การนำไปใช้ (Implementation) การทดสอบและประเมินผล (Testing and Evaluation) Database Systems Development Life Cycle การปฏิบัติงาน (Operation) การบำรุงรักษาและสนับสนุนระบบ (Maintenance and Support)

ให้กล่าวถึง.. ชื่อระบบ (ว่าเป็นระบบอะไร) ปัญหาที่เกิดขึ้นกับระบบเดิม วัตถุประสงค์ที่จะทำระบบใหม่ ขอบเขตของระบบ อธิบาย E-R Diagram

แบบจำลอง E-R (entity-relationship modeling)

จุดประสงค์ สามารถใช้สัญลักษณ์แทนความหมายใน แผนภาพ E-R ได้อย่างถูกต้อง สามารถกำหนดความสัมพันธ์ให้กับเอ็นทิตี้ ได้อย่างถูกต้อง เห็นความสำคัญของกฏเกณฑ์ทางธุรกิจ หรือข้อบังคับ บนความสัมพันธ์ของ แผนภาพ E-R

อะไรคือ..แผนภาพ E-R แบบจำลอง E-R เป็นแบบจำลองเชิง แนวคิด (Conceptual Data Model) นำเสนอในรูปแบบแผนภาพหรือ ไดอะแกรมที่มักเรียกกันว่า แผนภาพ E- R หรือ E-R Diagram ต้องการนำเสนอให้เกิดความเข้าใจ ระหว่างผู้ออกแบบและผู้ใช้งาน

ผู้ออกแบบฐานข้อมูล และ ผู้ใช้ระบบ - รู้ว่ามีเอ็นทิตี้อะไร แอตทริบิวต์อะไร - รู้ว่าข้อมูลมีความสัมพันธ์กันยังไง - รู้ข้อมูลเชิงเทคนิค “ผู้ใช้ระบบ” มันอยากรู้ว่า : - มีอะไรอยู่ในฐานข้อมูลบ้าง? - ข้อมูลมีความสัมพันธ์กันยังไง? - มีกฏเกณฑ์หรือข้อบังคับในการนำข้อมูลเข้าหรือออกมั๊ย? สื่อสารกัน E-R ? ? ? สื่อสารกัน ผู้ออกแบบฐานข้อมูล ผู้ใช้ระบบ

E-R ประกอบด้วยอะไรบ้าง? เอ็นทิตี้ (Entity) Strong Entity, Weak Entity แอตทริบิวต์ (Attributes) Attribute Domain, Simple Attribute, Composite Attribute, Single-valued Attribute, Multivalued Attribute, Derived Attribute ความสัมพันธ์ (Relationship) Unary Relationship, Binary Relationship, Ternary Relationship ข้อบังคับ (Structural Constraints) Cardinality Constraints, Participation Constraints

**การตั้งชื่อเอ็นทิตี้ ชื่อที่ใช้จะต้องเป็น คำนาม เท่านั้น** เอ็นทิตี้ (Entity) บุคคล : EMPLOYEE, STUDENT, PATIENT (พนักงาน, นักศึกษา, ผู้ป่วย) สถานที่ : STORE, WAREHOUSE, STATE (ร้านค้า, คลังสินค้า, สถานี) วัตถุ : MACHINE, BUILDING, AUTOMOBILE (เครื่องจักร, ตึกอาคาร, เครื่องยนต์) เหตุการณ์ : SALE, REGISTRATION, RESERVATION (การขาย, การ ลงทะเบียน, การจองห้องพัก) **การตั้งชื่อเอ็นทิตี้ ชื่อที่ใช้จะต้องเป็น คำนาม เท่านั้น**

เอ็นทิตี้ (Entity) Strong Entity Weak Entity พนักงาน ผู้ค้ำประกัน

ตัวอย่างการเขียนความสัมพันธ์ เขียนความสัมพันธ์แบบมี Strong Entity พนักงาน การขาย สามารถ 1 M เขียนความสัมพันธ์แบบมี Weak Entity พนักงาน ผู้ค้ำประกัน สามารถมี 1

แอตทริบิวต์ (Attributes) Attribute Domain Simple Attribute และ Composite Attribute Single-Valued Attribute และ Multivalued Attribute Derived Attribute

ให้นักศึกษาเขียนความสัมพันธ์ระหว่าง คณะ, สาขาวิชา, นักศึกษา ตาราง Faculty ตาราง Major ตาราง Student f_code f_name m_code f_code m_name std_code stdname address Sex m_code f_code เขียนแบบ Chen Model

ให้นักศึกษาเขียนความสัมพันธ์ระหว่าง คณะ, สาขาวิชา, อาจารย์ผู้สอน ตาราง Faculty ตาราง Major ตาราง Lecturer f_code f_name m_code f_code m_name lect_code name address Sex birthday startdate m_code f_code เขียนแบบ Chen Model

ให้นักศึกษาเขียนความสัมพันธ์ระหว่าง สินค้า, ประเภทสินค้า, พนักงานขาย, การขาย, ลูกค้า ตาราง Product ตาราง protype ตาราง employee ตาราง customer ตาราง sale proid proname price stock typeid typeid typename empid empname address Telephone Datein Salary Username password cusid Cusname cussurname address telephone saleid proid empid cusid saledate qty saleprice เขียนแบบ Chen Model

กรณีที่เกิดเป็นความสัมพันธ์ proid proname cusid proid saleid saleprice saleid price sale_detail sale saledate 1 M M 1 product empid stock typeid qty กรณีที่เกิดเป็นความสัมพันธ์ แบบ M:N

ให้เขียนความสัมพันธ์ของ “นักศึกษา” กับ “วิชา” ตาราง student ตาราง subject มีข้อกำหนดว่า : นักศึกษาสามารถลงทะเบียนได้หลายวิชา และในแต่ละวิชามีนักศึกษาลงทะเบียนได้หลายคน stdid name surname address sex f_id m_id semester_id Quiz_score Mid_score Final_score grade sbj_id sbj_name credit ที่ตารางการลงทะเบียน ใช้ PK ทั้งหมด 3 ตัว รหัสคณะ รหัสสาขาวิชา รหัสภาคการศึกษา คะแนนเก็บ กลางภาค ปลายภาค

ให้เขียนความสัมพันธ์ของ ตาราง Book ตาราง Type ตาราง RentDetail ตาราง member bookid bookname price stock typeid typeid typename rentid bookid memberid rent_date rent_qty rent_price memberid name surname sex address หนังสือแต่ละเล่มเช่าได้หลายครั้ง และแต่ละครั้งก็เช่าได้หลายเล่ม

ให้เขียนความสัมพันธ์ของ ตารางยา” ตารางประเภทยา “ตารางการรักษา” ให้เขียนความสัมพันธ์ของ ตารางยา” ตารางประเภทยา “ตารางการรักษา” ตาราง drug ตาราง type ตาราง treat drugid drugname Detail unit price stock typeid typeid typename treatid drugid treat_date drug_qty drug_price จำนวนยาที่จ่ายไป ราคาของยาแต่ละตัว ในการรักษาแต่ละใบสามารถจ่ายยาได้หลายตัว และยาแต่ละตัวก็สามารถอยู่ในใบรักษาได้หลายใบ

จะปล่อยให้เกิดความสัมพันธ์แบบ M:N ไม่ได้ typeproduct customer product proid proname price stock typeid M 1 typeid typename cusid name surname address M 1 จะปล่อยให้เกิดความสัมพันธ์แบบ M:N ไม่ได้ sale M employee saleid saledate proid empid cusid sale_qty sale_price N empid empname empsurname idcard address M 1

ทำไมต้องแตกตาราง ? ตาราง Sale saleid saledate proid empid cusid sale_qty sale_price S001 13/03/2011 P102 Emp01 C003 350 150 P103 30 1000 S002 20/03/2011 Emp05 C018 S003 1/04/2011 P112 C005 500 20 P115 100 80

typeproduct customer product saledetail employee sale typeid cusid 1 M typeid typename cusid name surname address proid proname price stock typeid 1 saledetail 1 M saleid proid sale_qty sale_price M employee sale 1 M empid empname empsurname idcard address saleid Saledate empid cusid 1 M

M have N product sale 1 M M 1 product sale saledetail

Participation Constraints Total Participation หรือ Mandatory คือ ความสัมพันธ์ชนิดบังคับ Partial Participation หรือ Optional คือ ความสัมพันธ์ชนิดเลือกได้

สัญลักษณ์บังคับ บน(เส้น)ความสัมพันธ์ในรูปแบบต่างๆ ความหมาย Mandatory One (one and only one) 1…1 Mandatory Many (one or more) 1…* zero or one 0…1 zero or more 0…*

แบบฝึกหัด ข้อที่ 1. ให้นักศึกษา ยกตัวอย่างมาซัก 4 ตัวอย่าง เพื่อใช้สัญลักษณ์ทั้ง 4 รูปแบบ ให้ครบ

** โดยจะต้องมีสัญลักษณ์ในหนังสือหน้า 175 ครบทุกสัญลักษณ์ ** แบบฝึกหัด ข้อที่ 2. ให้นักศึกษาเขียน E-R ของระบบเช่า อะไรก็ได้? ห้ามลุกจากที่ กำหนดเอ็นทิตี้เอง กำหนดแอตตริบิวต์เอง กำหนด primary key เอง กำหนดความสัมพันธ์เอง ** โดยจะต้องมีสัญลักษณ์ในหนังสือหน้า 175 ครบทุกสัญลักษณ์ **

book typebook member rentdetail employee reference rent bookid bookname price stock typebookid typebookid typename Memberid name surname Birthday age address rentdetail rentid bookid rent_qty rent_price employee empid empname empsurname birthday age address reference ref_id ref_name ref_surname telephone address Work_address rent rentid rentdate empid memberid

THE END