Computer >> Máy Tính >  >> Lập trình >> SQL

Mô hình cơ sở dữ liệu phân cấp


Mô hình phân cấp biểu diễn dữ liệu trong cấu trúc dạng cây, trong đó mỗi bản ghi có một cha duy nhất. Để duy trì trật tự, có một trường sắp xếp giữ các nút anh chị em theo cách được ghi lại. Các loại mô hình này được thiết kế cơ bản cho các hệ thống quản lý cơ sở dữ liệu máy tính lớn ban đầu, như Hệ thống quản lý thông tin (IMS) của IBM.

Cấu trúc mô hình này cho phép mối quan hệ một-một và một-nhiều giữa hai / nhiều loại dữ liệu khác nhau. Cấu trúc này rất hữu ích trong việc mô tả nhiều mối quan hệ trong thế giới thực; mục lục, mọi thông tin được lồng ghép và sắp xếp.

Cấu trúc phân cấp được sử dụng làm thứ tự vật lý của các bản ghi trong bộ nhớ. Người ta có thể truy cập các bản ghi bằng cách điều hướng xuống thông qua cấu trúc dữ liệu bằng cách sử dụng các con trỏ được kết hợp với truy cập tuần tự. Do đó, cấu trúc phân cấp không phù hợp với các hoạt động cơ sở dữ liệu nhất định khi một đường dẫn đầy đủ cũng không được bao gồm cho mỗi bản ghi.

Dữ liệu trong loại cơ sở dữ liệu này được cấu trúc phân cấp và thường được phát triển dưới dạng cây đảo ngược. "Gốc" trong cấu trúc là một bảng duy nhất trong cơ sở dữ liệu và các bảng khác hoạt động như các nhánh chảy ra từ gốc. Sơ đồ dưới đây cho thấy cấu trúc cơ sở dữ liệu phân cấp điển hình.

Mô hình cơ sở dữ liệu phân cấp

Cơ sở dữ liệu đại lý

Trong sơ đồ trên, một đại lý đặt lịch cho một số nghệ sĩ giải trí và mỗi nghệ sĩ giải trí, đổi lại có lịch trình riêng của họ. Nhiệm vụ của một đại lý là duy trì một số khách hàng có nhu cầu giải trí được đáp ứng. Khách hàng đặt trước cam kết thông qua đại lý và thanh toán cho đại lý cho các dịch vụ của mình.

Mối quan hệ trong mô hình cơ sở dữ liệu này được biểu diễn bằng thuật ngữ cha / con. Một bảng mẹ có thể được liên kết với một hoặc nhiều bảng con trong kiểu quan hệ này, nhưng một bảng con chỉ có thể được liên kết với một bảng mẹ. Các bảng được liên kết rõ ràng thông qua một con trỏ / chỉ mục hoặc bởi sự sắp xếp vật lý của các bản ghi trong các bảng.

Người dùng có thể truy cập dữ liệu bằng cách bắt đầu từ bảng gốc và làm việc trong cây tới dữ liệu đích. người dùng phải quen thuộc với cấu trúc của cơ sở dữ liệu để truy cập dữ liệu mà không có bất kỳ sự phức tạp nào.

Ưu điểm

  • Người dùng có thể truy xuất dữ liệu rất nhanh chóng do sự hiện diện của các liên kết rõ ràng giữa các cấu trúc bảng.
  • Tính toàn vẹn của tham chiếu được tích hợp sẵn và tự động thực thi do đó bản ghi trong bảng con phải được liên kết với bản ghi hiện có trong bảng mẹ, cùng với đó nếu bản ghi bị xóa trong bảng mẹ thì điều đó sẽ khiến tất cả được liên kết các bản ghi trong bảng con cũng sẽ bị xóa.

Nhược điểm

  • Khi người dùng cần lưu trữ một bản ghi trong bảng con hiện không liên quan đến bất kỳ bản ghi nào trong bảng mẹ, điều đó sẽ gặp khó khăn trong quá trình ghi và người dùng phải ghi thêm một mục nhập trong bảng mẹ.
  • Loại cơ sở dữ liệu này không thể hỗ trợ các mối quan hệ phức tạp và cũng có vấn đề dư thừa, có thể dẫn đến việc tạo ra thông tin không chính xác do dữ liệu được ghi không nhất quán tại các trang web khác nhau.

Hãy xem xét một ví dụ bằng cách sử dụng sơ đồ cơ sở dữ liệu được hiển thị trong sơ đồ trước. Người dùng không thể nhập bản ghi mới cho người giải trí trong bảng Người giải trí cho đến khi người đó được chỉ định cho một tác nhân cụ thể trong bảng Người đại lý vì bản ghi trong bảng con (Người giải trí) phải liên quan đến bản ghi trong bảng mẹ (Người đại diện) . Do đó, loại cơ sở dữ liệu này gặp phải vấn đề dư thừa dữ liệu. Ví dụ, nếu có một mối quan hệ nhiều-nhiều giữa khách hàng và người giải trí; một nghệ sĩ giải trí sẽ biểu diễn cho nhiều khách hàng và một khách hàng sẽ thuê nhiều nghệ sĩ giải trí. Loại mối quan hệ này trong cơ sở dữ liệu phân cấp không thể dễ dàng lập mô hình, vì vậy các nhà phát triển phải đưa dữ liệu dư thừa vào cả bảng Lịch biểu và Tương tác.

  • Bảng Lịch biểu bây giờ sẽ có dữ liệu khách hàng chứa thông tin như tên khách hàng, địa chỉ và số điện thoại để hiển thị cho ai và mỗi nghệ sĩ đang biểu diễn ở đâu. Dữ liệu này là dư thừa vì nó hiện cũng được lưu trữ trong bảng Khách hàng.
  • Bảng Tương tác bây giờ sẽ chứa dữ liệu về nghệ sĩ, trong đó có thông tin như tên, số điện thoại và loại nghệ sĩ giải trí để cho biết nghệ sĩ nào đang biểu diễn cho một khách hàng nhất định. Dữ liệu này cũng không cần thiết vì nó hiện được lưu trữ trong bảng Entertainers.

Vấn đề với sự dư thừa này là nó có thể tạo ra thông tin không chính xác vì nó mở ra khả năng cho phép người dùng nhập một phần dữ liệu đơn lẻ một cách không nhất quán.

Vấn đề này có thể được giải quyết bằng cách tạo một cơ sở dữ liệu phân cấp dành riêng cho các nghệ sĩ giải trí và một cơ sở dữ liệu khác dành riêng cho các đại lý. Cơ sở dữ liệu Entertainers sẽ chỉ chứa dữ liệu được ghi trong bảng Entertainers và cơ sở dữ liệu Đại lý đã sửa đổi sẽ chứa dữ liệu được ghi trong các bảng Đại lý, Khách hàng, Thanh toán và Tương tác. không cần thiết vì bạn có thể xác định mối quan hệ con logic giữa bảng Engagements trong cơ sở dữ liệu Đại lý và bảng Entertainers trong cơ sở dữ liệu Entertainers. Với mối quan hệ này, bạn có thể truy xuất nhiều thông tin, chẳng hạn như danh sách các nghệ sĩ đã đặt trước cho một khách hàng cụ thể hoặc lịch biểu diễn cho một nghệ sĩ nhất định. Sơ đồ dưới đây mô tả toàn cảnh.

Mô hình cơ sở dữ liệu phân cấp

Cơ sở dữ liệu phân cấp rất phù hợp với các hệ thống lưu trữ băng được sử dụng bởi các máy tính lớn trong những năm 1970 và rất phổ biến trong các tổ chức có cơ sở dữ liệu dựa trên các hệ thống đó. Tuy nhiên, mặc dù cơ sở dữ liệu phân cấp cung cấp khả năng truy cập nhanh và trực tiếp vào dữ liệu và hữu ích trong một số trường hợp, rõ ràng là cần có một mô hình cơ sở dữ liệu mới để giải quyết các vấn đề ngày càng tăng về dư thừa dữ liệu và các mối quan hệ phức tạp giữa các dữ liệu.

Ý tưởng đằng sau mô hình cơ sở dữ liệu này hữu ích cho một loại lưu trữ dữ liệu nhất định, nhưng nó không phải là cực kỳ linh hoạt và chỉ giới hạn trong một số mục đích sử dụng cụ thể.

Ví dụ:trong đó mỗi cá nhân trong công ty có thể báo cáo cho một bộ phận nhất định, bộ phận đó có thể được sử dụng làm hồ sơ gốc và từng nhân viên sẽ đại diện cho hồ sơ phụ, mỗi người trong số đó liên kết trở lại hồ sơ đó bản ghi mẹ trong cấu trúc phân cấp.