Jerzy Nawrocki, Wprowadzenie do informatyki

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

Relacyjne bazy danych. Podstawy SQL

Język SQL, zajęcia nr 1

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

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

Relacyjne bazy danych. Podstawy SQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wykład 05 Bazy danych

Wykład 5. SQL praca z tabelami 2

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Przestrzenne bazy danych Podstawy języka SQL

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Język SQL podstawy zapytań

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Bazy danych Ćwiczenia projektowe

Bazy danych. Dr inż. Paweł Kasprowski

Wykład 6. SQL praca z tabelami 3

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Wstęp do relacyjnych baz danych. Jan Bartoszek

Hurtownia Świętego Mikołaja projekt bazy danych

Paweł Rajba

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

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

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

Bazy danych 7. SQL podstawy

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych SQL Server 2005

ACESS- zadania z wykorzystaniem poleceń SQL

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Wykład 8. SQL praca z tabelami 5

Podstawowe informacje o bazach danych. Technologie Informacyjne

SQL (ang. Structured Query Language)

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

Bazy danych i usługi sieciowe

Grupowanie i funkcje agregujące

Widok Connections po utworzeniu połączenia. Obszar roboczy

Bazy danych 5. Samozłaczenie SQL podstawy

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

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

Ref. 7 - Język SQL - polecenia DDL i DML

Autor: Joanna Karwowska

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Bazy danych. Informatyczne systemy zarządzania

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Bazy danych. Polecenia SQL

Kurs. Podstawy MySQL

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

Komunikacja z bazą danych psql

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

Bazy danych - Materiały do laboratoriów VIII

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

Język SQL, zajęcia nr 2

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

Bazy Danych i Usługi Sieciowe

Oracle PL/SQL. Paweł Rajba.

Przykładowa baza danych BIBLIOTEKA

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

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

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Zadania z SQLa (MS SQL Server)

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

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

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

BAZA DANYCH SIECI HOTELI

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

XML w bazie danych IBM DB2

Bazy danych i usługi sieciowe

Bazy danych. dr inż. Arkadiusz Mirakowski

SQL Structured Query Language

15. Funkcje i procedury składowane PL/SQL

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Dr Michał Tanaś(

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Bazy danych. dr Radosław Matusik. radmat

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

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

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Język SQL. Rozdział 2. Proste zapytania

Wprowadzenie do baz danych

Konstruowanie Baz Danych DQL agregacja danych

Autor: Joanna Karwowska

SIECI KOMPUTEROWE I BAZY DANYCH

Bazy danych 4. SQL podstawy. P. F. Góra

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Transkrypt:

Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Baza danych Bazy danych = zorganizowana kolekcja danych Bazy danych (2) Cel Agenda Przedstawić relacyjny model baz danych Era przed-relacyjna Relacyjne bazy danych SQL Bazy danych (3) Bazy danych (4) Model hierarchiczny Model hierarchiczny Ile osób jest zatrudnionych na PP? Name Bazy danych (5) Bazy danych (6) Bazy danych 1

Model hierarchiczny Model sieciowy Name IBM IMS Bazy danych (7) Charles Bachman CODASYL Bazy danych (8) Agenda Era przed-relacyjna Relacyjne bazy danych SQL Bazy danych (9) Edgar Frank Codd 1923-08-23: Portland, Dorset Studiował matematykę and chemię na Oxfordzie Pilot RAF-u 1948: IBM, New York 1963: Ph.D., Univ. of Michigan, Ann Arbor 1970: A Relational Model of Data for Large Shared Data Banks 1981: Turing Award 2003-04-18: Died in Williams Island, Florida (US) Bazy danych (10) Name Model hierarchiczny Dane + Kod zbyt silnie powiązane Bazy danych (11) Employment Worker Faculty 20 1 21 2 22 2 23 3 Model relacyjny Key 20 21 22 23 Ile osób pracuje na PP? SELECT COUNT(*) FROM ; Bazy danych (12) Bazy danych 2

Employment Worker Faculty 20 1 21 2 22 2 23 3 Ile osób pracuje na FI? Model relacyjny Key 20 21 22 23 SELECT COUNT(*) FROM Employment, WHERE.Name= FI AND.Key=Employment.Faculty; Bazy danych (13) Name Model sieciowy Bazy danych (14) Model sieciowy Model relacyjny Employment Worker Faculty 20 1 21 2 22 2 23 3 21 3 Key 20 21 22 23 Ile osób pracuje na PP? SELECT COUNT(*) FROM ; Bazy danych (15) Employment Worker Faculty 20 1 21 2 22 2 23 3 21 3 Ile osób pracuje na FI? Key 20 21 22 23 SELECT COUNT(*) FROM Employment, WHERE.Name= FI AND.Key=Employment.Faculty; Bazy danych (16) Podejście formalne Key 20 21 22 23 : Key x x Key = 0, 1, 2,... = {"a",.., "z", "aa",.., "zz",.., "A",.., "Z",.., "Aa",.., "Az",..} = {"a",.., "z", "aa",.., "zz",.., "A",.., "Z",.., "Aa",.., "Az",..} = { (20, "", ""), (21, "", ""),.., (23, "", "")} Bazy danych (17) Projekcja: SELECT FROM ; Podstawowe operacje Key 20 21 22 23 Bazy danych (18) Bazy danych 3

Podstawowe operacje Podstawowe operacje Selekcja: Key 20 21 22 23 Selekcja z projekcją: Key 20 21 22 23 SELECT * FROM WHERE = ; SELECT FROM WHERE = ; Key 20 22 Bazy danych (19) Bazy danych (20) Połączenie: SELECT Name, FROM, WHERE Dean=.Key; Model relacyjny Key 20 21 22 23 Name FEE FI FME Bazy danych (21) Agenda Era przed-relacyjna Relacyjne bazy danyc SQL Bazy danych (22) CREATE TABLE ( Key SERIAL, VARCHAR(40), VARCHAR(40) ); Podstawowe typy: SERIAL VARCHAR (n) CHAR (n) INTEGER NUMERIC (n.f) Tworzenie tabeli Key Bazy danych (23) INSERT INTO VALUES (, ); INSERT INTO VALUES (, ); INSERT INTO VALUES (, ); INSERT INTO VALUES (, ); Wstawianie danych Key 20 21 22 23 CREATE TABLE ( Key SERIAL, VARCHAR(40), VARCHAR(40) ); Bazy danych (24) Bazy danych 4

Sortowanie danych Sortowanie danych SELECT, FROM WHERE = ORDER BY ASC; Key 20 21 22 23 Key 20 22 SELECT, FROM WHERE = ORDER BY DESC; Key 20 21 22 23 Key 20 22 Bazy danych (25) Bazy danych (26) Praca domowa Elementy bez powtórzeń SELECT, FROM WHERE = ORDER BY ; Key 20 21 22 23 Jaki będzie wynik? Imiona pracowników? SELECT FROM ORDER BY ASC; Key 20 21 22 23 Bazy danych (27) Bazy danych (28) Imiona pracowników? SELECT DISTINCT FROM ORDER BY ASC; Elementy bez powtórzeń Key 20 21 22 23 Bazy danych (29) Imiona pracowników? SELECT DISTINCT FROM ORDER BY ASC; Jeśli nie podoba Ci się nazwa kolumny... Key 20 21 22 23 Bazy danych (30) Bazy danych 5

SELECT DISTINCT AS "First name" FROM ORDER BY ASC; Jeśli nie podoba Ci się nazwa kolumny... Key 20 21 22 23 First name Bazy danych (31) SELECT, FROM WHERE LIKE %ki ; Wzorce Key 20 21 22 23 Bazy danych (32) SELECT, FROM WHERE LIKE _a% ; Wzorce Key 20 21 22 23 Bazy danych (33) Imiona pracowników SELECT DISTINCT FROM ORDER BY ASC; Zapisywanie wyników w tabeli Key 20 21 22 23 WorkNams Bazy danych (34) Imiona pracowników CREATE TABLE WorkNams ( Key SERIAL, Name VARCHAR(40), ); INSERT INTO WorkNams (Name) SELECT DISTINCT FROM ORDER BY ASC; Zapisywanie wyników w tabeli Key 20 21 22 23 WorkNams Key Name 1 2 3 Bazy danych (35), nie UPDATE SET = WHERE = ; Aktualizacja danych Key 20 21 22 23 Bazy danych (36) Bazy danych 6

Aktualizacja danych Usuwanie wierszy, nie UPDATE SET = WHERE = ; Key 20 21 22 23 DELETE FROM WHERE = %ro% ; Key 20 21 22 23 Key 21 23 Bazy danych (37) Bazy danych (38) SELECT COUNT() FROM ; 20 170 21 90 22 140 23 160 count 4 SELECT COUNT(*) FROM ; 20 170 21 90 22 140 23 160 count 4 Bazy danych (39) Bazy danych (40) SELECT MIN(Hours) FROM ; 20 170 21 90 22 140 23 160 min 90 SELECT MAX(Hours) FROM ; 20 170 21 90 22 140 23 160 max 170 Bazy danych (41) Bazy danych (42) Bazy danych 7

SELECT SUM(Hours) FROM ; 20 170 21 90 22 140 23 160 sum 560 SELECT AVG(Hours) FROM ; 20 170 21 90 22 140 23 160 avg 140 Bazy danych (43) Bazy danych (44) Zagnieżdżanie zapytań 20 170 21 90 22 140 23 160 Dziękuję za uwagę SELECT * FROM WHERE Hours > (SELECT AVG(Hours) FROM ); 20 170 23 160 Bazy danych (45) Bazy danych (46) Bazy danych 8