====== LibreOffice Base ====== ===== Relacje ===== Ogólnie w bazach relacyjnych występują cztery podstawowe typy relacji między tabelami. Znajomość sposobu działania tych relacji da możliwość użytkowania LO Base. Znając konstrukcje tych czterech typów relacji (1:1, 1:M, M:1, M:N), możesz stworzyć praktycznie każdą strukturę bazy danych! Bazy relacyjne działają na tych fundamentalnych zasadach, a bardziej skomplikowane modele to po prostu kombinacje tych relacji. ==== Relacja 1:1 (jeden do jednego) ==== Każdy rekord w tabeli A ma dokładnie jeden odpowiadający rekord w tabeli B i odwrotnie. **Przykład:** * uzytkownicy (id, imie, nazwisko) * profile (id, uzytkownik_id, adres, telefon) **Zastosowanie:** gdy dodatkowe dane są opcjonalne i rzadko używane. ==== Relacja 1:M (jeden do wielu) ==== Jeden rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B, ale każdy rekord w B odnosi się tylko do jednego rekordu w A. **Przykład:** * miejscowosci (id, nazwa) * mieszkancy (id, imie, nazwisko, miejscowosc_id) **Zastosowanie:** gdy wiele rekordów może być powiązanych z jednym nadrzędnym rekordem (np. mieszkańcy w miejscowości). ==== Relacja M:1 (wiele do jednego) ==== To właściwie to samo co 1:M, tylko patrzymy z drugiej strony. Każdy rekord w tabeli B należy do jednego rekordu w tabeli A. **Przykład:** * Jeden miejscowosc_id w mieszkancy może mieć wielu mieszkańców. * To po prostu perspektywa tabeli mieszkancy w relacji 1:M. ==== Relacja M:N (wiele do wielu) ==== Jeden rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B, a jeden rekord w tabeli B może być powiązany z wieloma rekordami w tabeli A. **Przykład:** * uczniowie (id, imie, nazwisko) * przedmioty (id, nazwa) **Tabela pośrednia:** uczniowie_przedmioty (uczen_id, przedmiot_id) **Zastosowanie:** np. uczniowie zapisani na wiele przedmiotów. ===== Tworzenie raportu ===== ==== Opcja "Trzymaj razem" ==== Opcja ''Trzymaj razem / Keep Together'' nie działa zgodnie z oczekiwaniami dla sekcji ''szczegóły'' i że utworzenie nowej grupy w oparciu o rekord rozwiązuje problem. W takim przypadku możemy przejść przez kroki tworzenia nowej grupy w raporcie LibreOffice Base, która zagwarantuje, że sekcje szczegółów zostaną razem. === Kroki do utworzenia nowej grupy w raporcie === 1. **Otwórz raport w trybie edycji**: - Wybierz raport w sekcji "Raporty" i kliknij "Edytuj". 2. **Utwórz nową grupę**: - Wybierz zakładkę "Raport". - Kliknij na "Wstaw grupę". 3. **Wybierz pole do grupowania**: - Wybierz pole, które chcesz użyć do grupowania (np. ID rekordu, jeśli jest unikalny dla każdego rekordu). - Upewnij się, że opcja ''Trzymaj razem'' jest zaznaczona dla tej nowej grupy. 4. **Przenieś sekcję szczegółów do nowej grupy**: - Upewnij się, że sekcja szczegółów jest częścią nowo utworzonej grupy. - Sprawdź, czy wszystkie dane, które mają być utrzymywane razem, znajdują się w tej sekcji. === Przykład === Załóżmy, że masz raport, który wyświetla szczegóły transakcji. Chcesz, aby wszystkie szczegóły dotyczące pojedynczej transakcji były trzymane razem na jednej stronie. === Krok 1: Otwórz raport w trybie edycji === - Otwórz swój raport w trybie edycji. === Krok 2: Utwórz nową grupę === 1. **Wybierz zakładkę "Raport"**: - Przejdź do zakładki "Raport". 2. **Kliknij "Wstaw grupę"**: - Kliknij na przycisk "Wstaw grupę". 3. **Wybierz pole do grupowania**: - Wybierz pole, które identyfikuje unikalnie każdy rekord (np. ID rekordu). - Upewnij się, że zaznaczona jest opcja "Trzymaj razem" dla tej grupy. === Krok 3: Przenieś sekcję szczegółów do nowej grupy === 1. **Przenieś sekcję szczegółów**: - Upewnij się, że wszystkie elementy, które mają być utrzymywane razem, znajdują się w sekcji szczegółów nowej grupy. === Krok 4: Sprawdź i wygeneruj raport === 1. **Zapisz zmiany**: - Zapisz zmiany w raporcie. 2. **Wygeneruj raport**: - Sprawdź, czy sekcje szczegółów są trzymane razem na jednej stronie zgodnie z oczekiwaniami. === Podsumowanie === Tworzenie nowej grupy w oparciu o unikalne pole (np. ID rekordu) i korzystanie z opcji "Trzymaj razem" w tej grupie to skuteczny sposób na zapewnienie, że dane w sekcji szczegółów są trzymane razem na jednej stronie. Dzięki temu rozwiązaniu możesz skutecznie zarządzać układem raportu, unikając niepożądanych podziałów danych na różne strony.