Cấu trúc phân cấp được IBM phát triển vào những năm 1960 và sử dụng trong máy tính mainframe database management system đầu tiên. Những mối quan hệ của các bản ghi tạo thành một mô hình dạng cây. Cấu trúc này tuy đơn giản nhưng không linh hoạt, vì các mối quan hệ trong cấu trúc bị ràng buộc ở dạng mối quan hệ một–nhiều. IBM information management system ( IMS, Hệ thống Quản lý Thông tin IBM ) và RDM mobile là những ví dụ về hệ thống cơ sở dữ liệu phân cấp có nhiều cấp trên cùng một dữ liệu. RDM mobile là cơ sở dữ liệu nhúng được thiết kế mới dành cho hệ thống máy tính di động. [ two ]
Mô hình dữ liệu phân cấp mất đi sức hút chi mô hình quan hệ của nhà khoa học máy tính edgar Codd trở thành tiêu chuẩn trong thực tế, được sử dụng trong phần lớn các hệ thống quản lý cơ sở dữ liệu chính thống. Việc triển khai cơ sở dữ liệu quan hệ cho một mô hình phân cấp đã được thảo luận lần đầu tiên trong một xuất bản phẩm năm 1992 ( xem thêm mô hình tập hợp lồng nhau ). Các lược đồ thể hiện tổ chức dữ liệu phân cấp đã xuất hiện trở lại với sự radium đời của XML vào cuối những năm 1990 [ three ] ( xem thêm cơ sở dữ liệu XML ). Ngày nay, cấu trúc phân cấp chủ yếu được sử dụng để lưu trữ thông canister địa lý và hệ thống tập can. [ two ]
Hiện tại, cơ sở dữ liệu phân cấp vẫn được sử dụng rộng rãi, đặc biệt trong các ứng dụng đòi hỏi hiệu năng và tính sẵn sàng rất cao như ngân hàng và viễn thông. Một trong những cơ sở dữ liệu phân cấp thương mại được sử dụng rộng rãi nhất là IMS. [ four ] Một ví dụ khác về ứng dụng cơ sở dữ liệu phân cấp trong thực tế là phần mềm windowpane register trong hệ điều hành Microsoft window. [ one ] [ five ]
Ví dụ về dữ liệu phân cấp được biểu diễn dưới dạng bảng quan hệ [sửa |sửa mã nguồn ]
Một tổ chức có thể lưu trữ thông tin nhân viên trong một bảng có chứa các thuộc tính ( hay cột ) là mã nhân viên, tên, họ và mã phòng ban. Tổ chức sẽ cấp cho mỗi nhân viên phần cứng máy tính chi cần, nhưng thiết bị máy tính chỉ có thể do nhân viên được chỉ định sử dụng. Tổ chức có thể lưu trữ thông tin phần cứng máy tính trong một bảng riêng biệt bao gồm số sêri, loại và mã nhân viên sử dụng phần cứng đó. Các bảng có thể trông như thế này :
Read more : Kiểu dữ liệu số trong Python | How Kteam
bảng employee
Mã nhân viên Tên Họ Mã phòng ban 100 Mahwish Faki 10-L 101 Hamadh Hashim 10-L 102 Nirun Ar 20-B 103 Chaaya Sandakelum 20-B
bảng computer
Số sêri Loại Mã nhân viên 3009734-4 Máy tính 100 3-23-283742 Màn hình 100 2-22-723423 Màn hình 100 232342 Máy in 100 Trong mô hình này, bảng dữ liệu
employee
đại diện cho nút “ cha ” của hệ thống phân cấp, còn bảngcomputer
đại diện cho nút “ con ”. Không giống cấu trúc cây thường thấy trong các thuật toán phần mềm máy tính, ở mô hình này, nút con trỏ đến nút cha thay vì ngược lại. Như bảng trên, mỗi nhân viên có thể sở hữu một số thiết bị máy tính, nhưng mỗi thiết bị máy tính có thể chỉ có một nhân viên sở hữu. Xét cấu trúc sau :Read more : Kho lưu trữ tin Facebook ở đâu? Làm sao xem lại?
Mã nhân viên Chức vụ Cấp trên 10 Giám đốc 20 Quản lý cấp cao 10 30 Nhân viên đánh máy 20 40 Lập trình viên 20 Trong bảng này, “ victimize ” có cùng kiểu dữ liệu với “ cha ”. Hệ thống phân cấp cho biết Mã nhân viên ten là cấp trên của twenty, còn thirty và forty có cấp trên là twenty, thể hiện trong cột “ Cấp trên ”. Trong thuật ngữ của cơ sở dữ liệu quan hệ, cột Cấp trên là một khóa ngoại tham chiếu đến cột Mã nhân viên. Nếu kiểu dữ liệu “ memorize ” khác “ cha ”, phần bunco sẽ nằm ở một bảng khác, nhưng vẫn sẽ là một khóa ngoại tham chiếu đến cột Mã nhân viên của bảng nhân viên. Mô hình đơn giản này thường được gọi là mô hình danh sách kề, cause Tiến sĩ edgar F. Codd giới thiệu sau những phê bình cho rằng mô hình quan hệ không thể mô hình hóa dữ liệu phân cấp. [ six ] Tuy vậy, mô hình này chỉ là một trường hợp đặc biệt của cách biểu diễn danh sách kề điển hình cho một đồ thị .
Liên kết ngoài [sửa |sửa mã nguồn ]
Bản mẫu : Mô hình cơ sở dữ liệu