Carryrmu’s Blog

Just another WordPress.com weblog

ภาษา SQL เมษายน 27, 2009

ภาษา SQL (Standard Query Language)

9.1 ภาษา Standard relational database Query Language (SQL)

ภาษาที่กลายเป็นภาษามาตรฐานสำ หรับระบบฐานข้อมูลคือ ภาษา Standard relational database

Query Language หรือเอสคิวแอล (SQL) หรือซีควอล (SE-QUEL) ซึ่งเป็นภาษาที่พัฒนาขึ้นมาโดยบริษัท

ไอบีเอ็ม ภาษา SQL (Standard Query Language) เป็นส่วนหนึ่งของระบบฐานข้อมูลแบบรีเลชั่นเนล

(Relational Database) ที่ได้รับความนิยมมากเพราะง่ายต่อความเข้าใจ และอยู่ในรูปภาษาอังกฤษ ภาษา

SQL แบ่งออกเป็น 2 ส่วน คือ

• ภาษาที่ใช้สำ หรับนิยามข้อมูล (Data Definition Language-DDL)

• ภาษาสำ หรับการจัดการข้อมูลล (Data Manipulation Language: DML)

• ภาษาควบคุม (Control Language)

• ภาษาในการเลือกข้อมูล (Data Query Language)

รูปแบบการใช้คำ สั่ง SQL สามารถใช้ได้เป็น 2 รูปแบบ ดังนี้ คือ

• คำ สั่ง SQL ที่ใช้เรียกดูข้อมูลได้ทันที (Interactive SQL)

เป็นการเรียกใช้คำ สั่ง SQL สั่งงานบนจอภาพ เพื่อเรียกดูข้อมูลในขณะที่ทำ งานได้ทันที เช่น

SELECT CITY

FROM SUPPLIER

WHERE SNO = ‘SE’;

• คำ สั่ง SQL ที่ใช้เขียนร่วมกันโปรแกรมอื่น ๆ (Embedded SQL)

เป็นคำ สั่ง SQL ที่ใช้ร่วมกับคำ สั่งของโปรแกรมภาษาต่าง ๆ เช่น PL/1 PASCAL ฯลฯ หรือแม้

แต่กับคำ สั่งในโปรแกรมที่ระบบจัดการฐานข้อมูลนั้นมีใช้เฉพาะ เช่น ORACLE มี PL/SQL (Procedural

Language /SQL) ที่สามารถเขียนโปรแกรมและนำ คำ สั่ง SQL มาเขียนร่วมด้วย เป็นต้น

ตัวอย่างการใช้คำ สั่ง SQL ในภาษา PL/1

EXEC SQL SELECT CITY

INTO :XCITY

FROM SUPPLIER

WHERE SNO = ‘S4’;

9.2 ภาษาที่ใช้สำ หรับนิยามข้อมูล (Data Definition Language-DDL )

Data Definition Language (DDL) เป็นภาษาที่ใช้นิยามโครงสร้างข้อมูล เพื่อเปลี่ยนแปลง หรีอ

ยกเลิกโครงสร้างฐานข้อมูลตามที่ออกแบบไว้ โครงสร้างดังกล่าวคือ สคีมา (Schema) นั้นเอง ตัวอย่างเช่น

การกำ หนดให้ฐานข้อมูลประกอบด้วยตารางอะไรบ้าง ชื่ออะไร ประเภทใด มีอินเด็กซ์ (Index)

เอกสารประกอบการบรรยายวิชา 204204 การออกแบบและพัฒนาฐานข้อมูล 8 – 2

ภาษา DDLประกอบด้วย 3 คำ สั่งคือ

• คำ สั่งการสร้าง (Create) ได้แก่ การสร้างตารางและอินเด็กซ์

CREATE TABLE <Table name>

( Attribute 1 Type 1,

Attribute 2 Type 2 ,

)

CREATE Unique Index on X<Table name>

เช่น

CREATE TABLE S11

(SNO CHAR(5) Not NULL,

SNAME CHAR(10) ,

STATUS integer

)

CREATE Unique Index XS11 on S11(SNO)

• คำ สั่งเปลี่ยนแปลงโครงสร้าง

ALTER TABLE < ชื่อตารางที่ตั้งขึ้น >

<คำ สั่งการเปลี่ยนแปลง> (<ชื่อคอลัมน์ ประเภทข้อมูล>);

ตัวอย่างเช่น

ALTER TABLE SUPPLIER

ADD (LAST_SNAME Char(10));

• คำ สั่งยกเลิก (Drop) ต่างๆ

การลบโครงสร้างตาราง

DROP TABLE < ชื่อตารางที่ตั้งขึ้น >

ภาษาดังกล่าวคือ ภาษาที่ใช้สร้างฐานข้อมูลลงในคอมพิวเตอร์ หลังจากที่เราได้ออกแบบแล้วว่า

ฐานข้อมูลมีกี่รีเลชั่น แต่ละรีเลชั่นมีความสัมพันธ์อย่างไร จากนั้นการใช้ภาษา DDL นี้แปลงรีเลชั่น

ต่างๆ ให้อยู่ในรูปภาษาสำ หรับนิยามข้อมูล เพื่อป้อนเข้าสู่ระบบฐานข้อมูล เพื่อสร้างฐานข้อมูลที่แท้จริง

ให้เกิดขึ้นในคอมพิวเตอร์ ภาษา DDL สามารถสรุปคำ สั่งต่างๆได้ดังตอไปนี้

คำ สั่ง ความหมาย

CREATE TABLE นิยามโครงสร้างข้อมูลในรูปตารางบนฐานข้อ

มูล

DROP TABLE ลบโครงสร้างตารางข้อมูลออกจากระบบ

ALTER TABLE แก้ไขปรับปรุงโครงสร้างตาราง

บทที่ 8 พีชคณิตเชิงสัมพันธ์และแคลคูลัสเชิงสัมพันธ์ 8 – 3

คำ สั่ง ความหมาย

CREATE INDEX สร้างดัชนีของตาราง

DROP INDEX ลบ ดัชนีของตารางออกจากระบบ

CREATE VIEW กำ หนดโครงสร้างวิวของผู้ใช้

DROP VIEW ลบโครงสร้างวิวออกจากระบบ

9.2.1 คำ สั่งนิยามโครงสร้างตาราง

การสร้างตารางใน ฐานข้อมูลแบบรีเลชั่นเนล โดยเฉพาะฐานข้อมูลขนาดใหญ่บนระบบ

UNIX จะทำ ด้วยการป้อนคำ สั่งในลักษณะเท็กซ์โหมด (Text Mode) เข้าไปในระบบฐานข้อมูล ดังรูป

แบบต่อไปนี้

CREATE TABLE <ชื่อตาราง>

(<ชื่อคอลัมน์ ประเภทของข้อมูล>[,<ชื่อคอลัมน์ ประเภทของข้อมูล>]….);

9.2.2 ประเภทของข้อมูล

ประเภทของข้อมูลแบ่งเป็น 5 ประเภทใหญ่ๆ ขึ้นอยู่กับซอฟต์แวร์ระบบฐานข้อมูลที่ใช้

ว่าคืออะไร ตัวอย่างเช่น CHAR, INTEGER, DATE ฯลฯ

9.3 ภาษาสำ หรับการจัดการข้อมูล (Data Manipulation Language-DML)

หลังจากที่เราสร้างโครงสร้างฐานข้อมูลขึ้นแล้ว คำ สั่งต่อไปในการป้อนข้อมูลลงในฐานข้อมูล

และเปลี่ยนแปลงข้อมูล ในฐานข้อมูล โดยการใช้ภาษาสำ หรับการจัดการข้อมูล (Data Manipulation

 

Language-DML) ใช้จัดการข้อมูลภายในตารางภายในฐานข้อมูล และภาษาแก้ไขเปลี่ยนแปลงตาราง

แบ่งออกเป็น 4 Statement คือ

• Select Statement : การเรียกหา (Retrieve) ข้อมูลจาก ฐานข้อมูล

• Insert Statement : การเพิ่มเติมข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล

• Delete Statement: การลบข้อมูลลงออกจาก ตาราง (Table) จาก ฐานข้อมูล

• Update Statement: การเปลี่ยนแปลงข้อมูลลงใน ตาราง (Table) จาก ฐานข้อมูล

9.4 ภาษาควบคุม (Control Language)
ใช้เป็นภาษาที่ใช้ควบคุมระบบรักษาความปลอดภัย ของฐานข้อมูล ประกอบด้วยคำ สั่ง 2 คำ สั่งคือ
• คำ สั่ง GRANT เป็นคำ สั่งที่ใช้กำ หนดสิทธิให้กับผู้ใช้แต่ละคนให้มีสิทธกระทำ การใดกับข้อมูลเช่น
การเพิ่มข้อมูล การแก้ไข หรือ การลบข้อมูลในตารางใดบ้าง
• คำ สั่ง REVOKE เป็นคำ สั่งให้มีการยกเลิกสิทธนั้นหลังจากที่ได้ GRANT แล้ว
ค่าบูลลีน ( Boolean-Type Data)
• AND
• OR
• NOT
เอกสารประกอบการบรรยายวิชา 204204 การออกแบบและพัฒนาฐานข้อมูล 8 – 6
• =
• > หรือ >=
• < หรือ =<
• <>
• Bulit-In Function
• COUNT
• SUM
• AVG
• MAX
• MIN
• DISTINCT

 

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s