บทที่ 4 รูปแบบฐานข้อมูลเชิงสัมพันธ์ The Relational model

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
System Requirement Collection (2)
Advertisements

Chapter3 : Data Model Class on 23 and 24 Nov 10
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
เป็นหลักสำคัญในการนำเสนอเนื้อหา ของบทเรียนคอมพิวเตอร์ช่วยสอนก็คือ ควร นำเสนอภาพที่เกี่ยวข้องกับเนื้อหา ประกอบ กับคำอธิบายสั้นๆ ง่ายๆ แต่ได้ใจความ การใช้ภาพประกอบจะทำให้ผู้เรียน.
คอมพิวเตอร์ช่วยสอน (CAI)
การใช้งานโปรแกรม SPSS
Entity-Relationship Model E-R Model
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
หลักการออกแบบฐานข้อมูล
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
Database Management System
พยาบาลวิชาชีพชำนาญการพิเศษ
หน่วยที่ 6 แถวลำดับ (Array)
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
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) เพื่อต้องการกำหนด โครงสร้างด้วยตนเอง โดยมีขั้นตอนการ.
กลุ่มวัยผู้สูงอายุ
โครงงานจิตอาสา เรื่อง … เล่านิทานให้น้องฟัง จัดทำโดย กลุ่มจิตอาสา ชั้นมัธยมศึกษาปีที่ ๖ / ๓.
วาระที่ สรุปผลการปฏิบัติงาน ณ วันที่ 30 มิถุนายน 2559
การสร้างแผนปฏิบัติการระดับตำบลหรือท้องถิ่น
SQL Structured Query Language.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part3.
บทที่ 2 นอร์มัลไลเซชัน normalization
การทำ Normalization 14/11/61.
โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ
บทที่ 4 โครงสร้างฐานข้อมูลแบบ Relational (Relational Database Model)
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
บทที่ 11 การเขียนแผนผังข้อมูลแบบสัมพัทธ์.
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การจัดการระบบฐานข้อมูล ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
ห้องแลปการคิดสร้างสรรค์
Chapter 4 : ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
บทที่ 5 การควบคุมความถูกต้องให้กับข้อมูล (Data Integrity)
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part3.
บทที่ 3 แบบจำลองข้อมูล Data Models
ระดับความเสี่ยง (QQR)
เซต (SET) ประวัติย่อของวิชาเซต ความหมายของเซต การเขียนแทนเซต
เรื่อง ความพึงพอใจต่อการให้บริการห้องสมุด
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
คำสั่ง Create , Insert, Delete, Update
กรณีศึกษา : นักเรียน ระดับ ปวช.2 สาขาวิชาการบัญชี
การจัดการข้อมูล ดร. นพ. วรสิทธิ์ ศรศรีวิชัย
แนวทางการบริหารการจัดเก็บ ข้อมูลเพื่อการพัฒนาชุมชน ปี 2561
บทที่ 3 ซอฟต์แวร์ประยุกต์
CIT2205 โปรแกรมประยุกต์ด้านการจัดการฐานข้อมูล
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
การประชุมเชิงปฏิบัติการพัฒนาศักยภาพบุคลากรทางการศึกษาด้านการสอบด้วยคอมพิวเตอร์ (Computer-based Assessment) การรู้เรื่องการอ่าน ด้านคณิตศาสตร์และด้านวิทยาศาสตร์
หน่วยที่ 3 การประมวลผลข้อมูลให้เป็นสารสนเทศ
Application of Software Package in Office
SMS News Distribute Service
บทที่ 1 การวางแผนการปฏิบัติงานสำหรับงานขนส่ง
สร้างภูมิคุ้มกัน (แสงหิ่งห้อย)
ทำความรู้จักและใช้งาน
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
สถาปัตยกรรมของฐานข้อมูล
โครงการพัฒนารูปแบบการดำเนินงานป้องกันควบคุม โรคไม่ติดต่อเรื้อรัง โดยใช้ชุมชนเป็นฐาน : ชุมชนลดเสี่ยง ลดโรคไม่ติดต่อเรื้อรัง.
Introduction to Database System
ฐานข้อมูลเชิงสัมพันธ์
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
ตัวแบบข้อมูล (Data Modeling)
Chapter 7 : ขั้นตอนการแปลงแผนภาพ ER มาเป็นรีเลชั่น ( ER-to-Relational Mapping Algorithm ) อ.คเชนทร์ ซ่อนกลิ่น.
มหาวิทยาลัยราชภัฏสวนสุนันทา
Database Design & Development
Class Diagram.
ใบสำเนางานนำเสนอ:

บทที่ 4 รูปแบบฐานข้อมูลเชิงสัมพันธ์ The Relational model

The Relational Model คิดค้นโดย Dr. Edgar Frank Codd (E.F. Codd) รู้จักกันดีในบทความที่ชื่อ “A Relational Model of Data for Large Shared Data Banks” ในปี ค.ศ. 1970 เป็นรูปแบบฐานข้อมูลที่เข้าใจง่าย มีพื้นฐานมาจากทฤษฎีทางคณิตศาสตร์(ทฤษฎี Set) มีวัตถุประสงค์หลักเพื่อรักษาความอิสระของข้อมูล(Data Independence) มีระบบจัดการฐานข้อมูลเชิงสัมพันธ์(Relational Database Management System : RDBMS) ที่สนับสนุนมากมาย เช่น DB2 , Oracle , Informix , MS SQL Server , MySQL , Ingres , MS Access ฯลฯ มีภาษา SQL สำหรับจัดการข้อมูล

รีเลชัน(Relation) หมายถึง ตารางข้อมูล(Table) 2 มิติ ที่ประกอบด้วยแอททริบิวต์(Attribute) หรือ คอลัมน์(Column) และ ทูเพิล(Tuple) หรือ แถว(Row) รีเลชัน เป็นตารางข้อมูลหลัก(Base Relation) ที่มีข้อมูลจัดเก็บไว้จริง ใช้คำสั่ง Create Table ของภาษา SQL ในการสร้างรีเลชันในฐานข้อมูล

แอททริบิวต์(Attribute) หมายถึง คอลัมน์หนึ่ง ๆ ในรีเลชันใด ๆ เป็นรายละเอียดข้อมูลที่จัดเก็บในรีเลชัน ตัวอย่างเช่น รีเลชัน “นักศึกษา” ประกอบด้วย แอททริบิวต์ รหัสนักศึกษา , ชื่อ , นามสกุล , ที่อยู่ เป็นต้น จำนวนแอททริบิวต์ในรีเลชันหนึ่ง ๆ เรียกว่า ดีกรี(Degree) เช่น รีเลชัน นักศึกษา มีดีกรี เท่ากับ 4

ทูเพิล(Tuple) หมายถึง ข้อมูลในแต่ละแถวของรีเลชัน ข้อมูลในแต่ละแถวของรีเลชัน อาจมีการเปลี่ยนแปลง เนื่องจากการ ลบ เพิ่มหรือ ปรับปรุงข้อมูล จำนวนทูเพิลในรีเลชันหนึ่ง ๆ เรียกว่า คาร์ดินัลลิตี้(Cardinality)

Relation name Attribute Cardinality Tuple Degree Student Std_ID Std_Fname Std_Lname Std_Address Std_Major Std_GPA Fac_ID 1234567801 Bob Norbert USA IT 3.00 Sc 1234567821 Wiliam Pilgrim AUS CS 2.50 1234567822 Luke Brazzi PHY 3.50 1234567840 Homer Wells 2345678910 Candy Kendall NZ FIN 2.75 Msc 2345678920 Roberto Morales 3.25 2345789015 Tess Dodge CAN ECON 3.75 4567890122 Joe Estrada Art En 4567890133 Cristopher Colan MUS 5678901235 Wally GSc Ed 5678901240 Mariah Gsc Cardinality Tuple Degree

โดเมน(Domain) ประกอบด้วย ค่าหรือเซตของข้อมูลที่แอททริบิวต์หนึ่งควรจะเป็น ค่าของข้อมูล มีความหมายครอบคลุมถึง ประเภทและขนาดของข้อมูล รวมถึง ขอบเขตค่าของข้อมูลที่แอททริบิวต์นั้น ๆ ควรจะเป็น เพื่อรักษาความคงสภาพ ของข้อมูล(Data Integrity)

โดเมน(Domain) Domain EmpID Name Sex Age Salary DeptID ตัวอย่างเช่น แอททริบิวต์ เพศ มีการกำหนดโดเมนให้เก็บค่าของข้อมูลเป็น ตัวอักษร มีขอบเขตค่าของข้อมูลเป็น F หรือ M Domain M,F EmpID Name Sex Age Salary DeptID E001 Peter M 24 55,000 D01 E002 Nicole F 30 12,000 D02

โดเมน(Domain) Domain EmpID Name Sex Age Salary DeptID ตัวอย่างเช่น แอททริบิวต์ อายุ มีการกำหนดโดเมนให้เก็บค่าของข้อมูลเป็นเลข จำนวนเต็ม มีขอบเขตค่าของข้อมูลไม่ต่ำกว่า 18 ปี >= 18 Domain EmpID Name Sex Age Salary DeptID E001 Peter M 24 55,000 D01 E002 Nicole F 30 12,000 D02

โดเมน(Domain) Domain EmpID Name Sex Age Salary DeptID ตัวอย่างเช่น แอททริบิวต์ เงินเดือน มีการกำหนดโดเมนให้เก็บค่าของข้อมูลเป็น ตัวเลข มีขอบเขตค่าของข้อมูลมากกว่า 0 > 0 Domain EmpID Name Sex Age Salary DeptID E001 Peter M 24 55,000 D01 E002 Nicole F 30 12,000 D02

คุณสมบัติของรีเลชัน มีชื่อรีเลชันไม่ซ้ำกัน ในแต่ละเซลล์(cell)ของรีชัน บรรจุข้อมูลได้ 1 ค่าเท่านั้น ในรีเลชันเดียวกันจะต้องไม่มีแอททริบิวต์ที่ชื่อซ้ำกัน ค่าข้อมูลที่อยู่ในแอททริบิวต์เดียวกันต้องอยู่ในขอบเขตโดเมน เดียวกัน ห้ามมีทูเพิลซ้ำกันในรีเลชันเดียวกัน การเรียงลำดับแอททริบิวท์ในรีเลชันไม่ถือเป็นสำคัญ การเรียงลำดับทูเพิลในรีเลชันไม่ถือเป็นสำคัญ

การสร้างรีเลชัน CREATE TABLE Student ( Std_ID CHAR(11), Std_FName VARCHAR(20), Std_LName VARCHAR(30), Std_Address VARCHAR(50), Std_Major VARCHAR(15), Std_GPA DECIMAL(3,2), Fac_ID CHAR(5) );

ตัวอย่าง Relation 100 Jerry Johnson Accounting JJ@somewhere.com EmployeeNumber FirstName LastName Department Email Phone 100 Jerry Johnson Accounting JJ@somewhere.com 236-9987 200 Mary Abernathy Finance MA@somewhere.com 444-8898 300 Liz Smarthers LS@somewhere.com 777-0098 400 Tom Caruthers TC@somewhere.com 500 Jackson Production TJ@somewhere.com 444-9980 600 Eleanore Caldera Legal EC@somewhere.com 767-09000 700 Richard Bandalone RB@somewhere.com 767-0900

ตัวอย่าง Table แต่ไม่ใช่ Relation EmployeeNumber FirstName LastName Department Email Phone 100 Jerry Johnson Accounting JJ@somewhere.com 236-9987 200 Mary Abernathy Finance MA@somewhere.com 444-8898 300 Liz Smarthers LS@somewhere.com 777-0098 400 Tom Caruthers TC@somewhere.com 236-9987 , 266-9987 , 555-7171 500 Jackson Production TJ@somewhere.com 444-9980 600 Eleanore Caldera Legal EC@somewhere.com 767-09000 700 Richard Bandalone RB@somewhere.com 767-0900 , 767-0011

ตัวอย่าง Table แต่ไม่ใช่ Relation EmployeeNumber FirstName LastName Department Email Phone 100 Jerry Johnson Accounting JJ@somewhere.com 236-9987 200 Mary Abernathy Finance MA@somewhere.com 444-8898 300 Liz Smarthers LS@somewhere.com 777-0098 400 Tom Caruthers TC@somewhere.com Fax : 266-9987 Home : 555-7171 500 Jackson Production TJ@somewhere.com 444-9980 600 Eleanore Caldera Legal EC@somewhere.com 767-09000 700 Richard Bandalone RB@somewhere.com 767-0900

ประเภทของคีย์ (Keys) Candidate Key Primary Key Composite Key Alternate key Foreign Key

Candidate Key หมายถึง แอททริบิวต์ หรือ กลุ่มของแอททริบิวต์ ที่มีค่าไม่ซ้ำและสามารถระบุทู เพิลในรีเลชันได้ 1 รายการ เช่น รหัสพนักงาน , ชื่อและนามสกุล

Candidate Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน โปรแกรมวิชา 4804234207 สมศักดิ์ รักการดี 3120100755991 คณิตศาสตร์ 4804234208 วาสนา เรียนนา 3110211212005 4804234210 นฤทัย 3141901485662 4804234211 เรียบร้อย 3120233125447 วิทยาการคอมพิวเตอร์ 4804234215 จงจิต อินทชัย 3155002551549 4804234219 ปิยะพร สอนชัยดี 3112251445345 4804234222 ผ่องแผ้ว 3122234567657 บัญชี 4804234225 กัลยา นาคสมภพ 3122343231156

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

Primary Key Primary Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน โปรแกรมวิชา 4804234207 สมศักดิ์ รักการดี 3120100755991 คณิตศาสตร์ 4804234208 วาสนา เรียนนา 3110211212005 4804234210 นฤทัย 3141901485662 4804234211 เรียบร้อย 3120233125447 วิทยาการคอมพิวเตอร์ 4804234215 จงจิต อินทชัย 3155002551549 4804234219 ปิยะพร สอนชัยดี 3112251445345 4804234222 ผ่องแผ้ว 3122234567657 บัญชี 4804234225 กัลยา นาคสมภพ 3122343231156 Primary Key

Composite Key หมายถึง คีย์ต่าง ๆ ที่ประกอบขึ้นจากแอททริบิวต์มากกว่า 1 แอททริบิวต์

Composite Key Composite Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน โปรแกรมวิชา 4804234207 สมศักดิ์ รักการดี 3120100755991 คณิตศาสตร์ 4804234208 วาสนา เรียนนา 3110211212005 4804234210 นฤทัย 3141901485662 4804234211 เรียบร้อย 3120233125447 วิทยาการคอมพิวเตอร์ 4804234215 จงจิต อินทชัย 3155002551549 4804234219 ปิยะพร สอนชัยดี 3112251445345 4804234222 ผ่องแผ้ว 3122234567657 บัญชี 4804234225 กัลยา นาคสมภพ 3122343231156 Composite Key

Alternate Key หมายถึง คีย์คู่แข่ง(Candidate key) ที่ไม่ได้ถูกเลือกให้เป็นคีย์หลัก(Primary Key)

Alternate Key Primary Key Alternate Key รหัสนักศึกษา ชื่อ นามสกุล บัตรประชาชน โปรแกรมวิชา 4804234207 สมศักดิ์ รักการดี 3120100755991 คณิตศาสตร์ 4804234208 วาสนา เรียนนา 3110211212005 4804234210 นฤทัย 3141901485662 4804234211 เรียบร้อย 3120233125447 วิทยาการคอมพิวเตอร์ 4804234215 จงจิต อินทชัย 3155002551549 4804234219 ปิยะพร สอนชัยดี 3112251445345 4804234222 ผ่องแผ้ว 3122234567657 บัญชี 4804234225 กัลยา นาคสมภพ 3122343231156 Primary Key Alternate Key

Foreign Key หมายถึง แอททริบิวต์ในรีเลชันที่ใช้ในการเชื่อมโยงกับรีเลชันอื่น ๆ โดยแอททริบิวต์ที่เป็น Foreign key ใน child relation จะเชื่อมโยงไปยัง แอทท ริบิวต์ที่เป็น Primary key ใน Parent relation

Foreign Key Parent relation Child relation Primary key Foreign key Faculty Fac_ID Fac_Name Phone Sc Science 201 Msc Management Science 145 En Engineering 512 Ed Education 301 Foreign key Student Std_ID Std_Fname Std_Lname Std_Address Std_Major Std_GPA Fac_ID 1234567801 Bob Norbert USA IT 3.00 Sc 1234567821 Wiliam Pilgrim AUS CS 2.50 1234567822 Luke Brazzi PHY 3.50 1234567840 Homer Wells 2345678910 Candy Kendall NZ FIN 2.75 Msc 2345678920 Roberto Morales 3.25 2345789015 Tess Dodge CAN ECON 3.75 4567890122 Joe Estrada Art En 4567890133 Cristopher Colan MUS 5678901235 Wally GSc Ed 5678901240 Mariah Gsc Parent relation Child relation

คุณสมบัติของกุญแจนอก(Foreign Key) 1. สามารถกำหนดจากแอททริบิวท์เดียวหรือมากกว่า 2. ค่าของ FK ใน รีเลชัน หนึ่งจะต้องปรากฏใน กุญแจคู่แข่ง ของอีก รีเลชัน หนึ่งที่สัมพันธ์กัน แต่ในแง่กลับกัน ทุกค่าของ FK ใน รีเล ชัน หนึ่ง ไม่จำเป็นที่จะต้องปรากฎอยู่ใน FK ของอีก รีเลชัน หนึ่งที่สัมพันธ์กัน 3. จำนวนของ แอททริบิวท์ ที่มาประกอบเป็น FK ขึ้นอยู่กับจำนวน ของ แอททริบิวท์ ที่กำหนดเป็น CK ของ รีเลชัน ที่มี ความสัมพันธ์กับ รีเลชันนั้น ที่ถูกนำมาใช้เปรียบเทียบกับค่า ของ FK

คุณสมบัติของ Foreign Key 4. Domain ของ แอททริบิวท์ ที่กำหนดเป็น FK ต้องมีค่าเช่นเดียวกัน กับ Domain ของ แอททริบิวท์ ที่เป็น CK ของ รีเลชัน ที่สัมพันธ์ กัน 5. แอททริบิวท์ ที่ทำหน้าที่เป็น FK ไม่จำเป็นต้องเป็น CK ของ รีเลชัน นั้น 6. รีเลชัน ใดที่เป็นเจ้าของ FK จะถูกเรียกว่า “Referencing Relation” ส่วน รีเลชัน ที่เป็นเจ้าของ CK ที่สัมพันธ์กับ FK นั้นจะเรียกว่า “Referenced Relation” หรือ “Target Relation”

คุณสมบัติของ Foreign Key 7. รีเลชันใดๆ สามารถเป็นได้ทั้ง Referenced Relation และ Referencing Relation 8. รีเลชันใดๆ สามารถมีความสัมพันธ์ด้วย FK กับตัวมันเองได้ (Self- Referencing) EmpID Ename Esurname EMgr E001 Peter Corp E002 E002 Nicole Terio - E003 Willy Mac E002 FK PK FK

Alternate key Foreign key Primary key Candidate key Primary key สาขา รหัสพนักงาน ชื่อ นามสกุล ตำแหน่ง เพศ วันเกิด เงินเดือน รหัสสาขา SUD21 สมชาย เข็มกลัด ผู้จัดการ ช 1 ตค. 2516 30000 B005 SNK37 แอน ทองประสม พนักงาน ญ 10 พย. 2519 12000 B007 SNK14 ศรราม เทพพิทักษ์ หัวหน้าแผนก ช 24 มีค. 2517 20000 B007 SUB09 สุวนันท์ คงยิ่ง พนักงาน ญ 19 กพ. 2521 9000 B002 SUD04 ปนัดดา วงศ์ผู้ดี ผู้จัดการ ญ 3 กค. 2518 25000 B003 SNR41 เจนจิรา เกิดประสพ พนักงาน ญ 13 มิย. 2520 9000 B004 Candidate key 43000 นครราชสีมา 88/10 ถ.ราชสีมา B004 34000 อุบลราชธานี 30 ถ.ชยางกูร B002 44000 หนองคาย 16 ถ.โพนพิสัย B007 41000 อุดรธานี 55/5 ถ.นิตโย B005 44/3 ถ.อุดรดุษฎี B003 รหัสไปรษณีย์ จังหวัด ที่อยู่ รหัสสาขา สาขา Primary key

The End