Dostęp do bazy danych
Podczas tworzenia struktury danych możesz mieć dostęp do bazy danych i podejrzeć zapis struktury do bazy.
- Wybierz na panelu dolnym
opcję wyświetlania bazy danych.
- Po wykonaniu akcji na panelu Źródła danych zostanie umożliwiony dostęp do wszystkich baz skonfigurowanych w
connectionStrings.config - Baza danych tworzonej aplikacji to
CONNECT_STRING - Przycisk SQL umożliwia otwarcie edytora zapytań SQL, z kolei jeśli wybierzesz przycisk Studio, wówczas zostanie uruchomiony Sql Server Management Studio – od razu podłączone do właściwego serwera i bazy.

Konfiguracja baz danych
- Na panelu Źródła danych rozwiń okno umożliwiające wybranie danej bazy.
- Wybierz opcję Zarządzaj.

- Zostanie otwarte okno umożliwiające dodanie nowego źródła danych lub usunięcie istniejącego, a także wyświetlenia parametrów połączenia.

Procedury
W archITekt Studio znajdują sie procedury czyli zestaw zapytań SQL, które są zapisane w bazie danych pod konkretną nazwą, z których korzysta platforma.
Wszystkie funkcje i procedury składowane są kompatybilne z SQL Server 2008 oraz stworzone w domyślnym schemacie dbo Zostało zastosowane nazewnictwo, które pomaga odnaleźć określone funkcje i procedury składowane. Przedrostek dm przekazuje informacje o tym, że jest to funkcja lub procedura związana ze strukturą danych (DataModule).
Funkcje i procedury składowane zostały podzielone na publiczne oraz pomocnicze (prywatne), te drugie mają w swojej nazwie helper
Na panelu Źródła danych znajdziesz folder Procedury.

Można używać procedur publicznych, jednak należy wystrzegać się korzystania z procedur i funkcji pomocniczych, ponieważ mogą się one zmieniać.
Przykładowo
Procedura składowana usuwająca tabelę ma nazwę dm_DeleteTable a dodająca wartość domyślną dm_helper_AddDefaultValue

Procedurę możesz wykonać w oknie edytora zapytań SQL dostępnym w panelu Źródła danych. Po wprowadzeniu danych wybierz Uruchom aby wukonać polecenie.

W przypadku funkcji publicznych do parametrów dotyczących schematu, tabeli czy kolumny można przekazywać nazwy zawierające nawiasy kwadratowe. Zatem [tabela1] oraz tabela1 są traktowane w jednakowy sposób. W przypadku funkcji pomocniczych trzeba przekazywać nazwę bez nawiasów.
UWAGA, niektóre procedury dodają klucze i indeksy do tabel lub je usuwają, stąd zalecamy szczególną ostrożność jeżeli korzystasz z gotowych procedur.
Skrypty wygenerowane w archITekt Studio
Każda z głównych procedur składowanych wykonuje zapytanie SELECT zwracające tabelę z logami. Może ona współpracować z tabelą tymczasową, tak jak to ma miejsce w przypadku generowania skryptu aktualizującego.
Podczas aktualizacji struktur danych możesz zapisać wykonywany skrypt.

Skrypt składa się z części inicjacyjnej oraz części wykonującej zmiany w bazie danych. W pierwszej części, w celu optymalizacji, wyłączone zostaje wyświetlanie liczby zmodyfikowanych wierszy.
SET NOCOUNT ON
Zostaje też zainicjonowana zmienna rebuildExistingIndexes służąca do przebudowy indeksów. Jeśli zostanie ona ustawiona na 1, to procedury dm_DeleteConstraint i dm_EnsureConstraint usuną i stworzą na nowo indeks. Następnie zostaje stworzona tymczasowa tablica służąca do przechowywania logów przekazanych z dalszej części skryptu.
Druga część wygenerowanego skryptu zawiera wywołania procedur. Każde wywołanie poprzedzone jest poleceniem INSERT, które wstawia informacje o zaistniałych operacjach do tablicy logów, aby w łatwy sposób można było prześledzić, jakie operacje zostały wykonane na bazie danych.
Przykładowy skrypt wygenerowany w archITekt Studio

Główne procedury:
dm_EnsureSchema- tworzenie schematu. Jeśli schemat podany jako parametr nie istnieje, to zostanie stworzony.dm_EnsureTable- tworzenie/aktualizacja tabeli. Należy przekazać do procedury nazwę schematu, tabeli, kolumny, która ma być kluczem głównym oraz typ tej kolumny. Parametr opisu tabeli jest opcjonalny. Kolumna może mieć typINTlubUNIQUEIDENTIFIER(z poziomu archITekt Studio jest to typGUID).dm_EnsureField- tworzenie/aktualizacja kolumn. Do procedury należy podać informacje o nazwie schematu, tabeli, do której chcemy dodać kolumnę lub ją aktualizować, nazwę pola i typ pola. Jeśli pole może mieć wartośćNULL, należy przekazać wartość 1, jeśli nie – wartość 0. Domyślnie pole jestnullable(może zawierać wartościNULL). Wartość domyślna pola i jego opis są parametrami opcjonalnymi.dm_EnsureConstraint- tworzenie klucza obcego i indeksu. Do procedury należy przekazać nazwę schematu, powiązanego schematu, tabeli, powiązanej tabeli, kolumny, powiązanej kolumny. Druga kolumna jest opcjonalna. Służy ona do tworzenia indeksu na dwie kolumny. Kolejnym parametrem jest sposób zachowania się w przypadku usuwania. Ostatni parametr służy przebudowaniu indeksówdm_DeleteTable- usuwanie tabeli. Należy przekazać jako parametr nazwę schematu oraz tabeli. Procedura usunie klucze obce powiązane z tabelą i usunie samą tabelę. Przykład poniżej przedstawia stworzenie tabeli oraz jej usunięcie.dm_DeleteConstraint- usuwanie klucza obcego i indeksu. Do procedury należy przekazać nazwę schematu, tabeli, kolumny, powiązanej tabeli, informację, czy klucz obcy ma być usuwany w sposób kaskadowy i czy należy przebudować indeksy. Dwa ostatnie parametry są domyślnie ustawione na 0.dm_DeleteNonExistentFields- pozostawienie konkretnych kolumn w tabeli. Procedura służy do pozostawienia tylko tych kolumn, które zostały przekazane jako parametr. Może ona służyć do synchronizacji kolumn zapisanych w strukturze w archITekt Studio z kolumnami zapisanymi w bazie danych. Procedura jedynie usuwa kolumny, nie tworzy ich w przypadku ich braku w bazie danych. Do procedury należy przekazać nazwę schematu, tablicy oraz nazwy kolumn, które pozostają w bazie danych oddzielone średnikami.