Widoki w MySQL

Kontynuacja lekcji poprzedniej.


Tworzenie nowych tabel

-- Tabela: pracownicy
CREATE TABLE pracownicy (
    id INT AUTO_INCREMENT PRIMARY KEY,
    imie VARCHAR(50) NOT NULL,
    nazwisko VARCHAR(50) NOT NULL,
    dzial VARCHAR(50),
    pensja DECIMAL(10, 2)
);

-- Tabela: projekty
CREATE TABLE projekty (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nazwa VARCHAR(50) NOT NULL,
    budzet DECIMAL(12, 2),
    kierownik_id INT,
    FOREIGN KEY (kierownik_id) REFERENCES pracownicy(id)
);

-- Tabela: zadania
CREATE TABLE zadania (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nazwa VARCHAR(100) NOT NULL,
    projekt_id INT,
    pracownik_id INT,
    status VARCHAR(20),
    FOREIGN KEY (projekt_id) REFERENCES projekty(id),
    FOREIGN KEY (pracownik_id) REFERENCES pracownicy(id)
);

Wstawianie danych

-- Dane do tabeli: pracownicy
INSERT INTO pracownicy (imie, nazwisko, dzial, pensja) VALUES
('Jan', 'Kowalski', 'IT', 6000.00),
('Anna', 'Nowak', 'Marketing', 4500.00),
('Piotr', 'Wiśniewski', 'IT', 7000.00),
('Katarzyna', 'Zielinska', 'Sprzedaż', 5000.00),
('Marek', 'Jankowski', 'IT', 5500.00);

-- Dane do tabeli: projekty
INSERT INTO projekty (nazwa, budzet, kierownik_id) VALUES
('Projekt A', 100000.00, 1),
('Projekt B', 200000.00, 3),
('Projekt C', 150000.00, 4);

-- Dane do tabeli: zadania
INSERT INTO zadania (nazwa, projekt_id, pracownik_id, status) VALUES
('Analiza wymagań', 1, 1, 'Zakończone'),
('Projektowanie', 1, 3, 'W trakcie'),
('Testowanie', 1, 5, 'Oczekujące'),
('Kampania reklamowa', 2, 2, 'W trakcie'),
('Prezentacja wyników', 2, 4, 'Oczekujące'),
('Dokumentacja', 3, 5, 'Zakończone');

Ćwiczenia z widokami i SELECT

Ćwiczenie 1: Widok pracowników z działu IT

Utwórz widok o nazwie pracownicy_it, który zawiera dane o pracownikach z działu IT (imiona, nazwiska, pensje). Następnie wyświetl dane z tego widoku.

Ćwiczenie 2: Widok podsumowujący projekty

Utwórz widok projekty_podsumowanie, który wyświetla nazwy projektów, budżet oraz imię i nazwisko kierownika projektu.

Ćwiczenie 3: Widok zadań oczekujących

Stwórz widok o nazwie zadania_oczekujace, który pokazuje nazwę zadania, nazwę projektu, oraz status dla zadań o statusie „Oczekujące”.

Ćwiczenie 4: Widok średnich pensji w działach

Utwórz widok srednie_pensje, który pokazuje średnią pensję w każdym dziale.

Ćwiczenie 5: Widok szczegółowy zadań z pracownikami

Stwórz widok zadania_szczegoly, który zawiera nazwę zadania, nazwę projektu, imię i nazwisko pracownika realizującego zadanie oraz status zadania.

Ćwiczenie 6: Widok projektów z dużym budżetem

Utwórz widok projekty_duzy_budzet, który zawiera dane o projektach z budżetem większym niż 150,000.