12Sep, 2022
Language blog :
Thai
Share blog : 
12 September, 2022
Thai

Database

By

3 mins read
Database

ในอดีตจนถึงปัจจุบัน เราอาจจะเห็นการพัฒนาซอฟต์แวร์ เว็บไซต์ และแอพต่างๆ มามากมาย โดยที่เมื่อเราได้ทำให้โปรเจคเหล่านั้นมีหน้าตาออกมาสวยงาม แสดงผลให้เราเห็นถึงข้อมูลที่ต้องการให้ผู้ใช้ ในแต่ละบริบทของจุดประสงค์ที่โปรเจคเหล่านั้นทำมา แต่การที่จะมีข้อมูลออกมาแสดงผลให้ผู้ใช้ได้เห็นผ่านหน้าจอต่างๆ นั้น ก็ย่อมต้องมีการเก็บข้อมูลอย่างถูกต้อง เป็นระเบียบ และเรียกใช้ได้ง่าย สิ่งนั้นเรียกว่า ฐานข้อมูล หรือที่เหล่านักพัฒนาได้พูดกันก็คือ Database

Database

Credit: https://mindphp.com/images/2022/06/database_01.png 

 

ฐานข้อมูล (Database) คืออะไร
ฐานข้อมูล คือ ชุดของข้อมูลที่มีโครงสร้างหรือข้อมูลที่มีการจัดระเบียบ ซึ่งโดยทั่วไปแล้ว จะจัดเก็บอยู่ในระบบคอมพิวเตอร์ ฐานข้อมูลมักจะถูกควบคุม โดยระบบจัดการฐานข้อมูล (DBMS: Database Management System) ทั้งข้อมูลและ DBMS ที่ทำงานร่วมกับแอพพลิเคชัน จะถูกเรียกว่า ระบบฐานข้อมูล (Database System) หรือจะเรียกแบบง่ายๆทั่วไปว่า ฐานข้อมูล

ข้อมูลภายในฐานข้อมูลประเภททั่วไปที่ดำเนินการอยู่ในแัจจุบัน มักจะสร้างอยู่ในรูปแบบของแถว (rows) และคอลัมน์ (columns) ที่อยู่ในชุดของตาราง เพื่อให้การประมวลผลและการสืบค้นข้อมูลมีประสิทธิภาพ ข้อมูลสามารถเข้าถึง จัดการ แก้ไข ปรับปรุงข้อมูล รวมไปถึงการควบคุมและจัดระเบียบข้อมูลได้ง่าย ฐานข้อมูลโดยส่วนใหญ่จะใช้ภาษา SQL เป็นรากฐาน สำหรับการเขียน (writing) และการสืบค้นข้อมูล (querying)

 

SQL (Structured Query Language)

SQL เป็นภาษาการเขียนโปรแกรมที่ใช้โดยฐานข้อมูลเชิงสัมพันธ์เกือบทั้งหมดในการสืบค้นข้อมูล (query), จัดการ (manipulate) และกำหนดข้อมูลและทำให้สามารถเข้าถึงการควบคุมของข้อมูลได้ โดยที่ SQL ได้รับการพัฒนาครั้งแรกที่ IBM ในปี 1970 ซึ่งมี Oracle เป็นผู้สนับสนุนหลัก จนนำไปสู่การสร้างมาตรฐานในการพัฒนาฐานข้อมูลด้วย SQL ที่หลากหลายมากขึ้น แต่ในปัจจุบันก็มีภาษาโปรแกรมใหม่เริ่มปรากฎให้เห็นมากขึ้น









กว่าจะมาเป็น ฐานข้อมูล (Evolution of Database)

ฐานข้อมูลมีการพัฒนาอย่างมาก ตั้งแต่การเริ่มแรกในช่วง 1960 Navigational Database เช่น Hierarchical Database ซึ่งมีการวางรูปแบบเป็นเสมือนต้นไม้ จะทำให้มีการสร้างความสัมพันธ์ระหว่างกันเป็นแบบ one-to-many เท่านั้น และ Network Database เป็นรูปแบบฐานข้อมูลที่มีความยืดหยุ่นกว่าที่สามารถสร้างความสัมพันธ์ระหว่างกันได้หลากหลาย ทั้งหมดนั้นเป็นระบบดั้งเดิมที่ใช้จัดเก็บข้อมูล และจัดการข้อมูล ซึ่งถึงแม้ว่ามันจะดูเรียบง่ายและกำลังดี แต่ระบบเริ่มแรกนั้นไม่ได้มีความยืดหยุ่นในการใช้งานมากมายสักเท่าไหร่ ในปี 1980 ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) ได้รับความนิยม ซึ่งตามมาด้วยฐานข้อมูลเชิงวัตถุ (Object-oriented Database) ในปี 1990  และไม่นานมานี้ก็ได้มีการสร้าง NoSQL ที่เกิดจากการเติบโตของการใช้งานอินเตอร์เน็ตและความต้องการใช้งานที่รวดเร็วมากขึ้น รวมถึงการประมวลผลข้อมูลที่ไม่มีโครงสร้าง ทุกวันนี้ฐานข้อมูลบน เคลาวด์ (Cloud Database) และฐานข้อมูลแบบขับเคลื่อนด้วยตัวเอง (Self-Driving Database) กำลังสร้างมิติใหม่ในแง่รวมข้อการรวบรวม จัดเก็บ จัดการและการใช้งานข้อมูล

 

ประโยชน์ของฐานข้อมูล

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

 

Network Database Concept

Credit: https://img.freepik.com/free-vector/network-database-concept_1284-4084.jpg?w=2000





ประเภทของฐานข้อมูล

ฐานข้อมูลมีประเภทที่ถูกแบ่งออกมาได้หลากหลาย ซึ่งการจะเลือกใช้ฐานข้อมูลที่ดีที่สุดกับองค์กรแต่ละที่นั้น ขึ้นอยู่กับวิธีในการเลือกจัดเก็บข้อมูลของที่นั้นๆ ด้วย

 

Relational Database

ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็นรูปแบบฐานข้อมูลที่มีการใช้มาอย่างยาวนาน ซึ่งรูปแบบของข้อมูลที่ถูกเก็บในฐานข้อมูลประเภทนี้ จะถูกจัดระเบียบเป็นชุดของตารางที่มีคอลัมน์ (columns) และแถว (rows) รูปแบบของฐานข้อมูลประเภทนี้เป็นวิธีที่มีประสิทธิภาพและยืดหยุ่นที่สุดในการเข้าถึงข้อมูลที่มีโครงสร้าง (structured data/information)

 

Object-Oriented Database

ข้อมูลที่ถูกเก็บในฐานข้อมูลประเภทนี้ จะถูกเก็บอยู่ในรูปแบบของวัตถุ (Object) เป็นเช่นเดียวกันกับข้อมูลที่ถูกใช้งานในการเขียนโปรแกรมแบบเชิงวัตถุ (Object-Oriented Programming)

 

Distributed Database

ฐานข้อมูลรูปแบบนี้จะประกอบด้วยสองไฟล์ ที่ถูกเก็บไว้ต่างสถานที่ ซึ่งฐานข้อมูลอาจถูกเก็บไว้ในคอมพิวเตอร์หลายเครื่อง โดยอาจจะถูกติดตั้งวางไว้ในสถานที่เดียวกัน หรืออาจจะติดตั้งตามสถานที่ต่างๆ บนเครือข่ายเดียวกัน เช่น การวางฐานข้อมูลของเจ้าใหญ่ที่ถูกวางไว้ทั่วโลก เป็นต้น

 

Data warehouses

คลังข้อมูลส่วนกลาง จะเป็นฐานข้อมูลประเภทหนึ่งที่ออกแบบมาโดยเฉพาะสำหรับการสืบค้นข้อมูลและเพื่อการวิเคราะห์ข้อมูลที่รวดเร็วเป็นพิเศษ

 

NoSQL Database

NoSQL หรือฐานข้อมูลที่ไม่สัมพันธ์กัน จะสามารถจัดเก็บข้อมูลที่เป็นลักษณะไม่มีโครงสร้างและกึ่งโครงสร้างได้ ซึ่งแตกต่างกับ Relational Database กันอย่างสิ้นเชิง NoSQL เริ่มได้รับความนิยมมากขึ้น เนื่องจาก web application กลายเป็นเรื่องธรรมดาที่จะถูกพัฒนาขึ้นและซับซ้อมากขึ้น

 

Graph Database

ฐานข้อมูลชุดนี้จะจัดเก็บของมูลในรูปแบบของ entity และความสัมพันธ์กันระหว่าง entity ซึ่งอาจจะมีลักษณธคล้ายคลึงกันกับการ reference ถึงกันแบบ Relational Database

 

Cloud Database 

ฐานข้อมูลบนคลาวด์คือชุดข้อมูล ที่มีทั้งแบบมีโครงสร้างและแบบไม่มีโครงสร้าง ซึ่งอยู่บน cloud computing platform ที่มีทั้ง private, public และ hybrid รูปแบบของฐานข้อมูลประเภทนี้มีสองประเภท คือแบบดั้งเดิม (Traditional) และฐานข้อมูลในรูปแบบบริการ ( Database as a Service) ด้วยระบบของ DBaaS งานด้านการดูแลระบบและการบำรุงรักษาจะดำเนินดารโดยผู้ให้บริการ เช่น GCP (Google Cloud Platform), Azure (Microsoft), AWS (Amazon Web Services) เป็นต้น

 

Document/JSON database

ฐานข้อมูลรูปแบบนี้ จะมีการเก็บข้อมูลเป็นแบบของเอกสารหรือ JSON format ซึ่งเป็นรูปแบบฐานข้อมูลที่ทันสมัยในการจัดเก็บข้อมูล ที่ JSON จะแทนที่ตารางแบบ columns and rows

 

ฐานข้อมูลข้างต้นเป็นจำนวนหนึ่งที่มีการใช้กันอย่างแพร่หลายในปัจจุบัน ซึ่งอย่างที่กล่าวไปว่าการเลือกใช้นั้นขึ้นอยู่กับจุดประสงค์ของบริษัทหรือการใช้งานที่เฉพาะเจาะจงลงไป นอกจากนี้ก็ยังคงมีฐานข้อมูลประเภทอื่นอีก แต่อาจจะไม่ใช่ประเด็นหลักในการพูดถึงกันมากมาย เพราะเป็นรูปแบบของฐานข้อมูลที่มีการใช้งานที่เฉพาะเจาะจงและลึกในเชิงเทคนิคมากกว่าที่ใช้กันส่วนมากตามข้างต้น

 

การประยุกต์ใช้ของฐานข้อมูล

จากที่ได้แนะนำประเภทฐานข้อมูลต่างๆ ข้างต้น ก็ทำให้เราได้รู้ว่า มีฐานข้อมูลที่มีรูปแบบการจัดเก็บข้อมูลที่แตกต่างกันพอสมควร แต่ในการประยุกต์ใช้นั้น โดยส่วนใหญ่จะถูกนำมาใช้กับเหล่านักพัฒนาหรือ Developer/Programmer ที่เรารู้จักกัน โดยที่เหล่านักพัฒนาจะทำ resource หรือ configuration ของ server ที่ได้ทำการตั้งค่าเพื่อจัดเก็บฐานข้อมูลเหล่านั้น และทำการเชื่อมต่อฐานข้อมูลนั้นๆ เข้าสู่ผลิตภัณฑ์ต่างๆ เช่น เว็บไซต์ ซอฟต์แวร์ และ แอพมือถือ เป็นต้น 

Written by
Senna Labs
Senna Labs

Subscribe to follow product news, latest in technology, solutions, and updates

- More than 120,000 people/day visit to read our blogs

Other articles for you

26
July, 2024
JS class syntax
26 July, 2024
JS class syntax
เชื่อว่าหลายๆคนที่เขียน javascript กันมา คงต้องเคยสงสัยกันบ้าง ว่า class ที่อยู่ใน js เนี่ย มันคืออะไร แล้วมันมีหน้าที่ต่างกับการประกาศ function อย่างไร? เรามารู้จักกับ class ให้มากขึ้นกันดีกว่า class เปรียบเสมือนกับ blueprint หรือแบบพิมพ์เขียว ที่สามารถนำไปสร้างเป็นสิ่งของ( object ) ตาม blueprint หรือแบบพิมพ์เขียว( class ) นั้นๆได้ โดยภายใน class

By

4 mins read
Thai
26
July, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
26 July, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
ผู้ให้บริการเครือข่ายในสหรัฐฯ ได้เปิดตัว 5G ในหลายรูปแบบ และเช่นเดียวกับผู้ให้บริการเครือข่ายในยุโรปหลายราย แต่… 5G มันคืออะไร และทำไมเราต้องให้ความสนใจ บทความนี้ได้รวบรวม 15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G เพราะเราปฏิเสธไม่ได้เลยว่ามันกำลังจะถูกใช้งานอย่างกว้างขวางขึ้น 1. 5G หรือ Fifth-Generation คือยุคใหม่ของเทคโนโลยีเครือข่ายไร้สายที่จะมาแทนที่ระบบ 4G ที่เราใช้อยู่ในปัจจุบัน ซึ่งมันไม่ได้ถูกจำกัดแค่มือถือเท่านั้น แต่รวมถึงอุปกรณ์ทุกชนิดที่เชื่อมต่ออินเตอร์เน็ตได้ 2. 5G คือการพัฒนา 3 ส่วนที่สำคัญที่จะนำมาสู่การเชื่อมต่ออุปกรณ์ไร้สายต่างๆ ขยายช่องสัญญาณขนาดใหญ่ขึ้นเพื่อเพิ่มความเร็วในการเชื่อมต่อ การตอบสนองที่รวดเร็วขึ้นในระยะเวลาที่น้อยลง ความสามารถในการเชื่อมต่ออุปกรณ์มากกว่า 1 ในเวลาเดียวกัน 3. สัญญาณ 5G นั้นแตกต่างจากระบบ

By

4 mins read
Thai
26
July, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
26 July, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
ในปัจจุบันนี้ ปฏิเสธไม่ได้เลยว่าภาษาที่ถูกใช้ในการเขียนเว็บต่าง ๆ นั้น คงหนีไม่พ้นภาษา Javascript ซึ่งเป็นภาษาที่ถูกนำไปพัฒนาเป็น framework หรือ library ต่าง ๆ มากมาย ผู้พัฒนาหลายคนก็มีรูปแบบการเขียนภาษา Javascript ที่แตกต่างกัน เราเลยมีแนวทางการเขียนที่หลากหลาย มาแบ่งปันเพื่อน ๆ เกี่ยวกับการจัดการ Array ด้วยภาษา Javascript กัน เรามาดูตัวอย่างกันเลยดีกว่า โดยปกติแล้วการ copy ค่าจาก value type ธรรมดา สามารถเขียนได้ดังนี้

By

4 mins read
Thai

Let’s build digital products that are
simply awesome !

We will get back to you within 24 hours!Go to contact us
Please tell us your ideas.
- Senna Labsmake it happy
Contact ball
Contact us bg 2
Contact us bg 4
Contact us bg 1
Ball leftBall rightBall leftBall right
Sennalabs gray logo28/11 Soi Ruamrudee, Lumphini, Pathumwan, Bangkok 10330+66 62 389 4599hello@sennalabs.com© 2022 Senna Labs Co., Ltd.All rights reserved.