Projekt realizowany w ramach przedmiotu Hurtownie Danych. Celem jest stworzenie kompletnego rozwiązania BI: od relacyjnej bazy źródłowej, przez proces ETL, aż po kostkę OLAP, zgodnie z architekturą Microsoft (SQL Server + SSIS + SSAS).
Aby uniknąć konfliktów w plikach projektu, każdy członek zespołu musi posiadać dokładnie to samo środowisko:
-
System Bazy Danych:
- Microsoft SQL Server 2019 Standard Edition
- zainstaluj zgodnie z
docs/enauczanie-sql-server-2019-installation-steps.pdf - Microsoft SQL Server Management Studio 2022
-
Środowisko Programistyczne:
- Visual Studio 2026 Enterprise
- Podczas instalacji VS wykonaj kroki z
docs/enauczanie-sql-server-2019-installation-steps.pdf
Nie pracujemy na luźnych plikach. Cały projekt jest spięty w jedno .sln Visual Studio, które zawiera projekty:
/data-warehouse-solution/data-warehouse-solution.sln– Główny plik, to otwierasz tylko ten plik- 1. rdb-source (SQL Project) – Definicja bazy źródłowej
- 2. rdb-dw (SQL Project) – Definicja bazy hurtowni danych
- 3. cube (SSAS Project) – Definicja kostki OLAP
/docs– Instrukcje PDF/csv-data- Wygenerowane CSVki do BULK INSERTa
Po sklonowaniu repozytorium wykonaj te kroki, aby postawić bazy danych u siebie lokalnie:
- Otwórz plik
data-warehouse-solution.slnw Visual Studio. - Opublikuj Bazę Źródłową (rdb-source lub rdb-dw):
- Przed opublikowaniem bazy w edytuj w pliku projektu RDB, który chcesz opublikować
scripts/post-deployment/Script.PostDeployment.sqlścieżkę bezwzględna do folderu z plikami.csv, które chcesz załadować do bazy - W Solution Explorer kliknij prawym przyciskiem myszy na projekt
rdb-sourcelubrdb-dw. - Wybierz Publish.
- Kliknij Edit przy polu Target database connection
- W oknie Connect wybierz u góry zakładkę Browse i z niej rozwiń Local i wybierz serwer DB, który utworzyłeś przy instalacji.
- Nazwij bazę danych.
- Wybierz opcję Advanced i tam zaznacz, że chcesz aby przy każdym publikowaniu działo się Re-create Database.
- Kliknij Publish, VS utworzy bazę jeśli nie istnieje w lokalnym SQL Server.
- !!! tu najlepiej zapisz profil, aby przy następnych publikacjach nie musieć wyklikiwać z ręki
- Po tym automatycznie wykona się skrypt
Script.PostDeployment.sql. - W SQL Server Management Studio 2022 w Databases powinna być widoczna opublikowana baza danych
- Przed opublikowaniem bazy w edytuj w pliku projektu RDB, który chcesz opublikować
- Ustawienie Kostki:
- Aby deployment oraz procesowanie kostki działało na twoim komputerze potrzebujesz kliknąć prawym przyciskiem myszy w projekt cube i wybrać Properties w zakładce Deployment w Target w polu Server wpisz nazwę swojego SQL Server, którą ustalałeś przy instalacji.
- Gdy deployment był udany, a nie widzisz bazy danych reprezenutującej kostkę w SQL Server Management Studio w zakładce Object Explorer wybierz opcję Connect, następnie wybierz Analysis Services. W okienku, które się pojawi wybierz połączenie z działającym SQL Server Analysis Services (możesz sprawdzić dokładną nazwę w programie SQL Server Configuration Manager).
- Dodawanie nowego projektu do istniejącego
.sln:- W VS z sekcji File wybierz New i utwórz nowy projekt danego typu. Podczas wyboru lokalizacji zamiast Create new solution wybierz opcję Add to solution.
Pomniejsza uwaga - przy tworzeniu baz danych twórzcie je najlepiej z nazwami:
- dla źródłowej relacyjnej bazy danych:
rdb_source - dla reprezentacji hurtowni danych poprzez relacyjną bazę danych:
rdb_dw - dla kostki OLAP:
cubeTo pomoże uniknąć konfliktów.
Abyśmy nie nadpisywali sobie pracy i nie psuli projektu, trzymamy się takich zasad:
Instrukcja PDF mówi o "Create database diagram" w SSMS, ale my tworzymy strukturę w Visual Studio.
- Chcesz dodać tabelę? PPM na folder Tables w projekcie VS -> Add Table.
- Chcesz zmienić kolumnę? Edytujesz plik
.sqlw VS. - Jak wgrać zmiany kogoś innego?
git pull.- PPM na projekt bazy -> Publish
SSMS służy nam TYLKO do podglądu danych (SELECT * FROM...) i weryfikacji.
Pliki źródłowe CSV trzymamy w folderze /data.
Projekt kostki (cube) odwołuje się do bazy rdb-dw. Pamiętaj o przetworzeniu kostki (Process) po pobraniu zmian
Commity: Nie wrzucaj wszystkiego naraz. Oddzielnie commit zmiany w bazie, oddzielnie w kostce.
- Błąd "Login failed for user...": Sprawdź w Connection String, czy masz ustawione Windows Authentication.
- Projekt się nie ładuje: Masz inną wersję VS lub brakuje jakiegoś rozszerzenia. Sprawdź sekcję Wymagania.
- Błąd deploymentu kostki: Upewnij się, że usługa SQL Server Analysis Services jest uruchomiona w
services.msc.