งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Structured Query Language (SQL) 357337 – Web Programming and Web Database 1.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Structured Query Language (SQL) 357337 – Web Programming and Web Database 1."— ใบสำเนางานนำเสนอ:

1 Structured Query Language (SQL) 357337 – Web Programming and Web Database 1

2 Structured Query Language (SQL) 2 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 3

4 phpMyAdmin 4 เมื่อติดตั้งโปรแกรม AppServ สามารถใช้งาน phpMyAdmin เพื่อจัดการกับ MySQL โดยเข้าไปที่ 127.0.0.1/phpmyadmin

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

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

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

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

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

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

11 การสร้างฐานข้อมูล เมื่อเราต้องการออกแบบฐานข้อมูลใหม่ เราควรจะสร้างฐานข้อมูลก่อน ด้วย คำสั่ง CREATE database ; เช่นCREATE database CITLibrary; 11

12 การสร้างฐานข้อมูล เมื่อเราต้องการลบฐานข้อมูล สามารถทำได้ด้วยคำสั่ง DROP database ; เช่นDROP database CITLibrary; 12

13 การสร้างตาราง (Create) Create Table: CREATE TABLE r (A1 D1, …,An Dn... ) Integrity Constraints: ข้อกำหนดเกี่ยวกับข้อมูล (attribute, รายการ หรือ ตาราง) เช่น  PRIMARY KEY ( A j1, A j2, …, A jm )  CHECK ( P ) Tuple or Attribute Constraints Attribute Constraint 13

14 Domain Types ใน SQL char(n) เก็บตัวอักษร n ตัว จองพื้นที่แบบคงที่ varchar(n) เก็บตัวอักษร n ตัว จองพื้นที่แบบ dynamic text เก็บข้อมูลที่อยู่ในรูปตัวอักษร smallint (2byte) เก็บค่าตัวเลข -32768 ถึง 32767 int (4byte) เก็บค่าตัวเลข -2147483648 ถึง 2147483647 double (8byte) เก็บค่าได้ที่ตัวเลข 15 ตำแหน่งหลังจุดทศนิยม float(n) (4byte) เก็บค่าได้ที่ตัวเลข 7 ตำแหน่งหลังจุดทศนิยม date YYYY-MM-DD time HH:MM:SS datetime YYYY-MM-DD HH:MM:SS bool ค่า 0 คือ false, ค่าที่ไม่ใช่ 0 คือ true 14

15 ตัวอย่างการสร้างตารางพื้นฐาน สร้างตาราง Employee CREATE TABLE employee ( ssn INT, fname VARCHAR(20), lname VARCHAR(20), address VARCHAR(50), salary INT, deptno SMALLINT ) สร้างตาราง Department CREATE TABLE department ( deptno SMALLINT, dname VARCHAR(30), mgrssn INT, startdate DATE ) 15

16 ตัวอย่างการสร้างตารางพร้อมกำหนดข้อกำหนด สร้างตาราง Employee CREATE TABLE employee ( ssn INT NOT NULL AUTO_INCREMENT, fname VARCHAR(20) NOT NULL, lname VARCHAR(20) NOT NULL, address VARCHAR(50), salary INT, deptno SMALLINT NOT NULL, PRIMARY KEY (ssn), ) 16

17 ตัวอย่างการสร้างตารางพร้อมกำหนดข้อกำหนด สร้างตาราง Department CREATE TABLE department ( deptno SMALLINT, dname VARCHAR(30) NOT NULL, mgrssn INT NOT NULL AUTO_INCREMENT, startdate DATE DEFAULT Sysdate, PRIMARY KEY (deptno), CONSTRAINT dname_uk UNIQUE (dname), CONSTRAINT dept_mgr_fk FOREIGN KEY (mgrssn) REFERENCES employee(ssn)) 17

18 Domain Constraints การกำหนดลักษณะชนิดของข้อมูล ตรวจสอบเมื่อมีการเพิ่มข้อมูล ตัวอย่างการสร้าง domain – CREATE DOMAIN gender CHAR CONSTRIANT gender_test – CHECK (gender IN (‘F’, ‘M’)) Constraint Name Constraint Condition 18

19 การลบและเปลี่ยนตาราง (Drop) การลบตาราง -- DROP TABLE r – ลบตาราง Employee ออกจากระบบฐานข้อมูล DROP TABLE employee; การเปลี่ยนตาราง (Alter) -- ALTER TABLE r ADD (a d) – เพิ่ม attribute COMMISSION ในตาราง Employee ALTER TABLE EMPLOYEE ADD (commission int) – เปลี่ยน attribute fname ในตาราง Employee ให้มีขนาดใหญ่ ขึ้น ALTER TABLE EMPLOYEE MODIFY (fname varchar(40)) 19

20 การเพิ่มข้อมูล (Insert) INSERT INTO table-name VALUES (a1, a2, …,an) INSERT INTO table-name(a1-name, a2-name, …, an- name) VALUES (a1, a2, …, an) ตัวอย่าง INSERT INTO employee VALUES (1, ‘John’, ‘Terry’,’Chelsea, London’, 100000, 2) INSERT INTO employee(fname, lname, ssn, deptno) VALUES (‘John’, ‘Terry’, 1, 2) 20

21 การลบข้อมูล (Delete) DELETE FROM r [WHERE ] – ลบรายการของพนักงานทั้งหมด DELETE FROM employee – ลบรายการของพนักงาน ที่มีรหัส 001 DELETE FROM employee WHERE SSN = 001 21

22 การเปลี่ยนข้อมูล (Update) UPDATE r SET a = value UPDATE r SET a = value WHERE – เปลี่ยนชื่อและนามสกุลพนักงาน ssn = 1 เป็น Frank Lampard UPDATE employee SET fname=‘Frank’,lname=‘Lampard’ WHERE ssn = 1 – เพิ่มเงินเดือนให้กับพนักงานทุกคน 10 % UPDATE employee SET salary = salary*1.1 – ลดเงินเดือน 5% ของพนักงานทุกคนใน deptNo = 15 UPDATE employee SET salary = salary*0.95 WHERE dNo = 15 22

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

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

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

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

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

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

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

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

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

32 SQL : WHERE หารหัสลูกค้าที่กู้และฝากเงินกับธนาคาร 32


ดาวน์โหลด ppt Structured Query Language (SQL) 357337 – Web Programming and Web Database 1.

งานนำเสนอที่คล้ายกัน


Ads by Google