วันจันทร์ที่ 15 ธันวาคม พ.ศ. 2557
เว็บ tutorials แนะนำ
www.ninenink.com
www.w3schools.com
www.tutorialspoint.com
www.1keydata.com
www.sqlcourse.com
www.baycongroup.com
www.beginner-sql-tutorial.com
www.sql-tutorial.net
รูปแบบคำสั่ง SQL
SQL SELECT
เป็นคำสั่งที่ใช้สำหรับการเรียกดูข้อมูลในตาราง (Table) คำสั่ง SQL SELECT สามารถเรียกได้ทั้งตาราง หรือว่า สามารถระบุฟิวด์ที่ต้องการเรียกดูข้อมูลได้
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการเรียกดูข้อมูลในตาราง (Table) คำสั่ง SQL SELECT สามารถเรียกได้ทั้งตาราง หรือว่า สามารถระบุฟิวด์ที่ต้องการเรียกดูข้อมูลได้
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT Column1, Column2, Column3,... FROM [Table-Name]
SQL ALIAS
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดย ALIAS คือการสร้างชื่อจำลองขึ้นมาใหม่ โดยสามารถจำลองชื่อได้ทั้งชื่อ Field และชื่อ Table
Database : MySQL
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดย ALIAS คือการสร้างชื่อจำลองขึ้นมาใหม่ โดยสามารถจำลองชื่อได้ทั้งชื่อ Field และชื่อ Table
Database : MySQL
Syntax
SELECT Column1 AS Alias1,Column2 AS Alias2,Column3 AS Alias3,... FROM [Table-Name1] Table Alias
SQL ORDER BY
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยจัดเรียงข้อมูลตามต้องการ
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยจัดเรียงข้อมูลตามต้องการ
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT Culumn1,Culumn2,Culumn3,... FROM [Table-Name] ORDER BY [Field] [ASC/DESC],[Field] [ASC/DESC],...
ASC = น้อยไปหามาก
DESC = มากไปหาน้อย
ASC = น้อยไปหามาก
DESC = มากไปหาน้อย
SQL SELECT INTO
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยใช้การเลือกข้อมูลจากต้นทางไปยังปลายทาง นิยมใช้สำหรับการ Copy Table หรือทำการ Backup Table
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยใช้การเลือกข้อมูลจากต้นทางไปยังปลายทาง นิยมใช้สำหรับการ Copy Table หรือทำการ Backup Table
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT Column1,Column2,Column3,... INTO [New-Table] FROM [Table-Name]
SQL JOIN
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยเงื่อนไขการ JOIN จะกระทำเมื่อมีข้อมูลตั้งแต่ 2 Table ขึ้นไป โดยข้อมูลเหล่านั้นเป็นข้อมูลที่มีความสัมพันธ์และเชื่อมโยงกับข้อมูลหลัก
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยเงื่อนไขการ JOIN จะกระทำเมื่อมีข้อมูลตั้งแต่ 2 Table ขึ้นไป โดยข้อมูลเหล่านั้นเป็นข้อมูลที่มีความสัมพันธ์และเชื่อมโยงกับข้อมูลหลัก
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT [Table-Name1].Column1, [Table-Name2].Column1,... FROM [Table-Name1],[Table-Name2]
WHERE [Table-Name1].Column = [Table-Name2].Column
WHERE [Table-Name1].Column = [Table-Name2].Column
SQL RIGHT JOIN
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยเงื่อนไขการ RIGHT JOIN จะทำการเลือกข้อมูลหลักและข้อมูลเชื่อมโยงที่สัมพันธ์กัน โดยจะทำการอิงจาก Table สองสำคัญก่อน ถ้าไม่มีข้อมูลใน Table แรก ข้อมูล Table สองก็ยังถูกสนใจและนำมาแสดงผล
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยเงื่อนไขการ RIGHT JOIN จะทำการเลือกข้อมูลหลักและข้อมูลเชื่อมโยงที่สัมพันธ์กัน โดยจะทำการอิงจาก Table สองสำคัญก่อน ถ้าไม่มีข้อมูลใน Table แรก ข้อมูล Table สองก็ยังถูกสนใจและนำมาแสดงผล
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT [Table-Name1].Column1, [Table-Name2].Column1,... FROM [Table-Name1]
RIGHT JOIN [Table-Name2] ON [Table-Name1].Column = [Table-Name2].Column
RIGHT JOIN [Table-Name2] ON [Table-Name1].Column = [Table-Name2].Column
SQL UNION
เป็นคำสั่งที่ใช้สำหรับการรวมหลาย Query มารวมให้ใน Table เดียวกับ โดยจำนวน คอลัมบ์หรือฟิวด์นั้นจะต้องเท่ากันด้วย
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการรวมหลาย Query มารวมให้ใน Table เดียวกับ โดยจำนวน คอลัมบ์หรือฟิวด์นั้นจะต้องเท่ากันด้วย
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT Column1,Column2,... FROM [Table-Name]
UNION
SELECT Column1,Column2,... FROM [Table-Name]
...
UNION
SELECT Column1,Column2,... FROM [Table-Name]
...
SQL TOP
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้
Database : Microsoft Access,SQL Server
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้
Database : Microsoft Access,SQL Server
Syntax
SELECT TOP [Integer] Column1, Column2, Column3,... FROM [Table-Name] ORDER BY [Field] [ASC/DESC]
SQL ROWNUM
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้
Database : Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้
Database : Oracle
Syntax
SELECT Column1, Column2, Column3,... FROM [Table-Name] WHERE ROWNUM <= [Int-Limit]
SQL LIKE
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการค้นหาข้อความที่ระบุภายในฟิวด์ที่กำหนด
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการค้นหาข้อความที่ระบุภายในฟิวด์ที่กำหนด
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT Column1,Column2,Column3,... FROM [Table-Name] WHERE [Filed] LIKE '%Value%'
ที่มา : http://www.thaicreate.com/tutorial/sql-union.html
ที่มา : http://www.thaicreate.com/tutorial/sql-union.html
ข้อสอบ O-NET
1.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท Smartphone.
1. Ubumtu 2. Iphone os
3. Android 4. Symbian
2.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
1. ไฟล์เพลง MP 3 (mp 3)
2. ไฟล์รูปประเภท JPEG (jpeg)
3. ไฟล์แสดงผลหน้าเว็บ (html)
4. ไฟล์วีดีโอประเภท Movie (movie)
3.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก. นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข. ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค. แก้ไขปรับปรุงโปรแกรมเองได้
1. ข้อ ก กับ ข้อ ค 2. ข้อ ข กับ ข้อ ค
3. ข้อ ข อย่างเดียว 4. ข้อ ก อย่างเดียว
4.ระบบกระดานสนทนาหรือเว็บบอร์ดแห่งหนึ่งมีความต้องการดังนี้ก. ต้องให้ผู้ใช้สามารถตั้งกระทู้โต้ตอบกันได้โดยผู้ใช้
ต้องแสดงตัวตน(ล็อกอิน)เพื่อเข้าระบบก่อน
ข. ผู้ใช้สามารถตั้งกระทู้หรือเข้าไปตอบกระทู้ที่ตั้งไว้แล้วได้
ค. ระบบจะบันทึกชื่อผู้ตั้งและผู้ตอบไว้ด้วย
ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
1. ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
2. ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
3. ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
ในตารางกระทู้อยู่แล้ว
4. ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
ตั้งในตารางผู้ใช้ได้เลย
5.ข้อใดเป้นการปฏิบัติที่ถูกต้องตามหลักวิชาการเมื่อค้นคว้า
หาข้อมูลจากอินเทอร์เนตมาทำรายงาน.
1. คัดลอกเนื้อหาจากเว็บไซต์
2. ใช้เนื้อหาจากกระดานสนทนา(Web board)มาใส่ในรายงาน
3. นำรูปภาพจากเว็บไซต์มาใส่ในรายงาน
4. อ้างอิงชื่อผู้เขียนบทความ
6.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
1. Smart Card 2. Fingerprint
3. Barcode 4. WiFi
7.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก. ฮาร์แวร์คอมพิวเตอร์ ข. ระบบปฎิบัติการ
ค. เว็บเซิร์ฟเวอร์ ง. HTML
จ. ระบบฐานข้อมูล ฉ. ภาษาจาวา(Java)
1. ข้อ ก และ ค 2. ข้อ ข และ จ
3. ข้อ ค และ ง 4. ข้อ ค และ ฉ
8.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
1. Wi-Fi , IP 2. Wi-Fi ,Bluetooth
3. 3G ADSL 4. 3G Ethernet
9.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
1. การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
2. เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
3. ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
4. ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
10.ข้อใดต่อไปนี้ถูกต้องที่สุด.
1. การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
2. หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ Network Interce Card
3. หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
4. รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด 8 บิด
ที่มา www.krupaga.wordpress.com
วันจันทร์ที่ 24 พฤศจิกายน พ.ศ. 2557
ฟังก์ชันใน PHP
ฟังก์ชันในโปรแกรมส่วนใหญ่ได้รับการเรียกคำสั่งเพื่อทำงานอย่างเดียว สิ่งนี้ทำให้คำสั่งอ่านได้ง่ายและยอมให้ใช้คำสั่งใหม่แต่ละครั้งเมื่อต้องการทำงานเดียวกัน
ฟังก์ชันเป็นโมดูลเก็บคำสั่งที่กำหนดการเรียกอินเตอร์เฟซ ทำงานเดียวกัน และตัวเลือกส่งออกค่าจากการเรียกฟังก์ชัน คำสั่งต่อไปเป็นการเรียกฟังก์ชันอย่างง่าย
my_function ();
my_function ();
คำสั่งเรียกฟังก์ชันชื่อ my_function ที่ไม่ต้องการพารามิเตอร์ และไม่สนใจค่าที่อาจจะส่งออกโดยฟังก์ชันนี้
ฟังก์ชันจำนวนมากได้รับการเรียกด้วยวิธีนี้ เช่น ฟังก์ชัน phpinfo () สำหรับแสดงเวอร์ชันติดตั้งของ PHP สารสนเทศเกี่ยวกับ PHP การตั้งค่าแม่ข่ายเว็บ ค่าต่างๆ ของ PHP และตัวแปร ฟังก์ชันนี้ไม่ใช้พารามิเตอร์และโดยทั่วไปไม่สนใจค่าส่งออก ดังนั้นการเรียก phpinfo () จะประกอบขึ้นดังนี้
phpinfo ();
การกำหนดฟังก์ชันและการเรียกฟังก์ชัน
การประกาศฟังก์ชันเริ่มต้นด้วยคีย์เวิร์ด function กำหนดชื่อฟังก์ชัน พารามิเตอร์ที่ต้องการ และเก็บคำสั่งที่จะประมวลผลแต่ละครั้งเมื่อเรียกฟังก์ชันนี้
<?php
function function_name(parameter1,…)
{
{
ชุดคำสั่ง …
}
?>
?>
ชุดคำสั่งต้องเริ่มต้นและสิ้นสุดในวงเล็บปีกกา ({ }) ตัวอย่างฟังก์ชัน my_function
<?php
function my_function()
{
function my_function()
{
$mystring =<<<BODYSTRING
my function ได้รับการเรียก
BODYSTRING;
echo $mystring;
echo $mystring;
}
?>
?>
การประกาศฟังก์ชันนี้ เริ่มต้นด้วย function ดังนั้นผู้อ่านและตัวกระจาย PHP ทราบว่าต่อไปเป็นฟังก์ชันกำหนดเอง ชื่อฟังก์ชันคือ my_function การเรียกฟังก์ชันนี้ใช้ประโยคคำสั่งนี้
my_function ();
my_function ();
การเรียกฟังก์ชันนี้จะให้ผลลัพธ์เป็นข้อความ "my function ได้รับการเรียก " บน browser
การตั้งชื่อฟังก์ชัน
สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น pageheader () หรือ page_header ()
ข้อจำกัดในการตั้งชื่อคือ
- ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
- ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
- ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่
หมายเหตุ ถึงแม้ว่าทุกสคริปต์ PHP รู้จักฟังก์ชันภายในทั้งหมด ฟังก์ชันกำหนดเองอยู่เฉพาะในสคริปต์ที่ประกาศสิ่งนี้หมายความว่า ชื่อฟังก์ชันสามารถใช้ในคนละไฟล์แต่อาจจะไปสู่ความสับสน และควรหลีกเลียง
ชื่อฟังก์ชันต่อไปนี้ถูกต้อง
name ()
name2 ()
name_three ()
_namefour ()
name ()
name2 ()
name_three ()
_namefour ()
ชื่อไม่ถูกต้อง
5name ()
Name-six ()
fopen ()
5name ()
Name-six ()
fopen ()
การเรียกฟังก์ชันไม่มีผลจากชนิดตัวพิมพ์ ดังนั้นการเรียก function_name (), Function_Name() หรือ FUNCTION_NAME() สามารถทำได้และมีผลลัพธ์เหมือนกัน แต่แบบแผนการกำหนดชื่อฟังก์ชันใน PHP ให้ใช้ตัวพิมพ์เล็ก
ชื่อฟังก์ชันแตกต่างจากชื่อตัวแปร โดยชื่อตัวแปรเป็นชนิดตัวพิมพ์มีผล ดังนั้น $Name และ $name เป็น 2 ตัวแปร แต่ Name () และ name () เป็นฟังก์ชันเดียวกัน
การหยุดประมวลผลภายในฟังก์ชัน
คีย์เวิร์ด return หยุดการประมวลผลฟังก์ชัน ฟังก์ชันสิ้นสุดได้เพราะประโยคคำสั่งทั้งหมดได้รับการประมวลผล หรือ ใช้คีย์เวิร์ด return การประมวลผลกลับไปยังประโยคคำสั่งต่อจากการเรียกฟังก์ชัน
<?php
function division($x, $y)
{
{
if ($y == 0 || !isset($y))
{
echo " ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า" ;}
return;
$result = $x / $y;
echo $result;
}
?>
?>
ถ้าประโยคคำสั่ง return ได้รับการประมวลผล บรรทัดคำสั่งต่อไปในฟังก์ชันจะถูกข้ามไป และกลับไปยังผู้เรียกฟังก์ชันนี้ ในฟังก์ชันนี้ ถ้า y เป็น 0 จะหยุดการประมวลผล ถ้า y ไม่เท่ากับ 0 จะคำนวณผลหาร
สมมติป้อนค่าเป็น
x = 4, y = 0
x = 4
x = 4, y = 2
x = 4, y = 0
x = 4
x = 4, y = 2
ผลลัพธ์ของคำสั่ง คือ
x = 4, y = 0 ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = 2 ผลลัพธ์ 2
x = 4, y = 0 ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = 2 ผลลัพธ์ 2
การเรียกฟังก์ชัน
เมื่อฟังก์ชันได้รับการประกาศหรือสร้างขึ้นแล้ว การเรียกฟังก์ชันสามารถเรียกมาจากที่ใดๆ ภายในสคริปต์ หรือ จากไฟล์ที่มีการรวมด้วยประโยคคำสั่ง include() หรือ require()
ตัวอย่าง ฟังก์ชัน show_message() เก็บอยู่ในไฟล์ fn_ 03 _keeper.php ส่วนผู้เรียกอยู่ในสคริปต์ fn_ 03 _caller.php
<?php
include("fn_ 03 _keeper.php");
show_message();
?>
พารามิเตอร์
ตามปกติฟังก์ชันส่วนใหญ่ต้องการรับสารสนเทศจากผู้เรียกสำหรับการประมวลผล โดยทั่วไปเรียกว่า พารามิเตอร์
ไวยากรณ์พื้นฐาน
การกำหนดฟังก์ให้รับพารามิเตอร์ส่งผ่านโดยการวางข้อมูล ชื่อตัวแปรที่เก็บข้อมูลภายในวงเล็บหลังชื่อฟังก์ชัน การเรียกฟังก์ชันที่ประกอบด้วยพารามิเตอร์เขียนดังนี้
<?php
function show_parameter($param1, $param2, $param3)
{
{
echo <<<PARAM
รายการพารามิเตอร์ <br/>
param1: $param1 <br/>
param2: $param2 <br/>
param3: $param3 <br/>
PARAM;
}
?>
?>
พารามิเตอร์ที่ส่งไปยังฟังก์ชันแยกกันเครื่องหมายจุลภาคภายในวงเล็บ โดยสามารถส่งเป็นนิพจน์สำหรับแต่ละพารามิเตอร์ด้วย ตัวแปร ค่าคงที่ ผลลัพธ์จากการคำนวณ รวมถึงการเรียกฟังก์ชัน
scope ของพารามิเตอร์จำกัดภายในฟังก์ชัน ถ้าชื่อตัวแปรเหมือนกับตัวแปรใน scope ระดับอื่น พารามิเตอร์นี้ "ระบุ" เป็นตัวแปรภายในที่ไม่มีผลกับตัวแปรภายนอกฟังก์ชัน
การส่งผ่านโดยค่า(By Value)
ตามปกติการส่งผ่านพารามิเตอร์ไปยังฟังก์ชันเป็นการส่งผ่านค่า การเปลี่ยนแปลงจะจำกัดภายในเฉพาะภายในฟังก์ชัน
ตัวอย่างฟังก์ชัน new_value () ที่ยอมให้เพิ่มค่า อาจจะเขียนคำสั่งดังนี้
<?php
function new_value($value, $increment= 1)
{
{
$value = $value + $increment;
}
$value = 10 ;
new_value($value);
echo "$value<br/>\n";
?>
คำสั่งนี้ใช้ไม่ได้ ผลลัพธ์จะเป็น "10" ค่าใหม่ของ $value ไม่มีการเปลี่ยนแปลง
สิ่งนี้เป็นเพราะกฎ scope คำสั่งนี้สร้างตัวแปรเรียกว่า $value เป็น 10 เมื่อเรียกฟังก์ชัน new_value () ตัวแปร $value ในฟังก์ชันได้รับการสร้างเมื่อเรียกฟังก์ชัน ค่า 1 ได้รับการเพิ่มให้กับตัวแปร ดังนั้นค่าของ $value คือ 11 ภายในฟังก์ชัน จนกระทั่งสิ้นสุดฟังก์ชัน แล้วกลับไปยังคำสั่งที่เรียกภายในคำสั่งนี้ ตัวแปร $value เป็นอีกตัวแปร global scope และไม่มีการเปลี่ยนแปลง
การส่งผ่านโดยการอ้างอิง (By Reference)
ตามตัวอย่างฟังก์ชัน new_value ถ้าต้องการให้ฟังก์ชันเปลี่ยนแปลงค่าได้ มีวิธีหนึ่งในการแก้ไขคือ ประกาศ $value ในฟังก์ชันเป็น global แต่หมายความว่าในการใช้ฟังก์ชันนี้ ตัวแปรที่ต้องการเพิ่มค่าต้องตั้งชื่อเป็น $value แต่มีวิธีดีกว่าคือ ใช้การส่งผ่านโดยการอ้างอิง
การอ้างอิงไปตัวแปรต้นทางแทนที่มีค่าของตัวเอง การปรับปรุงไปยังการอ้างอิงจะมีผลกับตัวแปรต้นทางด้วย
การระบุพารามิเตอร์ที่ใช้การส่งผ่านโดยการอ้างอิงให้วาง ampersand (&) หน้าชื่อพารามิเตอร์ในข้อกำหนดฟังก์ชัน
ตัวอย่าง new_value () ได้รับปรับปรุงให้มี 1 พารามิเตอร์ส่งผ่านโดยการอ้างอิงและทำงานได้อย่างถูกต้อง
<?php
function new_value(&$value, $increment=1)
{
{
$value = $value + $increment;
}
?>
?>
คำสั่งทดสอบฟังก์ชัน ให้พิมพ์ 10 ก่อนการเรียก increment () และ 11 ภายหลัง
ในการส่งค่าโดยการอ้างอิงต้องส่งเป็นตัวแปรไม่สามารถกำหนดค่าคงที่โดยตรง
จำนวนตัวแปรของพารามิเตอร์
การส่งผ่านพารามิเตอร์ไปยังฟังก์ชันนั้น การควบคุมของ PHP ได้กำหนดฟังก์ชันจำนวนหนึ่งให้ยอมรับจำนวนตัวแปรของพารามิเตอร์ ได้แก่ func_num_args, func_get_arg และ func_get_args
func_num_args() บอกจำนวนพารามิเตอร์ไปยังฟังก์ชันที่เรียก func_get_arg() แสดงค่าของพารามิเตอร์ตามดัชนี และ func_get_args() ส่งออก array ของพารามิเตอร์
<?php
function show_pass_value()
{
{
$idx = count(func_get_args());
echo " จำนวนพารามิเตอร์ $idx <br/>\n";
if ($idx > 0)
echo ">> ใช้ฟังก์ชัน func_get_arg<br/>\n";
for ($i = 0 ; $i < $idx; $i++)
{
echo " พารามิเตอร์ที่ $i ค่า: ". func_get_arg($i)."<br/>\n";}
if ($idx > 0)
echo ">> ใช้ฟังก์ชัน func_get_args<br/>\n";
$params = func_get_args();
foreach ($params as $index => $val)
{
echo " พารามิเตอร์ที่ $index ค่า: $val<br/>\n";}
echo " *********<br/>\n";
}
$x = 4 ;
show_pass_value("one", "two", 3 , $x, " ห้า" , " หก") ;
show_pass_value();
show_pass_value("one", "two", 3 , $x, " ห้า" , " หก") ;
show_pass_value();
?>
ผลลัพธ์
จำนวนพารามิเตอร์ 6
>> ใช้ฟังก์ชัน func_get_arg
พารามิเตอร์ที่ 0 ค่า: one
พารามิเตอร์ที่ 1 ค่า: two
พารามิเตอร์ที่ 2 ค่า: 3
พารามิเตอร์ที่ 3 ค่า: 4
พารามิเตอร์ที่ 4 ค่า: ห้า
พารามิเตอร์ที่ 5 ค่า: หก
จำนวนพารามิเตอร์ 6
>> ใช้ฟังก์ชัน func_get_arg
พารามิเตอร์ที่ 0 ค่า: one
พารามิเตอร์ที่ 1 ค่า: two
พารามิเตอร์ที่ 2 ค่า: 3
พารามิเตอร์ที่ 3 ค่า: 4
พารามิเตอร์ที่ 4 ค่า: ห้า
พารามิเตอร์ที่ 5 ค่า: หก
>> ใช้ฟังก์ชัน func_get_args
พารามิเตอร์ที่ 0 ค่า: one
พารามิเตอร์ที่ 1 ค่า: two
พารามิเตอร์ที่ 2 ค่า: 3
พารามิเตอร์ที่ 3 ค่า: 4
พารามิเตอร์ที่ 4 ค่า: ห้า
พารามิเตอร์ที่ 5 ค่า: หก
พารามิเตอร์ที่ 0 ค่า: one
พารามิเตอร์ที่ 1 ค่า: two
พารามิเตอร์ที่ 2 ค่า: 3
พารามิเตอร์ที่ 3 ค่า: 4
พารามิเตอร์ที่ 4 ค่า: ห้า
พารามิเตอร์ที่ 5 ค่า: หก
*********
จำนวนพารามิเตอร์ 0
จำนวนพารามิเตอร์ 0
Scope
เมื่อต้องการใช้ตัวแปรภายในไฟล์ที่รวม ต้องมีการประกาศตัวแปรเหล่านั้นก่อนประโยคคำสั่ง require () หรือ include () แต่เมื่อใช้ฟังก์ชันจะเป็นการส่งผ่านตัวแปรเชิงประจักษ์เหล่านั้นไปยังฟังก์ชัน บางส่วนเป็นเพราะไม่มีกลไกส่งผ่านตัวแปรเชิงประจักษ์ไปยังไฟล์ที่รวม และบางส่วนเป็นเพราะ scope ของตัวแปรของฟังก์ชันแตกต่างกัน
การควบคุม scope ของตัวแปรเป็นการทำให้ตัวแปรมองเห็นได้ ใน PHP มีกฎตั้งค่า scope ดังนี้
- การประกาศตัวแปรภายในฟังก์ชันอยู่ใน scope จากประโยคคำสั่งซึ่งตัวแปรให้รับการประกาศภายในวงเล็บปีกกา สิ่งนี้เรียกว่า function scope ตัวแปรเรียกว่า local variable
- การประกาศตัวแปรภายนอกฟังก์ชันอยู่ใน scope จากประโยคคำสั่งซึ่งตัวแปรได้รับการประกาศที่สิ้นสุดแต่ไม่ใช้ภายในฟังก์ชัน สิ่งนี้เรียกว่า global scope ตัวแปรเรียกว่า global variable
- การใช้ประโยคคำสั่ง require () และ include () ไม่มีผลกับ scope ถ้าประโยคคำสั่งได้รับการใช้ภายในฟังก์ชัน ประยุกต์ด้วย function scope ถ้าไม่ได้อยู่ภายในฟังก์ชัน ประยุกต์ด้วย global scope
- คีย์เวิร์ด global สามารถระบุได้เองเพื่อกำหนดหรือใช้ตัวแปรภายในฟังก์ชันให้มี scope เป็น global
- ตัวแปร สามารถลบโดยการเรียก unset ($variable_name) และตัวแปรที่ unset จะไม่มี scope
- ตัวแปรระดับ superglobal สามารถเข้าถึงได้ทุกส่วนในสคริปต์
ตัวแปรระดับฟังก์ชัน
ตัวแปรระดับฟังก์ชันหรือ local variable เป็นการประกาศเพื่อใช้เฉพาะภายในฟังก์ชัน ไม่สามารถเรียกจากภายนอกฟังก์ชันได้
<?php
$newline = <<<NLSTRING
<br/>\n
NLSTRING;
$var_global = 10 ;
function show_value()
{
{
global $newline;
$var_local= 75 ;
echo "\$var_local 1: $var_local";
echo $newline;
}
show_value();
echo "\$var_global : $var_global";
echo $newline;
echo "\$var_local 2: $var_local";
echo $newline;
echo "\$var_global : $var_global";
echo $newline;
echo "\$var_local 2: $var_local";
echo $newline;
?>
ผลลัพธ์
$var_global 1 :
$var_local 1: 75
$var_global 1 :
$var_local 1: 75
$var_global 2: 10
$var_local 2:
$var_local 2:
ตามตัวอย่างนี้ ตัวแปรระดับฟังก์ชัน $var_local ไม่สามารถแสดงผลในการพิมพ์ภายนอกฟังก์ชัน show_value() และ $var_global ที่เป็นตัวแปรระดับ global ไม่สามารถแสดงผลภายใน show_value() เพราะมี scope ต่างกัน
ตัวแปรระดับ global
ถ้าต้องการนำตัวแปรระดับ global มาใช้ภายในฟังก์ชันต้องประกาศด้วยคีย์เวิร์ด global ก่อนประโยคคำสั่งที่ใช้ตัวแปรนั้น ตัวอย่าง ฟังก์ชัน show_value() ใช้ $newline จากภายนอกฟังก์ชัน
global $newline;
ตัวแปรสถิตย์
การประกาศตัวแปรสถิตย์ใช้ คีย์เวิร์ด static เมื่อมีการเรียกใช้ฟังก์ชัน โปรแกรมจะกำหนดค่าตัวแปรตามที่ระบุเพียงครั้งเดียว ถ้าเรียกซ้ำอย่างต่อเนื่องค่านี้จะเปลี่ยนแปลงตามการคำนวณ
<?php
function increment()
{
{
static $increase = 5 ;
$increase++;
echo $increase."<br/>\n";
}
$end = 5 ;
for ($i = 1 ; $i < $end; $i++)
increment();
increment();
?>
ผลลัพธ์
6
7
8
9
6
7
8
9
ค่าของตัวแปรสถิตย์ได้รับการตั้งทุกครั้งเมื่อเรียกใช้ในครั้งต่อไป
การส่งออกค่าจากฟังก์ชัน
การส่งค่าออกจากฟังก์ชันใช้คีย์เวิร์ด return เช่นเดียวกับการออกจากฟังก์ชันได้ ถ้าไม่มีการระบุส่งออกฟังก์ชันจะส่งค่า NULL
ตัวอย่าง ฟังก์ชัน get_larger () สาธิตการส่งออกค่า
<?
function get_larger($x=NULL, $y=NULL)
{
{
if (!isset($x) || !isset($y))
return " ไม่มีการส่งค่า" ;
return " ไม่มีการส่งค่า" ;
if ($x > $y)
return $x;
else if ($x < $y)
return $y;
else
return " ค่าเท่ากัน" ;
return $x;
else if ($x < $y)
return $y;
else
return " ค่าเท่ากัน" ;
}
$sends = array();
$sends[0] = array('x' =>5);
$sends[1] = array('x' =>9, 'y'=>3);
$sends[2] = array('x' =>5, 'y'=>8);
$sends[3] = array('x' =>4, 'y'=>4);
$sends[0] = array('x' =>5);
$sends[1] = array('x' =>9, 'y'=>3);
$sends[2] = array('x' =>5, 'y'=>8);
$sends[3] = array('x' =>4, 'y'=>4);
foreach ($sends as $send)
{
{
echo "x = ".$send['x']." y = ".$send['y']." : ค่า - > "
.get_larger($send['x'], $send['y']);
echo "<br/>\n";
}
?>
ผลลัพธ์
x = 5 y = : ค่า - > ไม่มีการส่งค่า
x = 9 y = 3 : ค่า - > 9
x = 5 y = 8 : ค่า - > 8
x = 4 y = 4 : ค่า - > ค่าเท่ากัน
x = 5 y = : ค่า - > ไม่มีการส่งค่า
x = 9 y = 3 : ค่า - > 9
x = 5 y = 8 : ค่า - > 8
x = 4 y = 4 : ค่า - > ค่าเท่ากัน
ฟังก์ชันที่ทำงานอาจเดียว แต่ไม่จำเป็นต้องส่งออกค่า มักจะส่งออก TRUE หรือ FALSE เพื่อระบุความสำเร็จหรือล้มเหลว ค่า TRUE หรือ FALSE สามารถได้รับการแสดงแทนด้วย 1 หรือ 0
Recursion
recursion ได้รับการสนับสนุนใน PHP ฟังก์ชันชนิดนี้เป็นการเรียกตัวเองและเป็นประโยชน์กับการบังคับโครงสร้างข้อมูลไดนามิคส์ เช่น รายการเชื่อมโยงและโครงสร้างต้นไม้ (tree)
โปรแกรมประยุกต์เว็บจำนวนไม่มากต้องการโครงสร้างข้อมูลซับซ้อนมากและจำกัดการใช้ เนื่องจาก recursion ช้ากว่าและใช้หน่วยความจำมากกว่าการทำงานวนรอบ ดังนั้นควรเลือกการทำงานแบบวนรอบปกติ ถ้าเป็นไปได้
ตัวอย่างการประยุกต์แบบย้อนกลับตัวอักษร
<?php
function word_reverse_r($str)
{
{
if (strlen($str)>0)
word_reverse_r(substr($str, 1));
echo substr($str, 0, 1);
return;
}
function word_reverse_i($str)
{
{
for ($i=1; $i<=strlen($str); $i++)
{
echo substr($str, -$i, 1);}
return;
}
?>
?>
รายการคำสั่งของ 2 ฟังก์ชันนี้จะพิมพ์ข้อความย้อนกลับ ฟังก์ชัน word_reverse_r เป็น recursion ฟังก์ชัน word_reverse_i เป็นการวนรอบ
ฟังก์ชัน word_reverse_r ใช้ข้อความเป็นพารามิเตอร์ เมื่อมีการเรียกฟังก์ชันนี้ จะเกิดการเรียกตัวเองแต่ละครั้งส่งผ่านตัวอักษรที่ 2 ไปถึงตัวอักษรสุดท้าย
การเรียกฟังก์ชันแต่ละครั้งจะทำสำเนาใหม่ของคำสั่งในหน่วยความจำของแม่ข่าย แต่ด้วยพารามิเตอร์ต่างกัน ดังนั้นจึงเหมือนกับการเรียกคนละฟังก์ชัน
วันอังคารที่ 4 พฤศจิกายน พ.ศ. 2557
ฐานข้อมูล
ฐานข้อมูล หมายถึง แหล่งที่ใช้สำหรับเก็บรวบรวมข้อมูลซึ่งอยู่ในรูปแฟ้มข้อมูลมารวมไว้ที่เดียวกัน รวมทั้งต้องมีส่วนของพจนานุกรมข้อมูล (data dictionary) เก็บคำอธิบายเกี่ยวกับโครงสร้างของฐานข้อมูล และเนื่องจากข้อมูลที่จัดเก็บนั้นต้องมีความสัมพันธ์ซึ่งกันและกันทำให้สามารถสืบค้น (retrieval) แก้ไข (modified) ปรับปรุงเปลี่ยนแปลงโครงสร้าง ข้อมูล (update) และจัดเรียง (sort) ได้สะดวกขึ้นโดยในการกระทำการดังที่กล่าวมาแล้ว ต้องอาศัยซอฟต์แวร์ประยุกต์สำหรับจัดการฐานข้อมูล
ระบบฐานข้อมูล หมายถึง ระบบการรวบรวมแฟ้มข้อมูลหลายๆ แฟ้มข้อมูลเข้าด้วยกัน โดยขจัดความซ้ำซ้อนของข้อมูลออก แล้วเก็บข้อมูลไว้ที่ศูนย์กลาง เพื่อการใช้งานร่วมกันในองค์กร ภายในระบบต้องมีส่วนที่เป็นโปรแกรมประยุกต์ที่สร้างขึ้นเพื่อเชื่อมโยงและใช้งานข้อมูลในฐานข้อมูล (database) และจะต้องมีการดูแลรักษาความปลอดภัยของข้อมูลเหล่านั้น มีการกำหนดสิทธิของผู้ใช้งานแต่ละคนให้แตกต่างกัน ตามแต่ความต้องการในการใช้งาน
ระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูล หมายถึง กลุ่มโปรแกรมหรือซอฟต์แวร์ชนิดหนึ่ง ที่สร้างขึ้นมาเพื่อทำหน้าที่บริหารฐานข้อมูลโดยตรง ให้มีประสิทธิภาพมากที่สุด เป็นเครื่องมือที่ช่วยอำนวยความสะดวกให้ผู้ใช้สามารถเข้าถึงข้อมูลได้ โดยที่ผู้ใช้ไม่จำเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายในโครงสร้างฐานข้อมูล พูดง่าย ๆ ก็คือ DBMS นี้เป็นตัวกลางในการเชื่อมโยงระหว่างผู้ใช้ และโปรแกรมต่างๆ ที่เกี่ยวข้องกับระบบฐานข้อมูล ตัวอย่างของ DBMS ที่นิยมใช้ในปัจจุบัน ได้แก่
Microsoft Access, FoxPro, SQL Server, Oracle, Informix, DB2 เป็นต้น
หน้าที่ของระบบจัดการฐานข้อมูล มีดังนี้
1. กำหนดมาตรฐานข้อมูล
2. ควบคุมการเข้าถึงข้อมูลแบบต่าง ๆ
3. ดูแล-จัดเก็บข้อมูลให้มีความถูกต้องแม่นยำ
4. จัดเรื่องการสำรอง และฟื้นสภาพแฟ้มข้อมูล
5. จัดระเบียบแฟ้มทางกายภาพ (Physical Organization)
6. รักษาความปลอดภัยของข้อมูลภายในฐานข้อมูล และป้องกันไม่ใช้ข้อมูลสูญหาย
7. บำรุงรักษาฐานข้อมูลให้เป็นอิสระจากโปรแกรมแอพพลิเคชันอื่น ๆ
8. เชื่อมโยงข้อมูลที่มีความสัมพันธ์เข้าด้วยกัน เพื่อรองรับความต้องการใช้ข้อมูลในระดับ
ประโยชน์ของฐานข้อมูล
1 ลดการเก็บข้อมูลที่ซ้ำซ้อน ข้อมูลบางชุดที่อยู่ในรูปของแฟ้มข้อมูลอาจมี
ปรากฏอยู่หลาย ๆ แห่ง เพราะมีผู้ใช้ข้อมูลชุดนี้หลายคน เมื่อใช้ระบบฐานข้อมูลแล้วจะช่วยให้
ความซ้ำซ้อนของข้อมูลลดน้อยลง
2 รักษาความถูกต้องของข้อมูล เนื่องจากฐานข้อมูลมีเพียงฐานข้อมูลเดียว ใน
กรณีที่มีข้อมูลชุดเดียวกันปรากฏอยู่หลายแห่งในฐานข้อมูล ข้อมูลเหล่านี้จะต้องตรงกัน ถ้ามีการ
แก้ไขข้อมูลนี้ทุก ๆ แห่งที่ข้อมูลปรากฏอยู่จะแก้ไขให้ถูกต้องตามกันหมดโดยอัตโนมัติด้วย
ระบบจัดการฐานข้อมูล
2.3 การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้อย่างสะดวก การ
ป้องกันและรักษาความปลอดภัยกับข้อมูลระบบฐานข้อมูลจะให้เฉพาะผู้ที่เกี่ยวข้องเท่านั้น
ซึ่งก่อให้เกิดความปลอดภัย(security) ของข้อมูลด้วย
MySQL
MySQL คือ โปรแกรมระบบจัดการฐานข้อมูล มีหน้าที่เก็บข้อมูลอย่างเป็นระบบ รองรับคำสั่ง SQL เป็นเครื่องมือสำหรับเก็บข้อมูล ที่ต้องใช้ร่วมกับเครื่องมือหรือโปรแกรมอื่นอย่างบูรณาการ เพื่อให้ได้ระบบงานที่รองรับ ความต้องการของผู้ใช้ เช่นทำงานร่วมกับเครื่องบริการเว็บ (Web Server) เพื่อให้บริการแก่ภาษาสคริปต์ที่ทำงานฝั่งเครื่องบริการ (Server-Side Script) เช่น ภาษา php ภาษา aps.net หรือภาษาเจเอสพี เป็นต้น
ความสามารถและการทำงานของโปรแกรม MySQL มีดังต่อไปนี้
MySQL ถือเป็นระบบจัดการฐานข้อมูลมีลักษณะเป็นโครงสร้างของการเก็บรวบรวมข้อมูล การที่จะเพิ่มเติม เข้าถึงหรือประมวลผลข้อมูลที่เก็บในฐานข้อมูลจำเป็นจะต้องอาศัยระบบจัดการ ฐานข้อมูล ซึ่งจะทำหน้าที่เป็นตัวกลางในการจัดการกับข้อมูลในฐานข้อมูลทั้งสำหรับการ ใช้งานเฉพาะ และรองรับการทำงานของแอพลิเคชันอื่นๆ ที่ต้องการใช้งานข้อมูลในฐานข้อมูล เพื่อให้ได้รับความสะดวกในการจัดการกับข้อมูลจำนวนมาก MySQL ทำหน้าที่เป็นทั้งตัวฐานข้อมูลและระบบจัดการฐานข้อมูล
MySQLเป็นระบบจัดการฐานข้อมูลแบบrelational จะทำการเก็บข้อมูลทั้งหมดในรูปแบบของตารางแทนการเก็บข้อมูลทั้งหมดลงในไฟล์ เพียงไฟล์เดียว ทำให้ทำงานได้รวดเร็วและมีความยืดหยุ่น MySQL แจกจ่ายให้ใช้งานแบบ Open Source นั่นคือ ผู้ใช้งาน MySQL ทุกคนสามารถใช้งานและปรับแต่งการทำงานได้ตามต้องการ สามารถดาวน์โหลดโปรแกรม MySQL ได้จากอินเทอร์เน็ตและนำมาใช้งานโดยไม่มีค่าใช้จ่ายใดๆ
SQL Server
SQL Server เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (relational database management system หรือ RDBMS) จาก Microsoft ที่ได้รับการออกแบบสำหรับสภาพแวดล้อมวิสาหกิจ SQL Server เรียกใช้บน T-SQL (Transact -SQL) ชุดของส่วนขยายโปรแกรมจาก Sybase และ Microsoft ที่เพิ่มหลายส่วนการทำงานจาก SQL มาตรฐาน รวมถึงการควบคุมทรานแซคชัน, exception และการควบคุมความผิดพลาด, การประมวลผลแถว และการประกาศตัวแปร
Oracle
Oracle
Oracle เป็นฐานข้อมูลที่ได้รับความนิยมและมีการใช้งานอย่างแพร่หลายเนื่องจากเป็นฐานข้อมูลที่มีประสิทธิภาพในการทำงานสูงเหมาะกับการจัดการเก็บข้อมูลขนาดใหญ่ที่ต้องการความปลอดภัยและความมั่นคงในการใช้งาน การจัดการฐานข้อมูลOracleให้เป็นไปอย่างถูกต้องจะช่วยให้การใช้งานฐานข้อมูลเป็นไปได้ง่ายและมี ประสิทธิภาพมากยิ่งขึ้นหน้าที่ในการจัดการฐานข้อมูลเป็นหน้าที่หลักของผู้ดูและระบบฐานข้อมูล หรือ DBA (Database Administrator) ลักษณะงาน ซอฟแวร์ของ Oracle มี 2 แบบ คือ Personal Oracle และ Oracle Server
ข้อดีของ Oracle
1.เทคโนโลยี Rollback Segment ถูกนำมาใช้ในโปรแกรม Oracle ประโยชน์ Rollback Segment คือ สามารถจัดการกับข้อมูลในกรณีที่เกิดการล้มเหลวของระบบ หรือภาวะระบบไม่สามารถให้บริการได้ ด้วยเทคโนโลยี Rollback Segment จะจัดการ Instance Recovery ข้อมูลไม่ให้เกิดความเสียหายอันเนื่องมาจาก การล้มเหลวของระบบ ได้อย่างดีมาก
2. Oracle ยังมีส่วนที่เรียกว่า Timestamp ทำงานเกี่ยวข้องกับ Concurrency Control เป็นส่วนที่จัดการการทำงานกับหลาย ๆ Transaction ในเวลาเดียวกัน โดยทุก ๆ Transaction จะมี Timestamp เป็นตัวกำหนดเวลาเริ่มต้นของการประมวลผล ซึ่งช่วยในการขจัดปัญหาหลักของ Concurrency Problems
3.Oracle ใช้ได้กับฐานข้อมูลกว่า 80 แพลตฟอร์ม ซึ่งครอบคลุมเกือบทุกแพลตฟอร์มที่มีอยู่ในปัจจุบัน
Microsoft Access
Microsoft Access
Microsoft Access เป็นโปรแกรมระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ที่ช่วยให้การจัดเก็บข้อมูล การสอบถาม การค้นหา การดูแลรักษา (เพิ่ม,ลบ,แก้ไขข้อมูล) การวิเคราะห์และการน าเสนอข้อมูล รวมถึงการรักษา ความปลอดภัยของข้อมูล ทำได้ง่ายและมีประสิทธิภาพสูง
ไฟล์ฐานข้อมูลของ Access จะเป็นชิ้นงานหรือออบเจ็คฐานข้อมูล (database object) ซึ่งผู้ใช้สร้างขึ้นทั้งหมดและจะถูกเก็บรวมกันไว้ในไฟล์ฐานข้อมูล .accdb ทำให้การเรียกใช้หรือแก้ไขทำได้ง่าย สำหรับออบเจ็คฐานข้อมูลจะมีทั้งหมด 6 ประเภท
1) Table
2) Query
3) Form
4) Report
5) Macro
6) Module
วันอังคารที่ 16 กันยายน พ.ศ. 2557
การใช้เทคโนโลยีในการสื่อสาร
การใช้เทคโนโลยีในการสื่อสาร
เทคโนโลยี เป็นการนำเอาแนวความคิด หลักการ เทคนิค ความรู้ ระเบียบวิธี กระบวนการ ตลอดจนผลผลิตทางวิทยาศาสตร์ทั้งในด้านสิ่งประดิษฐ์และวิธีปฏิบัติมาประยุกต์ใช้ในระบบงานเพื่อช่วยให้เกิดการเปลี่ยนแปลงในการทำงานให้ดียิ่งขึ้นและเพื่อเพิ่มประสิทธิภาพและประสิทธิผลของงานให้มีมากยิ่งขึ้น
การสื่อสาร หมายถึง การนำสื่อหรือข้อความของฝ่ายหนึ่งส่งให้อีกฝ่ายหนึ่ง ประกอบด้วยผู้ส่งข่าวสารหรือแหล่งกำเนิดข่าวสาร ช่องทางการส่งข้อมูลซึ่งเป็นสื่อกลางหรือตัวกลางอาจเป็นสายสัญญาณ และหน่วยรับข้อมูลหรือผู้รับสาร
ดังนั้น เทคโนโลยีในการสื่อสาร คือ การเอาแนวคิด หลักการ เทคนิค ระเบียบวิธี กระบวนการ ผ่านช่องทางการส่งข้อมูล ซึ่งทำให้ผู้รับ ได้รับและเข้าถึงข้อมูลได้เร็วขึ้น เทคโนโลยีที่ใช้ในการสื่อสารที่พบเห็น เช่น E-mail, Voice Mail, Video Conferencing เป็นต้น
ชนิดของสัญญาณข้อมูล
ชนิดของสัญญาณแบ่งได้เป็น 2 ชนิดคือ
1.Analog signalเป็นสัญญาณต่อเนื่อง ลักษณะของคลื่นไซน์ sine wave ตัวอย่างการส่งข้อมูลที่เป็น analog คือการส่งข้อมูลผ่านระบบโทรศัพท์
Hertz คือหน่วยวัดความถี่ของสัญญาณ โดยนับความถี่ที่เกิดขึ้นใน 1 วินาที เช่น 1 วินาทีมีการเปลี่ยนแปลงของระดับสัญญาณ 60 รอบแสดงว่ามีความถี่ 60 Hz
2.Digital สัญญาณไม่ต่อเนื่อง ข้อมูลในเครื่องคอมพิวเตอร์ที่เป็นเลขฐาน 2 จะถูกแทนด้วยสัญญาณ digital คือเป็น 0 และ 1 โดยการแทนข้อมูลสัญญาณแบบ Unipolar จะแทน 0 ด้วยสัญญาณไฟฟ้าที่เป็นกลาง และ 1 ด้วยสัญญาณไฟฟ้าที่เป็นบวก
Bit rate เป็นอัตราความเร็วในการส่งข้อมูล โดยนับจำนวน bit ที่ส่งได้ในช่วง 1 วินาที เช่น ส่งข้อมูลได้ 14,400 bps (bit per seconds)
ทิศทางการส่งข้อมูล
ทิศทางการส่งข้อมูล สามารถจำแนกทิศทางการส่งข้อมูลได้ 3 รูปแบบ ดังนี้ (ศรีไพร ศักดิ์พงศากุล และ เจษฎาพร ยุทธวิบูลย์ชัย. 2549 : 100-101)
1. การส่งข้อมูลแบบทิศทางเดียว (Simplex transmission) เป็นการสื่อสารข้อมูลที่มีผู้ส่งข้อมูลทำหน้าที่ส่งข้อมูลแต่เพียงอย่างเดียว และผู้รับข้อมูลก็ทำหน้าที่รับข้อมูลแต่เพียงอย่างเดียวเช่นกัน การส่งข้อมูลในลักษณะนี้เช่น การส่งข้อมูลของสถานีโทรทัศน์
2. การส่งข้อมูลแบบสองทิศทางสลับกัน (Half-duplex transmission) เป็นการสื่อสารข้อมูลที่มีการแลกเปลี่ยนข้อมูลทั้งผู้รับและผู้ส่ง โดยแต่ละฝ่ายสามารถเป็นทั้งผู้รับและผู้ส่งข้อมูลได้ แต่จะต้องสลับกันทำหน้าที่ จะเป็นผู้ส่งและผู้รับข้อมูลพร้อมกันทั้งสองฝ่ายไม่ได้ เช่น การสื่อสารโดยวิทยุ
3. การส่งข้อมูลแบบสองทิศทางพร้อมกัน (Full-duplex transmission) เป็นการสื่อสารข้อมูลที่มีการแลกเปลี่ยนข้อมูลของทั้งผู้ส่งและผู้รับข้อมูล โดยทั้งสองฝ่ายสามารถเป็นทั้งผู้ส่งข้อมูลและผู้รับข้อมูลได้ในเวลาเดียวกัน และสามารถส่งข้อมูลได้พร้อม กัน เช่น การสื่อสารโดยใช้สายโทรศัพท์
ตัวอย่างทิศทางการไหลของข้อมูล
ตัวกลางการสื่อสาร
สื่อกลางหรือตัวกลางในการนำส่งข้อมูล เป็นสื่อหรือช่องทางที่ใช้ในการนำข้อมูลจากต้นทางไปยังปลายทาง สื่อกลางในการเชื่อมต่ออุปกรณ์ต่าง ๆ (จตุชัย แพงจันทร์. 2547: 10-11)สามารถแบ่งออกได้เป็น 2 ชนิดใหญ่ ๆ ได้แก่
1. สื่อกลางประเภทมีสาย
2. สื่อกลางประเภทไร้สาย
1.1สายคู่บิดเกลียว (twisted pair) ประกอบด้วยเส้นลวดทองแดงที่หุ้มด้วยฉนวนพลาสติก 2 เส้นพันบิดเป็นเกลียว เพื่อลดการรบกวนจากคลื่นแม่เหล็กไฟฟ้าจากคู่สายข้างเคียงภายในเคเบิลเดียวกันหรือจากภายนอก เนื่องจากสายคู่บิดเกลียวนี้ยอมให้สัญญาณไฟฟ้าความถี่สูงผ่านได้ สำหรับอัตราการส่งข้อมูลผ่านสายคู่บิดเกลียวจะขึ้นอยู่กับความหนาของสาย คือ สายทองแดงที่มีเส้นผ่านศูนย์กลางกว้าง จะสามารถส่งสัญญาณไฟฟ้ากำลังแรงได้ ทำให้สามารถส่งข้อมูลด้วยอัตราส่งสูง โดยทั่วไปแล้วสำหรับการส่งข้อมูลแบบดิจิทัล สัญญาณที่ส่งเป็นลักษณะคลื่นสี่เหลี่ยม สายคู่บิดเกลียวสามารถใช้ส่งข้อมูลได้ถึงร้อยเมกะบิตต่อวินาที ในระยะทางไม่เกินร้อยเมตร เนื่องจากสายคู่บิดเกลียว มีราคาไม่แพงมาก ใช้ส่งข้อมูลได้ดี จึงมีการใช้งานอย่างกว้างขวาง ตัวอย่างเช่น
(ก) สายคู่บิดเกลียวชนิดหุ้มฉนวน (Shielded Twisted Pair : STP) เป็นสายคู่บิดเกลียวที่หุ้มด้วยลวดถักชั้นนอกที่หนาอีกชั้นเพื่อป้องกันการรบกวนของคลื่นแม่เหล็กไฟฟ้า
(ข) สายคู่บิดเกลียวชนิดไม่หุ้มฉนวน (Unshielded Twisted Pair : UTP) เป็นสายคู่บิดเกลียวมีฉนวนชั้นนอกที่บางอีกชั้นทำให้สะดวกในการโค้งงอแต่สามารถป้องกันการรบกวนของคลื่นแม่เหล็กไฟฟ้าได้น้อยกว่าชนิดแรก แต่ก็มีราคาต่ำกว่า จึงนิยมใช้ในการเชื่อมต่ออุปกรณ์ในเครือข่าย ตัวอย่างของสายสายคู่บิดเกลียวชนิดไม่หุ้มฉนวนที่เห็นในชีวิตประจำวันคือ สายโทรศัพท์ที่ใช้อยู่ในบ้าน
1.2 สายโคแอกเชียล (coaxial) เป็นตัวกลางเชื่อมโยงที่มีลักษณะเช่นเดียวกับสายที่ต่อจากเสาอากาศ สายโคแอกเชียลที่ใช้ทั่วไปมี 2 ชนิด คือ 50 โอห์มซึ่งใช้ส่งข้อมูลแบบดิจิทัล และชนิด 75 โอห์มซึ่งใช้ส่งข้อมูลสัญญาณแอนะล็อก สายประกอบด้วยลวดทองแดงที่เป็นแกนหลักหนึ่งเส้นที่หุ้มด้วยฉนวนชั้นหนึ่งเพื่อป้องกันกระแสไฟรั่ว จากนั้นจะหุ้มด้วยตัวนำซึ่งทำจากลวดทองแดงถักเป็นเปียเพื่อป้องกันการรบกวนของคลื่นแม่เหล็กไฟฟ้าและสัญญาณรบกวนอื่นๆ ก่อนจะหุ้มชั้นนอกสุดด้วยฉนวนพลาสติก ลวดทองแดงที่ถักเป็นเปียนี้เองเป็นส่วนหนึ่งที่ทำให้สายแบบนี้มีช่วงความถี่สัญญาณไฟฟ้าสามารถผ่านได้สูงมาก และนิยมใช้เป็นช่องสื่อสารสัญญาณแอนะล็อกเชื่องโยงผ่านใต้ทะเลและใต้ดิน
1.3 เส้นใยนำแสง (fiber optic) มีแกนกลางของสายซึ่งประกอบด้วยเส้นใยแก้วหรือพลาสติกขนาดเล็กหลายๆ เส้นอยู่รวมกัน เส้นใยแต่ละเส้นมีขนาดเล็ดเท่าเส้นผมและภายในกลวง และเส้นใยเหล่านั้นได้รับการห่อหุ้มด้วยเส้นใยอีกชนิดหนึ่งก่อนจะหุ้มชั้นนอกสุดด้วยฉนวน การส่งข้อมูลผ่านทางสื่อกลางชนิดนี้จะแตกต่างจากชนิดอื่นๆ ซึ่งใช้สัญญาณไฟฟ้าในการส่ง แต่การทำงานของสื่อกลางชนิดนี้จะใช้เลเซอร์วิ่งผ่านช่องกลวงของเส้นใยแต่ละเส้นและอาศัยหลักการหักเหของแสงโดยใช้ใยแก้วชั้นนอกเป็นกระจกสะท้อนแสง การให้แสงเคลื่อนที่ไปในท่อแก้วสามารถส่งข้อมูลด้วยอัตราความหนาแน่นของสัญญาณข้อมูลสูงมากและไม่มีการก่อกวนของคลื่นแม่เหล็กไฟฟ้า ปัจจุบันถ้าใช้เส้นใยนำแสงกับระบบอีเทอร์เน็ตจะใช้ได้ด้วยความเร็วหลายร้อยเมกะบิต และเนื่องจากความสามรถในการส่งข้อมูลด้วยอัตราความหนาแน่นสูง ทำให้สามารถส่งข้อมูลทั้งตัวอักษร เสียง ภาพกราฟิก หรือวีดิทัศน์ได้ในเวลาเดียวกัน อีกทั้งยังมีความปลอดภัยในการส่งสูง แต่อย่างไรก็มีข้อเสียเนื่องจากการบิดงอสายสัญญาณจะทำให้เส้นใยหัก จึงไม่สามารถใช้สื่อกลางนี้ในการเดินทางตามมุมตึกได้ เส้นใยนำแสงมีลักษณะพิเศษที่ใช้สำหรับเชื่อมโยงแบบจุดไปจุด จึงเหมาะที่จะใช้กับการเชื่อมโยงระหว่างอาคารกับอาคารหรือระหว่างเมืองกับเมือง เส้นใยนำแสงจึงถูกนำไปใช้เป็นสายแกนหลัก
2.1 สัญญาณไมโครเวฟ (Microwave) เป็นสื่อกลางในการสื่อสารที่มีความเร็วสูง ส่งข้อมูลโดยอาศัยสัญญาณไมโครเวฟซึ่งเป็นสัญญาณคลื่นแม่เหล็กไฟฟ้าไปในอากาศพร้อมกับข้อมูลที่ต้องการส่ง และจะต้องมีสถานีที่ทำหน้าที่ส่งและรับข้อมูล และเนื่องจากสัญญาณไมโครเวฟจะเดินทางเป็นเส้นตรงไม่สามารถเลี้ยวหรือโค้งตามขอบโลกที่มีความโค้งได้ จึงต้องมีการตั้งสถานีรับ-ส่งข้อมูลเป็นระยะๆ และส่งข้อมูลต่อกันเป็นทอดๆ ระหว่างสถานีต่อสถานีจนกว่าจะถึงสถานีปลายทาง และแต่ละสถานีจะตั้งอยู่ในที่สูงเช่นดาดฟ้าตึกสูงหรือยอดดอยเพื่อหลีกเลี่ยงการชนหากมีสิ่งกีดขวางเนื่องจากแนวการเดินทางที่เป็นเส้นตรงของสัญญาณดังที่กล่าวมาแล้ว การส่งข้อมูลด้วยสื่อกลางชนิดนี้เหมาะกับการส่งข้อมูลในพื้นที่ห่างไกลมากๆ และทุรกันดาร
2.2 ดาวเทียม (satilite) ได้รับการพัฒนาขึ้นมาเพื่อหลีกเลี่ยงข้อจำกัดของสถานีรับ-ส่งไมโครเวฟบนผิวโลก วัตถุประสงค์ในการสร้างดาวเทียมเพื่อเป็นสถานีรับ-ส่งสัญญาณไมโครเวฟบนอวกาศและทวนสัญญาณในแนวโคจรของโลก ในการส่งสัญญาณดาวเทียมจะต้องมีสถานีภาคพื้นดินคอยทำหน้าที่รับและส่งสัญญาณขึ้นไปบนดาวเทียมที่โคจรอยู่สูงจากพื้นโลก 22,300 ไมล์ โดยดาวเทียมเหล่านั้นจะเคลื่อนที่ด้วยความเร็วที่เท่ากับการหมุนของโลก จึงเสมือนกับดาวเทียมนั้นอยู่นิ่งอยู่กับที่ขณะที่โลกหมุนรอบตัวเอง ทำให้การส่งสัญญาณไมโครเวฟจากสถานีหนึ่งขึ้นไปบนดาวเทียมและการกระจายสัญญาณจากดาวเทียมลงมายังสถานีตามจุดต่างๆ บนผิวโลกเป็นไปอย่างแม่นยำ ดาวเทียมสามารถโคจรอยู่ได้โดยอาศัยพลังงานที่ได้มาจากการเปลี่ยนพลังงานแสงอาทิตยด้วยแผงโซลาร์ (solar panel)
มาตรฐานเครือข่ายไร้สาย (Wireless Networking Protocols)
ด้วยความเจริญเติบโตอย่างรวดเร็วของเทคโนโลยีเครือข่ายไร้สายได้ส่งผลให้อุปกรณ์อิเล็กทรอนิกส์ เช่น พีดีเอ โทรศัพท์มือถือ ตลอดจนโรงงานอุตสาหกรรมโทรคมนาคมมีความต้องการมาตรฐานเพื่อการสื่อสารไร้สาย ในทีนี้กล่าวถึงการสื่อสารไร้สายดังนี้ (ศรีไพร ศักดิ์รุ่งพงศากุล และ เจษฎาพร ยุทธนวิบูลย์ชัย. 2549 : 106-108)
บลูทูธ (Bluetooth) บลูทธเป็นชื่อที่เรียกสำหรับมาตรฐานเรือข่ายแบบ 802.15 บลูทูธเป้นเทคโนโลยีไร้สายที่ใช้การส่งข้อมูลทางคลื่นวิทยุ (Universal Radio Interface) เริ่มใช้ในปี ค.ศ. 1998 สำหรับการเชื่อมโยงสื่อสารไร้สายในแถบความถี่ 2.45 GHz ซึ่งเป็นอุปการณ์อิเล็กทรอนิกส์ที่ถือเคลื่อนย้ายได้ สามารถติดต่อเชื่อมโยงสื่อสารแบบไร้สายระหว่างกันในช่วงระยะห่างสั้น ๆ ได้
ไว-ไฟ (Wi-Fi) ไว-ไฟ ย่อมาจากคำว่า Wireless Fidelity คือมาตรฐานที่รับรองว่าอุปกาณ์ไวร์เลว (Wireless LAN) สามารถทำงานร่วมกันได้ และสนับสนุนมาตรฐาน IEEE802.11b
ไว-ไฟ เป็นเทคโนโลยีอินเทอร์เน็ตไร้สายความเร็วสูงที่นิยมใช้ที่สุดในโลก ใช้สัญญาณวิทยุในการรับส่งข้อมูลความเร็วสูงผ่านเครือข่ายไร้สายจากบริเวณที่มีการติดตั้ง Access Point ไปยังอุปกรณ์ที่ใช้เชื่อมต่อ เช่นโทรศัพท์มือถือ พีดีเอ และโนตบุคเป็นต้น
ไว- แมกซ์ (Wi-MAX) เป็นชื่อเรียกเทคโนโลยีไร้สายรุ่นใหม่ล่าสุดที่คาดหมายกันว่าจะถูกนำมาใช้งานที่ประเทศไทยอย่างเป็นทางการ ในอนาคตอันใกล้นี้ (ตอนนี้มีแอบทดสอบ WiMAX กันหลายที่ในต่างจังหวัดแล้ว เช่น ที่เชียงใหม่) ซึ่งเป็นเทคโนโลยีบรอดแบนด์ไร้สายความเร็วสูงรุ่นใหม่ตัวนี้ ได้รับการพัฒนาขึ้นมาบนมาตรฐานที่เรียกเป็นทางการว่า IEEE 802.16
ซึ่งต่อมาก็ได้พัฒนามาตรฐาน IEEE 802.16a (เหมือนกับมาตรฐานสากลตัวแรก แต่มี a ต่อท้าย) ขึ้น โดยได้อนุมัติโดย IEEE มาเมื่อเดือนมกราคม 2004 ซึ่ง IEEE ที่ว่า ก็คือสถาบันวิศวกรรมไฟฟ้าและอิเล็กทรอนิกส์ หรือชื่อเต็มๆก็คือ Institute of Electrical and Electronics Engineers โดยเจ้าระบบ WiMAX นี้มีซึ่งมีรัศมีทำการไกลสูงสุดที่ 30 ไมล์ หรือเป็นระยะทางประมาณ 48 กิโลเมตร (คนล่ะโลกกับ WiFi ที่เรารู้จักกันเลยทีเดียว)
ซึ่งนั่นหมายความว่า WiMAX สามารถให้บริการครอบคลุมพื้นที่กว้างกว่าระบบโครงข่ายโทรศัพท์เคลื่อนที่ระบบ 3G (ซึ่งก็เป็นระบบมือถือในอนาคตของประเทศไทยเราอีกนั้นแหละ เพียงแต่ตอนนี้เราใช้ 2.5G กันอยู่) มากถึง 10 เท่า ยิ่งกว่านั้นก็ยังมีอัตราความเร็วในการส่งผ่านข้อมูลสูงสุดถึง 75 เมกะบิตต่อวินาที (Mbps) ซึ่งเร็วกว่า 3G ถึง 30 เท่าทีเดียว และแน่นอนว่าเร็วกว่าระบบ WiFi ด้วย
สมัครสมาชิก:
ความคิดเห็น (Atom)