ระดับของแบบชนิดข้อมูล (hierarchy of data types) หมายถึง ระดับของ ข้อมูลที่จำแนกตามแบบชนิดข้อมูลที่นำมาใช้กับเครื่องคอมพิวเตอร์ ซึ่งนักคอมพิวเตอร์จำแนกข้อมูลออกเป็น 3 ระดับ ดังแสดงในตารางที่ 2.1
ตารางที่ 2.1 ระดับของแบบชนิดข้อมูล
| ระดับ | แบบชนิดข้อมูล | ที่มา |
| 2 | ข้อมูลในระดับความคิด | สร้างโดยจินตนาการของนักเขียนโปรแกรม เพื่อแก้ปัญหาที่ต้องการ |
| 1 | ข้อมูลในระดับโปรแกรม | สร้างด้วยภาษาคอมพิวเตอร์ระดับสูง |
| 0 | ข้อมูลในระดับเครื่อง | ฮาร์ดแวร์มีให้ใช้ได้ |
2.2.1 ข้อมูลในระดับเครื่อง
ข้อมูลในระดับเครื่อง (hardware data types) เป็นระดับของแบบชนิดข้อมูลที่บันทึกในหน่วยความจำ ซึ่งข้อมูลจะถูกบันทึกด้วยรหัสแทนข้อมูลในภาษาเครื่อง เช่น
(1) จำนวนเต็ม (integer)
(2) จำนวนจริง (real)
(3) อักขระ (character)
2.2.2 ข้อมูลในระดับโปรแกรม
ข้อมูลในระดับโปรแกรม (virtual data types) เป็นระดับของแบบชนิดข้อมูลที่ดูเสมือนว่ามีจริง แต่ความจริงเป็นการสร้างข้อมูลเทียมขึ้นมาใช้ โดยใช้ภาษาคอมพิวเตอร์ สร้าง (built - in) ขึ้นมาเพื่อให้ความสะดวกแก่ผู้ใช้ ทำให้สามารถใช้งานได้คล่องตัวขึ้น ตัวอย่างข้อมูลเทียมในภาษาปาสคาลที่ใช้ตัวแปลเทอร์โบปาสคาลแบ่งออกเป็นชนิดต่าง ๆ ดังต่อไปนี้
(1) ข้อมูลแบบสเกลาร์ (scalar data types) เป็นข้อมูลพื้นฐานในภาษาปาสคาล แบ่งออกเป็น 2 ประเภทดังนี้
- ข้อมูลแบบมาตรฐาน (standard data types)
- จำนวนเต็ม (integer)
- จำนวนจริง (real)
- อักขระ (character)
- สตริง (string)
- บูลีน (boolean)
- ข้อมูลแบบผู้ใช้กำหนด (user–defined data types) เป็นแบบข้อมูลที่ผู้ใช้สามารถกำหนดเพิ่มขึ้นมาใช้เองได้ ซึ่งการกำหนดจะขึ้นอยู่กับภาษาที่ใช้ ตัวอย่างข้อมูลที่ผู้ใช้กำหนดในภาษาปาสคาลดังนี้
Type week_day = (mon, tue, wed, thu, fri);
traffic_light = (red, yellow, green);
vowel = (‘A’, ‘E’, ‘I’, ‘O’, ‘U’)
score = 0 . . 100;
up_letter = ‘A’ . . ‘Z’;
(2) ข้อมูลแบบโครงสร้าง (structure data types) เป็นข้อมูลที่สร้างขึ้นจากข้อมูลแบบสเกลาร์ หรืออาจจะสร้างขึ้นมาจากข้อมูลแบบโครงสร้างด้วยกันเองก็ได้ (ยกเว้นไฟล์) ดังนี้
- แถวลำดับ (array)
- เซต (set)
- ระเบียนข้อมูล (record)
- แฟ้มข้อมูล (file)
(3) ข้อมูลแบบพอยน์เตอร์ (pointer data types)
2.2.3 ข้อมูลในระดับความคิด
ข้อมูลในระดับความคิด (abstract data types) เป็นระดับของแบบชนิดข้อมูลประเภทนามธรรมที่สร้างขึ้นจากจินตนาการของผู้ใช้ เป็นแบบชนิดข้อมูลที่ไม่มีรูปร่างหรือลักษณะให้เห็น การอธิบายลักษณะของข้อมูลจะใช้สัญลักษณ์ ถ้าต้องการทำให้แบบชนิดข้อมูลที่เป็นนามธรรมเป็นข้อมูลที่เป็นรูปธรรม ก็ต้องนำไปใช้จริงกับเครื่องคอมพิวเตอร์จริง (implement) ข้อมูลในระดับความคิดแบ่งออกเป็น 2 ประเภท คือ
(1) โครงสร้างข้อมูลแบบเชิงเส้น (linear data structures) เช่น
- ลิสต์ (list)
- สแตก (stack)
- คิว (queue)
- ดีคิว (deque)
(2) โครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น (non-linear data structures) เช่น
- ทรี (tree)
- กราฟ (graph)
จากข้อมูลในแต่ละระดับที่กล่าวมา ข้อมูลในระดับที่ 2 (ข้อมูลในระดับความคิด) นักเขียนโปรแกรม (programmer) เป็นผู้เขียนโปรแกรมสร้างข้อมูลขึ้นมาเพื่อใช้เป็นตัวเชื่อมความสัมพันธ์ไปสู่ข้อมูลในระดับที่ 1 (ข้อมูลในระดับโปรแกรม) ส่วนโปรแกรมแปลภาษาทำหน้าที่เป็นตัวเชื่อมความสัมพันธ์จากข้อมูลในระดับที่ 1 ไปสู่ข้อมูลในระดับที่ 0 (ข้อมูลในระดับเครื่อง) ซึ่งเป็นระดับที่เครื่องบันทึกข้อมูลโดยใช้รหัสแทนข้อมูลจริง