Modelowanie baz danych - Widoki obiektowe
1. Widoki obiektowe to specjalne rodzaje widoków w systemie baz danych, które pozwalają na prezentowanie danych z bazy danych jako obiekty w języku programowania. Dzięki temu, programiści mogą pracować z danymi w sposób naturalny, zgodny z ich modelem obiektowym zamiast korzystać z języka zapytań SQL. Widoki te pozwalają na tworzenie obiektów, które odpowiadają poszczególnym rekordom w bazie danych, a także na uzyskanie dostępu do tych rekordów poprzez właściwości i metody obiektów.
2. Widoki obiektowe są często używane w ORM, które pozwalają na mapowanie relacyjnych baz danych na modele obiektowe w językach programowania. Są one dostarczane przez różne frameworki tj.:
- Hibernate
- Entity Framework
- Django ORM
3. Typy widoków obiektowych:
- widok obiektowy pojedynczy (reprezentuje pojedynczy obiekt bazowy, taki jak pojedynczy rekord w tabeli relacyjnej)
- widok obiektowy złożony (reprezentuje złożony obiekt bazowy, taki jak grupa rekordów z różnych tabel relacyjnych)
- widok obiektowy hierarchiczny (reprezentuje dane w postaci hierarchii obiektów, gdzie każdy obiekt może mieć podobiekty)
- widok obiektowy złożony zagnieżdżony (reprezentuje zagnieżdżone obiekty bazowe, takie jak obiekt złożony zawierający inne obiekty złożone)
- widok obiektowy z referencją (reprezentuje obiekt bazowy z referencjami do innych obiektów bazowych, takich jak powiązania między tabelami relacyjnymi)
Na przykład, aby utworzyć widok obiektowy na podstawie tabeli EMPLOYEES i typu obiektowego ADDRESS_TY, możesz użyć następującego kodu SQL:
CREATE TYPE address_ty AS OBJECT (
street VARCHAR2(30),
city VARCHAR2(20),
state CHAR(2),
zip VARCHAR2(6)
);
CREATE OR REPLACE VIEW employee_view OF address_ty
WITH OBJECT IDENTIFIER (employee_id)
AS SELECT employee_id, address FROM employees;
Widok obiektowy employee_view pozwala na dostęp do danych adresowych pracowników jako obiektów typu address_ty. Możesz używać widoku obiektowego do wyświetlania, aktualizowania lub usuwania danych adresowych pracowników.