Cơ sở dữ liệu quan hệ đối tượng là gì và tại sao mô hình này lại cần thiết trong cơ sở dữ liệu không gian?


7

Trong GIS SE , nhiều người trong chúng ta sử dụng cơ sở dữ liệu địa lý ESRI . ESRI mô tả cơ sở dữ liệu địa lý là object-relational.

Cơ sở dữ liệu quan hệ đối tượng là gì và tại sao cần phải sử dụng mô hình này trong cơ sở dữ liệu không gian?

Có vẻ như họ đã lấy một cái gì đó đơn giản, mô hình cơ sở dữ liệu quan hệ và biến nó thành một thứ gì đó phức tạp. Tôi muốn hiểu lợi ích là gì.

Tôi không phải là DBA hay nhà phát triển, vì vậy các điều khoản của giáo dân sẽ được đánh giá cao.

Câu trả lời:


6

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 .

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 đó 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ệ.


4

"Đối tượng" -reference trong quan hệ đối tượng đề cập đến lập trình hướng đối tượng . Đây là một kiểu lập trình trong đó các đối tượng như hình tam giác hoặc hình vuông hoặc một số thực thể địa lý khác có thể được yêu cầu tự di chuyển (tọa độ dịch) hoặc xoay một mức độ nhất định hoặc chia tỷ lệ phần trăm, bất kể đó là lớp nào (hình tam giác, hình vuông , bất cứ điều gì). Là lập trình viên, bạn không biết một đối tượng cụ thể là lớp nào và ngôn ngữ lập trình sẽ đảm nhiệm việc thực hiện các phép tính chính xác khi bạn bảo đối tượng này di chuyển (thay đổi 3, 4 hoặc nhiều tọa độ).

Một cơ sở dữ liệu quan hệ đối tượng hiện kết hợp các tính năng của lập trình hướng đối tượng và cơ sở dữ liệu quan hệ và đảm nhiệm việc chuyển đổi giữa các đối tượng với các phương thức (di chuyển, xoay và chia tỷ lệ) và các bảng, thường thiếu các phương thức này.


2

Mô hình quan hệ thực sự rất đơn giản. Các cột trong một hàng trong một mối quan hệ đều liên quan đến một khóa, do đó xác định một bảng / quan hệ. Mọi thứ khác theo sau những nguyên tắc đó.

Thông thường, mục tiêu của cơ sở dữ liệu đối tượng là trừu tượng hóa một số mô hình sẽ được thực hiện trong cơ sở dữ liệu truyền thống để xác định các thuộc tính đối tượng nào có liên quan đến khóa và cách thiết kế nên được tạo ra và cách mọi thứ sẽ được truy cập và cách mọi thứ sẽ được lập chỉ mục. Và để xử lý các khái niệm cấp cao hơn như kế thừa hoặc đa hình hoặc biến thể đối tượng, tất cả đều được thiết kế bằng tay một cách hiệu quả trong một mô hình quan hệ.

Tương tự với cơ sở dữ liệu mạng, chuyển một số khái niệm về các cấu trúc cấp cao hơn này sang các tính năng bậc nhất trong cơ sở dữ liệu.

Tôi nghĩ rằng có một chút không công bằng đối với các cơ sở dữ liệu quan hệ được chuẩn hóa và nghiên cứu và ghi lại rằng tất cả các "cơ sở dữ liệu" này đều sử dụng tên đó (giống như các cơ sở dữ liệu khác tồn tại trước khi cơ sở dữ liệu quan hệ và chuẩn hóa được nghiên cứu và định nghĩa), nhưng vì vậy nó - bạn đã được thông báo cơ sở dữ liệu của ai đó trong Excel bao nhiêu lần rồi?

Không có gì sai với những cách tiếp cận này, nhưng chúng có xu hướng không phải là cách tiếp cận chung tốt, nền tảng không được chuẩn hóa và hiệu suất vẫn là như vậy. Một mô hình dữ liệu được lập chỉ mục và chuẩn hóa tốt vẫn sẽ thực hiện cũng như thiết kế của nó. Và một hệ thống có nhiều chuyên môn hóa như một đối tượng hoặc cơ sở dữ liệu mạng có thể hoặc không thể vượt trội hơn tùy thuộc vào việc thiết kế có thực sự sử dụng các tính năng cho lợi thế tốt nhất của chúng hay không.

Đó vẫn là các bit trên đĩa và tham chiếu đến các bit khác trên đĩa và nếu bạn không làm điều đó thông minh, nó sẽ vẫn chậm ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.