การนำเสนอรายละเอียดและโครงสร้างของข้อมูล จะอาศัยฐานข้อมูล (data model) เป็นตัวอธิบาย ในการออกแบบฐานข้อมูลเราจะใช้ฐานข้อมูล ช่วยในการอธิบายรายละเอียดของข้อมูล ความสัมพันธ์ต่างๆของข้อมูล และอธิบายถึงโครงสร้างของข้อมูลในฐานข้อมูล จากนิยามฐานข้อมูลกล่าวว่าฐานข้อมูลคือที่เก็บข้อมูลและความสัมพันธ์ระหว่างข้อมูล ซึ่งข้อมูลและความสัมพันธ์ระหว่างข้อมูลนั้นจะนำเสนอให้ผู้ใช้เห็นโดยใช้สิ่งที่เรียกว่า ฐานข้อมูล (data model) นั่นเอง ดังนั้น ฐานข้อมูล หมายถึง โครงสร้างข้อมูลระดับตรรกะ(logical) ที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลให้ผู้ใช้เห็นและเข้าใจได้ ฐานข้อมูลที่ใช้ในงานฐานข้อมูลนั้นเป็น การอธิบายให้เห็นว่าภายในฐานข้อมูลประกอบด้วยข้อมูลอะไรบ้าง แต่ละข้อมูลมีความสัมพันธ์กันอย่างไร มีโครงสร้างข้อมูลเป็นอย่างไร มีกฎควบคุมความถูกต้องบนโครงสร้างข้อมูลเป็นอย่างไร และภาษาจัดการข้อมูลเป็นอย่างไร เป็นต้น
คุณสมบัติหลักของฐานข้อมูลไม่ว่าจะเป็นฐานข้อมูลใดๆ ทั้งฐานข้อมูลแบบไฮราคี ฐานข้อมูลแบบเครือข่าย ฐานข้อมูลแบบออบเจกต์ ฐานข้อมูลแบบสัมพันธ์ หรือฐานข้อมูลแบบอื่นๆ จะมีคุณสมบัติหลัก ดังต่อไปนี้ คือ
1.1 โครงสร้างข้อมูล (data structures) คือโครงสร้างข้อมูลระดับตรรกะที่โปรแกรมประยุกต์เห็น เป็นการบอกว่าฐานข้อมูลนั้นๆ มีโครงสร้างข้อมูลเป็นอย่างไร
1.2 กฎควบคุมความถูกต้อง (integrity constraint) เป็นการบอกว่าโครงสร้างข้อมูลนั้นมีกฎบังคับความถูกต้องอย่างไร
1.3 ภาษาจัดการข้อมูล (data manipulation language) เป็นการบอกว่ามีภาษาจัดการข้อมูลบนโครงสร้างข้อมูลเป็นอย่างไร
ฐานข้อมูลที่รู้จักกันในปัจจุบันมีด้วยกัน 4 ประเภท คือ ฐานข้อมูลแบบเครือข่าย (hierarchical model) ฐานข้อมูลแบบลำดับชั้น (hierarchy model) ฐานข้อมูลแบบสัมพันธ์ (relational model) และฐานข้อมูลแบบจำลองเชิงวัตถุ (object oriented model) ฐานข้อมูลมีการนำเสนอต่อเนื่องมาเป็นระยะๆ ฐานข้อมูลที่ประสบความสำเร็จและมีผู้ใช้ในวงการธุรกิจเริ่มจากฐานข้อมูลแบบแรก คือ ฐานข้อมูลแบบลำดับชั้นหรือไฮราคี ถัดมาคือฐานข้อมูลแบบเครือข่าย และฐานข้อมูลที่มีการใช้กันมากที่สุดในปัจจุบัน คือ ฐานข้อมูลแบบสัมพันธ์ และปัจจุบันนี้มีฐานข้อมูลสมัยใหม่เกิดขึ้นคือฐานข้อมูลแบบออบเจกต์ นั่นคือฐานข้อมูลนั้นมีการนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลที่แตกต่างกันไป ซึ่งการนำเสนอในฐานข้อมูลแบบสัมพันธ์หรือรูปแบบตารางเป็นที่นิยมใช้กันแพร่หลายมากที่สุด
ตัวอย่างแฟ้มข้อมูลของบริษัทขายคอมพิวเตอร์แห่งหนึ่งซึ่งถูกจัดทำข้อมูล เป็นระบบฐานข้อมูลโดยบริษัทคอมพิวเตอร์แห่งนี้จะมีข้อมูลประกอบด้วยแฟ้มข้อมูลรายการสินค้า ซึ่งแสดงคลังสินค้า รหัสสินค้า และจำนวนสินค้าที่มีอยู่ภายในบริษัท แฟ้มข้อมูลคลังสินค้าซึ่งแสดงคลังสินค้า และสถานที่ตั้งของคลังสินค้า แฟ้มข้อมูลรหัสสินค้าซึ่งแสดงรหัสสินค้า และชื่อสินค้านั้น แฟ้มข้อมูลลูกค้าซึ่งแสดงเลขประจำตัวลูกค้า ชื่อของลูกค้า และแฟ้มข้อมูลการสั่งซื้อ ซึ่งแสดงชื่อคลังสินค้า รหัสสินค้า เลขประจำตัวลูกค้า รหัสการสั่งซื้อสินค้า จำนวนที่สั่งซื้อ จะใช้แฟ้มข้อมูลดังกล่าวเป็นรูปแบบในการอธิบายลักษณะฐานข้อมูลแบบต่าง ๆดังนี้
แฟ้มข้อมูลรายการสินค้า |
แฟ้มข้อมูลคลังสินค้า |
||||
ชื่อคลังสินค้า |
รหัสสินค้า |
จำนวน |
ชื่อคลังสินค้า |
จังหวัด |
|
STORE 1 |
PT-1 |
50 |
STORE 1 |
ปทุมธานี |
|
STORE 1 |
PT-3 |
20 |
STORE 2 |
สระบุรี |
|
STORE 2 |
PT-2 |
100 |
STORE 3 |
อยุธยา |
|
STORE 2 |
PT-1 |
30 |
แฟ้มข้อมูลรหัสสินค้า |
แฟ้มข้อมูลลูกค้า |
|||
รหัสสินค้า |
รายละเอียด |
เลขประจำตัวลูกค้า |
ชื่อลูกค้า |
|
PT-1 |
เครื่องพิมพ์ |
3428 |
SPINETICS |
|
PT-2 |
แผ่นดิสเก็ต |
3430 |
ORCHID |
|
PT-3 |
ตัวขับดิส |
3491 |
ELECTRONIC |
|
PT-4 |
จอภาพคอมพิวเตอร์ |
5726 |
MAGNO-THAI |
แฟ้มข้อมูลรายการสินค้า |
||||
ชื่อคลังสินค้า |
ชื่อคลังสินค้า |
เลขประจำตัวลูกค้า |
รหัสการสั่ง |
จำนวน |
STORE 1 |
PT-3 |
3428 |
0052 |
10 |
STORE 2 |
PT-2 |
3428 |
0098 |
7 |
STORE 3 |
PT-3 |
3430 |
0098 |
15 |
STORE 3 |
PT-4 |
5726 |
0099 |
1 |
คิดขึ้นโดยบริษัทไอบีเอ็ม เป็นฐานข้อมูลที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (tree structure) เป็นโครงสร้างลักษณะคล้ายต้นไม้เป็นลำดับชั้น ซึ่งแตกออกเป็นกิ่งก้านสาขา ผู้ที่คิดค้นฐานข้อมูลแบบนี้คือ North American Rockwell เพื่อต้องการให้เป็นฐานข้อมูลที่สมารถกำจัดความซ้ำซ้อน (Data Redundancy) โดยใช้แนวความคิดของโปรแกรมที่ชื่อว่า Generalized Update Access Method (GUAM)
3.1 โครงสร้างของฐานข้อมูลแบบลำดับชั้น
1)ลักษณะโครงสร้างระบบฐานข้อมูลที่ใช้รูปแบบนี้จะมีโครงสร้างของข้อมูลเป็นลักษณะ
ความสัมพันธ์แบบพ่อลูก คือ พ่อ (parent) 1 คนมีลูก (child) ได้หลายคน แต่ลูกมีพ่อได้คนเดียว (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ n) หรือแบบพ่อคนเดียวมีลูก 1 คน (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ 1) ซึ่งจัดแยกออกเป็นลำดับชั้น โดยในระดับชั้นที่ 1 จะมีเพียงแฟ้มข้อมูลเดียวนั่นคือมีพ่อคนเดียว ในระดับที่ 2 จะมีกี่แฟ้มข้อมูลก็ได้ ในทำนองเดียวกันระดับ 2 ก็จะมีความสัมพันธ์กับระดับ 3 เหมือนกับ ระดับ 1 กับระดับ 2 โดยในโครงสร้างข้อมูลแบบลำดับชั้นแต่ละกรอบจะมีตัวชี้ (pointers) หรือ หัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างดังนี้
จากฐานข้อมูลแบบลำดับชั้นจะมีปัญหาถ้าความสัมพันธ์ของข้อมูลเป็นแบบลูกมีพ่อได้หลายคน จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่น ความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้นจะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่ค่อยมีผู้นิยมใช้ ฐานข้อมูลแบบลำดับชั้น เนื่องจากความสัมพันธ์ของข้อมูลที่จะเก็บไว้ในฐานข้อมูลเป็นแบบพ่อ-ลูกเท่านั้น
2) กฎควบคุมความถูกต้อง คือ เรคอร์ดพ่อสามารถมีเรคอร์ดลูกได้หลายเรคอร์ด แต่เรคอร์ดลูกแต่ละเรคอร์ดจะมีเรคอร์ดพ่อได้เพียงเรคอร์ดเดียวเท่านั้น จากรูปแบบบฐานข้อมูลแบบลำดับชั้น จะมีปัญหา ถ้าความสัมพันธ์ของข้อมูลเป็นแบบเรคอร์ดลูก 1 เรคอร์ดมีพ่อได้หลายเรคอร์ด จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่นความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้น จะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่มีผู้นิยมใช้
3) การจัดการ รูปของโครงสร้างต้นใช้ภาษาปฏิบัติการทีละเรคอร์ด ตัวอย่างของภาษาปฎิบัติการของฐานข้อมูลนี้ ได้แก่ IMS/VS
4.) ลักษณะเด่นและข้อจำกัดของการจัดการฐานข้อมูลแบบลำดับชั้น
4.1 ลักษณะเด่น
- เป็นระบบฐานข้อมูลที่มีระบบโครงสร้างซับซ้อนน้อยที่สุด
- มีค่าใช้จ่ายในการจัดสร้างฐานข้อมูลน้อย
- ลักษณะโครงสร้างเข้าใจง่าย
- เหมาะสำหรับงานที่ต้องการค้นหาข้อมูลแบบมีเงื่อนไขเป็นระดับและออกงานแบบเรียงลำดับต่อเนื่อง
- ป้องกันระบบความลับของข้อมูลได้ดี เนื่องจากต้องอ่านแฟ้มข้อมูลที่เป็นต้นกำเนิดก่อน
4.2 ข้อจำกัด
- มีโอกาสเกิดความซ้ำซ้อนมากที่สุดเมื่อเทียบกับระบบฐานข้อมูลแบบโครงสร้างอื่น
- ขาดความสัมพันธ์ระหว่างแฟ้มข้อมูลในรูปเครือข่าย
- มีความคล่องตัวน้อยกว่าโครงสร้างแบบอื่น ๆ เพราะการเรียกใช้ข้อมูลต้องผ่านทางต้นกำเนิด (root) เสมอ ถ้าต้องการค้นหาข้อมูลซึ่งปรากฏในระดับล่าง ๆ แล้วจะต้องค้นหาทั้งแฟ้ม