Introduction to SQL (MySQL) – Special Problem (Database)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
BC421 File and Database Lab
Advertisements

เสรี ชิโนดม MS SQLServer 7 เสรี ชิโนดม
ภาษา SQL (Structured Query Language)
การจัดการเว็บไซค์คลังความรู้ ด้วยระบบฐานข้อมูล MySql
บทที่ 5 Visual C#.NET กับ ฐานข้อมูล
Chapter IV : สร้างการติดต่อ
Security and Integrity
ภาษา SQL (Structured Query Language)
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
PHP LANGUAGE.
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
ASP [#15] การใช้งาน ASP กับ Mysql ผ่าน ODBC การทำสมุดเยี่ยม Guestbook
HTTP Client-Server.
การเขียนโปรแกรมออนไลน์
Surachai Wachirahatthapong
MySQL.
การเชื่อมต่อกับฐานข้อมูล
การเชื่อมต่อฐานข้อมูลด้วย PHP
SQL - Structured Query Language
Structured Query Language (SQL) (2)
Structured Query Language (SQL)
– Web Programming and Web Database
– Web Programming and Web Database
– Web Programming and Web Database
บทที่ 3 แบบจำลองข้อมูล Data Models Algebra
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
การติดตั้ง AppServ
Introduction to php Professional Home Page :PHP
Php with Database Professional Home Page :PHP
Chapter 8 : การควบคุมความปลอดภัย (Security Control)
แก้ไขข้อมูลที่ไม่สามารถกรอกเป็นภาษาไทยได้
การใช้งาน phpMyAdmin เพื่อจัดการฐานข้อมูล MySQL
โปรแกรม Microsoft Access
Database Programming Exceed Camp #2 24 October 2005.
สถาปัตยกรรมของระบบฐานข้อมูล
PHP.
ความปลอดภัยของฐานข้อมูล
ฐานข้อมูลเชิงสัมพันธ์
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
๕.๖ ส่วนประกอบของ DBMS ในการใช้ข้อมูลในฐานข้อมูลจะต้องมีการสอบถามหรือค้นหาคำตอบ รวมถึงการเพิ่มและการลบข้อมูล ซึ่งโดยทั่วไปผู้ใช้ไม่จำเป็นต้องทราบวิธีการในการจัดเก็บข้อมูล.
คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกัน ซึ่ง ประกอบไปด้วยแฟ้มข้อมูล (File) ระเบียน (Record) และ เขตข้อมูล (Field) และถูกจัดการด้วยระบบ เดียวกัน โปรแกรมคอมพิวเตอร์จะเข้าไปดึงข้อมูล.
PHP:Hypertext Preprocessor
ซอฟแวร์ระบบจัดการฐานข้อมูล (MySQL)
HTML, PHP.
SQL Structured Query Language.
การสอบถามข้อมูลด้วยฟังก์ชั่นสำหรับ
CHARPTER 4 การสอบถามข้อมูลแบบมีเงื่อนไข
CHARPTER 3 การสอบถามข้อมูลพื้นฐาน
การสอบถามข้อมูลแบบซ้อนกัน
SQL เพื่อควบคุมความปลอดภัย (Week 2). การควบคุมการเข้าถึงข้อมูล ระบบการจัดการข้อมูลโดยส่วนใหญ่จะมีกลไกที่ ทำให้แน่ใจได้ว่าเฉพาะผู้มีสิทธิเท่านั้นที่ สามารถเข้าถึงข้อมูลในฐานข้อมูล.
PHP & MySQL ระบบจัดการสินค้า
โปรแกรม Microsoft Access
การใช้งานระบบจัดการฐานข้อมูล Mysql ผ่าน phpmyadmin
การติดตั้ง Moodle บนวินโดว์
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
การสร้างฐานข้อมูลโดยการใช้ phpMyAdmin
CHAPTER 12 SQL.
Introduction to PHP, MySQL – Special Problem (Database)
SQL Structured Query Language.
Introduction to PHP, MySQL – Special Problem (Database) Choopan Rattanapoka.
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
การพัฒนาโปรแกรมเสริมสำหรับการ แสดงวีดีโอจากเว็บไซต์ภายนอกใน เวิร์ดเพรส (Development plugin for displaying video from an external website in WordPress)
การติดตั้งโปรแกรมคัดกรองความเสี่ยงสุขภาพวัยรุ่น
Introduction to HTML, PHP – Special Problem (Database)
PHP : [1] PHP เบื้องต้น. PHP คืออะไร ? PHP ได้รับการเผยแพร่เป็นครั้ง แรกในปี ค. ศ โดย Rasmus Lerdorf ต่อมาได้มีนัก โปรแกรมเมอร์เข้ามาช่วยในการ พัฒนาต่อมาตามลำดับ.
PHP. P ersonal H ome P age P rofessional H ome P age PHP : H ypertext P reprocessor.
การใช้ PHP ติดต่อฐานข้อมูล
Introduction to SQL - 3 (MySQL) – Special Problem (Database)
PHP: [9] ฐานข้อมูล MYSQL
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ใบสำเนางานนำเสนอ:

Introduction to SQL (MySQL) 353352 – Special Problem (Database) Choopan Rattanapoka

SQL (Structured Query Language) SQL ที่ใช้ในระบบฐานข้อมูลแบบ Relational Database เกิดมาจากพื้นฐานของ Relational Model อย่างเช่น Relational Algebra SQL ประกอบไปด้วยหลายส่วน Data-Definition Language (DDL) : เป็นคำสั่งเพื่อกำหนด relation schemas Interactive data-manipulation language (DML) : เป็นการรวมคำสั่งใน query language ที่มาจากพื้นฐานของ relational algebra และ relational calculus Embedded DML : อยู่ในรูป library เพื่อติดต่อกับภาษาโปรแกรมอื่นๆเช่น C, Pascal, PHP View Definition : คำสั่งเกี่ยวกับการสร้าง view Authorization : คำสั่งเกี่ยวกับสิทธิการเข้าถึงข้อมูล Integrity : คำสั่งเกี่ยวกับการกำหนดความถูกต้องของข้อมูล Transaction Control : คำสั่งเกี่ยวกับการเริ่มต้นและสิ้นสุดของ transaction เช่น lock

MySQL MySQL เป็นโปรแกรมระบบฐานข้อมูลแบบ Relational Database System เป็น open source และสามารถ download มาใช้ได้ Free สามารถทำงานได้กับระบบปฎิบัติการสำคัญๆ ได้หมด เช่น Windows, Linux, Mac OS Website: http://www.mysql.com

AppServ ในการเรียนการสอนต่อไป เราจะใช้ AppServ ซึ่งไปการรวม software หลาย อย่างเข้าด้วยกัน เพื่อเป็น package ที่ง่ายในการติดตั้ง และ ใช้งาน Website: http://www.appservnetwork.com ในโปรแกรม AppServ (AppServ 2.5.10) จะประกอบไปด้วย Apache 2.2.8 : เป็นโปรแกรม web server PHP 5.2.6 : module PHP ที่ทำให้ web server สามารถใช้งานภาษา PHP ได้ MySQL 5.0.51b : ระบบฐานข้อมูล mySQL phpMyAdmin-2.10.3 : เป็น web page ที่ช่วยในการติดต่อการระบบฐานข้อมูล mySQL ทำให้ทำงานกับระบบฐานข้อมูล mySQL ได้ง่ายขึ้น

AppServ เมื่อติดตั้งโปรแกรม AppServ สามารถดูการทำงานว่าเริ่มต้นทำงานได้ด้วยดี โดยเปิด web browser และพิมพ์ 127.0.0.1 ที่ช่อง URL

การใช้ MySQL ผ่านทาง terminal ใน Windows ให้กด control panel -> run -> พิมพ์ cmd เมื่อได้ terminal ให้พิมพ์ mysql –u root –p หมายถึงเรียกใช้งานโปรแกรม mysql โดยจะเข้าสู่ระบบฐานข้อมูลแบบ user (-u) ที่ชื่อ root และ –p หมายถึง เป็น account ที่มี password ป้องกันไว้อยู่ เมื่อโปรแกรมถาม password ให้ใส่ password ของ root ที่ตั้งเอาไว้

การใช้ MySQL ผ่านทาง terminal ถ้าพิมพ์รหัสถูกต้องจะเข้าสู่ prompt ของโปรแกรม MySQL

คำสั่ง MySQL เราสามารถตรวจดูระบบฐานข้อมูลทั้งหมด ที่ root สามารถมองเห็นด้วยคำสั่ง show databases;

คำสั่ง MySQL ถ้าติดตั้ง AppServ จะมีฐานข้อมูลเริ่มต้นอยู่ 4 ฐานข้อมูล Information_schema และ mysql เป็นฐานข้อมูลที่ใช้ในการตั้งค่าระบบของ MySQL Phpmyadmin เป็นฐานข้อมูลที่เก็บค่าระบบของ PhpMyAdmin Test เป็นฐานข้อมูลทดลอง เราสามารถเลือกการทำงานว่าจะทำงานกับฐานข้อมูลตัวไหนด้วยคำสั่ง use <ชื่อฐานข้อมูล>; เช่น use phpmyadmin;

คำสั่ง MySQL เราสามารถทราบว่าระบบฐานข้อมูลที่เราใช้อยู่นั้นประกอบไปด้วย ตาราง อะไรบ้าง โดย การใช้คำสั่ง show tables;

การดูโครงสร้างของตารางที่ถูกสร้างมาแล้ว สามารถดูโครงสร้างของตารางได้โดยใช้คำสั่ง DESCRIBE <ชื่อตาราง> หรือ DESC <ชื่อตาราง>;

Let’s go SQL ในการค้นหาข้อมูลด้วย Relational Algebra ส่วนใหญ่จะอยู่ในรูป ใน SQL นั้นจะมีคำสั่งในรูป SELECT A1, A2, … , An FROM R1, R2, … , Rm WHERE P

Relational Algebra -> SQL จาก Relational Schema Person(id, name, age) Relational Algebra เพื่อหารหัส และ ชื่อ ของคนที่มีอายุมากกว่า 20 SQL : SELECT id, name FROM person WHERE age > 20;

Relational Algebra -> SQL ในกรณีที่ Relational Algebra ไม่มีการใช้ project ( ) หมายถึงให้ แสดงผลลัพธ์ออกมาทุกฟิลด์ ซึ่งตรงกับเครื่องหมาย “*” ใน SQL Relational Algebra SQL SELECT * FROM person WHERE age > 20

Relational Algebra -> SQL ในกรณีที่ Relational Algebra ไม่มีการใช้ select ( ) หมายถึงไม่มีเงื่อนไข ในการกรองผลลัพธ์ ดังนั้นใน SQL สามารถละ WHERE ออกไปได้ Relational Algebra SQL SELECT id,name FROM person

Relational Algebra -> SQL SELECT * FROM <ชื่อตาราง> เช่น SELECT * FROM person

SQL : SELECT คำสั่ง SELECT ใน SQL ตามด้วยฟิลด์ที่จะค้นหา วิธี SELECT มีอยู่ 2 แบบ SELECT ALL (เป็น default ของคำสั่ง SELECT ถ้าไม่ระบุ) SELECT DISTINCT

SQL : SELECT คำสั่ง SELECT สามารถทำการ + , - , * , / กับฟิลด์ที่เลือกแสดง ออกมาได้

SQL : FROM ใช้สำหรับเลือกตารางที่จะค้นหาข้อมูล ถ้าใส่มากกว่า 1 และคั่นด้วยเครื่องหมาย “,” หมายถึงจะทำผลคูณ cartesian ของตารางนั้นๆ

SQL : WHERE ใน Relational Algebra เงื่อนไขของ จะเปลี่ยนจากสัญลักษณ์ทาง คณิตศาสตร์ เป็น สัญลักษณ์ที่พิมพ์ได้ทาง keyboard ปกติ Logical Operations (RA  SQL)  AND  OR  NOT Arithmetic Operations (SQL) >, <, <=, >=, =, <>

Exercise 1 กำหนดตารางนักเรียนที่มีโครงสร้างดังนี้ จงเขียน SQL เพื่อหา Student(Fname, Lname, Faculty, GPA) Fname = ชื่อ Lname = นามสกุล Faculty = คณะ GPA = คะแนน GPA จงเขียน SQL เพื่อหา ชื่อและนามสกุลของนักเรียนที่อยู่ที่คณะ “วทอ” นามสกุลของนักเรียนที่มี GPA > 2.00 ทุกข้อมูลของนักเรียนที่มีนามสกุล “ชินวัด” และ GPA < 2.00 ทุกข้อมูลของนักเรียนที่มีนามสกุล “ชินวัด” หรือนามสกุล “วัดชิน”

SQL : UNION ใน SQL สามารถทำการรวมค่าของ 2 SQL statements ด้วยการใช้คำสั่ง UNION  ลบข้อมูลที่ซ้ำกันออก UNION ALL  เก็บข้อมูลที่ซ้ำกันไว้

SQL : Set Difference ใน MySQL ไม่มีคำสั่ง set difference โดยตรงแต่สามารถเขียนได้ ดูตัวอย่าง SELECT cust_id FROM borrower WHERE cust_id NOT IN (SELECT cust_id FROM depositor);

SQL : Rename ใน SQL การเปลี่ยนชื่อสามารถเปลี่ยนได้ทั้งชื่อ ฟิลด์ และ ชื่อตารางด้วยคำสั่ง ชื่อเก่า AS ชื่อใหม่ ตัวอย่าง

SQL : Set Intersect ใน MySQL ไม่มีคำสั่ง intersect ให้ใช้โดยตรงแต่สามารถเขียนได้ ดังนี้ SELECT cust_id FROM borrower WHERE cust_id IN (SELECT cust_id FROM depositor)

SQL : Natural Join วิธีที่ใช้ Cartesian product : 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 :

SQL : Natural Join

Exercise 2 จงแปลง Relational Algebra ต่อไปนี้ให้เป็นคำสั่ง SQL