– Web Programming and Web Database

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คณิตคิดเร็วโดยใช้นิ้วมือ
Advertisements

โปรแกรมฝึกหัด การเลื่อนและคลิกเมาส์
วิธีการตั้งค่าและทดสอบ เครื่องคอมพิวเตอร์ก่อนใช้งาน
แบบรูปและความสัมพันธ์
พระบาทสมเด็จพระเจ้าอยู่หัวทรงพระราชทาน
วิชา องค์ประกอบศิลป์สำหรับคอมพิวเตอร์ รหัส
พลังงานในกระบวนการทางความร้อน : กฎข้อที่หนึ่งของอุณหพลศาสตร์
การซ้อนทับกัน และคลื่นนิ่ง
แนวทางการรายงานผลการปฏิบัติราชการโดยผ่านระบบเครือข่ายอินเตอร์เน็ต
เปรียบเทียบจำนวนประชากรทั้งหมดจากฐาน DBPop Original กับจำนวนประชากรทั้งหมดที่จังหวัดถือเป็นเป้าหมาย จำนวน (คน) 98.08% % จังหวัด.
ระบบสารสนเทศแผนงานบำรุงทาง
แนวทางการยกระดับผลสัมฤทธิ์ทางการเรียน ผลการทดสอบระดับชาติ (o – net) ปีการศึกษา 2554 โรงเรียนสรวงสุทธาวิทยา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษา เขต.
การเลื่อนเงินเดือนข้าราชการ
การสืบค้นข้อมูลจาก Web OPAC
สำเร็จการศึกษาในเวลา 4 ปี
จำนวนนับใดๆ ที่หารจำนวนนับที่กำหนดให้ได้ลงตัว เรียกว่า ตัวประกอบของจำนวนนับ จำนวนนับ สามารถเรียกอีกอย่างว่า จำนวนเต็มบวก หรือจำนวนธรรมชาติ ซึ่งเราสามารถนำจำนวนนับเหล่านี้มา.
กลุ่มสาระการเรียนรู้ คณิตศาสตร์ โรงเรียนบ้านหนองกุง อำเภอนาเชือก
การขอเบิกเงินนอกงบประมาณ
– Web Programming and Web Database
Structured Query Language (SQL) (2)
บทที่ 3 แบบจำลองข้อมูล Data Models Algebra
บทที่ 3 แบบจำลองข้อมูล Data Models Calculus
A.5 Solving Equations การแก้สมการ.
กระบวนการคิดทางคณิตศาสตร์
EC411 ทฤษฏีและนโยบายการเงิน
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
การสืบค้นข้อมูลจาก Web OPAC
จำนวนทั้งหมด ( Whole Numbers )
Kampol chanchoengpan it สถาปัตยกรรมคอมพิวเตอร์ Arithmetic and Logic Unit 1.
รายงานในระบบบัญชีแยกประเภททั่วไป (GL – General Ledger)
ระบบการเบิก-จ่าย ลูกหนี้เงินยืม
ทำการตั้งเบิกเพิ่ม แบบฟอร์ม GFMIS.ขบ.02 เพื่อชดใช้ใบสำคัญ
ฐานข้อมูลเชิงสัมพันธ์
แนวทางการปฏิบัติโครงการจูงมือ น้องน้อยบนดอยสูง 1.
PHP:Hypertext Preprocessor
ฝ สรุปผลการสำรวจ ความคิดเห็นของประชาชน / ผู้ประกอบการ
ข้อมูลเศรษฐกิจการค้า
ความก้าวหน้าระดับความสำเร็จ การปฏิบัติราชการของปฏิรูปที่ดิน จังหวัด 5 ครั้ง ณ 31 พฤษภาคม 2555.
ความก้าวหน้าระดับความสำเร็จ การปฏิบัติราชการของปฏิรูปที่ดิน จังหวัด 5 ครั้ง ณ 15 มิถุนายน 2555.
ณัฏฐวุฒิ เอี่ยมอินทร์
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
เทคนิคการสืบค้น Google
การดำเนินการทดสอบทางการศึกษาแห่งชาติ (O-NET)
Extra_08_Test_Modular_Calculator
วิชาคณิตศาสตร์ ชั้นประถมศึกษาปีที่6
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
การลงข้อมูลแผนการสอน
ภาษาอังกฤษเพื่อการสื่อสาร อ32204
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
การค้นในปริภูมิสถานะ
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
Relational Algebra. Traditional set Operator Union Intersection Difference Cartesian product.
วิธีเรียงสับเปลี่ยนและวิธีจัดหมู่
กราฟเบื้องต้น.
Introduction to SQL (MySQL) – Special Problem (Database)
โครงสร้างข้อมูลแบบ สแตก (stack)
การค้นในปริภูมิสถานะ
กราฟเบื้องต้น.
ผลการประเมิน คุณภาพการศึกษาขั้นพื้นฐาน ปีการศึกษา
Acquisition Module.
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
1 LAN Implementation Sanchai Yeewiyom School of Information & Communication Technology Naresuan University, Phayao Campus.
Relational Model Choopan Rattanapoka CIT, KMUTNB
ใบสำเนางานนำเสนอ:

357337 – Web Programming and Web Database Relational Algebra 357337 – Web Programming and Web Database

Relational Algebra Relational Algebra เป็นภาษาแบบ procedural query language พื้นฐานคำสั่งของ Relational Algebra คือ select, project, rename → unary operations union, set difference และ cartesian product → binary operations นอกจากคำสั่งพื้นฐานแล้วยังมีคำสั่งอื่นๆ เช่น set intersection, natural join, division, และ assignment

Select Operations เป็นคำสั่งที่ใช้เลือก ข้อมูลในแถวที่ตรงกับเงื่อนไขที่กำหนด เขียนแทนด้วยสัญลักษณ์ วิธีการใช้งาน Condition สามารถใช้เครื่องหมาย การเปรียบเทียบ : =, <, >, ≥, ≤, ≠ Logic operation : ,

Example : Select กำหนดตาราง สมุดบัญชี (Account) มี schema คือ Account(Branch-name, Branch,city, Balance) Branch-name คือ ชื่อสาขา Branch-city คือ จังหวัดที่สาขานั้นตั้งอยู่ Balance คือ ยอดเงินในบัญชี Branch-name Branch-city Balance Bangkroy Bangkok 30,000 Rattanathibet Nonthaburi 15,000 Bangpo 5,000 Pakkret 10,000

Example : Select จงเลือกข้อมูลของสาขาที่อยู่ในกรุงเทพ Bangkroy Bangkok Branch-name Branch-city Balance Bangkroy Bangkok 30,000 Bangpo 5,000

Example : Select จงเลือกข้อมูล ที่เงินในบัญชีมากกว่า 12,000 Bangkroy Branch-name Branch-city Balance Bangkroy Bangkok 30,000 Rattanathibet Nonthaburi 15,000

Example : Select จงเลือกข้อมูล ที่เงินในบัญชีมากกว่า 12,000 และบัญชีอยู่ที่ นนทบุรี Branch-name Branch-city Balance Rattanathibet Nonthaburi 15,000

Project Operation Project operation เป็นตัวที่ใช้แสดงข้อมูลของ attribute ที่ต้องการ ใช้สัญลักษณ์ วิธีใช้งาน

Example : Project กำหนดตาราง สมุดบัญชี (Account) มี schema คือ Account(Branch-name, Branch,city, Balance) Branch-name คือ ชื่อสาขา Branch-city คือ จังหวัดที่สาขานั้นตั้งอยู่ Balance คือ ยอดเงินในบัญชี Branch-name Branch-city Balance Bangruk Bangkok 30,000 Rattanathibet Nonthaburi 15,000 Bangpo 5,000 Pakkret 10,000

Example : Project จงแสดงข้อมูลเฉพาะสาขา และจำนวนเงิน Bangruk 30,000 Branch-name Balance Bangruk 30,000 Rattanathibet 15,000 Bangpo 5,000 Pakkret 10,000

Composition of Relational Operations เราสามารถใช้ Select และ Project ต่อเนื่องกันได้ เช่นจากตารางรถ (car) ต่อไปนี้ ให้แสดงเฉพาะชื่อ ของเจ้าของรถ Honda สีดำ Owner Brand Color City Torres Honda Black Nonthaburi Klose Nissan Gold Bangkok Robben Toyota Silver Forlan

Union Operation ใช้เมื่อมีความต้องการเชื่อมข้อมูลกับตารางมากกว่า 1 ตาราง เช่น ตารางผู้กู้เงินจากธนาคาร (borrower) และ ตารางผู้ฝากเงินกับธนาคาร (depositor) borrower depositor จงหา รหัสของลูกค้าของธนาคารที่กู้เงินกับธนาคารหรือมีเงินฝากกับธนาคาร Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000

Union Operation รหัสลูกค้าที่ฝากเงินกับธนาคาร depositor Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 depositor รหัสลูกค้าที่ฝากเงินกับธนาคาร Cust_id 001-586-777 589-741-856 784-875-124

Union Operation รหัสลูกค้าที่กู้เงินกับธนาคาร borrower Cust_id Balance 001-586-777 100000 367-895-124 580000 borrower รหัสลูกค้าที่กู้เงินกับธนาคาร Cust_id 001-586-777 367-895-124

Union Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id 001-586-777 589-741-856 784-875-124 Cust_id 001-586-777 367-895-124 Cust_id 001-586-777 367-895-124 589-741-856 784-875-124

Set Difference Operation ใช้เพื่อหาข้อมูลที่อยู่ในความสัมพันธ์หนึ่งแต่ไม่ในอีกความสัมพันธ์หนึ่ง เช่น ตารางผู้กู้เงินจากธนาคาร (borrower) และ ตารางผู้ฝากเงินกับธนาคาร (depositor) borrower depositor จงหา รหัสของลูกค้าของธนาคารที่กู้เงินกับธนาคาร แต่ไม่มีเงินฝากกับธนาคาร Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000

Set Difference Operation Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 depositor รหัสลูกค้าที่ฝากเงินกับธนาคาร Cust_id 001-586-777 589-741-856 784-875-124

Set Difference Operation Cust_id Balance 001-586-777 100000 367-895-124 580000 borrower รหัสลูกค้าที่กู้เงินกับธนาคาร Cust_id 001-586-777 367-895-124

Set Difference Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id 001-586-777 589-741-856 784-875-124 Cust_id 001-586-777 367-895-124 Cust_id 367-895-124

The Cartesian-Product Operation Cartesian-Product ใช้สัญลักษณ์คือ X (cross) เป็นการรวมข้อมูลของ 2 relations เข้าด้วยกัน การใช้งาน เช่น table1 x table2 ตัวอย่าง : มี 2 ตาราง ตารางกู้เงิน (borrower) และ ตารางฝากเงิน (depositor) Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 borrower depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 2000 borrower X depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 2000 589-741-856 200000 borrower X depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 2000 589-741-856 200000 784-875-124 850000 borrower X depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 2000 589-741-856 200000 784-875-124 850000 367-895-124 580000 borrower X depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 2000 589-741-856 200000 784-875-124 850000 367-895-124 580000 borrower X depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 2000 589-741-856 200000 784-875-124 850000 367-895-124 580000 borrower X depositor

The Cartesian-Product Operation depositor borrower Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 X Borrower.Cust_id Borrower.Balance Depositor.Cust_id Depositor.Balance 001-586-777 100000 2000 589-741-856 200000 784-875-124 850000 367-895-124 580000 borrower X depositor

ตัวอย่าง depositor borrower หารหัสลูกค้าที่กู้และฝากเงินกับธนาคาร Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 Borrower.Cust_id Borrower.Balance Depositor.Cust_id Depositor.Balance 001-586-777 100000 2000 589-741-856 200000 784-875-124 850000 367-895-124 580000 หารหัสลูกค้าที่กู้และฝากเงินกับธนาคาร

The Rename Operation ใช้สำหรับเปลี่ยนชื่อของตาราง ใช้สัญลักษณ์ การใช้งาน x ชื่อของตารางใหม่ E ตารางหรือ expression

The Rename Operation X borrower borrower Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 367-895-124 580000 X borrower borrower Borrower.Cust_id Borrower.Balance 001-586-777 100000 367-895-124 580000

The Rename Operation X borrower Cust_id Balance 001-586-777 100000 367-895-124 580000 Cust_id Balance 001-586-777 100000 367-895-124 580000 X borrower Borrower.Cust_id Borrower.Balance b2.Cust_id b2.Balance 001-586-777 100000 367-895-124 580000

Example: The Rename Operation จากตาราง ผู้กู้เงิน (borrower) จงเขียน relational algebra เพื่อหาผู้ที่กู้เงินมากที่สุด Cust_id Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000

Example :The Rename Operation Cust_id Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000 Cust_id Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000 X borrower Borrower.Cust_id Borrower.Balance b2.Cust_id b2.Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000

Example :The Rename Operation borrower X Borrower.Cust_id Borrower.Balance b2.Cust_id b2.Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000 Borrower.Cust_id Borrower.Balance b2.Cust_id b2.Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000

Example :The Rename Operation Borrower.Cust_id Borrower.Balance b2.Cust_id b2.Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000 Borrower.Cust_id Borrower.Balance 001-586-777 100000 579-888-999 250000

Example :The Rename Operation Cust_id Balance 001-586-777 100000 367-895-124 580000 579-888-999 250000 Borrower.Cust_id Borrower.Balance 001-586-777 100000 579-888-999 250000 - Borrower - Cust_id Balance 367-895-124 580000

Example :The Rename Operation Cust_id Balance 367-895-124 580000 Borrower - Cust_id 367-895-124

Additional Operations

The Set-Intersection Operation การทำงานเหมือน intersect ของ set ใช้สัญลักษณ์ ตัวอย่าง หารหัสลูกค้าที่กู้และฝากเงินกับธนาคาร Cust_id Balance 001-586-777 2000 589-741-856 200000 784-875-124 850000 Cust_id Balance 001-586-777 100000 367-895-124 580000 borrower depositor Cust_id 001-586-777

The Natural-Join Operation เนื่องจากการใช้ cartesian product เชื่อมต่อ 2 ตารางเข้าด้วยกันทุกคน ทำให้รูปสมการยาว จึงเกิด Natural-Join Natural-join จะบังคับ operation = ให้กับฟิลด์ที่เหมือนกันของ 2 ตาราง ใช้สัญลักษณ์

The Natural-Join Operation ตัวอย่าง : มี 2 ตาราง ตารางชื่อลูกค้า (CustName) และ ตารางเมืองของลูกค้า (CustCity) จงสร้างตารางสัมพันธ์ที่แสดง รหัสลูกค้า, ชื่อลูกค้า และ เมืองที่ลูกค้าอยู่ Cust_id Name 001-586-777 John 367-895-124 DJ Cust_id City 001-586-777 Bangkok 367-895-124 Nonthaburi CustName CustCity วิธีที่ใช้ Cartesian product : วิธีที่ใช้ Natural-Join :

The Natural-Join Operation Natural-Join Operation เป็นแบบ associative คือไม่มีผลก่อนหลัง A B C = (A B ) C = A ( B C )

The Division Operation ใช้สัญลักษณ์ ใช้สำหรับเมื่อเราต้องการหาแบบ “for all” Name City Postal John Paris P5 P10 Smith Lyon P6 JR P3 City Postal Paris P5 P10 Name John

ผลการทำ Relational Algebra operation select (s) project (p) cartesian () x y a b c a b c x y union () difference (-) rename (r)

ผลการทำ Relational Algebra Operation intersection ( ) join ( ) x y a b c d z division ()