วันอาทิตย์ที่ 14 ธันวาคม พ.ศ. 2557

ภาษาSQL

ในส่วนการสรุปรูปแบบทั่วไปของประโยคคำสั่ง SQL แต่ระบบฐานข้อมูลแต่ละระบบอาจจะสนับสนุนหรือไม่สนับสนุนต้องดูคู่มือของ่ระบบฐานข้อมูลนั้นประกอบด้วย
ALTER TABLE tablename [ADD| DROP| MODIFY] columnname; (ดูเพิ่มเติม1, ดูเพิ่มเติม2 ) ใช้สำหรับการเพิ่ม, แก้ไข หรือลบ คอลัมน์ของ table และเปลี่ยนข้อความ เช่น ประเภทข้อมูล ของคอลัมน์ที่มีอยู่ การเลือก ADD, DROP หรือ MODIFY เลือกได้อย่างเดียว
COMMIT; (ดูเพิ่มเติม) บันทึกการเปลี่ยนแปลงเข้าสู่ฐานข้อมูล
CREATE [UNIQUE] INDEX indexname
ON tablename (columnname); (ดูเพิ่มเติม1, ดูเพิ่มเติม2 ) UNIQUE เป็นตัวเลือกการสร้างดัชนีแบบไม่ซ้ำ
CREATE TABLE tablename
(columnname1 datatype [size] [constraint], columnname2 datatype [size] [constraint], . .); (ดูเพิ่มเติม1, ดูเพิ่มเติม2) เป็นคำสั่งสร้าง table การกำหนด size ขึ้นกับประเภทข้อมูล constraint ที่สามารถกำหนดได้ คือ NULL หรือ NOT NULL, UNIQUE (บังคับให้ค่าไม่ซ้ำ), PRIMARY KEY (ระบุ primary key ของ table), CHECK (การยอมให้ตรวจสอบข้อมูลที่มีการเปลี่ยนแปลง), DEFULT (ให้แทรกค่าเมื่อมีการเพิ่มแถวข้อมูล), FOREIGN KEY (กำหนด foreign key ของ table)
CREATE VIEW tablename AS select statement; (ดูเพิ่มเติม) สร้าง view
DELETE FROM tablename WHERE condition; (ดูเพิ่มเติม) ลบข้อมูล
INSERT INTO tablename (column1, column2,..)
VALUES (value1, value2,..); (ดูเพิ่มเติม)
ROLLBACK;(ดูเพิ่มเติม) เรียกข้อมูลเดิมกลับมา จากการเปลี่ยนแปลงข้อมูลที่เกิดขึ้น โดยสามารถเรียกกลับจาก COMMIT ครั้งสุดท้าย
SELECT [ALL | DISTINCT] column1[,column2]
FROM table1[,table2]
[WHERE conditions]
[GROUP BY column-list]
[HAVING conditions]
[ORDER BY column-list [ASC | DESC] ]; (ดูเพิ่มเติม) โดย ASC | DESC ให้เลือกวิธีเรียงลำดับข้อมูล
UPDATE tablename
SET column1 = value1, column2 = value2, ..
[WHERE condition]; (ดูเพิ่มเติม) ถ้าไม่มี WHERE clause จะเปลี่ยนค่าตามที่กำหนดทั้งหมด

ตัวอย่างคำสั่ง SQL ใน Visual Basic

คำสั่ง Select

คำสั่ง Select ใช้เป็นประโยคคำสั่งในการส่งออกเรคคอร์ด ตามเกณฑ์ในการเลือก
ไวยากรณ์
SELECT fieldname1, fieldname2,...
FROM tablename1, tablename2,...
[Where Condition]
[Group By]
[Having]
[Order By];
[ ] – ตัวเลือก
แสดงทุกฟิลด์และทุกเรคคอร์ด ใน table เดียว เช่นการข้อทั้งหมดใน table ชื่อ publishers
SELECT * FROM Publishers ;
แสดงบางฟิลด์ ซึ่งชื่อฟิลด์ ที่มีเครื่องหมายพิเศษ หรือมีการเว้นวรรคให้อยู่ในวงเว็บก้ามปู [ ]
SELECT PubID, [Company Name], Address FROM Publishers;
แสดงฟิลด์ที่เป็น expression และตั้งชื่อใหม่ (ให้ใช้ As)
SELECT Author, 2000 - [Year Born] As Age FROM Authors;
การใช้ฟังก์ชัน aggregate
SELECT COUNT ([Year Born]) FROM Authors;
การเลือกเฉพาะเรคคอร์ด ที่ต้องการด้วย WHERE clause
SELECT Name, City FROM Publishers WHERE State = ‘CA’;
การเลือกเฉพาะเรคคอร์ดด้วย WHERE Clause หลายเงื่อนไขต้องเชื่อมด้วย AND หรือ OR เช่น state เป็น CA และ Name ขึ้นต้นด้วย M
SELECT * FROM Publishers WHERE State = ‘CA’ AND name LIKE ‘m%’;

การเรียงและจัดกลุ่ม

การเรียงใช้ ORDER BY clause
SELECT * FROM Publishers ORDER BY [Company Name] ;
การเรียงจากน้อยไปมากให้ใช้คีย์เวิร์ด DESC ต่อท้ายฟิลด์ต้องการเรียงจากน้อยไปมาก
SELECT * FROM Publishers ORDER BY State, City DESC;
การจัดกลุ่มใช้ GROUP BY Clause
SELECT [Year Published], Count (*) As Title In Year FROM Titles
GROUP BY [Year Published];
ให้แสดงจำนวนหนังสือใน 10 ปีสุดท้าย
SELECT TOP 10 [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] ORDER BY [Year Published] DESC;
การคัดเลือกด้วยเขื่อนไขของ HAVING Clause เช่น แสดงเฉพาะที่มีจำนวนหนังสือมากกว่า 50
SELECT [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] HAVING COUNT ((*) >50);

คิวรี่ย่อย

คิวรี่ย่อย เป็นการใช้ประโยคคำสั่ง Select ภายในประโยคคำสั่ง Select อีกคำสั่งสำหรับการค้นหาที่ซับซ้อน
SELECT * FROM Title WHERE Pub ID =
(SELECT pubID FROM Publishers WHERE Name = ‘MACMILLIAN’);

JOIN

JOIN ใช้สำหรับการดึงข้อมูลจาก 2 table ที่สัมพันธ์กับผ่านฟิลด์ร่วม ถ้าแถวของ table แรกแสดงตามฟิลด์ของ table ที่สอง ให้ใช้ ON clause ในคำสั่ง JOIN
SELECT Title.Title, Titles. [Year Published], Publishers.Name FROM Titles
INNER JOIN Publishers ON Titles.PubID = Publishers.PubID
การใช้ไวยากรณ์ tablename.fieldname เช่น Titles.PubID เมื่อชื่อฟิลด์มีอยู่ใน 2 table ที่เชื่อมกัน
นอกจากมี LEFT JOIN สำหรับการแสดงเรคคอร์ดของ table แรกทั้งหมดถึงแม้จะมีเรคคอร์ดของ table แรกมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ table ที่สอง
SELECT Titles.Title, Titles.[Year Published], Publishers.Name FROM Titles
LEFT JOIN Publishers ON Titles.PubID = Publishers.PubID;
RIGHT JOIN สำหรับการแสดงเรคคอร์ดของ table ที่สองทั้งหมด ถึงแม้ว่าจะมีเรคคอร์ดของ table ที่สองมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ table แรก

UNION

การนำ table 2 ต่อกัน สามารถทำได้โดยใช้คีย์เวิร์ด UNION
SELECT Name, Address, City FROM Customers
UNION SELECT CompanyName, Address, City FROM Suppliers

คำสั่ง Insert Into

คำสั่ง INERT INTO ใช้ในประโยคคำสั่งสำหรับการเพิ่มเรคคอร์ดใหม่
ไวยากรณ์
INERT INTO tablename [(fieldname1, fieldname2,...)]
VALUES (value1, value 2,...);
[ ] ตัวเลือก
หมายเหตุจำนวน value ต้องเท่ากับ fieldname
INERT INTO Authors (Author, [Year Born] VALUES (‘Frank Whale’, 1960);

คำสั่ง Update

คำสั่ง UPDATE ใช้ในประโยคคำสั่งสำหรับการปรับปรุงค่าในเรคคอร์ด
ไวยากรณ์
UPDATE tablename
SET fieldname = expression
WHERE [condition];
[ ] ตัวเลือก
UPDATE Authors SET [Year Born] = 1961 WHERE Author = ‘Frank Whale’;

วันอาทิตย์ที่ 23 พฤศจิกายน พ.ศ. 2557

การรองรับพีเอชพี

คำสั่งของพีเอชพี สามารถสร้างผ่านทางโปรแกรมแก้ไขข้อความทั่วไป เช่น โน้ตแพด หรือ vi ซึ่งทำให้การทำงานพีเอชพี สามารถทำงานได้ในระบบปฏิบัติการหลักเกือบทั้งหมด โดยเมื่อเขียนคำสั่งแล้วนำมาประมวลผล ApacheMicrosoft Internet Information Services (IIS) , Personal Web Server, Netscape และ iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, และอื่นๆ อีกมากมาย. สำหรับส่วนหลักของ PHP ยังมี Module ในการรองรับ CGI มาตรฐาน ซึ่ง PHP สามารถทำงานเป็นตัวประมวลผล CGI ด้วย และด้วย PHP, คุณมีอิสรภาพในการเลือก ระบบปฏิบัติการ และ เว็บเซิร์ฟเวอร์ นอกจากนี้คุณยังสามารถใช้สร้างโปรแกรมโครงสร้าง สร้างโปรแกรมเชิงวัตถุ (OOP) หรือสร้างโปรแกรมที่รวมทั้งสองอย่างเข้าด้วยกัน แม้ว่าความสามารถของคำสั่ง OOP มาตรฐานในเวอร์ชันนี้ยังไม่สมบูรณ์ แต่ตัวไลบรารีทั้งหลายของโปรแกรม และตัวโปรแกรมประยุกต์ (รวมถึง PEAR library) ได้ถูกเขียนขึ้นโดยใช้รูปแบบการเขียนแบบ OOP เท่านั้น
พีเอชพีสามารถทำงานร่วมกับฐานข้อมูลได้หลายชนิด ซึ่งฐานข้อมูลส่วนหนึ่งที่รองรับได้แก่ ออราเคิล dBase PostgreSQL IBM DB2MySQL Informix ODBC โครงสร้างของฐานข้อมูลแบบ DBX ซึ่งทำให้พีเอชพีใช้กับฐานข้อมูลอะไรก็ได้ที่รองรับรูปแบบนี้ และ PHP ยังรองรับODBC (Open Database Connection) ซึ่งเป็นมาตรฐานการเชื่อมต่อฐานข้อมูลที่ใช้กันแพร่หลายอีกด้วย คุณสามารถเชื่อมต่อกับฐานข้อมูลต่างๆ ที่รองรับมาตรฐานโลกนี้ได้
พีเอชพียังสามารถรองรับการสื่อสารกับการบริการในโพรโทคอลต่างๆ เช่น LDAP IMAP SNMP NNTP POP3 HTTP COM (บนวินโดวส์) และอื่นๆ อีกมากมาย คุณสามารถเปิด Socket บนเครื่อข่ายโดยตรง และ ตอบโต้โดยใช้ โพรโทคอลใดๆ ก็ได้ PHP มีการรองรับสำหรับการแลกเปลี่ยนข้อมูลแบบ WDDX Complex กับ Web Programming อื่นๆ ทั่วไปได้ พูดถึงในส่วน Interconnection, พีเอชพีมีการรองรับสำหรับ Java objects ให้เปลี่ยนมันเป็น PHP Object แล้วใช้งาน คุณยังสามารถใช้รูปแบบ CORBA เพื่อเข้าสู่ Remote Object ได้เช่นกัน

คุณสมบัติ

การแสดงผลของพีเอชพี จะปรากฏในลักษณะHTML ซึ่งจะไม่แสดงคำสั่งที่ผู้ใช้เขียน ซึ่งเป็นลักษณะเด่นที่พีเอชพีแตกต่างจากภาษาในลักษณะไคลเอนต์-ไซด์ สคริปต์ เช่น ภาษาจาวาสคริปต์ ที่ผู้ชมเว็บไซต์สามารถอ่าน ดูและคัดลอกคำสั่งไปใช้เองได้ นอกจากนี้พีเอชพียังเป็นภาษาที่เรียนรู้และเริ่มต้นได้ไม่ยาก โดยมีเครื่องมือช่วยเหลือและคู่มือที่สามารถหาอ่านได้ฟรีบนอินเทอร์เน็ต ความสามารถการประมวลผลหลักของพีเอชพี ได้แก่ การสร้างเนื้อหาอัตโนมัติจัดการคำสั่ง การอ่านข้อมูลจากผู้ใช้และประมวลผล การอ่านข้อมูลจากดาต้าเบส ความสามารถจัดการกับคุกกี้ ซึ่งทำงานเช่นเดียวกับโปรแกรมในลักษณะCGI คุณสมบัติอื่นเช่น การประมวลผลตามบรรทัดคำสั่ง (command line scripting) ทำให้ผู้เขียนโปรแกรมสร้างสคริปต์พีเอชพี ทำงานผ่านพีเอชพี พาร์เซอร์ (PHP parser) โดยไม่ต้องผ่านเซิร์ฟเวอร์หรือเบราว์เซอร์ ซึ่งมีลักษณะเหมือนกับ Cron (ใน ยูนิกซ์หรือลีนุกซ์) หรือ Task Scheduler (ในวินโดวส์) สคริปต์เหล่านี้สามารถนำไปใช้ในแบบ Simple text processing tasks ได้
การแสดงผลของพีเอชพี ถึงแม้ว่าจุดประสงค์หลักใช้ในการแสดงผล HTML แต่ยังสามารถสร้าง XHTML หรือ XML ได้ นอกจากนี้สามารถทำงานร่วมกับคำสั่งเสริมต่างๆ ซึ่งสามารถแสดงผลข้อมูลหลัก PDF แฟลช (โดยใช้ libswf และ Ming) พีเอชพีมีความสามารถอย่างมากในการทำงานเป็นประมวลผลข้อความ จาก POSIX Extended หรือ รูปแบบ Perl ทั่วไป เพื่อแปลงเป็นเอกสาร XML ในการแปลงและเข้าสู่เอกสาร XML เรารองรับมาตรฐาน SAX และ DOM สามารถใช้รูปแบบ XSLT ของเราเพื่อแปลงเอกสาร XML
เมื่อใช้พีเอชพีในการทำอีคอมเมิร์ซ สามารถทำงานร่วมกับโปรแกรมอื่น เช่น Cybercash payment, CyberMUT, VeriSign Payflow Pro และ CCVS functions เพื่อใช้ในการสร้างโปรแกรมทำธุรกรรมทางการเงิน

ชื่อของพีเอชพี

ภาษาพีเอชพี ในชื่อภาษาอังกฤษว่า PHP ซึ่งใช้เป็นคำย่อแบบกล่าวซ้ำ จากคำว่า PHP Hypertext Preprocessor หรือชื่อเดิม Personal Home Page

ตัวอย่างภาษาพีเอชพี[แก้]

ภาษาพีเอชพี จะเป็นส่วนประกอบภายในเว็บเพจ โดยคำสั่งจะปรากฏระหว่าง <?php ...  ?> เช่น
<?php
    echo "Hello, World!";
?>

<?php
    echo "Hello World."; 
?>

<script language="php">
    echo "Hello World.";
</script>
โครงสร้าง ควบคุมของ PHP จะมีความคล้ายคลึงกับ C/C++ มาก เช่น if , for , switch และมีบางส่วนที่คล้าย Perl สามารถกำหนดตัวแปรโดยไม่ต้อง กำหนดชนิดของตัวแปรว่าจะเป็น int, float, boolean เป็นต้น
<?php
    for ($i = 0; $i < 10; $i++){
       echo "Test".$i; 
    }
?>
ตัวอย่างการเขียน php แบบ oop
<?php
    class MyClass
    {
        private $var = 'Hello World!';
        public function getHello()
        {
            return $this->var;
        }
    }
    $obj = new MyClass();
    echo $obj->getHello();
?>

ภาษาพีเอชพี

พีเอชพี (PHP) คือ ภาษาคอมพิวเตอร์ในลักษณะเซิร์ฟเวอร์-ไซด์ สคริปต์ โดยลิขสิทธิ์อยู่ในลักษณะโอเพนซอร์ส ภาษาพีเอชพีใช้สำหรับจัดทำเว็บไซต์ และแสดงผลออกมาในรูปแบบ HTML โดยมีรากฐานโครงสร้างคำสั่งมาจากภาษา ภาษาซี ภาษาจาวา และ ภาษาเพิร์ล ซึ่ง ภาษาพีเอชพี นั้นง่ายต่อการเรียนรู้ ซึ่งเป้าหมายหลักของภาษานี้ คือให้นักพัฒนาเว็บไซต์สามารถเขียน เว็บเพจ ที่มีความตอบโต้ได้อย่างรวดเร็ว
ภาษาพีเอชพี ในชื่อภาษาอังกฤษว่า PHP ซึ่งใช้เป็นคำย่อแบบกล่าวซ้ำ จากคำว่า PHP Hypertext Preprocessor หรือชื่อเดิม Personal Home Page

วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2557

ประเภทการออกแบบฐานข้อมูล

การออกแบบฐานข้อมูลเชิงสัมพันธ์
การออกแบบฐานข้อมูลในองค์กรขนาดเล็กเพื่อตอบสนองความต้องการของผู้ใช้งานอาจเป็นเรื่องที่ไม่ยุ่งยากนัก เนื่องจากระบบและขั้นตอนการทำงานภายในองค์กรไม่ซับซ้อน ปริมาณข้อมูลที่มีก็ไม่มาก และจำนวนผู้ใช้งานฐานข้อมูลก็มีเพียงไม่กี่คน หากทว่าในองค์กรขนาดใหญ่ ซึ่งมีระบบและขั้นตอนการทำงานที่ซับซ้อน รวมทั้งมีปริมาณข้อมูลและผู้ใช้งานจำนวนมาก การออกแบบฐานข้อมูลจะเป็นเรื่องที่มีความละเอียดซับซ้อน และต้องใช้เวลาในการดำเนินการนานพอควรทีเดียว ทั้งนี้ ฐานข้อมูลที่ได้รับการออกแบบอย่างเหมาะสมจะสามารถตอบสนองต่อความต้องการของผู้ใช้งานภายในหน่วยงานต่าง ๆ ขององค์กรได้ ซึ่งจะทำให้การดำเนินงานขององค์กรมีประสิทธิภาพดียิ่งขึ้น เป็นผลตอบแทนที่คุ้มค่าต่อการลงทุนเพื่อพัฒนาระบบฐานข้อมูลภายในองค์กรทั้งนี้ การออกแบบฐานข้อมูลที่นำซอฟต์แวร์ระบบจัดการฐานข้อมูลมาช่วยในการดำเนินการ สามารถจำแนกหลักในการดำเนินการได้ 6 ขั้นตอน คือ
1.การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล
2.การเลือกระบบจัดการฐานข้อมูล
3.การออกแบบฐานข้อมูลในระดับแนวคิด
4.การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล
5.การออกแบบฐานข้อมูลในระดับกายภาพ
6.การนำฐานข้อมูลไปใช้และการประเมินผล

การออกแบบฐานข้อมูลในระดับตรรกะ
การออกแบบฐานข้อมูลในระดับตรรกะ หรือในระดับแนวความคิด เป็นขั้นตอนการออกแบบความสัมพันธ์ระหว่างข้อมูลในระบบโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ E-R Diagram นำมาสร้างเป็นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการ Normalization เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด ซึ่งการออกแบบเชิงตรรกะนี้จะบอกถึงรายละเอียดของ Relation , Attribute และ Entity

การออกแบบฐานข้อมูล

การออกแบบฐานข้อมูล (Designing Databases) มีความสำคัญต่อการจัดการระบบฐานข้อมูล (DBMS) ทั้งนี้เนื่องจากข้อมูลที่อยู่ภายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ของข้อมูล โครงสร้างของข้อมูลการเข้าถึงข้อมูลและกระบวนการที่โปรแกรมประยุกต์จะเรียกใช้ฐานข้อมูล ดังนั้น เราจึงสามารถแบ่งวิธีการสร้างฐานข้อมูลได้ 3 ประเภท
1. รูปแบบข้อมูลแบบลำดับขั้น หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้ โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many)
2. รูปแบบข้อมูลแบบเครือข่าย (Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายให้ลองพิจารณาการจัดการข้อมูลของห้องสมุด ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภท
3. รูปแบบความสัมพันธ์ข้อมูล (Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record) ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล (Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ

ระบบจัดการฐานข้อมูล

ระบบจัดการฐานข้อมูล (DBMS) ประกอบด้วยซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล, จัดเตรียมพื้นที่ในการเก็บ, การเข้าถึง, ระบบรักษาความปลอดภัย, สำรองข้อมูล และสิ่งอำนวยความสะดวกอื่นๆ ระบบจัดการฐานข้อมูลสามารถแบ่งหมวดหมู่ได้ตามแบบจำลองฐานข้อมูลที่สนับสนุน อาทิเช่น เชิงสัมพันธ์ หรือ XML เป็นต้น แบ่งตามประเภทของคอมพิวเตอร์ที่สนับสนุน อาทิเช่น server cluster หรือ โทรศัพท์พกพา เป็นต้น แบ่งตามประภทของภาษาสอบถามที่ใช้ในการเข้าถึงฐานข้อมูล อาทิเช่น ภาษาสอบถามเชิงโครงสร้าง หรือ XQuery แบ่งตามประสิทธิภาพในการ trade-offs อาทิเช่น ขนาดที่ใหญ่ที่สุด หรือ ความเร็วสูงสุด หรือ อื่นๆ เป็นต้น ในบาง DBMS จะครอบคลุมมากกว่าหนึ่งหมวดหมู่ เช่น สนับสนุนภาษาสอบถามได้หลายๆ ภาษา ยกตัวอย่างเช่น ใน DBMS ที่นิยมใช้การอย่างแพร่หลาย MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro อื่นๆ ในทุกๆ ซอฟต์แวร์ฐานข้อมูลจะมี Open Database Connectivity (ODBC) driver มาให้ด้วย เพื่ออนุญาตให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้

ระบบฐานข้อมูล


ฐานข้อมูลในลักษณะที่คล้ายกับฐานข้อมูลสมัยใหม่ ถูกพัฒนาเป็นครั้งแรกในทศวรรษ 1960 ซึ่งผู้บุกเบิกในสาขานี้คือ ชาลส์ บากแมน แบบจำลองข้อมูลสำคัญสองแบบเกิดขึ้นในช่วงเวลานี้ ซึ่งเริ่มต้นด้วย แบบจำลองข่ายงาน (พัฒนาโดย CODASYL) และตามด้วยแบบจำลองเชิงลำดับชั้น (นำไปปฏิบัติใน IMS) แบบจำลองทั้งสองแบบนี้ ในภายหลังถูกแทนที่ด้วย แบบจำลองเชิงสัมพันธ์ ซึ่งอยู่ร่วมสมัยกับแบบจำลองอีกสองแบบ แบบจำลองแบบแรกเรียกกันว่า แบบจำลองแบนราบซึ่งออกแบบสำหรับงานที่มีขนาดเล็กมาก ๆ แบบจำลองร่วมสมัยกับแบบจำลองเชิงสัมพันธ์อีกแบบ คือ ฐานข้อมูลเชิงวัตถุ หรือ โอโอดีบี3 (OODB)
ในขณะที่แบบจำลองเชิงสัมพันธ์ มีพื้นฐานมาจากทฤษฎีเซต ได้มีการเสนอแบบจำลองดัดแปลงซึ่งใช้ทฤษฎีเซตคลุมเครือ (ซึ่งมีพื้นฐานมาจากตรรกะคลุมเครือ) ขึ้นเป็นอีกทางเลือกหนึ่ง
ปัจจุบันมีการกล่าวถึงมาตรฐานโครงสร้างฐานข้อมูล เพื่อให้สามารถเชื่อมโยงฐานข้อมูลต่างระบบ ให้สืบค้นรวมกันเสมือนเป็นฐานข้อมูลเดียวกัน และการสืบค้นต้องแสดงผลตรงตามคำถาม มาตรฐานดังกล่าวได้แก่ XML RDF Dublin Core Metadata เป็นต้น และสิ่งสำคัญอีกประการหนึ่งที่จะช่วยให้การแลกเปลี่ยนข้อมูลรหว่างต่างหน่วยงานได้ดี คือการใช้ Taxonomy และ อรรถาภิธาน ซึ่งเป็นเครื่องมือสำหรับจัดการความรู้ในลักษณะศัพท์ควบคุม เพื่อจำกัดความหมายของคำที่ใช้ได้หลายคำในความหมายเดียวกัน

วันจันทร์ที่ 29 กันยายน พ.ศ. 2557

อุปกรณ์ที่ใช้ในการสื่อสารข้อมูลคอมพิวเตอร์

อุปกรณ์ที่ใช้ในการสื่อสารข้อมูลคอมพิวเตอร์
โมเด็ม (MODEM)
MODEM มาจากคำเต็มว่า Modulator – DEModulator ทำหน้าที่แปลงสัญญาณข้อมูลดิจิตอล ที่ได้รับจากเครื่องส่งหรือคอมพิวเตอร์ เป็นสัญญาณแบบอนาลอกก่อนทำการส่งไปยังปลายทางต่อไป โดยผ่านเครือข่ายโทรศัพท์ และเมื่อส่งถึงปลายทางก็จะมีโมเด็มทำหน้าที่แปลงสัญญาณจากอนาลอกให้เป็นดิจิตอล เพื่อใช้กับคอมพิวเตอร์ปลายทาง
 มัลติเพล็กซ์เซอร์ (Multiplexer)
วิธีการเชื่อมต่อการสื่อสารระหว่างผู้รับและผู้ส่งปลายทางที่ง่ายที่สุดคือ การเชื่อมต่อแบบจุดต่อจุด (Point to Point) แต่ต้องเสียค่าใช้จ่ายสูงและใช้งานไม่เต็มที่ จึงมีวิธีการเชื่อมต่อที่ยุ่งยากขึ้น คือการเชื่อมต่อแบบหลายจุดซึ่งใช้สายสื่อสารเพียงเส้น 802.3
คอนเซนเตรเตอร์ (Concentrator)
คอนเซนเตรเตอร์เป็นมัลติเพล็กซ์เซอร์ที่มีประสิทธิภาพสูง สามารถเพิ่มสายหรือช่องทางการส่งข้อมูลได้มากขึ้น การส่งข้อมูลจะเป็นแบบอซิงโครนัส
คอนโทรลเลอร์(Controller)
คอนโทรลเลอร์เป็นมัลติเพล็กซ์เซอร์ที่ส่งข้อมูลแบบอซิงโครนัส ที่สามารถส่งข้อมูลด้วยความเร็วสูงได้ดี การทำงานจะต้องมีโปรโตคอลพิเศษสำหรับกำหนด วิธีการรับส่งข้อมูล มีบอร์ดวงจรไฟฟ้าและซอฟต์แวร์สำหรับคอมพิวเตอร์
ฮับ (HUB)
ฮับเป็นอุปกรณ์อิเล็กทรอนิกส์ทำหน้าที่เช่นเดียวกับมัลติเพล็กซ์เซอร์ ซึ่งนิยมใช้กับระบบเครือข่ายท้องถิ่น (LAN) มีราคาต่ำ ติดต่อสื่อสารข้อมูลตามมาตรฐาน IEEE 802.3
ฟรอนต์ – เอ็นโปรเซสเซอร์  FEP (Front-End Processor)
FEP เป็นคอมพิวเตอร์ที่ใช้เชื่อมต่อระหว่างโฮสต์คอมพิวเตอร์ หรือมินิคอมพิวเตอร์กับอุปกรณ์เครือข่ายสำหรับสื่อสารข้อมูล เช่น โมเด็ม มัลติเล็กซ์เซอร์ เป็นต้น FEP เป็นอุปกรณ์ทีมีหน่วยความจำ (RAM) และซอฟต์แวร์สำหรับควบคุมการทำงานเป็นของตัวเองโดยมีหน้าที่หลักคือ ทำหน้าที่แก้ไขข่าวสาร เก็บข่าวสาร เปลี่ยนรหัสรวบรวมหรือกระจายอักขระ ควบคุมอัตราความเร็วในการรับส่งข้อมูล จัดคิวเข้าออกของข้อมูล ตรวจสอบข้อผิดพลาดในการส่งข้อมูล
 อิมูเลเตอร์ (Emulator)
อิมูเลเตอร์เป็นอุปกรณ์ที่ทำหน้าที่เปลี่ยนกลุ่มข่าวสารจาก โปรโตคอลแบบหนึ่งไปเป็นกลุ่มข่าวสาร ซึ่งใช้โปรโตคอลอีกแบบหนึ่ง แต่จะเป็นอุปกรณ์ฮาร์ดแวร์หรือเป็นโปรแกรมซอฟต์แวร์ก็ได้ บางครั้งอาจจะเป็นทั้ง 2 อย่าง โดยทำให้คอมพิวเตอร์ที่ต่อเข้ามานั้นดูเหมือนเป็นเครื่องเทอร์มินัลหนึ่งเครื่อง โฮสต์หรือมินิคอมพิวเตอร์ในปัจจุบันนิยมนำเครื่อง PC มาใช้เป็นเทอร์มินัลของเครื่องเมนเฟรมคอมพิวเตอร์ ทั้งนี้เพราะประหยัดกว่าและเมื่อไรที่ไม่ใช้ติดต่อกับมินิ หรือเมนแฟรมก็สามารถใช้เป็น PC ทั่วไปได้
เกตเวย์ (Gateway)
เกตเวย์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่มีหน้าที่หลักคือ ทำให้เครือข่ายคอมพิวเตอร์ 2  เครือข่ายหรือมากกว่าซึ่งมีลักษณะแตกต่างกัน สามารถสื่อสารกันได้เสมือนกับเป็นเครือข่ายเดียวกัน โดยทั่วไปแล้วระบบเครือข่ายแต่ละเครือข่ายอาจจะแตกต่างกันในหลายกรณี เช่น ลักษณะการเชื่อมต่อ (Connectivity) ที่ไม่เหมือนกัน โปรโตคอลที่ใช้สำหรับรับส่งข้อมูลต่างกัน เป็นต้น
บริดจ์ (Bridge)
เป็นอุปกรณ์ IWU (Inter Working Unit)  ที่ใช้สำหรับเชื่อมเครือข่ายท้องถิ่น (Local Area Network หรือ LAN) 2 เครือข่ายเข้าด้วยกัน ซึ่งอาจจะใช้โปรโตคอลที่เหมือนกันหรือต่างกันก็ได้
เราเตอร์ (Router)
เป็นอุปกรณ์ที่ใช้เชื่อมต่อเครือข่ายเข้าด้วยกัน ซึ่งอาจจะเป็นเครือข่ายเดียวกันหรือข้ามเครือข่ายกัน โดยการเชื่อมกันระหว่างหลายเครือข่ายแบบนี้เรียกว่า เครือข่ายอินเตอร์เน็ต (Internet) โดยเครือข่ายแต่ละเครือข่ายจะเรียกว่า เครือข่ายย่อย (Subnetwork) ส่วนอุปกรณ์ที่ใช้เชื่ออมต่อระหว่างเครือข่าย เรียกว่า IWU (Inter Working Unit) ได้แก่ เราเตอร์และบริดจ์
รีพีตเตอร์ (Repeater)
เป็นอุปกรณ์ที่ใช้สำหรับส่งสัญญาณซ้ำ เพื่อส่งสัญญาณต่อไปนี้ในระยะไกลป้องกันการขาดหายของสัญญาณ ซึ่งรูปแบบของเครือข่ายแต่ละแบบรวมทั้งสายสัญญาณที่ใช้เป็นตัวกลางหรือสื่อกลาง แต่ละชนิดจะมีข้อจำกัดของระยะทางในการส่ง ดังนั้นเมื่อต้องการส่งสัญญาณให้ไกลกว่าปกติต้องเชื่อมต่อกับรีพีตเตอร์ดังกล่าว เพื่อทำให้สามารถส่งสัญญาณ ได้ไกลยิ่งขึ้น