ชนิดของข้อมูลที่ใช้ในภาษา
SQL
ในภาษา
SQL การบรรจุข้อมูลลงในคอลัมน์ต่าง ๆ
ของตารางจะต้องกำหนดชนิดของข้อมูล (data type) ให้แต่ละคอลัมน์
ชนิดของข้อมูลนี้จะแสดงชนิดของค่าที่อยู่ในคอลัมน์
ค่าทุกค่าในคอลัมน์ที่กำหนดจะต้องเป็นชนิดเดียวกัน เช่น
ในตารางลูกค้าคอลัมน์ที่เป็นรายชื่อลูกค้า จะต้องเป็นตัวหนังสือ
ในขณะที่คอลัมน์จำนวนเงินที่ลูกค้าซื้อสินค้าเป็นตัวเลข
ชนิดของข้อมูลของแต่ละคอลัมน์จะขึ้นกับลักษณะของข้อมูลแต่ละคอลัมน์
ซึ่งแบ่งได้ดังนี้ชนิดข้อมูลพื้นฐานในภาษา SQL ดังนี้
2.1 ตัวหนังสือ(character) ในภาษา SQL จะใช้
- ตัวหนังสือแบบความยาวคงที่(fixed-length character) จะใช้
char (n) หรือ character(n) แทนประเภทของข้อมูลที่เป็นตัวหนังสือใดๆที่มีความยาวของข้อมูลคงที่โดยมีความยาว
n ตัวหนังสือประเภทนี้จะมีการจองเนื้อที่ตามความยาวที่คงที่ตามที่กำหนดไว้
ชนิดของข้อมูลประเภทนี้จะเก็บความยาวของข้อมูลได้มากที่สุดได้ 255 ตัวอักษร
- ตัวหนังสือแบบความยาวไม่คงที่(variable-length character) จะใช้ varchar (n) แทนประเภทของข้อมูลที่เป็นตัวหนังสือใดๆที่มีความยาวของข้อมูลไม่คงที่
โดยมีความยาว n ตัวหนังสือประเภทนี้จะมีการจองเนื้อที่ตามความยาวของข้อมูล
ชนิดของข้อมูลประเภทนี้จะเก็บความยาวของข้อมูลได้มากที่สุดได้ 4000 ตัวอักษร
2.2 จำนวนเลข( numeric)
- จำนวนเลขที่มีจุดทศนิยม(decimal) ในภาษา SQL จะใช้ dec(m,n) หรือ decimal(m,n)
เป็นประเภทข้อมูลที่เป็นจำนวนเลขที่มีจุดทศนิยมโดย m คือจำนวนตัวเลขทั้งหมด (รวมจุดทศนิยม) และ n คือจำนวนตัวเลขหลังจุดทศนิยม
- จำนวนเลขที่ไม่มีจุดทศนิยมในภาษา SQL จะใช้ int
หรือ integer เป็นเลขจำนวนเต็มบวกหรือลบขนาดใหญ่
เป็นตัวเลข 10 หลัก ที่มีค่าตั้งแต่ –2,147,483,648 ถึง +2,147,483,647 และในภาษา SQL จะใช้ smallint เป็นประเภทข้อมูลที่เป็นเลขจำนวนเต็มบวกหรือลบขนาดเล็ก
เป็นตัวเลข 5 หลัก ที่มีค่าตั้งแต่ – 32,768 ถึง + 32,767 ตัวเลขจำนวนเต็มประเภทนี้จะมีการจองเนื้อที่น้อยกว่าแบบ
integer
- เลขจำนวนจริง ในภาษา SQL อาจใช้ number(n)แทนจำนวนเลขที่ไม่มีจุดทศนิยมและจำนวนเลขที่มีจุดทศนิยม
2.3 ข้อมูลในลักษณะอื่นๆ
- วันที่และเวลา(Date/Time) เป็นชนิดวันที่หรือเวลาในภาษา
SQL จะใช้ date เป็นข้อมูลวันที่
ซึ่งจะมีหลายรูปแบบให้เลือกใช้ เช่น yyyy-mm-dd (1999-10-31)
dd.mm.yyyy(31. 10.1999) หรือ dd/mm/yyyy (31/10/1999)
ลักษณะการใช้งานของภาษา
SQL
ภาษา
SQL เป็นส่วนประกอบหนึ่งของ DBMS มักพบใน
DBMS เชิงสัมพันธ์หลายตัวและเป็นที่นิยมใช้ในปัจจุบัน ภาษา SQL
ง่ายต่อการเรียนรู้ การใช้งานในภาษา SQLแบ่งเป็น
2 ลักษณะ คือ ภาษา SQL ที่โต้ตอบได้ (interactive
SQL) และภาษา SQL ที่ฝังในโปรแกรม (embedded SQL)
ภาษา
SQL ที่โต้ตอบได้ ใช้เพื่อปฏิบัติงานกับฐานข้อมูลโดยตรง
เป็นการใช้คำสั่งภาษา SQLสั่งงานบนจอภาพ
โดยเรียกดูข้อมูลได้โดยตรงในขณะที่ทำงาน เพื่อให้ได้ผลลัพธ์ที่นำไปใช้ได้
ตัวอย่างเช่น ต้องการเรียกดูข้อมูลในคอลัมน์ SALENAME และ SALECOM
จากตาราง SALESTAB จะใช้คำสั่งของภาษา SQL
ดังนี้
SELECT SALENAME, SALECOM
FROM SALESTAB;
โดยตาราง
SALESTAB มีรายละเอียดของตารางดังนี้
SALENO
|
SALENAME
|
ADDRESS
|
SALECOM
|
1001
|
Chaiwat
|
Bangkok
|
0.12
|
1002
|
Mitree
|
Puket
|
0.13
|
1004
|
Benjawan
|
Bangkok
|
0.11
|
1007
|
Kanjana
|
Chiangmai
|
0.15
|
1003
|
Ternjai
|
Nonthaburi
|
0.10
|
ผลของคำสั่งจะแสดงผลลัพธ์ดังนี้ทันที
SALENAME
|
SALECOM
|
Chaiwat
|
0.12
|
Mitree
|
0.13
|
Benjawan
|
0.11
|
Kanjana
|
0.15
|
Ternjai
|
0.10
|
(รายละเอียดจะได้ศึกษาต่อไป)
ภาษา
SQL ที่ฝังในโปรแกรม เป็นภาษา
SQL ที่ประกอบด้วยคำสั่งต่าง ๆ ของ ภาษา SQL ที่ใส่ไว้ในโปรแกรมที่ส่วนมากแล้วเขียนด้วยภาษาอื่น เช่น โคบอล ปาสคาล
ภาษาซี ลักษณะของคำสั่ง SQL จะแตกต่างจากภาษาอื่นๆ
ในแง่ที่ว่า SQL ไม่มีคำสั่งที่เกี่ยวกับการควบคุม(control
statement)เหมือนภาษาอื่น เช่น if..then…else for…do หรือ loop หรือ while ทำให้มีข้อจำกัดในการเขียนชุดคำสั่งงาน
การใช้ภาษา SQL ฝังในโปรแกรมอื่นจะทำให้ภาษา SQL มีความสามารถและมีประสิทธิภาพมากยิ่งขึ้น ผลลัพธ์ของคำสั่งที่เกิดจากภาษา SQL
ที่ฝังในโปรแกรมจะถูกส่งผ่านไปให้กับตัวแปรหรือพารามิเตอร์ที่ใช้
โดยโปรแกรมที่ภาษา SQL ไปฝังตัวอยู่ เช่น
while not end-of-file(input) do
begin
readin(id-num, salesperson,loc,comm);
EXEC SQL INSERT INTO SALESTAB
VALUES(:id-num,:salesperson,:loc,:comm);
end;
จากตัวอย่างถ้าใช้คำสั่ง
INSERT INTO SALESTAB
VALUES (:id-num,:salesperson,: loc, :comm);
เพียงอย่างเดียว
จะทำให้คำสั่งนี้ใส่ค่า id-num salesperson loc comm ใส่ค่าได้เพียงครั้งเดียว
แต่เมื่อนำคำสั่งนี้มาใส่ไว้ในภาษาปาสคาลข้างต้นจะทำให้คำสั่งดังกล่าวมีความสามารถสูงขึ้นคือคำสั่งนี้จะสามารถทำงานซ้ำ(loop)
โดยใส่ค่าต่างๆลงในตัวแปรเพื่อให้ทำซ้ำกันหลายๆครั้ง
โดยจากตัวอย่างส่วนของโปรแกรมภาษาปาสคาลจะกำหนดลูปวนซึ่งจะอ่านค่าจากแฟ้มข้อมูลแล้วเก็บค่านั้นไว้ในตัวแปร
id-num, salesperson, loc, comm ของตารางSALESTAB การอ่านค่าแล้วเก็บค่าไว้ในตัวแปรจะทำซ้ำจนกระทั่งข้อมูลหมดจากแฟ้มข้อมูล
ทั้งภาษา
SQL ที่โต้ตอบได้และภาษา SQL ที่ฝังในโปรแกรมจะมีลักษณะของคำสั่งที่ใช้งานเหมือนกัน
จะต่างกันแต่เพียงภาษา SQL ที่ฝังในโปรแกรมจะมีวิธีการเชื่อมโยงกับภาษาอื่น
ๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น