Nauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman

Podobne dokumenty
ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Architektura komputerów Wprowadzenie do algorytmów

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Układy reprogramowalne i SoC Implementacja w układach FPGA

Medical electronics part 9a Electroencephalography (EEG)

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Zaawansowane programowanie w języku C++ Przeciążanie operatorów

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Zaawansowane programowanie w języku C++ Wyjątki

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

SQL do zaawansowanych analiz danych część 2.

Informatyka (6) Widoki. Indeksy

Studia podyplomowe realizowane w ramach zadania 5 Systemy mobilne i techniki multimedialne

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Operacja PIVOT w języku SQL w środowisku Oracle

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Konstruowanie Baz Danych DQL agregacja danych

Układy reprogramowalne i SoC Język VHDL (część 4)

Politechnika Łódzka, ul. Żeromskiego 116, Łódź, tel. (042) Projekt współfinansowany przez Unię Europejską

Zaawansowane programowanie w języku C++ Klasy w C++

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Język SQL. Rozdział 2. Proste zapytania

Bazy danych SQL Server 2005

Przykładowa baza danych BIBLIOTEKA

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

Zaawansowane programowanie w języku C++ Biblioteka standardowa

Ćwiczenie 3. Funkcje analityczne

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

Funkcje analityczne SQL CUBE (1)

Relacyjne bazy danych. Podstawy SQL

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Podstawy MDX. Podstawy MDX. Podstawy MDX. Struktura kostki [BiznesG]

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2)

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Hurtownie danych - przegląd technologii

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Oracle PL/SQL. Paweł Rajba.

Łukasz Januszkiewicz Technika antenowa

Modelowanie wymiarów

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

Relacyjne bazy danych. Podstawy SQL

Bazy danych wykład trzeci. Konrad Zdanowski

Modele danych - wykład V

Integracja i Eksploracja Danych

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

dr inż. Małgorzata Langer Architektura komputerów

Język PL/SQL Procedury i funkcje składowane

Architektura komputerów Historia systemów liczących

Ćwiczenia 2 IBM DB2 Data Studio

Autor: Joanna Karwowska

P o d s t a w y j ę z y k a S Q L

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

ZARZĄDZANIE SIECIAMI TELEKOMUNIKACYJNYMI

Schematy logiczne dla hurtowni danych

Krok 1. SELECT Symbol AS KS INTO Dzielnik FROM Towary WHERE (Nazwa='Orzeszki solone') OR (Nazwa = 'Zupy CHOISE') OR (Nazwa = 'Kawa BURG');

OLAP i hurtownie danych c.d.

Kostki OLAP i język MDX

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Wprowadzenie do hurtowni danych

Tworzenie raportów XML Publisher przy użyciu Data Templates

przygotował: Podstawy języka MDX Tworzenie zbiorów

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Administracja i programowanie pod Microsoft SQL Server 2000

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Baza danych dla potrzeb zgłębiania DMX

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

ACESS- zadania z wykorzystaniem poleceń SQL

Nowe możliwości rozwoju biur karier w praktyce- Program Operacyjny Kapitał Ludzki projekt:

Mikrosystemy Wprowadzenie. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt.

Autor: Joanna Karwowska

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

BAZA DANYCH SIECI HOTELI

Obowiązuje od wersji

Widok Connections po utworzeniu połączenia. Obszar roboczy

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Język PL/SQL. Rozdział 6. Procedury wyzwalane

Język PL/SQL. Rozdział 4. Procedury i funkcje składowane

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Co ciekawego w EURECE pojawiło się w wersji 2.4, a być może nie zdążyliście tego odkryć?

Oracle PL/SQL. Paweł Rajba.

Systemowe aspekty baz

Rady i porady użytkowe

SQL (ang. Structured Query Language)

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

SQL do zaawansowanych analiz danych część 1.

Transkrypt:

Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 w ramach Europejskiego www.kapitalludzki.p.lodz.pl Funduszu Społecznego Praktyczne tworzenie hurtowni 2 Nauczycielem wszystkiego jest praktyka Juliusz Cezar Nauka to wiara w ignorancję ekspertów Richard Feynman Gdy niematematyk słyszy o czwartym wymiarze, to dostaje gęsiej skórki Albert Einstein 1

Analytical Workspace Manager AWM 4 AWM uruchomienie AWM jest narzędziem analityczny instalowanym z końcówką klienta 2

5 AWM uruchomienie AWM uruchomienie 6 3

7 AWM tworzenie wymiarów 8 AWM tworzenie wymiarów 4

9 AWM tworzenie wymiarów 10 AWM tworzenie wymiarów 5

11 AWM tworzenie wymiarów 12 AWM tworzenie wymiarów 6

13 AWM tworzenie wymiarów AWM podstawowa kostka 14 7

AWM podstawowa kostka 15 16 AWM podstawowa kostka 8

17 AWM podstawowa kostka AWM podstawowa kostka 18 9

AWM podstawowa kostka 19 AWM podstawowa kostka 20 10

AWM podstawowa kostka 21 AWM podstawowa kostka 22 11

AWM podstawowa kostka 23 AWM podstawowa kostka 24 12

25 AWM podstawowa kostka AWM podstawowa kostka 26 13

AWM podstawowa kostka 27 AWM podstawowa kostka 28 14

29 AWM podstawowa kostka AWM podstawowa kostka 30 15

AWM rozbudowa wymiaru dla kostki 31 AWM rozbudowa wymiaru dla kostki 32 16

33 AWM rozbudowa wymiaru dla kostki AWM rozbudowa wymiaru dla kostki 34 17

AWM rozbudowa wymiaru dla kostki 35 AWM rozbudowa wymiaru dla kostki 36 18

37 Generowanie "losowej" wartości ceny zakupu DECLARE CURSOR cur IS SELECT IdTowaru FROM Towar; BEGIN FOR rec IN cur LOOP UPDATE Towar SET CenaZakupu = Cena*DBMS_RANDOM.VALUE (0.7, 0.9) WHERE IdTowaru=rec.IdTowaru; END LOOP; COMMIT; END; 38 Stworzenie perspektyw wykorzystywanych do budowy wymiarów czasu CREATE OR REPLACE FORCE VIEW CZAS_RKM (RKM, RK, ROK, KWARTAL, MIESIAC) AS SELECT DISTINCT To_number( To_char(data,'yyyyqmm')) AS RKM, To_number( To_char(data,'yyyyq')) AS RK, To_char(data,'yyyy') AS rok, To_char(data,'q') AS kwartal, To_char(data,'mm') AS miesiac FROM Faktury ORDER BY RKM; CREATE OR REPLACE FORCE VIEW CZAS_ROK_KWARTAL (ROKKWARTAL, ROK, KWARTAL) AS SELECT DISTINCT To_number( To_char(data,'yyyyq')) AS rokkwartal, To_char(data,'yyyy') AS rok, To_char(data,'q') AS kwartal FROM Faktury ORDER BY rokkwartal; 19

39 Stworzenie perspektyw wykorzystywanych do budowy wymiarów czasu CREATE OR REPLACE FORCE VIEW CZAS_ROK_KWARTAL_MIESIAC (ROKKWARTALMIESIAC, ROKKWARTAL, ROK, KWARTAL, MIESIAC) AS SELECT DISTINCT To_number( To_char(data,'yyyyqmm')) AS rokkwartalmiesiac, TO_NUMBER(TO_CHAR(DATA,'yyyyq')) AS rokkwartal, To_char(data,'yyyy') AS rok, To_char(data,'q') AS kwartal, To_char(data,'mm') AS miesiac FROM Faktury ORDER BY rokkwartalmiesiac; CREATE OR REPLACE FORCE VIEW CZAS_T_DANE (DATA, ROKKWARTALMIESIAC, ROKKWARTAL, ROK, KWARTAL, MIESIAC) AS SELECT DISTINCT data, To_char(data,'yyyyqmm') AS rokkwartalmiesiac, TO_CHAR(DATA,'yyyyq') AS rokkwartal, To_char(data,'yyyy') AS rok, To_char(data,'q') AS kwartal, To_char(data,'mm') AS miesiac FROM Faktury ORDER BY rokkwartalmiesiac; 40 Stworzenie perspektyw wykorzystywanych jako tabela faktów CREATE OR REPLACE FORCE VIEW WSZYSTKO (IDKLIENTA, IDOSOBY, IDTOWARU, DATA, ROKKWARTALMIESIAC, ROKKWARTAL, SZT, WARTOSC, WARTOSCZAKUPU) AS SELECT IdKlienta, IdOsoby, IdTowaru, data, To_number( To_char(data,'yyyyqmm')) AS rokkwartalmiesiac, TO_NUMBER(TO_CHAR(DATA,'yyyyq')) AS rokkwartal, szt, cena * szt AS Wartosc, CenaZakupu*szt AS WartoscZakupu FROM FAKTURY JOIN TRANSAKCJE USING (IdFaktury) JOIN TOWAR USING (IdTowaru); 20

Wymiar czasu definiowany jako wymiar użytkownika 41 Wymiar czasu definiowany jako wymiar użytkownika 42 Hierarchia domyślna 21

Wymiar czasu definiowany jako wymiar użytkownika 43 Druga hierarchia Wymiar czasu definiowany jako wymiar użytkownika 44 Przetwarzana hierarchia domyślna (dla całego wymiaru) 22

Uproszczony wymiar czasu użytkownika 45 Wymiar czasu jako WYMIAR CZASU 46 23

Wymiar czasu jako WYMIAR CZASU dane z wymiaru 47 Wymiar klienci 48 24

Wymiar Pracownik Dział 49 Pracownik Value based hierarchy 50 Ustawienie value base hierarhy dostępne tylko podczas tworzenia wymiaru póżniej nieedytowalne 25

Mapowanie dla Value Based Hierarchy 51 Dane z wymiaru Value Based Hierarchy 52 26

Prosta kostka z pojedynczym wymiarem i miarą 53 Kostka o trzech miarach, dwóch wymiarach i dwóch miarach obliczanych 54 27

Wyświetlenie wszystkich miar w kostce 55 Filtrowanie dla działu Wyświetlenie jednej miary w kostce 56 Filtrowanie dla działu 28

Miara kalkulowana zysk 57 HURTOWNIA.ZYSKI.WARTOSC - HURTOWNIA.ZYSKI.WARTOSC_ZAKUPU Dane dla miary kalkulowanej zysk 58 HURTOWNIA.ZYSKI.WARTOSC - HURTOWNIA.ZYSKI.WARTOSC_ZAKUPU 29

Podstawowe operacje dla miar obliczanych 59 Miara kalkulowana - zastosowanie dzielenia 60 HURTOWNIA.ZYSKI.WARTOSC / HURTOWNIA.ZYSKI.WARTOSC_ZAKUPU 30

Dane - miara kalkulowana - zastosowanie dzielenia 61 HURTOWNIA.ZYSKI.WARTOSC / HURTOWNIA.ZYSKI.WARTOSC_ZAKUPU Kostka z wymiarem czasu jako wymiarem użytkownika 62 ograniczona liczba funkcji dla miar kalkulowanych 31

Zysk w czasie (user) 63 HURTOWNIA.ZYSKI.WARTOSC HURTOWNIA.ZYSKI.WARTOSC_ZAKUPU Dane dla zysk czas (user) 64 HURTOWNIA.ZYSKI.WARTOSC HURTOWNIA.ZYSKI.WARTOSC_ZAKUPU 32

Miara ranking dla czas (user) 65 RANK() OVER HIERARCHY (HURTOWNIA.CZAS_U_RKM.CZAS_RKM_H ORDER BY HURTOWNIA.ZYSK_RKM.ZYSK_CZAS DESC NULLS LAST WITHIN LEVEL) Dane dla miary ranking dla czas (user) 66 RANK() OVER HIERARCHY (HURTOWNIA.CZAS_U_RKM.CZAS_RKM_H ORDER BY HURTOWNIA.ZYSK_RKM.ZYSK_CZAS DESC NULLS LAST WITHIN LEVEL) 33

Inne możliwości funkcji definiujących miary 67 Miara procent zysku dla czas (user) 68 ((HURTOWNIA.ZYSK_RKM.WARTOSC - HURTOWNIA.ZYSK_RKM.WARTOSC_ZAKUPU) / ABS(HURTOWNIA.ZYSK_RKM.WARTOSC_ZAKUPU)) * 100 34

Dane dla miary procent zysku dla czas (user) 69 70 Miara definiowana przez wyrażenie dla czas (user) (ZYSK_RKM.ZYSK_CZAS / ZYSK_RKM.WARTOSC_ZAKUPU) * 100 35

Dane dla miary definiowana przez wyrażenie dla czas (user) 71 (ZYSK_RKM.ZYSK_CZAS / ZYSK_RKM.WARTOSC_ZAKUPU) * 100 Miara procent z całości dla czas (user) 72 SHARE(HURTOWNIA.ZYSK_RKM.ZYSK_CZAS OF HURTOWNIA.CZAS_U_RKM.CZAS_RKM_H TOP) * 100 36

Dane dla miary procent z całości dla czas (user) 73 SHARE(HURTOWNIA.ZYSK_RKM.ZYSK_CZAS OF HURTOWNIA.CZAS_U_RKM.CZAS_RKM_H TOP) * 100 Miara procent z rodzica dla czas (user) 74 SHARE(HURTOWNIA.ZYSK_RKM.ZYSK_CZAS OF HURTOWNIA.CZAS_U_RKM.CZAS_RKM_H PARENT) * 100 37

Dane dla miary procent z rodzica dla czas (user) 75 SHARE(HURTOWNIA.ZYSK_RKM.ZYSK_CZAS OF HURTOWNIA.CZAS_U_RKM.CZAS_RKM_H PARENT) * 100 Kostka z miarą czasu (user) i inną miarą 76 38

77 Dane dla kostki z miarą czasu (user) i inną miarą 78 Kostka z wymiarem hierarchicznym 39

79 Kostka z wymiarem hierarchicznym Dane z tej miary w tym widoku nie da się rozwinąć struktury!!!! Kostka z wymiarem czasu TIME 80 40

Miara do kostki z wymiarem czasu TIME do poprzedniego 81 LAG(HURTOWNIA.ZYSK_T.WARTOSC, 1) OVER HIERARCHY (HURTOWNIA.CZAS_T.ROK_KWARTAL_H) Dane dla kostki z wymiarem czasu TIME 82 LAG(HURTOWNIA.ZYSK_T.WARTOSC, 1) OVER HIERARCHY (HURTOWNIA.CZAS_T.ROK_KWARTAL_H) 41

83 Inne miary do kostki z wymiarem czasu TIME Miara do kostki z wymiarem czasu TIME procent z poprzedniego 84 LAG_VARIANCE_PERCENT(HURTOWNIA.ZYSK_T.WARTOSC, 1) OVER HIERARCHY (HURTOWNIA.CZAS_T.RIOK_KWARTAL_H) 42

Dane dla kostki z wymiarem czasu TIME procent z poprzedniego 85 LAG_VARIANCE_PERCENT(HURTOWNIA.ZYSK_T.WARTOSC, 1) OVER HIERARCHY (HURTOWNIA.CZAS_T.RIOK_KWARTAL_H) 86 Miara do kostki z wymiarem czasu TIME suma bieżąca YtoD SUM(HURTOWNIA.ZYSK_T.WARTOSC) OVER HIERARCHY (HURTOWNIA.CZAS_T.RIOK_KWARTAL_H BETWEEN UNBOUNDED PRECEDING AND CURRENT MEMBER WITHIN ANCESTOR AT LEVEL HURTOWNIA.CZAS_T.RIOK_KWARTAL_H.ROK) 43

87 Dane dla kostki z wymiarem czasu TIME suma bieżąca YtoD SUM(HURTOWNIA.ZYSK_T.WARTOSC) OVER HIERARCHY (HURTOWNIA.CZAS_T.RIOK_KWARTAL_H BETWEEN UNBOUNDED PRECEDING AND CURRENT MEMBER WITHIN ANCESTOR AT LEVEL HURTOWNIA.CZAS_T.RIOK_KWARTAL_H.ROK) Inne miary do kostki z wymiarem czasu 88 44

Miara do kostki z wymiarem czasu TIME równoległy okres 89 LAG_VARIANCE_PERCENT(ZYSK_T.WARTOSC, 1) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BY ANCESTOR AT LEVEL CZAS_T.KWARTAL POSITION FROM BEGINNING) Dane dla kostki z wymiarem czasu TIME równoległy okres 90 LAG_VARIANCE_PERCENT(ZYSK_T.WARTOSC, 1) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BY ANCESTOR AT LEVEL CZAS_T.KWARTAL POSITION FROM BEGINNING) 45

Inne miary dla kostki z wymiarem czasu TIME równoległy okres 91 Miara do kostki z wymiarem czasu TIME suma bieżąca 92 SUM(ZYSK_T.WARTOSC) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING WITHIN LEVEL) 46

Dane dla kostki z wymiarem czasu TIME suma bieżąca 93 SUM(ZYSK_T.WARTOSC) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING WITHIN LEVEL) Inne miary kostki z wymiarem czasu TIME 94 47

Miara do kostki z wymiarem czasu TIME średnia bieżąca 95 AVG(ZYSK_T.WARTOSC) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING WITHIN LEVEL) Dane dla kostki z wymiarem czasu TIME średnia bieżąca 96 AVG(ZYSK_T.WARTOSC) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING WITHIN LEVEL) 48

97 Miara do kostki z wymiarem czasu TIME suma z zakresu SUM(ZYSK_T.WARTOSC) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BETWEEN 1 PRECEDING AND 2 FOLLOWING WITHIN LEVEL) Dane dla kostki z wymiarem czasu TIME suma z zakresu 98 SUM(ZYSK_T.WARTOSC) OVER HIERARCHY (CZAS_T.RIOK_KWARTAL_H BETWEEN 1 PRECEDING AND 2 FOLLOWING WITHIN LEVEL) 49

99 Inne miary kostki z wymiarem czasu TIME 100 Wymiar klienci 50

101 Wymiar Pracownicy_dzialy 102 Mapowanie kostki 51

103 Wygląd danych dla strony Dzial=Dyrekcja 104 Filtrowanie wg stron 52

105 Wygląd danych dla strony Dzial=Handlowy 106 Filtrowanie danych w kostce 53

107 Filtrowanie danych w kostce 108 Filtrowanie danych w kostce 54

109 Filtrowanie danych w kostce 110 Filtrowanie danych w kostce 55

111 Filtrowanie danych w kostce 112 Filtrowanie danych w kostce 56

Na zakończenie 113 Mówią, że niepełna wiedza jest rzeczą niebezpieczną, ale jednak nie tak złą, jak całkowita ignorancja Terry Pratchett (Równoumagicznienie) Jeżeli zabałaganione biurko jest oznaką zabałaganionego umysłu, oznaką czego jest puste biurko? Albert Einstein Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 w ramach Europejskiego www.kapitalludzki.p.lodz.pl Funduszu Społecznego 57