Relacje
Struktury danych mogą być ze sobą logicznie powiązane. Specyficznymi rodzajami pól, które mogą stanowić element struktury danych jest pole Relacja do innej struktury. Elementem struktury danych umożliwiającym odpowiednie wczytanie danych, które są ze sobą w relacji, jest Lista.
Relacja do innej struktury
Pole umożliwia stworzenie relacji do zapisanej już w serwerze wersji struktury. Aby wskazać strukturę, na którą wskazywać będzie pole relacyjne, dodaj pole do struktury Relacja do innej struktury i we właściwościach określ Strukturę powiązaną w oknie właściwości pola relacyjnego.

Utworzenie relacji powoduje utworzenie w bazie danych odpowiednich kluczy obcych oraz indeksów w tabelach. Możliwe jest stworzenie relacji struktury do samej siebie. Przykładem może być hierarchia pracowników, w której każdy pracownik ma swojego przełożonego, którego dane są zapisane w tej samej strukturze.
Usuwanie kaskadowe – opcja określająca, czy podczas usuwania obiektu, do którego odnosi się relacja, należy usunąć również ten element.
Możesz także skorzystać z opcji Drag&Drop i z Serwera wersji przeciągnąć strukturę danych na obszar roboczy
Podstruktury
Elementem, który umożliwia biznesowe wydzielenie danych w strukturze, jest podstruktura. Aby dodać podstrukturę do struktury danych, należy wybrać z menu kontekstowego dostępnego z poziomu głównego elementu struktury opcję podstruktura. Dodanie podstruktury nie powoduje utworzenia nowej tabeli w bazie danych. Pola, które znajdują się w podstrukturze zostają zapisane w bazie danych w tabeli odwzorowującej całą strukturę danych.
W podstrukturze mogą znaleźć się wszystkie typy pól oprócz pól związanych z relacjami (list, pól wirtualnych, relacji do innej struktury). Podstruktura musi zawierać co najmniej jedno pole.
Przykładem podstruktury może być wydzielenie w danych klienta danych adresowych jako podstruktury.

Podstruktury reprezentowane są w pliku struktury danych (EDMX) jako typ złożony (complex type).
Listy
Listy są elementami struktury, które umożliwiają odpowiednie wczytanie danych będących ze sobą w relacji oraz dostęp do danych relacyjnych z poziomu struktury nadrzędnej do elementów struktury podrzędnej i na odwrót. Dodatkowo wykorzystanie list umożliwia edytowanie danych struktury podrzędnej. Aby dodać pole typu Lista do struktury danych, należy wybrać z menu kontekstowego dostępnego z poziomu głównego elementu struktury opcję Lista.
W celu poprawnego zdefiniowania listy należy najpierw utworzyć relację na strukturze, do której ma odwoływać się lista. O tym czy do danej struktury jest utworzona relacja informuje komunikat po najechaniu myszą na nazwę listy.
Przykład:
Na strukturze Klient chcemy utworzyć listę z elementami danych ze struktury Wniosek
- Przejdź na strukturę
Wnioseki utwórz relację do strukturyKlient - We właściwościach wskaż strukturę powiązaną.
- Możesz także przeciągnąć strukturę
Wniosekbezpośrednio z Serwera wersji i upuścić na strukturzeKlient

- Gdy już jest zdefiniowana relacja ze struktury
Wniosekdo strukturyKlientto przejdź na strukturęKlient - Dodaj pole Lista do struktury.
- We właściwościach wskaż strukturę powiązaną oraz pole relacyjne.

- Jeżeli zamkniesz strukturę i otworzysz ją jeszcze raz wówczas od razu będzie widoczna lista w formie duszka, którą możesz dodać do struktury poprzez wybór opcji z menu kontekstowego.
