Mô hình quan hệ và mô hình hướng đối tượng
Nhà nước-of-the-art mô hình quan hệ , có nguồn gốc từ năm 1970 bởi Tiến sĩ EF Codd , được áp dụng khoa học liên quan đến lĩnh vực quản lý cơ sở dữ liệu. Hai phi công vững chắc của nó là logic thứ nhất và lý thuyết tập hợp.
Các mô hình hướng đối tượng , như nghĩ ra bởi Tiến sĩ Alan Kay , là một cách tiếp cận hữu ích cho các chương trình xây dựng ứng dụng. Nó đã được chứng minh là khá hiệu quả trong việc xây dựng giao diện người dùng đồ họa tạo điều kiện cho sự tương tác giữa người dùng cuối và hệ thống thông tin.
Như đã lưu ý, mỗi trong hai khung được đề cập ở trên phục vụ một mục đích rất cụ thể. Khi được sử dụng để tạo ra loại thành phần thích hợp, cả hai có thể giúp ích rất nhiều trong một dự án phát triển phần mềm.
Quản trị cơ sở dữ liệu, các chương trình ứng dụng và thuật ngữ mối quan hệ đối tượng trực tuyến
Trước khi hình thành và phát triển mô hình quan hệ, (a) thiết kế, tạo và quản trị các chương trình ứng dụng đã bị pha trộn nhiều với (b) thiết kế, tạo và quản lý dữ liệu (tất cả điều này theo kiểu ad hoc). Không có khoa học có sẵn để xử lý dữ liệu một cách tổng quát và hợp lý. Tiến sĩ EF Codd thực sự là một lập trình viên tại IBM và trực tiếp đối mặt với những khó khăn do hoàn cảnh nói trên gây ra. Với sự thông minh, kinh nghiệm thực tế và nền tảng toán học của mình, anh ta có khả năng hình dung và phát triển một nền tảng thanh lịch và mạnh mẽ để quản lý dữ liệu, giữa các yếu tố quan trọng khác, cho phép xử lý tài nguyên theo cách độc lập với chương trình ứng dụng.
Tôi không chắc chắn, nhưng trong trường hợp có thể tồn tại một hệ thống quản lý cơ sở dữ liệu 'quan hệ đối tượng', thì đó sẽ là một bằng chứng về việc cơ sở dữ liệu có thể thực hiện được cơ sở dữ liệu. Một cơ sở dữ liệu 'quan hệ đối tượng', một tên lửa sẽ là một thiết bị được tạo ra bằng phương pháp vướng víu của các cấu trúc hướng đối tượng cùng với các công cụ quan hệ.
Thật khó để biết liệu một hệ thống quản lý cơ sở dữ liệu có bản chất được mô tả ở trên có thể tồn tại hay không, bằng cách giới thiệu các cấu trúc hướng đối tượng, nhiều khả năng quan hệ bị rủi ro (xem Mười hai quy tắc của Cod Codd để biết thông tin liên quan), do đó khó có thể được coi là quan hệ ngay cả khi nó sẽ là một phần như vậy.
Trên thực tế, (i) gắn các công cụ hướng đối tượng vào hệ thống quản lý cơ sở dữ liệu quan hệ và (ii) sử dụng chúng trong cơ sở dữ liệu quan hệ được triển khai trên nó là hoàn toàn không cần thiết.
Tuy nhiên, có những ý kiến hiện tại của người Viking ủng hộ, thông qua các mẫu hướng đối tượng, hỗn hợp thiết kế, sáng tạo và quản trị liên quan đến (a) các chương trình ứng dụng và (b) cơ sở dữ liệu. Điều này có thể được hiểu là một lời mời để thực hiện hồi quy cho kỷ nguyên tiền khoa học (nghĩa là tiền quan hệ) khi có liên quan đến phần cơ sở dữ liệu (bởi vì, tự nhiên, không có mô hình hướng đối tượng liên quan đến quản trị dữ liệu) .
Về phần mình, mô hình quan hệ cung cấp các cơ chế chung và mạnh để thiết kế (cấu trúc logic), ràng buộc (các giá trị) và thao tác (với sự trừu tượng hóa) dữ liệu. Một trong những lợi ích của họ là chúng rất đơn giản (nhưng không bao giờ đơn giản). Để tận dụng tối đa các cơ chế đã nói ở trên, người quản trị / nhà điều hành cơ sở dữ liệu phải làm việc, nhất thiết, với các mối quan hệ (thường được khai báo là các bảng trong một nền tảng SQL nhất định) và như bạn biết, một mối quan hệ hoặc bảng không phải là một phần của mô hình hướng đối tượng (không cung cấp các ràng buộc toàn vẹn dữ liệu cũng như các thao tác thao tác dữ liệu chung và không được phép làm như vậy).
Sức mạnh của một ngôn ngữ quan hệ nằm ở khả năng biểu cảm của nó, chứ không phải ở khía cạnh tính toán của nó. Nói một cách đơn giản, khi làm theo các phương pháp quan hệ, người ta tuyên bố cấu trúc của những điều quan tâm (cách thức, cấu trúc của chúng), trong khi với một ngôn ngữ hướng đối tượng (ví dụ, Smalltalk), người ta nên xử lý chủ yếu hành vi của những điều quan trọng (cách họ làm những gì họ làm, các quy trình họ thực hiện), điều tối quan trọng đối với việc lập trình một ứng dụng.
Một trong nhiều ưu điểm của cơ sở dữ liệu quan hệ là, vì nó phải được thiết kế độc lập với các ngôn ngữ được sử dụng hoặc mô hình theo giai đoạn lập trình ứng dụng, nó có thể hoạt động cùng với nhiều ngôn ngữ và / hoặc mô hình lập trình ứng dụng và / hoặc nhiều ứng dụng các chương trình cùng một lúc.
Điều đó đang được nói, một cơ sở dữ liệu quan hệ phải được xây dựng bởi một nhà thiết kế tuân theo các nguyên tắc quan hệ, do đó việc xây dựng (1) một cơ sở dữ liệu cụ thể trên (2) một hệ thống quản lý cơ sở dữ liệu quan hệ nhất định không tự động cấp cho cơ sở dữ liệu cụ thể đó nhãn .
Cơ sở dữ liệu địa lý ArcGIS
Với mục đích giúp hiểu các liên kết arcgis.com mà bạn đưa vào câu hỏi của mình, tôi cho rằng khi thuật ngữ geodatabase được sử dụng, nó thực sự là một chỉ định theo ngữ cảnh cho một hệ thống thông tin địa lý hoàn chỉnh có thể bao gồm
- một hoặc nhiều cơ sở dữ liệu phù hợp được xây dựng trên một hoặc nhiều hệ thống quản lý cơ sở dữ liệu và
- một hoặc nhiều chương trình ứng dụng hoạt động cùng với (các) cơ sở dữ liệu đã nói.
Về khía cạnh đó, chúng ta hãy xem kiến trúc của (các) cơ sở dữ liệu thích hợp của cơ sở dữ liệu địa lý , nơi nó được tuyên bố rằng:
Mô hình lưu trữ cơ sở dữ liệu địa lý dựa trên một loạt các khái niệm cơ sở dữ liệu quan hệ đơn giản nhưng cần thiết và tận dụng các thế mạnh của hệ thống quản lý cơ sở dữ liệu cơ bản (DBMS). Các bảng đơn giản và các loại thuộc tính được xác định rõ được sử dụng để lưu trữ dữ liệu thuộc tính lược đồ, quy tắc, cơ sở và không gian cho mỗi tập dữ liệu địa lý. Cách tiếp cận này cung cấp một mô hình chính thức để lưu trữ và làm việc với dữ liệu của bạn. Thông qua cách tiếp cận này, có thể sử dụng chuỗi ngôn ngữ truy vấn có cấu trúc (SQL) có thể sử dụng để tạo, sửa đổi và truy vấn các bảng và các thành phần dữ liệu của chúng.
Vì vậy, phần nào cho thấy rằng dữ liệu đang được xử lý độc lập với các chương trình ứng dụng truy cập vào nó, và tất nhiên nó sẽ rất có giá trị.
Sau đó, trang này chứa tiêu đề sau (dưới dạng xác nhận) và đoạn:
Cơ sở dữ liệu địa lý là đối tượng quan hệ
Cơ sở dữ liệu địa lý sử dụng kiến trúc ứng dụng đa cấp bằng cách triển khai logic và hành vi nâng cao trong tầng ứng dụng trên tầng lưu trữ dữ liệu (được quản lý trong các hệ thống quản lý cơ sở dữ liệu khác nhau [DBMS], tệp hoặc ngôn ngữ đánh dấu mở rộng [XML]). Logic ứng dụng cơ sở dữ liệu địa lý bao gồm hỗ trợ cho một loạt các đối tượng và hành vi dữ liệu chung của hệ thống thông tin địa lý (GIS) như các lớp đối tượng, bộ dữ liệu raster, cấu trúc liên kết, mạng và nhiều hơn nữa.
Điều này dường như chỉ ra rằng hành vi của các đối tượng (cách thức mà các đối tượng chương trình ứng dụng hành động ) được xử lý ở nơi cần xử lý, tức là ở cấp độ chương trình ứng dụng (hoặc tầng tier, như được mô tả ở đó).
Hơn nữa, trở lại trang kiến trúc cơ sở dữ liệu địa lý , một tiêu đề giống hệt nhau và một đoạn rất giống với cái được đưa lên ở trên được giới thiệu như sau:
Cơ sở dữ liệu địa lý là đối tượng quan hệ
Cơ sở dữ liệu địa lý được triển khai bằng kiến trúc ứng dụng đa nhiệm tương tự được tìm thấy trong các ứng dụng DBMS nâng cao khác; không có gì kỳ lạ hoặc bất thường về việc thực hiện nó. Kiến trúc đa nhiệm của cơ sở dữ liệu địa lý đôi khi được gọi là một mô hình quan hệ đối tượng. Các đối tượng cơ sở dữ liệu địa lý vẫn tồn tại dưới dạng các hàng trong các bảng DBMS có danh tính và hành vi được cung cấp thông qua logic ứng dụng cơ sở dữ liệu địa lý. Sự tách biệt logic ứng dụng khỏi bộ lưu trữ là những gì cho phép hỗ trợ cho một số DBMS và định dạng dữ liệu khác nhau.
Một đoạn trích thu hút sự chú ý của tôi theo một cách cụ thể là, các đối tượng cơ sở dữ liệu địa lý vẫn tồn tại dưới dạng các hàng trong các bảng DBMS có nhận dạng, đó là sai lệch vì các bảng (nghĩa là quan hệ) của cơ sở dữ liệu quan hệ giữ các hàng (ví dụ: bộ dữ liệu) đại diện các xác nhận mang một ý nghĩa cụ thể được cung cấp bởi một vị từ miền doanh nghiệp nhất định (có thể được sử dụng để xác định một loại thực thể), do đó, nó không tồn tại các đối tượng bền vững. Hơn nữa, vì một tính năng thiết yếu của một đối tượng là hành vi của nó (về cơ bản là các phương thức của nó ), sẽ rất thú vị khi biết nó tồn tại như thế nào trong một cơ sở dữ liệu quan hệ.
Mặt khác, phần quan trọng của việc phân tách logic ứng dụng khỏi bộ lưu trữ là điều cho phép hỗ trợ một số DBMS và định dạng dữ liệu khác nhau xuất hiện để nhấn mạnh sự liên quan to lớn của việc xử lý dữ liệu tách biệt khỏi chương trình ứng dụng.
Phần kết luận
Kết luận của tôi là cơ sở dữ liệu địa lý ArcGIS không phải là (a) cơ sở dữ liệu quan hệ đối tượng cũng không (b) hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng. Như có thể đã đề cập trước đây, một hệ thống thông tin địa lý hoàn chỉnh bao gồm (i) một hoặc nhiều cơ sở dữ liệu thực tế (một số trong đó có thể ít nhiều có liên quan) và (ii) một hoặc nhiều chương trình ứng dụng (một số có thể ít nhiều hướng đối tượng) truy cập cơ sở dữ liệu nói.
Có lẽ đó là lý do tại sao nó được gọi theo ngữ cảnh là đối tượng của mối quan hệ.