Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projekt Hurtowni Danych

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).

Wymagania Wstępne (Zainstaluj TO PRZED pobraniem repozytorium)

Aby uniknąć konfliktów w plikach projektu, każdy członek zespołu musi posiadać dokładnie to samo środowisko:

  1. 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
  2. Środowisko Programistyczne:

    • Visual Studio 2026 Enterprise
    • Podczas instalacji VS wykonaj kroki z docs/enauczanie-sql-server-2019-installation-steps.pdf

Struktura

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

Setup

Po sklonowaniu repozytorium wykonaj te kroki, aby postawić bazy danych u siebie lokalnie:

  1. Otwórz plik data-warehouse-solution.sln w Visual Studio.
  2. 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-source lub rdb-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
  3. 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).
  4. 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: cube To pomoże uniknąć konfliktów.

Workflow

Abyśmy nie nadpisywali sobie pracy i nie psuli projektu, trzymamy się takich zasad:

1. Bazy Danych (Projekty SQL) – ZAKAZ UŻYWANIA SSMS DO EDYCJI

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 .sql w VS.
  • Jak wgrać zmiany kogoś innego?
    1. git pull.
    2. PPM na projekt bazy -> Publish

SSMS służy nam TYLKO do podglądu danych (SELECT * FROM...) i weryfikacji.

2. Pliki CSV

Pliki źródłowe CSV trzymamy w folderze /data.

3. Kostka

Projekt kostki (cube) odwołuje się do bazy rdb-dw. Pamiętaj o przetworzeniu kostki (Process) po pobraniu zmian

4. Git

Commity: Nie wrzucaj wszystkiego naraz. Oddzielnie commit zmiany w bazie, oddzielnie w kostce.


Problem?

  • 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages