1 / 28

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

Introduction to SQL ( MySQL ) 353352 – Special Problem (Database). Choopan Rattanapoka. SQL (Structured Query Language). SQL ที่ใช้ในระบบฐานข้อมูลแบบ Relational Database เกิดมาจากพื้นฐานของ Relational Model อย่างเช่น Relational Algebra SQL ประกอบไปด้วยหลายส่วน

melvin-gray
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to SQL (MySQL) 353352 – Special Problem (Database) ChoopanRattanapoka

  2. 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

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

  4. 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ได้ง่ายขึ้น

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

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

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

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

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

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

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

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

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

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

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

  16. Relational Algebra -> SQL • ถ้าอยากจะแสดงข้อมูลทุกแถว และทุกหลักในตาราง สามารถเขียนด้วย SQL คือ SELECT*FROM<ชื่อตาราง> เช่น SELECT * FROM person

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

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

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

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

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

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

  23. SQL : Set Difference • ใน MySQLไม่มีคำสั่ง set difference โดยตรงแต่สามารถเขียนได้ ดูตัวอย่าง • SELECTcust_idFROM borrowerWHEREcust_idNOT IN (SELECTcust_idFROM depositor);

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

  25. SQL : Set Intersect • ใน MySQLไม่มีคำสั่ง intersect ให้ใช้โดยตรงแต่สามารถเขียนได้ ดังนี้ • SELECTcust_idFROM borrowerWHEREcust_id IN(SELECTcust_idFROM depositor)

  26. SQL : Natural Join CustName CustCity วิธีที่ใช้ Cartesian product : วิธีที่ใช้ Natural-Join :

  27. SQL : Natural Join

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

More Related