ฐานข้อมูลที่ใช้กันอยู่ในปัจจุบันมีกี่โครงสร้าง อะไรบ้าง

1.1.ประวัติความเป็นมาของการจัดเก็บข้อมูล
     การจัดเก็บข้อมูลในสมัยก่อนนิยมเก็บบันทึกข้อมูลลงในกระดาษแล้วใส่แฟ้มเป็นชุดๆ ต่อมาเมื่อเทคโนโลยีทางคอมพิวเตอร์ เข้ามีบทบาทมากขึ้น จึงพัฒนามาจัดเก็บในรูปแบบของไฟล์ (File)
เมื่อข้อมูลมีปริมาณมากขึ้น จึงได้มีการพัฒนาการจัดเก็บข้อมูลให้อยู่ในรูปของ ฐานข้อมูล (Database) เพื่อลดความซ้ำซ้อน ของข้อมูล (Data Redundancy) โดยฐานข้อมูลที่ใช้อยู่ในปัจจุบันจัดเก็บในรูปแบบของ ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)

1.2.หน่วยพื้นฐานทางคอมพิวเตอร์

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

หน่วยความจุของข้อมูลทางคอมพิวเตอร์

8 Bit 1 Byte (ไบท์)
1024 Byte 1 KB (กิโลไบท์)
1024 KB 1 MB (เมกะไบท์)
1024 MB 1 GB (กิกะไบท์)
1024 GB 1 TB (เทราไบท์)

บิท (Bit) คือ หน่วยที่เล็กที่สุดของคอมพิวเตอร์ ที่มีค่าเพียงเลข 0 กับ 1 เท่านั้น

ไบท(Byte) คือ ตัวอักขระ(Character) อะไรก็ได้ 1 ตัว โดยข้อมูลแต่ละตัวอักขระ (Character) จะมีรหัสแทนข้อมูลของตนเอง เช่น รหัสแอสกี (Ascii) 8 บิท เป็น 1 ตัวอักษร , รหัสยูนิโค๊ด(Unicode) 16 บิท เป็น 1 ตัวอักษร ฯลฯ ตัวอักขระ จะประกอบไปด้วย ตัวเลข (0-9), ตัวอักษร (A-Z, ก-ฮ, สระฯ) ,สัญลักษณ ์(+,-,฿ ฯ)

1.3.โครงสร้างของฐานข้อมูล
ฐานข้อมูลหนึ่ง ๆ จะประกอบไปด้วย

เขตข้อมูล (Field) คือ หน่วยที่เล็กที่สุดของแฟ้มข้อมูล (file) จะประกอบไปด้วยกลุ่มของตัวอักขระ ที่บอกขอบเขตหรือความหมายของข้อมูลที่จัดเก็บ เช่น รหัสนักศึกษา, ชื่อ, อายุ เป็นต้น

ระเบียน (Record) คือ กลุ่มของเขตข้อมูล ที่มาประกอบกันเพื่อเก็บข้อมูลของสิ่งต่าง ๆ ที่เราต้องการ เช่น เก็บข้อมูลสินค้า แต่ละรายการ จะประกอบไปด้วยเขตข้อมูลที่ชื่้อ รหัสสินค้า, ชื่อสินค้า, จำนวนสินค้า, หน่วยนับ, ราคาต่อหน่วย เป็นต้น

แฟ้มข้อมูล (File) ในทางคอมพิวเตอร์หมายถึง กลุ่มของระเบียนที่เกี่ยวข้องกัน เช่น แฟ้มข้อมูลคลังสินค้า , แฟ้มนักศึกษาแต่ละโปรแกรมวิชา ฯลฯ

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

1.4.คำนิยามที่เกี่ยวกับระบบฐานข้อมูล
     ในระบบฐานข้อมูลจะมีคำศัพท์เฉพาะที่ใช้เรียกแตกต่างกันออกไปจากระบบแฟ้มข้อมูลปกติ ดังนี้
     1.4.1.ตาราง (Table) ในระบบฐานข้อมูล หมายถึง แฟ้มข้อมูล(File)ที่ประกอบไปด้วย แถว (Row) กับ คอลัมน์ (Column) และมีชื่อเรียกอีกอย่างหนึ่งกว่า รีเลชั่น (Relation)
     1.4.2.แถว (Row) ในระบบฐานข้อมูล หมายถึง ระเบียน(Record) ที่จัดเก็บข้อมูลแต่ละรายการในแนวนอน หรือมีชื่อเรียกอีกอย่างว่า ทูเปิล (Tuble)
     1.4.3.คอลัมน์ (Column) ในระบบฐานข้อมูล หมายถึง เขตข้อมูล (Field) หรือมีชื่่อเรียกอีกอย่างหนึ่งว่า แอทตริบิวท์ (Attribule) ที่บอกถึงขอบเขตข้อมูลในแนวตั้ง
     1.4.4.เอนทิตี้ (Entity)ในระบบฐานข้อมูล หมายถึง ชื่อเรียกแทนสิ่งใดสิ่งหนึ่งที่สามารถบอกรายละเอียดได้ เทียบได้กับแฟ้มข้อมูล(File) นั่นเอง
     1.4.5.คีย์หลัก (Primary key) คือ เขตข้อมูลที่ทำให้ข้อมูลไม่ซ้ำกัน เช่น แฟ้มนักศึกษา คีย์หลักก็คือ รหัสนักศึกษา ที่สามารถจัดเก็บลงแฟ้มโดยไม่ยินยอมให้มีข้อมูลซ้ำกันเลย ในบางระบบงานคีย์หลักจะประกอบไปด้วย เขตข้อมูลมากกว่า 1 เขตข้อมูล เพื่อแยกเยอะข้อมูลให้แตกต่างกัน เช่น แฟ้มนักศึกษาลงทะเบียน คีย์หลักจะประกอบด้วย เทอม+รหัสนักศึกษา+รหัสวิชา เป็นต้น
     1.4.6.คีย์นอก (Foreign key) คือ เขตข้อมูลที่มีข้อมูลไปสัมพันธ์หรือเชื่อมโยงกับคีย์หลักของแฟ้มข้อมูลอื่นได้ ข้อมูลที่จัดเก็บอยู่สามารถซ้ำกันได้ เช่น แฟ้มลูกค้าสั่งซื้อสินค้า จะมีี่ลูกค้าหลายๆ คนสั่งซื้อสินค้าแบบเดียวกันก็ได้ นั่นคือ ในหลายรายการมีรหัสสินค้าซ้ำกันได้ แต่รหัสสินค้าของแฟ้มลูกค้าสั่งซื้อสินค้านี้ จะไปเชื่อมโยงกับรหัสสินค้าในแฟ้มสินค้า แต่รหัสสินค้าในแฟ้มสินค้า จะมีเพียงรายการเท่านั้น
     1.4.7.คีย์คู่แข่ง (Candidate key) คือ เขตข้อมูล(Field) ที่มีข้อมูลไม่ซ้ำกันเลย แต่ไม่ถูกเลือกให้เป็นคีย์หลัก เช่น แฟ้มนักศึกษา จะมี รหัสนักศึกษา เป็นคีย์หลัก แต่ในแฟ้มนี้ก็สามารถเก็บบันทึก รหัสบัตรประชาชน ได้เช่นกัน รหัสบัตรประชาชน สามารถแยกแยะข้อมูลไม่ซ้ำกันได้ ไม่นิยมกำหนดให้เป็นคีย์หลักในแฟ้มนักศึกษา แต่ถ้าเก็บข้อมูลประชากร รหัสบัตรประชาชน จึงเหมาะสมที่จะเป็นคีย์หลักได้ ทั้งนี้ขึ้นอยู่กับระบบงานแต่ละงาน
     1.4.8.คีย์รอง (Secondary key) คือ เขตข้อมูล(Field) ที่ไม่ใช่คีย์หลัก ยินยอมให้เก็บข้อมูลที่ซ้ำกันได้ เช่น แฟ้มนักศึกษา จะมีนักศึกษาที่มีอายุเท่ากัน หรืออยู่จังหวัดเดียวกันหลายคน เป็นต้น

1.5.รูปแบบความสัมพันธ์ (Relationships)ในระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
     ความสัมพันธ์นี้เป็นการเกี่ยวข้องกันในระดับเอนทิตี้ หรือ ตาราง แต่ละตารางนั่นเอง มีอยู่ 3 รูปแบบดังนี้
     1.5.1.ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One - to - One Relationships) หมายถึง ข้อมูลที่จัดเก็บอยู่ในเขตข้อมูล ของทั้งสองตาราง จะต้องไม่ซ้ำกัน เช่น ข้อมูลนักศึกษา สัมพันธ์กับ ข้อมูลประชากร เพราะคน ๆ หนึ่ง มีรหัสบัตรประชาชน ที่ไม่ซ้ำกัน และเป็นนักศึกษาของสถาบันหนึ่ง ๆ ได้เพียงรหัสเดียวเท่านั้น
     1.5.2.ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One - to - Many Relationships) หมายถึง มีข้อมูลเพียงหนึ่งเดียว ที่จัดเก็บอยู่ในเขตข้อมูลของแฟ้มหนึ่ง ไปสัมพันธ์กับข้อมูลหลาย ๆ รายการในอีกแฟ้มหนึ่ง เช่น แฟ้มสินค้า กับ แฟ้มข้อมูลลูกค้าสั่งซื้อสินค้า ในแฟ้มสินค้า จะมีรหัสสินค้าที่ไม่ซ้ำกัน แต่จะไปเชื่อมโยงกับรหัสสินค้า ที่ซ้ำกันได้ในแฟ้มข้อมูลลูกค้าสั่งซื้อสินค้า เป็นต้น
     1.5.3.ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many - to - Many Relationships) หมายถึง มีข้อมูลหลาย ๆ ข้อมูลที่ซ้ำกันได้ของแฟ้มหนึ่ง ไปสัมพันธ์กับข้อมูลหลาย ๆ รายการในอีกแฟ้มหนึ่ง เช่น แฟ้มนักศึกษา กับ แฟ้มรายวิชา เพราะ ในแต่ละวิชามีนักศึกษาเรียนได้หลายคน และนักศึกษาแต่ละคนสามารถลงเรียนได้หลายรายวิชา ในการสร้างระบบฐานข้อมูล ถ้าพบความสัมพันธ์แบบนี้ จะต้องแยกแฟ้มออกแล้วสร้างแฟ้มที่สามมาเชื่อมโยงความสัมพันธ์กันใหม่ ให้เป็นความสัมพันธ์แบบ หนึ่งต่อกลุ่มต่อหนึ่ง (One - to - Many - to One Relationships) ตัวอย่างเช่น แฟ้มนักศึกษา -> แฟ้มรับลงทะเบียนเรียน <- แฟ้มรายวิชา เป็นต้น

4.2.ชนิดของข้อมูล
     การสร้างเขตข้อมูลจะต้องมีการกำหนดชนิดของข้อมูลที่จะจัดเก็บ ซึ่งมีหลายประเภท ขึ้นอยู่โปรแกรมที่เราใช้งาน ดังนี้
1) ตัวอักขระ (Character) สามารถแยกออกได้เป็น
char เก็บตัวอักษรเต็มตามขนาดที่กำหนด
Varchar เก็บตัวอักษรตามจำนวนที่มี
Text คือ เก็บข้อความปริมาณมาก ๆ ซึ่งมีความจุประมาณ 2 GB

2) ตัวเลข (Number) สามารถเลือกกำหนดได้ดังนี้
int เก็บเลขจำนวนเต็ม มีค่าสูงสุด 2,147,483,647
smallint เก็บเลขจำนวนเต็มขนาดเล็ก มีค่าอยู่ในช่วง บวกลบ 32767
tinyint เก็บเลขจำนวนเต็มขนาดเล็กมาก มีค่าอยู่ในช่วง 0 - 255
float เก็บเลขทศนิยม ใช้ขนาด 4 บิท หรือ 8 บิท
double เก็บเลขทศนิยมที่มากกว่า float 1 เท่าตัว ใช้ขนาด 8 บิท
real เก็บเลขทศนิยม ใช้ขนาด 4 บิท
money เก็บจำนวนเงิน มีค่าเป็นหลักล้านๆ บาท

3) ตรรก (Logical)
bit มีค่าเป็น 0 หรือ 1

4) วันที่ (Date)
date เก็บเฉพาะวันที่
datetime เก็บวันที่และเวลา มีขนาด 8 บิท
smalldatetime เก็บวันที่และเวลา มีขนาด 4 บิท

5) ไบนารี (Binary)
เป็นการเก็บข้อมูลในรูประบบเลขฐานสอง ซึ่งเหมาะกับการจัดเก็บรูปภาพ เป็นต้น

ฐานข้อมูลประเภทใดที่นิยมใช้กันในปัจจุบัน

ระบบจัดการฐานข้อมูลที่นิยมใช้กันในปัจจุบัน ออราเคิล (Oracle) ไอบีเอ็ม ดีบีทู (IBM DB2) ไมโครซอฟท์ ซีควลเซิร์ฟเวอร์ (Microsoft SQL Server)

Database คืออะไร มีโครงสร้างอย่างไร

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

ดาต้าเบส มีอะไรบ้าง

Database คืออะไร ระบบฐานข้อมูล คือ การเก็บรวบรวมข้อมูลไว้ด้วยกัน....
DataType..
PostgreSQL..
MySQL..
Database..
Database Server..
Oracle..
MSSQL..

ระบบฐานข้อมูลแบบใดที่ได้รับความนิยมมากที่สุด

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