1. TWORZENIE I WYPE£NIANIE DANYMI TABEL: CREATE TABLE `sek1_dochody` ( `ident_kwota` int(11) NOT NULL auto_increment, `kwota` float NOT NULL, `ident_tem` int(11) NOT NULL, `ident_prac` int(11) NOT NULL, PRIMARY KEY (`ident_kwota`) ) CREATE TABLE `sek1_pracownicy` ( `ident_prac` int(11) NOT NULL auto_increment, `nazwisko` char(30) collate latin1_german2_ci NOT NULL, `adres` char(30) collate latin1_german2_ci NOT NULL, `ident_zesp` int(11) NOT NULL, PRIMARY KEY (`ident_prac`) ) CREATE TABLE `sek1_tematy` ( `ident_tem` int(11) NOT NULL auto_increment, `nazwa_tem` char(30)NOT NULL, `kierownik_tem` int(11) NOT NULL, PRIMARY KEY (`ident_tem`) ) CREATE TABLE `sek1_zespo³y` ( `ident_zesp` int(11) NOT NULL auto_increment, `nazwa_zesp` char(30) NOT NULL, `kierownik_zesp` char(30) NOT NULL, PRIMARY KEY (`ident_zesp`) ) INSERT INTO `sek1_dochody` VALUES (1, 2000, 1, 1); INSERT INTO `sek1_dochody` VALUES (2, 1500, 2, 5); INSERT INTO `sek1_dochody` VALUES (3, 1500, 3, 4); INSERT INTO `sek1_dochody` VALUES (4, 2500, 4, 4); INSERT INTO `sek1_dochody` VALUES (5, 300, 5, 2); INSERT INTO `sek1_pracownicy` VALUES (1, 'Boguski', 'Chorzowska', 1); INSERT INTO `sek1_pracownicy` VALUES (2, 'Kulczyk', 'Towarowa', 1); INSERT INTO `sek1_pracownicy` VALUES (3, 'Lewandowski', 'Jesionowa', 1); INSERT INTO `sek1_pracownicy` VALUES (4, 'Wodecki', 'Rooswelta', 2); INSERT INTO `sek1_pracownicy` VALUES (5, 'Olkowski', 'Miodowa', 2); INSERT INTO `sek1_pracownicy` VALUES (6, 'Zieli?ski', 'Niedurnego', 2); INSERT INTO `sek1_pracownicy` VALUES (7, 'Pasierb', 'Rudzka', 3); INSERT INTO `sek1_tematy` VALUES (1, 'Bazy danych', 1); INSERT INTO `sek1_tematy` VALUES (2, 'Architektura przetwarzania', 2); INSERT INTO `sek1_tematy` VALUES (3, 'Uwierzytelnianie', 2); INSERT INTO `sek1_tematy` VALUES (4, 'Hurtownie danych', 2); INSERT INTO `sek1_tematy` VALUES (5, 'Sieci komputerowe', 1); INSERT INTO `sek1_zespo³y` VALUES (1, 'Harcerze', 'Nowak'); INSERT INTO `sek1_zespo³y` VALUES (2, 'Skauci', 'Kowalski'); INSERT INTO `sek1_zespo³y` VALUES (3, 'Policjanci', 'Rodzynek'); 2. WYSZUKIWANIE DANYCH W TABELACH – Selekcja, Projekcja, Z³¹czenie: 1. SELECT nazwisko, nazwa_zesp FROM sek1_pracownicy A, sek1_zespo³y B WHERE A.ident_zesp=B.ident_zesp 2. SELECT nazwisko FROM sek1_pracownicy A, sek1_dochody B WHERE (B.kwota>100) AND A.ident_prac=B.ident_prac AND A.ident_zesp='2' 3. SELECT nazwisko FROM sek1_pracownicy A, sek1_zespo³y B WHERE A.ident_zesp=B.ident_zesp AND kierownik_zesp='Nowak' 4. SELECT nazwisko FROM sek1_dochody A, sek1_pracownicy B, sek1_tematy C, sek1_zespo³y D WHERE D.kierownik_zesp='Kowalski' AND D.ident_zesp=B.ident_zesp AND B.ident_prac=A.ident_prac AND A.ident_tem=C.ident_tem 5. SELECT kierownik_zesp FROM sek1_zespo³y WHERE kierownik_zesp LIKE "K%" 6. SELECT DISTINCT nazwa_zesp FROM sek1_dochody A, sek1_pracownicy B, sek1_zespo³y C WHERE A.kwota>0 AND A.ident_prac=B.ident_prac AND B.ident_zesp=C.ident_zesp 7. SELECT nazwisko, SUM(kwota) as SUMA FROM sek1_pracownicy A JOIN sek1_dochody B ON A.ident_prac=B.ident_prac GROUP BY A.nazwisko 8. SELECT nazwa_zesp, SUM(kwota) as SUMA FROM sek1_zespo³y A, sek1_tematy B JOIN sek1_dochody C ON B.ident_tem=C.ident_tem WHERE B.kierownik_tem=A.ident_zesp GROUP BY A.nazwa_zesp HAVING SUM(kwota)>500 9. SELECT nazwa_zesp, count(*) FROM sek1_pracownicy A, sek1_zespo³y B WHERE A.ident_zesp=B.ident_zesp GROUP BY nazwa_zesp -- phpMyAdmin SQL Dump -- version 2.6.4-pl3 -- http://www.phpmyadmin.net -- -- Host: db388336833.db.1and1.com -- Czas wygenerowania: 30 Mar 2012, 19:09 -- Wersja serwera: 5.0.91 -- Wersja PHP: 5.3.3-7+squeeze8 -- -- Baza danych: `db388336833` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `sek1_dochody` -- CREATE TABLE `sek1_dochody` ( `ident_kwota` int(11) NOT NULL auto_increment, `kwota` float NOT NULL, `ident_tem` int(11) NOT NULL, `ident_prac` int(11) NOT NULL, PRIMARY KEY (`ident_kwota`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=6 ; -- -- Zrzut danych tabeli `sek1_dochody` -- INSERT INTO `sek1_dochody` VALUES (1, 2000, 1, 1); INSERT INTO `sek1_dochody` VALUES (2, 1500, 2, 5); INSERT INTO `sek1_dochody` VALUES (3, 1500, 3, 4); INSERT INTO `sek1_dochody` VALUES (4, 2500, 4, 4); INSERT INTO `sek1_dochody` VALUES (5, 300, 5, 2); -- -------------------------------------------------------- -- -- Struktura tabeli dla `sek1_pracownicy` -- CREATE TABLE `sek1_pracownicy` ( `ident_prac` int(11) NOT NULL auto_increment, `nazwisko` char(30) collate latin1_german2_ci NOT NULL, `adres` char(30) collate latin1_german2_ci NOT NULL, `ident_zesp` int(11) NOT NULL, PRIMARY KEY (`ident_prac`) ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=8 ; -- -- Zrzut danych tabeli `sek1_pracownicy` -- INSERT INTO `sek1_pracownicy` VALUES (1, 'Boguski', 'Chorzowska', 1); INSERT INTO `sek1_pracownicy` VALUES (2, 'Kulczyk', 'Towarowa', 1); INSERT INTO `sek1_pracownicy` VALUES (3, 'Lewandowski', 'Jesionowa', 1); INSERT INTO `sek1_pracownicy` VALUES (4, 'Wodecki', 'Rooswelta', 2); INSERT INTO `sek1_pracownicy` VALUES (5, 'Olkowski', 'Miodowa', 2); INSERT INTO `sek1_pracownicy` VALUES (6, 'Zieli?ski', 'Niedurnego', 2); INSERT INTO `sek1_pracownicy` VALUES (7, 'Pasierb', 'Rudzka', 3); -- -------------------------------------------------------- -- -- Struktura tabeli dla `sek1_tematy` -- CREATE TABLE `sek1_tematy` ( `ident_tem` int(11) NOT NULL auto_increment, `nazwa_tem` char(30) collate latin1_german2_ci NOT NULL, `kierownik_tem` int(11) NOT NULL, PRIMARY KEY (`ident_tem`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=6 ; -- -- Zrzut danych tabeli `sek1_tematy` -- INSERT INTO `sek1_tematy` VALUES (1, 'Bazy danych', 1); INSERT INTO `sek1_tematy` VALUES (2, 'Architektura przetwarzania', 2); INSERT INTO `sek1_tematy` VALUES (3, 'Uwierzytelnianie', 2); INSERT INTO `sek1_tematy` VALUES (4, 'Hurtownie danych', 2); INSERT INTO `sek1_tematy` VALUES (5, 'Sieci komputerowe', 1); -- -------------------------------------------------------- -- -- Struktura tabeli dla `sek1_zespo³y` -- CREATE TABLE `sek1_zespo³y` ( `ident_zesp` int(11) NOT NULL auto_increment, `nazwa_zesp` char(30) collate latin1_german2_ci NOT NULL, `kierownik_zesp` char(30) collate latin1_german2_ci NOT NULL, PRIMARY KEY (`ident_zesp`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=4 ; -- -- Zrzut danych tabeli `sek1_zespo³y` -- INSERT INTO `sek1_zespo³y` VALUES (1, 'Harcerze', 'Nowak'); INSERT INTO `sek1_zespo³y` VALUES (2, 'Skauci', 'Kowalski'); INSERT INTO `sek1_zespo³y` VALUES (3, 'Policjanci', 'Rodzynek');
flooder86