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

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

Structured Query Language (SQL)

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


งานนำเสนอเรื่อง: "Structured Query Language (SQL)"— ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

13 การสร้างตาราง (Create)
Attribute Constraint Create Table: CREATE TABLE r (A1 D1 <NOT NULL, UNIQUE> , … ,An Dn <integrity constraints 1> ... <integrity constraints k>) Integrity Constraints: ข้อกำหนดเกี่ยวกับข้อมูล (attribute, รายการ หรือ ตาราง) เช่น PRIMARY KEY ( Aj1, Aj2, …, Ajm ) CHECK ( P ) Tuple or Attribute Constraints

14 Domain Types ใน SQL char(n) เก็บตัวอักษร n ตัว จองพื้นที่แบบคงที่
varchar(n) เก็บตัวอักษร n ตัว จองพื้นที่แบบ dynamic text เก็บข้อมูลที่อยู่ในรูปตัวอักษร smallint (2byte) เก็บค่าตัวเลข ถึง 32767 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

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 )

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), )

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))

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

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))

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)

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

22 การเปลี่ยนข้อมูล (Update)
UPDATE r SET a = value UPDATE r SET a = value WHERE <conditions> เปลี่ยนชื่อและนามสกุลพนักงาน 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

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

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

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

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

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

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

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

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

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

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


ดาวน์โหลด ppt Structured Query Language (SQL)

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


Ads by Google