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

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

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) – 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: 3

4 phpMyAdmin 4 เมื่อติดตั้งโปรแกรม AppServ สามารถใช้งาน phpMyAdmin เพื่อจัดการกับ MySQL โดยเข้าไปที่ /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) เก็บค่าตัวเลข ถึง int (4byte) เก็บค่าตัวเลข ถึง 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’, , 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 =

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