Widoki

  1. Strona główna
  2. Docs
  3. Widoki

Widoki

Wydrukuj dokument

Znaczenie pojęcia „widok” dla zwykłego użytkownika programu nie jest tak istotne jak dla osoby sprawującej pieczę nad sprawnym działaniem systemu i nad dostosowaniem go do nietypowych, indywidualnych potrzeb użytkowników. Osoba nie będąca administratorem może opuścić niniejszy rozdział.

Widok należy uważać za wirtualną tabelę. To, co w programie nazywamy tabelami a użytkownik widzi np. tabelę artykułów lub tabelę z dokumentami sprzedaży jest de facto widokiem powstałym w wyniku zapytania instrukcją SELECT SQL. Widoki są obrazem danych z tabeli (lub wielu tabel) znajdujących się fizycznie w bazie na serwerze SQL. Zawartość widoku – pola jakie zawiera – uzyskuje się, odpowiednio formułując polecenie SELECT SQL.

Administrator ani tym bardziej użytkownik programu nie muszą pisać tego polecenia gdyż istnieje w systemie narzędzie do jego konstrukcji polecenia w sposób wizualny. Narzędziem tym jest tzw. „Projektant widoków”.

OrangeSquid umożliwia obsługę dwóch zapytań SQL: zapytanie fabryczne i zapytanie użytkownika oraz trzech widoków: widoku fabrycznego i dwóch widoków użytkownika.

Zarządzanie zapytaniami SQL

„Zarządzanie zapytaniami SQL” jest opcją która pozwala nam stworzyć nowe zapytanie SQL, na podstawie którego można tworzyć nowe widoki. W celu wywołania tej opcji należy na wybranej tabeli kliknąć przycisk „Konfiguracja tabeli” a następnie „Zarządzanie zapytaniami SQL.”

Okno „Zapytania SQL” zawiera listę zapytań fabrycznych oraz utworzonych przez użytkownika. Znaczniki „bieżące” i „fabryczny”, pokazują które z zapytań jest fabrycznym oraz które są ustawione jako bieżące.

Opcja Dodaj otwiera „Projektanta widoku” i umożliwia dodanie nowego zapytania.

Opcja Popraw pozwala edytować zapytania utworzone przez użytkownika. Nie ma jednak możliwości modyfikacji zapytań fabrycznych.
Zapytania utworzone przez użytkownika możemy również usunąć.
Zmień na bieżące pozwala nam zmienić wskazany widok na bieżący.
Zapytania SQL posiadają odrębne uprawnienia. Wskazane zapytanie możemy zabronić poszczególnym operatorom lub profilom użytkowników.

„Projektanta widoków” używamy wtedy, gdy zaistnieje potrzeba wyświetlenia w dowolnej tabeli programu, kolumny która fabrycznie się tam nie znalazła. Jakkolwiek projektant widoków jest narzędziem bardzo ułatwiającym  konstrukcję widoku, to do jego prawidłowego i pełnego wykorzystania przydaje się wiedza na temat składni polecenia SELECT SQL.

Aby wywołać projektanta widoku należy na wybranej tabeli kliknąć przycisk „Konfiguracja tabeli” a następnie „Zarządzanie zapytaniami SQL.”

Rysunek przedstawia projektanta widoków wywołanego z tabeli artykułów. Górną część okna zajmują trzy tabele z bazy SQL wchodzące w skład widoku. W części środkowej są zakładki będące odzwierciedleniem poszczególnych sekcji polecenia SELECT SQL. Najczęstszą potrzebą użytkownika jest dodanie do  widoku pola. Robi się to na pierwszej zakładce „Pola” gdzie po lewej jej stronie widoczna jest lista dostępnych dla widoku pól tabel a po prawej aktualnie dodane pola. Używając przycisków ze strzałkami   trzeba zmodyfikować listę „Pola widoku” wedle własnych potrzeb.

Przyciski  przesuwają wszystkie pola z listy do listy. Należy pamiętać o oszczędnym dodawaniu pól do widoku gdyż zbyt duża ich ilość przyczyni się do  spowolnienia wyświetlania tabeli. W widoku powinny być tylko te pola, które są naprawdę potrzebne.

Jeśli zaistnieje potrzeba użycia nie tylko samego pola ale jakiegoś wyrażenia lub  funkcji języka TRANSACT SQL, to takie wyrażenie można wpisać do pola „Funkcje i wyrażenia” a następnie używając przycisku  dodać je do pól widoku. Po dodaniu trzeba pamiętać, aby w pole „Nazwa” wpisać nazwę stworzonego wyrażenia. Przycisk  uaktywnia formularz służący łatwiejszej edycji wyrażenia.

Na zakładce „Pola” znajduje się znacznik  . Jego zaznaczenie powoduje, że widok nie będzie zawierał powtórzeń pozycji, przy czym kryterium wykrywania powtórzeń jest pierwsze pole znajdujące się na liście „Pola widoku”. Przesuwając myszą pozycje listy  możemy ustalić, które pole ma się znaleźć na jej początku.

Zawartość listy „Dostępne pola” zależna jest od tabel, jakie są użyte w widoku. Aby dodać tabelę należy prawym klawiszem myszy kliknąć w górnym obszarze okna projektanta i z menu podręcznego wybrać opcję „Dodaj tabelę”. Następnie na wyświetlonej liście tabel z bazy programu trzeba wskazać żądaną  tabelę i nacisnąć przycisk OK.

Nowo dodana tabela musi mieć relacyjne powiązanie z pozostałymi tabelami w widoku. Powiązanie to należy zdefiniować na zakładkach „WHERE” lub „JOIN”.

Na zakładce „WHERE” dodaje się warunki łączące tabele wchodzące w skład widoku. Po naciśnięciu przycisku  pojawi się okienko służące do definiowania warunku łączącego. Należy po lewej i po prawej stronie okienka wybrać łączone tabele, pola względem których połączenie ma nastąpić oraz operator łączenia (najczęściej znak „=”). Można również samemu wpisać warunek łączący.

Zakładka WHERE służy również do wpisywania warunków innych niż łączące – warunków filtrujących widok, np., gdy chcemy mieć widoczne w tabeli artykuły o określonej symbolice:

artykuly.symbol_art LIKE ‘A-001%’

Wynikiem złączenia zdefiniowanego w sekcji WHERE są wyłącznie te rekordy z tabel nadrzędnej i podrzędnej w których istnieje całkowita zgodność wartości pól użytych w warunku.
Czasami jednak chcemy uzyskać wszystkie rekordy z tabeli, nazwijmy ją „głównej” mimo że niektóre wartości w polu łączącym mogą być puste i nie zajdzie na nie relacja do drugiej tabeli. W takim przypadku warunek łączący definiujemy na zakładce „JOIN” tak jak na przykładzie:

Zapis: LEFT [OUTER] JOIN oznacza tzw. “złączenie zewnętrzne”, w wyniku którego widok będzie zawierał wszystkie rekordy z tabeli znajdującej się po lewej stronie klauzuli JOIN i tylko te rekordy z tabeli po prawej stronie, które odpowiadają złączeniu co do wartości klucza łączącego. Przykładem jest tutaj  złączenie artykułów (ARTYKULY) z tabelą stanów magazynowych (ART_MAG). W tabeli ART_MAG nie muszą pojawiać się wszystkie symbole artykułów – stąd konieczność złączenia typu LEFT OUTER JON, aby wyświetlić wszystkie artykuły. Przytoczony tu został typowy przypadek, jaki może zajść w programie. Innego typu złączenia JOIN nie występują w fabrycznych definicjach widoków.

Ostatnia zakładka „Polecenie SQL” pozwala użytkownikom na wpisanie całego polecenia wprost – bez konieczności budowania go później z elementów zdefiniowanych przez użytkownika. Dzięki temu możliwe jest zastosowanie m.in. funkcji napisanych w języku TSQL, zdefiniowanych w bazie danych i zwracających kursor.

Używanie tej zakładki powoduje zwiększenie odpowiedzialności, gdyż zapytanie może być dowolne. Autorzy nie wymuszają zastosowania głównej tabeli, widoku ani tego by widok zawierał pola klucza głównego tabeli (są to elementy niezbędne dla prawidłowego funkcjonowania mechanizmów zastosowanych w programie).

Więcej szczegółów na temat składni polecenia SELECT prosimy szukać w literaturze dot. administrowania bazami SQL lub pomocy Visual FoxPro.

Więcej szczegółów na temat składni polecenia SELECT prosimy szukać w literaturze dot. administrowania bazami SQL lub pomocy Visual FoxPro.

Aby zakończyć pracę z projektantem widoków należy zamknąć go używając przycisku OK. Program zapisze definicje i pojawi się ona na liście zapytań SQL.

Poprawiona definicja widoku może posłużyć  następnie do zmodyfikowania wyglądu i zawartości tabeli (patrz rozdział „Manipulowanie zawartością tabel”).

Zarządzanie widokami

Widoki tworzymy na podstawie wcześniej utworzonych zapytań SQL. Każda zmian w widoku tabeli: dodanie lub usunięcie kolumny, rozszerzenie lub jej zwężenie, zmiana kolorów w tabeli, wszystko  to możemy zapisać jako nowy widok. Po zmianie w tabeli, którą chcemy zapisać należy kliknąć na przycisk  . Dokonaną zmianę możemy zapisać dla bieżącego widoku lub zapisać jako nowy widok.

Na pasku narzędzi dostępny jest jeszcze jeden przycisk związany z widokami.


Pozwala on na  szybkie przełączanie się pomiędzy widokami.

Opcja dotycząca zarządzania widokami dostępna jest pod przyciskiem „Konfiguracja tabeli” a następnie „Zarządzanie widokami.”

Z tego poziomu możemy zmienić wskazany widok na bieżący, poprawić nazwę widoku oraz go usunąć.

Opcja ta umożliwia również nadanie uprawnień do poszczególnych widoków.

Uprawnienia do widoków działają na takiej samej zasadzie jak uprawnienia do zapytań SQl. Możemy nadać uprawnienia do wskazanego widoku, poszczególnym operatorom lub profilom użytkowników.

Manipulowanie zawartością tabel

Zawartość tabeli można niemal dowolnie zmieniać dostosowując ją do indywidualnych potrzeb użytkownika. Służą do tego celu opcje „Dodaj/Popraw/Usuń kolumnę” oraz „Właściwości tabeli” dostępne w menu „Konfiguracja tabeli”. Ponadto można zamieniać kolumny miejscami oraz zmieniać ich szerokość.

Dodanie kolumny

Dodając lub edytując kolumnę ustalamy:

  • wyrażenie określające zawartość kolumny. Jest to pole widoku zdefiniowanego fabrycznie lub przez użytkownika

⇒ Patrz rozdział: Projektant widoku

  • tytułu kolumny i jej czcionki
  • wyglądu komórki
    – właściwości czcionki
    – kolory czcionki i tła komórki
    – warunki zastosowania poszczególnych właściwości komórki.

    Powyższy przykład zawiera definicje kolumny „Nazwa” w tabeli „Artykuły”. Warunek sformułowany jest tak, że towary o zapasie poniżej minimum będą wyświetlane na czerwono.Nowo dodaną kolumnę należy potem przesunąć w żądane miejsce.

    ⇒  patrz poniżej Zmiana kolejności kolumn.

     

    Usunięcie kolumny

    Opcja ta umożliwia usunięcie kolumny z tabeli.