โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 3 แบบจำลองข้อมูล Data Models Algebra
Advertisements

ฐานข้อมูลเชิงสัมพันธ์
Chapter3 : Data Model Class on 23 and 24 Nov 10
การสร้างเว็บเพจด้วยภาษา Html
การเขียนโครงร่างวิจัย
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
การใช้งานโปรแกรม SPSS
ระบบฐานข้อมูล ใน Microsoft Access
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
ผู้วิจัย : นางธนิตา ขาวทอง วิทยาลัยอาชีวศึกษาบริหารธุรกิจวิทยา สงขลา
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
LOGO การคำนวณต้นทุนผลผลิต ของปีงบประมาณ 2553 โดย นายธีรชาติ พันธุ์หอม หัวหน้าฝ่ายแผนงานและ งบประมาณด้านก่อสร้าง คณะทำงานต้นทุนผลผลิตสำนัก ชลประทานที่ 11.
การใช้งาน Microsoft Excel
ตัวแปร และชนิด ข้อมูล. ตัวแปร การกำหนดตัวแปรเป็นการใช้ ชื่อตัวแปรแทน ตำแหน่งบนหน่วยความจำ สำหรับเก็บ ข้อมูลระหว่างการ ประมวลผล ซึ่งอาจเป็นข้อมูลนำเข้า.
วิธีการใ ช้ โปรแกรมคำนวณคะแนน กลุ่มเกษตรกรดีเด่น กองพัฒนาสหกรณ์ด้าน การเงินและร้านค้า กรมส่งเสริม สหกรณ์
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
อาจารย์อภิพงศ์ ปิงยศ Lab 05 : Microsoft Excel (Part3) พท 260 เทคโนโลยีสารสนเทศและการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์ ปิงยศ.
SQL Structured Query Language.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part3.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การทำ Normalization 14/11/61.
Relational Algebra & Relational Calculus
โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ
Number system (Review)
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
อาจารย์อภิพงศ์ ปิงยศ บทที่ 2 : แบบจำลองเครือข่าย (Network Models) part1 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
มาตรฐานระบบการบริหารงานคุณภาพ
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การจัดการระบบฐานข้อมูล ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
แผนที่และเครื่องมือทางภูมิศาสตร์
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part3.
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
BC320 Introduction to Computer Programming
ระดับความเสี่ยง (QQR)
Multistage Cluster Sampling
โครงสร้างภาษา C Arduino
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
การศึกษาประเภทเสียงและความหมายของคำในกลุ่มภาษาต่างประเทศ
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
คำสั่ง Create , Insert, Delete, Update
The Collections Framework
การประเมินผลการปฏิบัติงาน
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
บริษัท พัฒนาวิชาการ (2535) จำกัด
อาจารย์อภิพงศ์ ปิงยศ Lab 06 : Microsoft Excel (Part2) ทท101 เทคโนโลยีสารสนเทศและนวัตกรรมการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์
บทที่7 ทฤษฎีกราฟเบื้องต้น
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
การวัดพฤติกรรมทางด้านทักษะพิสัย
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
การวิจัยทางการท่องเที่ยว
บทสรุป ความหมายของ Query ความหมายของ Query
Introduction to Database System
ฐานข้อมูลเชิงสัมพันธ์
Chapter 3 : Array.
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
ตัวแบบข้อมูล (Data Modeling)
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
การเติบโตของฟังก์ชัน (Growth of Functions)
Database Design & Development
การวิเคราะห์สถานะคงตัวของ วงจรที่ใช้คลื่นรูปไซน์
ใบสำเนางานนำเสนอ:

โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ บทที่ 6 การจัดการกับข้อมูล (Data Manipulation) Part1 – Relational Algebra โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ

Overview พีชคณิตเชิงสัมพันธ์ (Relational Algebra) Traditional Set Operation คือ Union, Intersection, Difference, และ Cartesian Product Special Relational Operation คือ Select, Project, Join และ Divide คำสั่งเพิ่มเติมใน Relational Algebra คือ Rename, Extend, Summarize, Insert, Update และ Delete

Relational Algebra คือ ทฤษฎีทางภาษาสำหรับปฏิบัติการระหว่าง ข้อมูลต่าง ๆ ในรีเลชั่น หนึ่งหรือหลายๆ รีเลชั่น โดยผลของการปฏิบัติการจะไม่ส่งผลต่อ รีเลชั่นหลัก พีชคณิตเชิงสัมพันธ์ (Relational Algebra) เป็นภาษาในรูปแบบของ Procedural Query Language ด้วยการพิจารณาว่าจะทำอย่างไร เพื่อให้ได้มาซึ่งผลลัพธ์ของข้อมูลตามที่ ต้องการ

Traditional Set Operation เป็นการกระทำที่เกิดกับรีเลชั่นตามทฤษฎีของเซต โดยรีเลชั่นที่นำมากระทำในกลุ่มนี้จะต้องมี จำนวน Attrbute ที่เท่ากัน และมีโดเมน เดียวกัน รูปแบบการสร้างประโยคภาษาใน Relational Algebra จะมี Operation พื้นฐานที่เกี่ยวกับเซต อยู่ 4 Operation คือ Cartesian product Union Intersection Difference

Relational Algebra Operations

Relational Algebra Operations

Cartesian product R X S หรือ R TIMES S เป็นการรวมความสัมพันธ์โดยเป็นผลคูณ Cartesian ระหว่าง 2 relations จะได้จำนวน tuple ของ R ซึ่งทำการ join กับ ทุก ๆ tuple ใน S R และ S ไม่จำเป็นต้อง union กันก็ได้

Example 1 - Cartesian product

Example 2 - Cartesian product List the names and comments of all clients who have viewed a property for rent. (clientNo, clientName(CLIENT)) × (clientNo, propertyNo, comment (VIEWING)) ×

Result - Cartesian product

Union R  S หรือ R UNION S เป็นการเชื่อมความสัมพันธ์ด้วยการนำรีเลชัน R และ S มา union กัน จะได้จำนวน tuple ทั้งหมดใน R และ S รวมกัน Tuple ที่ซ้ำกันจะถูกขจัดออกไป

Example - Union

Intersection R  S หรือ R INTERSECT S จะได้กลุ่ม tuple ที่อยู่ทั้งใน R และ S

Example - Intersection

Difference R – S หรือ R MINUS S เป็นการหาความแตกต่างระหว่างสองความสัมพันธ์ จะได้ tuple ที่อยู่ใน R แต่ไม่อยู่ใน S

Example - Difference

Special Relational Operation รีเลชั่นที่นำมากระทำในกลุ่มนี้ไม่จำเป็นต้องมี จำนวน Attribute ที่เท่ากัน แต่ Attribute ที่ จะนำมากระทำกันจะต้องมีชื่อและโดเมนที่ เหมือนกัน ตัวดำเนินการที่เกี่ยวกับรีเลชันก็จะมีอยู่ 4 operation คือ Select หรือ Restrict Project Join Divide

Select (or Restrict) predicate (R) รูปแบบของการใช้ตัวดำเนินการคือ เป็นการเลือก Tuple ที่เป็นซับเซตในรีเลชั่น เป็นการดำเนินการที่ใช้ในรีเลชั่นเดียว รูปแบบของการใช้ตัวดำเนินการคือ predicate (R) R คือรีเลชั่นที่ทำการ selection Predicate คือ เงื่อนไขที่กำหนดขึ้น หรือ (R) WHERE predicate

Example - Select (or Restrict) R WHERE Age = 20 R WHERE Sex = 20 AND Age>19

Project col1, . . . , coln(R) หรือใช้รูปแบบ R[attrib1, …, attribn] เป็นการสร้างรีเลชั่นใหม่โดยการเลือก ซับเซตของ Attribute ในรีเลชั่น โดย จะมีค่าของ Tuple ที่ไม่ซ้ำกัน col1, . . . , coln(R) เป็นการเลือกเฉพาะคอลัมน์หรือ แอตตริบิวต์ที่ต้องการ col1…coln คือ คอลัมน์หรือแอตตริ บิวต์ที่เลือก R คือ รีเลชั่น หรือใช้รูปแบบ R[attrib1, …, attribn]

Example - Project

Join เป็นการรวม 2 รีเลชั่นไปเก็บไว้ในรีเลชั่นใหม่ ซึ่งทั้ง 2 รีเลชั่นจะต้องมี Attribute ที่มีชื่อและ โดเมนที่เหมือนกัน เป็น operation ที่ถือกำเนิดมาจากผลคูณ Cartesian

Join [cont.] R ►◄F S หรือ R JOIN S เป็นการหา tuple ที่เกิดจากผลคูณ Cartesian ของรีเล ชัน R และ S ตามเงื่อนไขที่กำหนด F คือ เงื่อนไขที่กำหนดขึ้น โดยเงื่อนไขสามารถใช้ตัวดำเนินการในการเปรียบเทียบ (<, , >, , =, )

Example - Join Relation: S Relation: P S# SNAME STATUS CITY S1 ก.การช่าง 20 สมุทรปราการ S2 ส.ซัพพลาย 10 สุพรรณบุรี S3 แมชชีน 30 S4 เอส.พี. Relation: S P# PNAME COLOR WEIGHT CITY P1 เหล็กฉาก แดง 12 สมุทรปราการ P2 ปูนซีเมนต์ เขียว 17 สุพรรณบุรี P4 ตะปู 14 P5 กระเบื้อง น้ำเงิน P6 เหล็กเส้น 19 Relation: P

Example – Join (Result) SNAME STATUS CITY P# PNAME COLOR WEIGHT S1 ก.การช่าง 20 สมุทรปราการ P1 เหล็กฉาก แดง 12 P4 ตะปู 14 P6 เหล็กเส้น 19 S2 ส.ซัพพลาย 10 สุพรรณบุรี P2 ปูนซีเมนต์ เขียว 17 P5 กระเบื้อง น้ำเงิน S3 แมชชีน 30 S4 เอส.พี

Divide R  S หรือ R DIVIDEBY S เป็นโอเปอเรชั่นที่นำรีเลชั่นสองรีเลชั่นมาแบ่งหรือหารกัน เป็นการค้นหากลุ่มของ tuple ที่มีค่าแอตตริบิวท์เหมือนกับ แอตตริบิวท์ของทุก ๆ tuple ในอีกกลุ่มหนึ่ง มีกฎว่า รีเลชั่นที่เป็นตัวหาร ต้องเป็นสับเซตของรีเลชั่นที่ เป็นตัวตั้ง สมมุติว่ารีเลชั่น R มีดีกรีเป็น (n+m) หากหารด้วยรีเลชั่น S ที่มีดีกรีเท่ากับ m ผลลัพธ์ที่ได้คือรีเลชั่นที่มีดีกรีเท่ากับ n

Divide [cont.] การดำเนินการคือ ทุก Tuple ในรีเลชั่น R ที่มีค่าตรงกับทุก Tuple ในรีเลชั่น S แต่ในการแสดงผลจะแสดงเฉพาะแอตตริบิวต์ที่ ปรากฏใน R แต่ไม่ปรากฏใน S ดังตัวอย่าง V ÷ W

Example - Divide R3

คำสั่งเพิ่มเติมใน Relational Algebra RENAME EXTEND SUMMARIZE INSERT UPDATE DELETE

Rename เป็นคำสั่งสำหรับเปลี่ยนชื่อของ Attribute รูปแบบคือ R RENAME old-attribute AS new-attribute โดยที่ R คือ Relation ที่เป็นเจ้าของ Attribute old-attribute คือชื่อเดิมของ Attribute new-attribute คือชื่อใหม่ของ Attribute เช่น S RENAME CITY AS SCITY

EXTEND เป็นคำสั่งที่ใช้เพิ่ม Attribute ใหม่ให้กับรีเลชั่น มีรูปแบบคือ EXTEND R ADD value AS attribute โดยที่ R คือ รีเลชั่นที่ต้องการเพิ่ม Attribute value คือ ค่าที่กำหนดให้กับทุกๆ Tuple ใน Attribute ใหม่ attribute คือ ชื่อของ Asttribute ใหม่ที่เพิ่มเข้าไป เช่น EXTEND S ADD “Supplier” AS TAG

Summarize เป็นคำสั่งที่ใช้สำหรับหาค่าของ Attribute ใด Attribute หนึ่ง ด้วยฟังก์ชันใดๆ รูปแบบคือ SUMMARIZE R By (a1, a2, …, an) ADD fn AS z โดยที่ R คือชื่อของ Relation ที่จะ Summarize ai คือ ชื่อของ Attribute ที่จะใช้ Summarize fn คือ ฟังก์ชันที่จะนำมาใช้ เช่น SUM, COUNT หรือ AVG z คือ ชื่อของ Attribute ที่ใช้เก็บผลลัพธ์ที่ได้จากการ Summarize เช่น SUMMARIZE SP BY () ADD SUM (QTY) AS GRANTOTAL

INSERT เป็นคำสั่งที่ใช้เพิ่ม Tuple ทุก Tuple จาก Relation หนึ่ง ให้กับอีก Relation หนึ่ง รูปแบบคือ INSERT source INTO target โดยที่ source คือ ชื่อ Relation ต้นทาง target คือ Relation ที่รับค่าจาก source เช่น INSERT (S WHERE CITY = “สมุทรปราการ”) INTO TEMP

UPDATE เป็นคำสั่งที่ใช้สำหรับเปลี่ยนแปลงค่าของ Attribute ใด Attribute หนึ่งใน Relation รูปแบบคือ UPDATE target assignment-value โดยที่ target คือ ชื่อ Relation ที่ต้องการเปลี่ยนค่า assignment-value คือ เงื่อนไขในการเปลี่ยนค่าให้กับ Attribute เช่น UPDATE S WHERE COLOR = “แดง” CITY := “สุพรรณบุรี”

DELETE เป็นคำสั่งใช้สำหรับลบ Tuple ออกจาก Relation มีรูปแบบคือ DELETE target โดยที่ target คือเงื่อนไขในการลบ เช่น DELETE S WHERE STATUS<20