1 / 51

- ฐานข้อมูล และส่วนติดต่อกับผู้ใช้งาน

วิชา 4122612 เทคโนโลยีสารสนเทศสำหรับงานทะเบียนบุคคลและการจ่ายเงินเดือน ( Information Technology for Personal Record and Payroll ). - ฐานข้อมูล และส่วนติดต่อกับผู้ใช้งาน. คำสั่ง SQL สำหรับนิยามข้อมูล. 1. คำสั่ง Create Table

Download Presentation

- ฐานข้อมูล และส่วนติดต่อกับผู้ใช้งาน

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. วิชา 4122612เทคโนโลยีสารสนเทศสำหรับงานทะเบียนบุคคลและการจ่ายเงินเดือน(Information Technology for Personal Record and Payroll) - ฐานข้อมูล และส่วนติดต่อกับผู้ใช้งาน

  2. คำสั่ง SQL สำหรับนิยามข้อมูล 1. คำสั่ง Create Table ใช้ในการสร้าง Relation โดยการระบุชื่อ Attribute ต่างๆ ขนาดความกว้าง ประเภทของข้อมูล รวมถึงการระบุว่า Attribute ใดเป็น Primary key หรือ Foreign key รูปแบบ CREATE TABLE<TABLE NAME> (<COLUMN NAME><DATA TYPE>[<WIDTH>],… [,PRIMARY KEY DEFINITION] [,FOREIGN KEY DEFINETION]);

  3. คำสั่ง SQL สำหรับนิยามข้อมูล 2. คำสั่ง Alter Table ใช้ในการเพิ่ม Attribute ใน Relation ที่มีอยู่เดิม รูปแบบ ALTER TABLE<TABLE NAME> ADD (<COLUMN NAME><DATA TYPE><WIDTH>,…);

  4. คำสั่ง SQL สำหรับนิยามข้อมูล 3. คำสั่ง Drop Table ใช้ในการลบ Relation รูปแบบ DROP TABLE<TABLE NAME>;

  5. คำสั่ง SQL สำหรับนิยามข้อมูล 4. คำสั่ง CREATE INDEX ใช้ในการสร้าง INDEX รูปแบบ CREATE [UNIQUE] INDEX<INDEX NAME> ON<TABLE NAME><COLUMN NAME>,…); เช่น CREATE INDEX QTYIDX ON ORDER(QTY);

  6. คำสั่ง SQL สำหรับนิยามข้อมูล 5. คำสั่ง DROP INDEX ใช้ในการลบ INDEX รูปแบบ DROP INDEX<INDEX NAME>;

  7. คำสั่ง SQL สำหรับนิยามข้อมูล 6. คำสั่ง CREATE VIEW ใช้ในการสร้าง VIEW รูปแบบ CREATE VIEW <VIEW NAME> AS SELECT Statement; เช่น CREATE VIEW SPVIEW AS SELECT S#,P#,QTY FROM SP WHERE QTY>100;

  8. คำสั่ง SQL สำหรับนิยามข้อมูล 7. คำสั่ง DROP VIEW ใช้ในการลบ VIEW รูปแบบ DROP VIEW<VIEW NAME>;

  9. คำสั่ง SQL สำหรับจัดการข้อมูล 1. คำสั่ง INSERT ใช้ในการใส่ข้อมูล Tuple ลงใน Relation โดยการเพิ่มจะเพิ่มได้ทีละ 1 Tuple ต่อครั้ง รูปแบบ INSERT INTO<TABLE NAME> [<COLUMN LIST>] VALUES (<VALUE LIST>); เช่น INSERT INTO P(PID,PNAME,COLOR,CITY) VALUES(‘P1’,’PEN’,’BLUE’,’ROME’);

  10. คำสั่ง SQL สำหรับจัดการข้อมูล 2. คำสั่ง UPDATE ใช้ในการเปลี่ยนแปลงข้อมูล Tuple ใน Relation รูปแบบ UPDATE <TABLE NAME> SET<COLUMN NAME> = <VALUE> [WHERE <CONDITIONS>]; เช่น UPDATE P WHERE PID = ‘P3’;

  11. คำสั่ง SQL สำหรับจัดการข้อมูล 3. คำสั่ง DELETE ใช้ในการลบข้อมูลในแต่ละ Tuple รูปแบบ DELETE FROM<TABLE NAME> [WHERE <CONDITIONS>]; เช่น DELETE FROM S WHERE SID = ‘S3’;

  12. คำสั่ง SQL สำหรับจัดการข้อมูล 4. คำสั่ง SELECT ใช้ในการเรียกข้อมูลจากฐานข้อมูลตามที่ผู้ใช้ต้องการ รูปแบบ SELECT [* | DISTINCT]<TARGET LIST> FROM <TABLE NAME>[<ALIASES>] [WHERE PREDICATE] [GROUP BY <COLUMN LIST>] [HAVING PREDICATE] [ORDER BY <COLUMN LIST>] [ASC | DESC];

  13. คำสั่ง SQL สำหรับจัดการข้อมูล การเรียกดูข้อมูลแบบไม่มีเงื่อนไข อาจเป็นการดูข้อมูลทั้งตารางหรือบางแอททริบิวต์หรือโดยการให้จัดเรียงข้อมูล เช่น SELECT * FROM SUPPLIER; SELECT PNO,PNAME FROM PRODUCT;

  14. คำสั่ง SQL สำหรับจัดการข้อมูล การเรียกดูข้อมูลแบบมีเงื่อนไข เป็นการระบุชื่อแอททริบิวต์ที่ต้องการระบุเป็นเงื่อนไขและข้อมูลเฉพาะในอนุประโยค WHERE โดยการระบุเงื่อนไขจะนำ operator ต่างๆ เข้ามาใช้ในการแสดงเงื่อนไข มีดังนี้ • ใช้ Logicalและ Boolean Operator Logical Operatorใช้แสดงการเปรียบเทียบค่าของข้อมูล จะแสดงอยู่ระหว่างชื่อคอลัมน์และข้อมูลเฉพาะที่ต้องการแสดงเป็นเงื่อนไข Operator ดังกล่าวประกอบด้วย >, <, = , >=, <=, <> Boolean Operator ใช้สำหรับการเรียกดูข้อมูลที่มีเงื่อนไขมากกว่าหนึ่งเงื่อนไข เช่น AND, OR, NOT

  15. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น SELECT PNAME FROM PRODUCT WHERE QTY > 10; SELECT SNO FROM SUPPLIER WHERE CITY = ‘LONDON’ OR ‘PARIS’;

  16. คำสั่ง SQL สำหรับจัดการข้อมูล • ใช้ Operator ของ SQL BETWEEN…AND… ใช้กำหนดเงื่อนไขของแอททริบิวต์เป็นค่าระหว่าง 2 ค่า โดย Operator นี้จะแสดงต่อจากชื่อแอททริบิวต์ที่ถูกกำหนดให้เป็นเงื่อนไข เช่น SELECT SNO,PNO,QTY FROM SUPPLIER WHERE QTY BETWEEN 300 AND 500;

  17. คำสั่ง SQL สำหรับจัดการข้อมูล • ใช้ Operator ของ SQL IN ใช้กับเงื่อนไขของคอลัมน์ที่ต้องการระบุเงื่อนไขเป็นกลุ่มของข้อมูล โดย Operator นี้จะแสดงต่อจากชื่อแอททริบิวต์ที่ถูกกำหนดให้เป็นเงื่อนไข และกลุ่มของข้อมูลที่เป็นข้อมูลเฉพาะของแอททริบิวต์ที่เป็นเงื่อนไขนี้ จะอยู่ในวงเล็บ() และมี, คั่น

  18. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงรายละเอียดของรหัส ชื่อผู้ผลิต ที่อยู่ลอนดอนและปารีส SELECT SNO,SNAME FROM SUPPLIER WHERE CITY IN (‘LONDON’,’PARIS’);

  19. คำสั่ง SQL สำหรับจัดการข้อมูล • ใช้ Operator ของ SQL LIKE ใช้ในการค้นหาข้อมูลของคอลัมน์ที่เก็บข้อมูลประเภทตัวอักษรเท่านั้น โดยที่ยังไม่ทราบค่าแน่นอนของข้อมูลทั้งหมดที่จะค้นหา หรือรู้เพียงบางตัวอักษรเท่านั้น โดย Operator นี้จะระบุต่อท้ายชื่อแอททริบิวต์ที่ถูกกำหนดให้เป็นเงื่อนไข โดยจะใช้สัญลักษณ์ที่ช่วยในการค้นหาข้อมูลเป็นตัวช่วยในการค้นหาข้อมูลที่เรียกว่า “Wild Card”

  20. คำสั่ง SQL สำหรับจัดการข้อมูล สัญลักษณ์ดังกล่าวประกอบด้วย %, _ โดยข้อมูลบางส่วนที่ใช้ในการค้นหาพร้อมกับสัญลักษณ์ทั้ง 2 นี้ จะต้องมีเครื่องหมาย ‘ ’ กำกับเสมอ % ใช้แทนจำนวนตัวอักษรได้หลายตัว เช่น WHERE ENAME LIKE ‘N%’ _ ใช้แทนตัวอักษรที่ไม่ทราบค่าได้ 1 ตัว เช่น WHERE ENAME LIKE ‘N_ _ _ _ _’

  21. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงรายละเอียดของส่วนประกอบที่ขึ้นต้นด้วยอักษร C SELECT * FROM PRODUCT WHERE PNAME LIKE ‘C%’;

  22. คำสั่ง SQL สำหรับจัดการข้อมูล • การเรียกดูข้อมูลมากกว่า 1 Relation หรือJoin อาจจะเรียกดูข้อมูลแบบมีเงื่อนไขหรือไม่มีเงื่อนไขก็ได้ Equi Join แต่ละ Relation ที่จะเชื่อมโยงกันจะต้องมีแอททริบิวต์ที่อ้างอิงกันได้ โดยเงื่อนไขที่ระบุจะเปรียบเทียบกันโดยใช้เครื่องหมาย =

  23. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงข้อมูลของผู้ผลิตและส่วนประกอบที่อยู่เมืองเดียวกัน SELECT S.*, P.* FROM SUPPLIER S, PRODUCT P WHERE S.CITY = P.CITY;

  24. คำสั่ง SQL สำหรับจัดการข้อมูล Non-Equi Join เป็นการเชื่อมโยงข้อมูล โดยเงื่อนไขที่แสดงไม่ใช่เครื่องหมาย = แต่อาจเป็น >, <, >=, <=, <> หรือ between…and… หรือ in เป็นต้น เช่น ให้แสดงข้อมูลของผู้ผลิตและจำนวนคำสั่งซื้อระหว่าง 200 ถึง 300

  25. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงข้อมูลของผู้ผลิตและจำนวนคำสั่งซื้อระหว่าง 200 ถึง 300 SELECT S.SNO, S.SNAME, O.PNO,O.QTY FROM SUPPLIER S, ORDERS O WHERE QTY BETWEEN 400 AND 500 AND S.SNO = O.SNO;

  26. คำสั่ง SQL สำหรับจัดการข้อมูล Self-Join เป็นการเชื่อมโยงข้อมูลโดยใช้ตารางเดียวกันและตั้งชื่อให้ตารางเป็นชื่ออีกชื่อตารางหนึ่ง ทั้งนี้เพื่อประโยชน์ในการเชื่อมโยงข้อมูล เช่น ให้แสดงรหัสของผู้ขายที่ตั้งอยู่ในเมืองเดียวกัน

  27. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงรหัสของผู้ขายที่ตั้งอยู่ในเมืองเดียวกัน SELECT S1.SNO, S2.SNO FROM SUPPLIER S1, SUPPLIER S2 WHERE S1.CITY = S2.CITY AND S1.SNO < S2.SNO

  28. คำสั่ง SQL สำหรับจัดการข้อมูล Outer-Join เป็นการเชื่อมโยงข้อมูลในลักษณะที่แสดงข้อมูลที่ไม่เป็นไปตามเงื่อนไขที่กำหนดไว้ออกมาด้วย ทั้งนี้เพื่อประโยชน์ในการดูข้อมูลที่ครบถ้วนมากขึ้น ซึ่งระบบจัดการฐานข้อมูลบางชนิดมีคำสั่ง SQL ที่สามารถทำการเชื่อมโยงเพื่อเรียกดูข้อมูลในลักษณะนี้ได้เช่น ORACLE หรือ ACCESS เป็นต้น

  29. คำสั่ง SQL สำหรับจัดการข้อมูล การเรียกข้อมูลโดยใช้ฟังก์ชันที่เกี่ยวกับการรวม (Built-in Functions) เป็นฟังก์ชันที่สามารถประมวลผลกับข้อมูลเป็นชุด(Set)หรือที่เรียกว่า Group function หรือ Aggregate function ฟังก์ชันที่ใช้ใน SQL ประกอบด้วย AVG, MAX, MIN, SUM, COUNT ฟังก์ชันเหล่านี้สามารถใช้ในคำสั่ง SELECT หรืออนุประโยค HAVING

  30. คำสั่ง SQL สำหรับจัดการข้อมูล • AVG AVG[*|DISTINCT] <column name> หรือ AVG[*|DISTINCT] <column expression> • COUNT COUNT[*|DISTINCT] <column name>

  31. คำสั่ง SQL สำหรับจัดการข้อมูล • MAX MAX[*|DISTINCT] <column name> หรือ MAX[*|DISTINCT] <column expression> • MIN MIN[*|DISTINCT] <column name> หรือ MIN[*|DISTINCT] <column expression>

  32. คำสั่ง SQL สำหรับจัดการข้อมูล • SUM SUM[*|DISTINCT] <column name> หรือ SUM[*|DISTINCT] <column expression>

  33. คำสั่ง SQL สำหรับจัดการข้อมูล • GROUP BY การแสดงผลในลักษณะของการจัดกลุ่มข้อมูลยังสามารถใช้ GROUP BY เพื่อสั่งให้จัดกลุ่มตามแอททริบิวต์ที่ต้องการให้จัดกลุ่มเฉพาะลงไป

  34. คำสั่ง SQL สำหรับจัดการข้อมูล • HAVING ในการกำหนดเงื่อนไขในการสืบค้น เราจะระบุในอนุประโยค WHERE เป็นเงื่อนไขง่ายๆ ไม่มีการระบุฟังก์ชันกลุ่มในเงื่อนไขนั้น แต่ถ้าหากเราต้องการให้มีการเปรียบเทียบโดยใช้ฟังก์ชันกลุ่ม เราจะใช้ใน WHERE ไม่ได้ต้องเลี่ยงไปใช้ HAVING แทน

  35. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ต้องการดูแผนกและเงินรวมในแผนกนั้น โดยแสดงเฉพาะแผนกที่มีเงิน รวมมากกว่า 70,000 SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO HAVING SUM(SAL) > 70000;

  36. คำสั่ง SQL สำหรับจัดการข้อมูล การเรียกดูข้อมูลโดยมีคำสั่งสืบค้นย่อย(Subquery) เงื่อนไขในอนุประโยค WHERE สามารถจะใช้คำสั่ง SELECT เป็นคำสั่งสืบค้นย่อย(Subquery) เพื่อเรียกดูข้อมูลได้ ในกรณีที่ผลของข้อมูลเรียกจากข้อคำถามย่อยมีค่ามากกว่า 1 ค่า ในการระบุเงื่อนไขอาจจะใช้ Operator ต่อไปนี้ในการแสดงเงื่อนไข

  37. คำสั่ง SQL สำหรับจัดการข้อมูล 1. ANY ใช้ในการเปรียบเทียบค่าของแอททริบิวต์หนึ่งๆ ว่ามีค่าตรงกับค่าใดค่าหนึ่งของผลลัพธ์แต่ละค่าที่ได้จากคำสั่งสืบค้น ย่อยที่ระบุเป็นเงื่อนไขในอนุประโยค Where หรือไม่ และจะใช้ร่วมกับ Logical Operator เช่น =, >, <, <>

  38. คำสั่ง SQL สำหรับจัดการข้อมูล 2. ALL ใช้ในการเปรียบเทียบค่าของแอททริบิวต์หนึ่งๆ ว่ามีค่าตรงกับทุกค่าของผลลัพธ์ที่ได้จากคำสั่งสืบค้นย่อยและจะใช้ร่วมกับ Logical Operator เช่น =, >, <, <>

  39. คำสั่ง SQL สำหรับจัดการข้อมูล 3. EXISTS ใช้เพื่อให้แสดงว่าใช่(True)หรือไม่ใช่(False) ออกมา หากคำสั่งสืบค้นย่อยในอนุประโยค Where มีค่าตรงกับค่าที่อ่านได้จากคำสั่งสืบค้นย่อยของ SELECT ที่อยู่ด้านนอก ถ้าเป็นจริงก็แสดงข้อมูลออกมา ถ้าไม่จริงก็จะไม่แสดงค่าของข้อมูลนั้นออกมา

  40. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงชื่อผู้ผลิตที่ขายสินค้ารหัส P2 SELECT SNAME FROM S WHERE SID IN (SELECT SID FROM SP WHERE PID = ‘P2’);

  41. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงชื่อผู้ผลิตที่ไม่ได้ขาย P2 SELECT SNAME FROM S WHERE NOT EXISTS (SELECT SID FROM SP WHERE S.SID = SP.SID AND PID = ‘P2’);

  42. คำสั่ง SQL สำหรับจัดการข้อมูล เช่น ให้แสดงรหัสผู้ผลิต รหัสสินค้า และจำนวนสินค้าที่ขายของผู้ผลิตอื่นที่มีจำนวนการขายสูงกว่ารหัสผู้ผลิต S1 SELECT SID, PID, QTY FROM SP WHERE QTY > ALL (SELECT DISTINCT QTY FROM SP WHERE SID = ‘S1’);

  43. คำสั่ง SQL สำหรับจัดการข้อมูล การเรียกดูข้อมูลโดยใช้ Set Operator เราสามารถใช้เครื่องหมายในการคำนวณที่ใช้กับเซต เช่น Union, Intersection, Minus มาช่วยในการประมวลผลข้อมูลที่ได้จากคำสั่งสืบค้นหลายๆ คำสั่งได้ เช่น

  44. คำสั่ง SQL สำหรับจัดการข้อมูล SELECT ENAME, JOB FROM EMP WHERE ENAME LIKE ‘A%’ UNION SELECT ENAME, JOB FROM EMP WHERE JOB LIKE ‘C%’;

  45. ตาราง Personal • ตารางเก็บข้อมูลพนักงาน

  46. ตัวอย่าง • SELECT PersonalID, PersonalCode, FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’ ORDER BY PersonalID

  47. ตัวอย่าง ค้นหาจากชื่อพนักงาน • SELECT PersonalID, PersonalCode, FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’AND FirstName LIKE ‘%พร%’ • ดูข้อมูลเฉพาะ FirstName มีคำว่า “พร” และ DeleteFlag มีค่า = 0

  48. ตัวอย่าง ค้นหาจากนามสกุลพนักงาน • SELECT PersonalID, PersonalCode, FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’AND LastName LIKE ‘%พร%’ • ดูข้อมูลเฉพาะ LastName มีคำว่า “พร” และ DeleteFlag มีค่า = 0

  49. ตัวอย่าง ค้นหาจากรหัสบัตรพนักงาน • SELECT PersonalID, PersonalCode, FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’AND PersonalCode = ‘0001’ • ดูข้อมูลเฉพาะ PersonalCode มีค่าเท่ากับ “0001” และ DeleteFlag มีค่า = 0

  50. ตัวอย่าง ค้นหาจากรหัสพนักงาน • SELECT PersonalID, PersonalCode, FirstName, LastName, TitleName FROM Personal WHERE DeleteFlag = ‘0’AND PersonalID = ‘10’ • ดูข้อมูลเฉพาะ PersonalID มีค่าเท่ากับ “10” และ DeleteFlag มีค่า = 0

More Related