Database design E-R Diagram

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โปรแกรมขึ้นทะเบียนเกษตรกร ผู้ปลูกข้าวนาปี ปี 2557/58
Advertisements

Chapter3 : Data Model Class on 23 and 24 Nov 10
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
การใช้งานโปรแกรม SPSS
Entity-Relationship Model E-R Model
หลักการออกแบบฐานข้อมูล
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
Database Management System
การใช้งาน Microsoft Excel
ประเภทโครงงาน พัฒนาระบบ (System Development)
ระบบจัดการพนักงาน E-Clocking. E-clocking Application คืออะไร E-clocking ย่อมาจากคำว่า Easy Clocking ก็คือทำงานและ ดูแลข้อมูลการบริหารบันทึกเวลาการทำงานของพนักงานแบบ.
แบบทดสอบ MICROSOFT EXCEL มีข้อมูลในแผ่นงานตั้งแต่แถวที่ 1 ถึงแถว 500 และคอลัมน์ A จนถึงคอลัมน์ M วิธีการเลือกช่วง ข้อมูลวิธีใด อย่างไร ที่อำนวยความสะดวกได้ดีและให้ผลรวดเร็ว.
บัญชี อิเล็กทรอนิกส์ กลุ่มออมทรัพย์ เพื่อการผลิต นายยงยุทธ พันตารักษ์ พัฒนาการอำเภอเมือง พิจิตร จังหวัดพิจิตร.
การใช้งานระดับจังหวัด โดย กลุ่มพัฒนาระบบสารสนเทศ ศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร สำนักงานปลัดกระทรวง ศึกษาธิการ.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
วิธีการใ ช้ โปรแกรมคำนวณคะแนน กลุ่มเกษตรกรดีเด่น กองพัฒนาสหกรณ์ด้าน การเงินและร้านค้า กรมส่งเสริม สหกรณ์
Microsoft Access 2007 ทำความรู้จักและใช้งาน. รู้จักกับฐานข้อมูล (Database) ฐานข้อมูล (Data base) คือ ? Bit Byte Field/Word Record Table/File.
ประเภทของ CRM. OPERATIONAL CRM เป็น CRM ที่ให้การสนับสนุนแก่กระบวนการธุรกิจ ที่เป็น “FRONT OFFICE” ต่างๆ อาทิ การขาย การตลาด และการ ให้บริการ SALES FORCE.
ซอร์ฟแวร์ ( Software ). Microsoft excel Microsoft excel Microsoft power point.. Link Link.
Project Management by Gantt Chart & PERT Diagram
Entity-Relationship Model
ฐานข้อมูล.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การทำ Normalization 14/11/61.
IP-Addressing and Subneting
IP-Addressing and Subneting
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 11 การเขียนแผนผังข้อมูลแบบสัมพัทธ์.
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การบันทึกรายการค้าในสมุดบัญชี
กลุ่มคำและประโยค ภาษาไทย ม. ๓
เรื่อง ความพึงพอใจต่อการให้บริการห้องสมุด
การสร้างฟอร์มย่อย การสร้างฟอร์มย่อยและรายงานย่อย
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
บทที่ 5 ระบบสารสนเทศเพื่อการบริหารทรัพยากรมนุษย์
การจัดการข้อมูล ดร. นพ. วรสิทธิ์ ศรศรีวิชัย
ระบบการจัดการคลินิกครบวงจร
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
คำรับรองการปฏิบัติราชการ
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
หน่วยที่ 3 การประมวลผลข้อมูลให้เป็นสารสนเทศ
SMS News Distribute Service
การทดลองหาค่าความแน่นของดินที่มีเม็ดผ่านตะแกรงขนาด 19.0 มม. 1 เติมทรายลงในขวดซึ่งประกอบเข้ากับกรวยเรียบร้อย แล้วให้มีปริมาณเพียงพอสำหรับการใช้งาน.
ทำความรู้จักและใช้งาน
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
การแก้ไขข้อมูล ความสัมพันธ์ระหว่างตาราง
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
BASIC STATISTICS MEAN / MODE / MEDIAN / SD / CV.
สถาปัตยกรรมของฐานข้อมูล
การเปลี่ยนแปลงประมาณการทางบัญชี และข้อผิดพลาด
งานนำเสนอสำหรับโครงการ นิทรรศการวิทยาศาสตร์
Introduction to Database System
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
สรุปขั้นตอนการสร้าง E-R Diagram
ฐานข้อมูลเชิงสัมพันธ์
ตัวแบบข้อมูล (Data Modeling)
Array: One Dimension Programming I 9.
แนวทางการออกแบบนิตยสาร
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
Chapter 7 : ขั้นตอนการแปลงแผนภาพ ER มาเป็นรีเลชั่น ( ER-to-Relational Mapping Algorithm ) อ.คเชนทร์ ซ่อนกลิ่น.
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Database Design & Development
กิจกรรมที่ 12 รวบรวมข้อมูลอย่างไรกันดี
MTRD 427 Radiation rotection - RSO
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

Database design E-R Diagram 030523315 – Web Programming and Web Database Asst. Prof. Dr. Choopan Rattanapoka

ระบบฐานข้อมูล ระบบฐานข้อมูล (Database) เป็นระบบที่ถูกออกแบบมาเพื่อเก็บข้อมูล มีความสะดวกในการค้นหาข้อมูล มีการป้องกันความปลอดภัยของข้อมูล สามารถรองรับการทำงานของผู้ใช้หลายคนได้ในเวลาเดียวกัน DBMS (Database Management System) เป็นชุดของโปรแกรมที่ใช้ในการเข้าถึงและจัดการข้อมูลในระบบฐานข้อมูล เป้าหมายสำคัญของ DBMS คือ การใช้ผู้ใช้มีความสะดวกสบาย ในการค้นหา และจัดเก็บข้อมูล อย่างมีประสิทธิภาพ ตัวอย่างของ DBMS : MySQL, Oracle, Microsoft SQL

Entity-Relationship Model เรียกสั้นว่า E-R model E-R model คือ แบบจำลองที่ใช้อธิบายโครงสร้างของฐานข้อมูลซึ่งเขียน ออกมาในลักษณะของรูปภาพ การอธิบายโครงสร้างและความสัมพันธ์ของ ข้อมูล (Relationship) E-R model จะประกอบด้วย 3 องค์ประกอบ ได้แก่ Entity sets Relationship sets Attributes

Entity-Relationship Model ความสัมพันธ์ระหว่างบุคคลกับบัญชีธนาคาร Customer firstname address SSN lastname Account Acct-No Balance bankname money has 1 N

Entity Entity คือ สิ่งของ หรือวัตถุ ที่สามารถแยกออกจากสิ่งของหรือวัตถุอื่นๆ ได้ เช่น คนหนึ่งคน ถือว่าเป็น entity ถ้ามีคุณลักษณะที่สามารถแยกออกจากคน อื่นได้ Entity จะประกอบไปด้วย set ของ attributes ค่าใน set ของ attribute บางค่าอาจจะไม่ซ้ำกัน (unique) ซึ่งจะเหมาะใน การใช้เพื่อ ระบุ entity กราฟิกที่ใช้แสดง Entity คือ สี่เหลี่ยมพื้นผ้า Student

Entity ตัวอย่าง นักศึกษาใน มจพ. เป็น entity ที่อาจมี attribute คือ ชื่อ นามสกุล ที่อยู่ รหัสนักศึกษา  Unique Attribute คือ คุณลักษณะที่อธิบายถึง Entity หนึ่งๆ กราฟิกที่ใช้แสดง Attribute คือ วงรีโดยมีเส้นเชื่อมโยงกับ Entity Student firstname lastname id_std address

Entity Sets Entity set คือ set ที่รวม entity ที่มี attribute เหมือนกัน เช่น Entity ของ นักศึกษา มจพ ที่มี attribute คือ ชื่อ นามสกุล ที่อยู่ รหัสนักศึกษา ดังนั้น Entity set ของ นักศึกษา มจพ เช่น Entity 1 สมชาย นามกุล กรุงเทพ 5903051558709 Entity Set Entity 2 สมหญิง กุลสตรี นนทบุรี 5903051687815

Relationship Relationship คือ ความสัมพันธ์ระหว่าง Entity เช่น Entity บุคคลมี attribute คือ รหัสบัตรประชาชน ชื่อ นามสกุล ที่อยู่ Entity บัญชีธนาคาร มี attribute คือ เลขที่บัญชี ชื่อธนาคาร สาขาธนาคาร จำนวนเงิน ถ้าบุคคลเช่น X มีบัญชีธนาคาร 1 บัญชี ก็ถือว่า Entity ของบุคคล มี ความสัมพันธ์กันกับ Entity บัญชีธนาคาร

Relationship sets กราฟิกที่ใช้แสดง Relationship Set คือ รูปข้าวหลามตัด โดยมีเส้น เชื่อมโยงกับกลุ่มของ Entities โดยที่การตั้งชื่อ Relationship ให้ตั้งชื่อในลักษณะที่อ่านได้จาก ซ้ายไปขวา หรือ จากบนลงล่าง Customer has Account Student Member-of Faculty

ตัวอย่างความสัมพันธ์ Entity set : บุคคล รหัสบัตรประชาชน ชื่อ นามสกุล ที่อยู่ 315455487821 ไก่ ตัวอ้วน กรุงเทพ 358974568120 ไข่ เป็ดน้อย ราชบุรี 345789651782 คน ไม่มี ขอนแก่น Entity set : บัญชีธนาคาร เลขที่บัญชี ชื่อธนาคาร สาขาธนาคาร จำนวนเงิน 57890 กรุงเทพ มจพ 1500.00 11247 กรุงไทย บางกรวย 53100.50 98652 รัตนาธิเบศร์ 20000.00 74603 กสิกรไทย West Gate 95000.00

Mapping cardinalities ความสัมพันธ์ระหว่าง Entity set สามารถมีการ mapping ได้อย่างใด อย่างหนึ่งตามนี้เท่านั้น One to one (รหัสบัตรประชาชน  ชื่อบุคคล) One to many (บุคคล  รถยนต์) Many to one (อาจารย์  คณะ) Many to Many (บุคคล  บัญชีธนาคาร)

Keys Superkey (ซูเปอร์คีย์) Candidate Key (คีย์คู่แข่ง) Primary Key (คีย์หลัก) หลักการของ Key คือ ช่วยให้สามารถแยกแยะความต่างกัน ของแต่ละ entity และ relationship ใน set

Keys : Superkey Superkey เป็น set ของ 1 attribute หรือ หลาย attributes ที่รวมกันแล้ว สามารถทำให้แยกแยะความแตกต่างของแต่ละ entity ใน entity set ได้ ตัวอย่าง Entity ของ บุคคล ประกอบด้วย attribute ชื่อ (fname) นามสกุล (lname) รหัสบัตรประชาชน (id) Superkey คือ {id}, {id, fname}, {id, lname}, {id, fname, lname} {fname}, {lname}, {fname, lname} [ไม่ใช่ superkey] Superkey หมายถึง แอทริบิวต์หรือกลุ่มของแอทริบิวต์ที่สามารถระบุ ความเป็นเอกลักษณ์ของแต่ละแถวเพื่อให้แตกต่างกันในตารางได้

Keys: Candidate Keys Candidate keys คือ superkey ที่มีขนาดเล็ก (ไม่รวม superset) ที่สามารถแยกความต่างของแต่ละ entity ออกจาก entity set ได้ เช่น Entity ของ นศ รหัสบัตรประชาชน (id) รหัสนักศึกษา (student_id) ชื่อ (fname) นามสกุล (lname) Candidate keys คือ {student_id} และ {id} Candidate keys หมายถึง ซูเปอร์คีย์ที่มีขนาดเล็กที่สุด ที่ไม่มีแอทริบิวต์อื่นเป็นเซตย่อย มาร่วมกันเพื่อให้เกิดเป็นเอกลักษณ์ในตารางนั้นๆ

Primary key และ Relationship sets Candidate Key ที่ถูกเลือกให้เป็นตัวที่ใช้ในการระบุ Entity Relationship sets เป็น set ที่เกิดจากการ union กันระหว่าง primary key ของ entity ที่มี ความสัมพันธ์กัน รวมถึง attribute เพิ่มเติมถ้ามี primary_key(E1) U primary_key(E2) U … U {a1, a2,.., aN}

Example : Relationship sets Entity set : บุคคล รหัสบัตรประชาชน ชื่อ นามสกุล ที่อยู่ 315455487821 ไก่ ตัวอ้วน กรุงเทพ 358974568120 ไข่ เป็ดน้อย ราชบุรี 345789651782 คน ไม่มี ขอนแก่น เจ้าของ รหัสบัตรประชาชน เลขที่บัญชี 315455487821 57890 11247 358974568120 98652 345789651782 74603 Entity set : บัญชีธนาคาร เลขที่บัญชี ชื่อธนาคาร สาขาธนาคาร จำนวนเงิน 57890 กรุงเทพ มจพ 1500.00 11247 กรุงไทย บางกรวย 53100.50 98652 รัตนาธิเบศร์ 20000.00 74603 กสิกรไทย West Gate 95000.00

Exercise 1 กำหนด จงหา Candidate keys ของ Entity บุคคลและ Entity รถ Entity ของ บุคคล มี attribute คือ รหัสบัตรประชาชน (id) ชื่อ (fname) นามสกุล (lname) ที่อยู่ (address) เบอร์โทรศัพท์มือถือ (mobile) Entity ของ รถ มี attribute คือ ทะเบียนรถ (lnumber) ทะเบียนตัวถังรถ (cnumber) ยี่ห้อรถ (brand) สีรถ (color) จงหา Candidate keys ของ Entity บุคคลและ Entity รถ จงหา Relationship set ระหว่างบุคคลและรถ พร้อมทั้งมีข้อมูลจำนวนปีที่เป็นเจ้าของรถ

Strong Entity และ Weak Entity Weak entity sets คือ entity sets ที่ไม่มี attribute เพียงพอในการสร้าง primary key Strong Entity sets คือ entity sets ที่มี primary ตัวอย่าง : Entity อาคารเรียนใน มจพ มี attribute คือ รหัสตึกเรียน คณะ ที่ตั้ง Entity ห้องเรียนใน มจพ มี attribute คือ หมายเลขห้อง จำนวนโต๊ะเรียน ชั้นที่ตั้ง ทั้ง 2 Entity ข้างบน เป็น Strong entity หรือ Weak entity ถ้าเป็น Strong entity จะระบุ primary key

E-R diagram (Chen’s Notation) [1] Strong entity Attribute Weak entity Multivalued Attribute Derived Attribute Relationship Link

E-R diagram (Chen’s Notation) [2] One-to-one One-to-many Many-to-one Many-to-many

ตัวอย่างที่ 1 (1) Entity ของ บุคคล (Person) ที่มี attributes คือ รหัสบัตรประชาชน (id) ชื่อ (fname) นามสกุล (lname) ที่อยู่ (address) เบอร์โทรศัพท์มือถือ (mobile) สามารถเขียน Database schema ได้ : Person(id, fname, lname, address, mobile) fname lname id Person address mobile

ตัวอย่างที่ 1 (2) Entity ของ รถ (Car) ที่มี attributes คือ ทะเบียนรถ (lnumber) ทะเบียนตัวถังรถ (cnumber) ยี่ห้อรถ (brand) สีรถ (color) สามารถเขียน Database schema ได้ : Car(lnumber, cnumber, brand, color) lnumber cnumber Car brand color

ตัวอย่างที่ 1 (3) Person Car Own N 1 lname fname id mobile color address mobile Car cnumber lnumber brand color Own 1 N

ตัวอย่างที่ 1: การสร้างตาราง Strong Entity แต่ละ Strong Entity จะเป็น 1 ตาราง ความสัมพันธ์ระหว่าง Strong Entity จะนำ primary key มาใช้ในการสร้างตาราง Person lname fname id address mobile Car cnumber lnumber brand color Own 1 N Person Car id fname lname address mobile lnumber cnumber brand color Own id lnumber Person(id, fname, lname, address, mobile) Car(lnumber, cnumber, brand, color) Own(id, lnumber)

ตัวอย่างที่ 2 (1) Entity อาคารเรียนใน มจพ มี attribute คือ รหัสตึกเรียน คณะ ที่ตั้ง Entity ห้องเรียนใน มจพ มี attribute คือ หมายเลขห้อง จำนวนโต๊ะเรียน ชั้นที่ตั้ง รหัสตึกเรียน คณะ ที่ตั้ง อาคารเรียน หมายเลขห้อง จำนวนโต๊ะเรียน ชั้นที่ตั้ง ห้องเรียน

ตัวอย่างที่ 2 (2) 1 อาคารเรียน ห้องเรียน รหัสตึกเรียน คณะ ที่ตั้ง หมายเลขห้อง จำนวนโต๊ะเรียน ชั้นที่ตั้ง อาคารห้อง N ห้องเรียน

ตัวอย่างที่ 2: การสร้างตาราง Weak Entity จะใช้ primary key ของ Strong Entity เป็น key ร่วม Weak Relationship ไม่ต้องสร้างตาราง อาคารเรียน คณะ รหัสตึกเรียน ที่ตั้ง ห้องเรียน จำนวนโต๊ะเรียน หมายเลขห้อง ชั้นที่ตั้ง อาคารห้อง 1 N อาคารเรียน ห้องเรียน รหัสตึกเรียน คณะ ที่ตั้ง รหัสตึกเรียน หมายเลขห้อง จำนวนโต๊ะเรียน ชั้นที่ตั้ง อาคารเรียน (รหัสตึกเรียน, คณะ, ที่ตั้ง) ห้องเรียน(รหัสตึกเรียน, หมายเลขห้อง, จำนวนโต๊ะเรียน, ชั้นที่ตั้ง)

การเขียน database schema ให้ดีขึ้น จากกฎปกติ 1 entity = 1 ตาราง 1 strong relation = 1 ตาราง แต่ถ้าเป็นความสัมพันธ์แบบ one-to-many สามารถลดรูปแบบของ database schema ได้ ตัวอย่างเช่น รถแต่ละคันจะมีเจ้าของแค่คนเดียวเท่านั้น จึงจะประหยัดพื้นที่ฐานข้อมูลมากกว่า ถ้านำ primary key ของ Person (id) ไปเก็บไว้ยังแต่ละ record ของ Car เลย โดยไม่ต้องมีตาราง Own Person(id, fname, lname, address, mobile) Car(lnumber, cnumber, brand, color, Person.id) Person lname fname id address mobile Car cnumber lnumber brand color Own 1 N

งานครั้งที่ 7 แบ่งกลุ่มละ 5 คน ช่วยกันออกแบบ ฐานข้อมูลให้กับ Webboard KakKak ให้คำนึงถึง ผู้ใช้มี 2 สิทธิ คือ member และ admin กระทู้มี 2 หมวดหมู่ คือ เรื่องทั่วไป และเรื่องเรียน กระทู้ควรจะเก็บข้อมูลของคนสร้าง ชื่อกระทู้ เนื้อหากระทู้ วันที่ที่สร้าง ภายในแต่ละกระทู้ สามารถมีผู้ใช้อื่นมาตอบต่อกันไปได้เรื่อยๆ

งานหาเวลาว่างทำ (1) post.php

งานหาเวลาว่างทำ (2) newpost.php