LAB 3 (część 1 Projektu)

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

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

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

Przykładowa baza danych BIBLIOTEKA

Paweł Rajba

Wykład 05 Bazy danych

Projekt dziennika lekcyjnego

Język SQL, zajęcia nr 2

Wykład 6. SQL praca z tabelami 3

Język SQL podstawy zapytań

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Relacyjne bazy danych. Podstawy SQL

Bazy danych SQL Server 2005

Podstawy języka SQL cz. 2

Bazy danych. dr inż. Arkadiusz Mirakowski

Wykład 8. SQL praca z tabelami 5

Zadania z SQLa (MS SQL Server)

Przestrzenne bazy danych Podstawy języka SQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

Autor: Joanna Karwowska

Zbiór zadań z SQLa z elementami T-SQLa. (Wersja robocza z dnia r.) (Zgłaszanie usterek Robert.Fidytek@inf.ug.edu.pl)

Grupowanie i funkcje agregujące

Relacyjne bazy danych. Podstawy SQL

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

ACESS- zadania z wykorzystaniem poleceń SQL

Wykład 5. SQL praca z tabelami 2

Monika Sychla Daniel Smolarek Projekt bazy danych

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

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

Zbiór zadań z SQLa z elementami T-SQLa. (Wersja robocza z dnia r.) (Zgłaszanie usterek

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

CREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL);

Bazy danych Język SQL część 1 Wykład dla studentów matem

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Bazy Danych i Usługi Sieciowe

Autor: Joanna Karwowska

I. WSTĘP OPIS SYSTEMU... 3 II. INSTRUKCJA OBSŁUGI MODUŁ ABSOLWENCI ROCZNIKI ABSOLWENTÓW PODDAWANE BADANIOM...

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

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

Język SQL, zajęcia nr 1

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

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

Hurtownia Świętego Mikołaja projekt bazy danych

Współczesne systemy baz danych

Bazy danych i usługi sieciowe

Współczesne systemy baz danych

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Paweł Rajba

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy danych 10. SQL Widoki

SQL (ang. Structured Query Language)

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

a) ile wynosiła populacja najbardziej i najmniej ludnego z województw (oraz jakie były ich nazwy)

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

SQL w praktyce. Miłej i owocnej nauki!!!

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

SQL praca z tabelami 4. Wykład 7

Systemy GIS Tworzenie zapytań w bazach danych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Kurs. Podstawy MySQL

Struktura bazy danych

BAZY DANYCH. Podstawowe wiadomości o Transact-SQL. Dodatek do instrukcji laboratoryjnej dla studiów niestacjonarnych I stopnia Opr. A.

BAZA DANYCH SIECI HOTELI

Bazy danych wykład trzeci. Konrad Zdanowski

Baza danych Uczniowie.mdb

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Bazy danych. Projekt prostej biblioteki. 26 stycznia Hubert Anisimowicz,

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Aspekty aktywne baz danych

Autor: Joanna Karwowska

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bazy danych 6. Klucze obce. P. F. Góra

Złaczenia tablic: FROM, WHERE, JOIN

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Bazy danych 7. SQL podstawy

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Baza danych Ogrodu Zoologicznego

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

SQL do zaawansowanych analiz danych część 1.

Przydatne sztuczki - sql. Na przykładzie postgres a.

Tworzenie baz danych i tabel

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

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

SIECI KOMPUTEROWE I BAZY DANYCH

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

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

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Transkrypt:

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 3 (część 1 Projektu) Na zajęciach należy zaprojektować schemat bazy danych oraz przygotować dokument zawierający: Temat: Autor: 1. Opis 2. Wymagania funkcjonalne 3. Schemat bazy danych (diagram + skrypt sql) Ocena 0-10 pkt. Przykład Temat: Biblioteka 1. Opis W Filiach biblioteki znajdują się Książki wydane przez różnych Wydawców oraz należące do różnych Gatunków. Do Filii przychodzą Czytelnicy będący studentami lub pracownikami różnych Wydziałów uczelni. Czytelnicy wypożyczają i oddają Książki. 2. Wymagania funkcjonalne (ok. 20) System powinien oferować następujące Zestawienia: 1 Lista czytelników (Imię, Nazwisko, Wydział, Adres) w porządku alfabetycznym wg nazwiska, imienia 2 Lista filii biblioteki (Numer filii, lokalizacja, godziny otwarcia) 3 Lista książek (Tytuł, Autor, Rok wydania, Gatunek) w porządku alfabetycznym wg tytułów 4 Lista autorów (Nazwisko, Imie, Liczba książek) uporządkowana malejąco wg liczby książek 5 Lista czytelników, którzy nie oddali książek (Nazwisko, Imie, Wydział, Tytul, Data_wypozyczenia) posortowana alfabetycznie wg nazwiska, imienia 6 Lista wydziałów z liczbą wypozyczeń (Nazwa wydziału, Liczba wypożyczonych książek) posortowana malejąco wg liczby wypożyczonych książek 7

3. Schemat CREATE TABLE [dbo].[ksiazka]( [id] [int] IDENTITY(1,1) NOT NULL, [tytul] [nvarchar](50) NULL, [rok_wydania] [smallint] NULL, [id_wydawnictwa] [int] NULL, [liczba_stron] [int] NULL, [gatunek] [nchar](20) NULL, [cena] [decimal](10, 2) NULL, [id_filii] [int] NULL, CONSTRAINT [PK_ksiazka] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[ksiazka] WITH CHECK ADD CONSTRAINT [FK_ksiazka_wydawnictwo] FOREIGN KEY([id_wydawnictwa]) REFERENCES [dbo].[wydawnictwo] ([id]) GO ALTER TABLE [dbo].[ksiazka] CHECK CONSTRAINT [FK_ksiazka_wydawnictwo] GO...

LAB 4-5 (część 2 Projektu) Na zajęciach należy napisać zapytania SQL realizujące wymagania funkcjonalne określone w części 1 Projektu. Przed tworzeniem zapytań należy wstawić przykładowe dane do bazy w celu upewnienia się, że schemat bazy jest odpowiedni do postawionych wymagań (w razie potrzeby należy poprawić schemat). Wymagania funkcjonalne określone w części 1 Projektu można rozszerzyć, zmienić lub doprecyzować w razie potrzeby. Do przygotowanych zapytań należy przygotować dokumentację: Nr zapytania Kategoria zapytania (wg poniższej listy) Opis słowny wyniku zapytania + przykładowy wynik SQL Wskazane jest, by przygotować min. 1 zapytanie z każdej kategorii. Ocena 0-20 pkt. Kategorie zapytań (nieformalna klasyfikacja): 1. Lista uporządkowana (SELECT ORDER BY) 2. Lista uporządkowana z warunkiem (SELECT WHERE ORDER BY) 3. Lista uporządkowana z warunkiem złożonym (będącym sumą logiczną / iloczynem logicznym innych warunków) (SELECT WHERE (OR/AND) ORDER BY) 4. Lista uporządkowana z użyciem operatora LIKE w warunku 5. Lista uporządkowana z użyciem operatora NOT IN / IN w warunku 6. Lista uporządkowana zawierająca kolumny z więcej niż jednej tabeli (INNER JOIN) 7. Lista uporządkowana zawierająca kolumny z więcej niż jednej tabeli (LEFT/RIGHT OUTER JOIN) 8. Lista uporządkowana z warunkiem opartym na wyniku zapytania zagnieżdżonego 9. Lista uporządkowana z kolumną będącą wynikiem zapytania zagnieżdżonego 10. Lista z użyciem funkcji MONTH()/ YEAR()/ DAY() 11. Lista z użyciem funkcji operujących na datach DateADD/ DateDIFF 12. Lista uporządkowana z operatorem UNION 13. Lista uporządkowana z operatorem INTERSECT 14. Lista uporządkowana z operatorem EXCEPT 15. Lista z użyciem funkcji agregującej SUM() (SELECT.. GROUP BY ) 16. Lista z użyciem funkcji agregującej COUNT() (SELECT.. GROUP BY ) 17. Lista z użyciem funkcji agregującej AVG(), MIN(), MAX() (SELECT.. GROUP BY ) 18. Lista z użyciem funkcji agregującej i opóźnionym warunkiem (SELECT..GROUP BY HAVING) 19. Lista z użyciem widoku, CASE WHEN END, IIF(,,) 20. Lista z użyciem PIVOT Dokumentacja części 2 Projektu powinna być wysłana na adres katpalik@pg.edu.pl na koniec zajęć Lab 4 oraz na koniec zajęć Lab 5. Ocena jest wystawiana po Lab 5.

Przykład dokumentacji: Zapytanie 1 Kategoria 7. Lista uporządkowana zawierająca kolumny z więcej niż jednej tabeli (LEFT/RIGHT OUTER JOIN) Wynik: Lista czytelników (Imię, Nazwisko, Wydział) w porządku alfabetycznym wg nazwiska, imienia. Czytelnicy bez przypisanego wydziału będą posiadali NULL w kolumnie Akronim SELECT Imie, Nazwisko, Akronim Zapytanie 2 Kategoria 6. Lista uporządkowana zawierająca kolumny z więcej niż jednej tabeli (INNER JOIN) Wynik: Lista czytelników, którzy nie oddali książek (Nazwisko, Imie, Wydział, Tytul, Data_wypozyczenia) posortowana alfabetycznie wg nazwiska, imienia SELECT Imie, Nazwisko, Akronim, Tytul, Data_wypozyczenia INNER JOIN Wypozyczenie ON Czytelnik.id = Wypozyczenie.id_czytelnika INNER JOIN Ksiazka ON Ksiazka.id = Wypozyczenie.id_ksiazki WHERE Data_zwrotu IS NULL Zapytanie 3 Kategoria 20. Lista z użyciem PIVOT Wynik: Lista średnich cen książek z podziałem na gatunki i języki książek

select gatunek,[pol],[eng] from (select gatunek,jezyk, Cena from ksiazka) AS SourceTable PIVOT (AVG(Cena) FOR Jezyk IN ([POL],[ENG]) ) As PivotTable Zapytanie 4 Kategoria 19. Lista z użyciem widoku, CASE WHEN END, IIF(,,) Wynik: Lista czytelników (Imię, Nazwisko, Wydział) w porządku alfabetycznym wg nazwiska, imienia. Czytelnicy bez przypisanego wydziału będą posiadali brak w nazwie wydziału CREATE VIEW ListaCzytelnikow AS SELECT Imie, Nazwisko, IIF(Akronim IS NULL, brak,akronim) AS Wydzial Select * from ListaCzytelnikow Zapytanie 5 Kategoria 19. Lista z użyciem widoku, CASE WHEN END, IIF(,,) Wynik: Lista czytelników (Imię, Nazwisko, Typ) w porządku alfabetycznym wg nazwiska, imienia. Czytelnicy bez statusu będą posiadali nieznany w nazwie typu CREATE VIEW ListaCzytelnikow AS SELECT Imie, Nazwisko, CASE WHEN status=0 THEN 'student' WHEN status=1 THEN 'pracownik' WHEN status IS NULL THEN 'nieznany' END AS typ Select * from ListaCzytelnikow Zapytanie 6 Kategoria 11. Lista z użyciem funkcji operujących na datach DateADD/ DateDIFF Wynik: Lista średniej liczby dni przetrzymywania książki w zależności od gatunku select gatunek,avg(datediff(dd,data_wypozyczenia,data_zwrotu)) AS Ile_dni from ksiazka inner join wypozyczenie on wypozyczenie.id_ksiazki=ksiazka.id group by gatunek

Kopia bazy Backup bazy (Schemat + dane) Generacja skryptu (schemat)

Zapis danych do pliku.csv Przygotowanie komend INSERT INTO przy pomocy funkcji ZŁĄCZ.TEKSTY