Relacyjne bazy danych Język SQL

Wielkość: px
Rozpocząć pokaz od strony:

Download "Relacyjne bazy danych Język SQL"

Transkrypt

1 Relacyjne bazy danych Język SQL

2 Czym jest baza danych? Zbiorem informacji istniejącym przez długi czas. Zbiorem powiązanych danych. Uporządkowanym zbiorem danych, do których może mieć dostęp wielu użytkowników jednocześnie w dowolnym odpowiadającym im momencie czasu. Logicznie spójnym zbiorem danych, przechowywanych w komputerze, który służy określonym celom i do którego istnieje współbieżny dostęp wielu użytkowników.

3 Czym jest baza danych? W potocznym rozumieniu termin baza danych odnosi się do zbioru danych zorganizowanego przez system zarządzania bazą danych. Baza danych systemy przetwarzania danych przechowywanie danych przetwarzanie danych wyszukiwanie danych

4 Przykładowe bazy danych system rezerwacji miejsc (hotel, biuro podróży, linie lotnicze) systemy bankowe, firmy ubezpieczeniowe system biblioteczne system dokumentujący działanie przedsiębiorstwa -- gospodarka materiałowa -- zarządzanie personelem -- obsługa zamówień i księgowość -- zarządzanie i planowanie produkcji

5 Wspólne cechy baz danych proste zbiory danych o stałym formacie, które mogą być opisane na poziomie logicznym, zwłaszcza przy zastosowaniu modeli danych opartych na rekordach; proste typy danych dla wartości pól lub atrybutów, opisujących zbiór danych; sparametryzowane, wstępnie zdefiniowane zapytania, opisujące powtarzalne zadania wykonywane przez bazę danych; bezpośrednia aktualizacja, powodująca zastąpienie starych wartości nowymi bez zachowania starych wartości; krótkie transakcje, reprezentujące zadania do wykonania przez bazę danych w odpowiedniej do wykonania postaci.

6 Przykładowy projekt: 1. Dziennik ocen 2. Możliwość sortowania wg nazwiska, daty, oceny 3. Możliwość tworzenia list dla różnych przedmiotów Rozwiązania: 1. Rozwiązanie przy pomocy arkusza kalkulacyjnego - Excel 2. Rozwiązanie przy pomocy bazy danych Access

7 Dane: 1. Nazwisko tekstowa Imię tekstowa Ocena całkowita 4. Data oceny data 5. Przedmiot tekstowa 20

8 Excel Arkusze zawierają dane dla poszczególnych przedmiotów

9 Excel Operacje możliwe do wykonania na danych w arkuszu kalkulacyjnym sortowanie filtrowanie formularz operacje matematyczne

10 Excel Sortowanie danych

11 Excel Filtrowanie danych

12 Excel Formularz wprowadzający dane

13 Access Tabele danych w programie Access

14 Access Relacje pomiędzy tabelami

15 Access Formularz wprowadzający dane

16 Access Formularz przedstawiający dane zawarte w tabeli

17 Access Wprowadzanie danych do tabeli ocena

18 Access Przedstawienie danych zawartych w tabeli - ocena

19 System zarządzania bazą danych 1. Umożliwienie użytkownikowi utworzenia nowej bazy danych i określenia jej schematu (logicznej struktury danych) za pomocą specjalizowanego języka definiowania danych ( DDL data definition language). 2. Udostępnienie użytkownikowi możliwości tworzenia zapytań o dane, oraz aktualizowania danych (query language - DML data manipulation language). 3. Zapewnienie możliwości przechowywania ogromnej ilości danych, ochrony danych przed niepowołanym dostępem oraz efektywnego dostępu do danych. 4. Sterowanie jednoczesnym dostępem do danych przez wielu użytkowników.

20 Zadania SZBD Wejście - wprowadzanie danych - kontrola poprawności danych Wyjście - wyprowadzanie danych - raporty, wydruki Przetwarzanie danych - zakładanie zbiorów danych - wprowadzanie danych do zbiorów - aktualizacja danych - przetwarzanie i wyszukiwanie - wytwarzanie dokumentów zewnętrznych Dodatkowe funkcje systemu : - kontrola integralności danych - zgodność wszystkich danych - zabezpieczenie przed utratą danych - ochrona danych przed nieuprawnionym dostępem

21 System zarządzania bazą danych model danych Zestaw narzędzi SZBD Interfejs SZBD Świat zewnętrzny Jądro SZBD Baza danych Model danych

22 Schemat logiczny bazy danych Baza danych Tabela Zbiór tabel Rekord Zbiór rekordów Pole 1 Pole 2 Pole 3 Pole 4 Rekord, pola danych

23 Zasady (reguły) opisujące modele baz danych Model danych (a w odniesieniu do konkretnej realnej sytuacji - architektura systemu baz danych) - zbiór ogólnych zasad posługiwania się danymi. Zbiór ten obejmuje trzy główne części: 1. Definicja danych: zbiór reguł określających logiczną strukturę danych 2. Operowanie danymi: zbiór reguł dotyczących procesu dostępu do danych i ich modyfikacji 3. Integralność danych: zbiór reguł określających., które stany bazy danych są poprawne (a więc zarazem jakie operacje prowadzące do modyfikacji danych są dozwolone)

24 Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych, operatory algebry relacyjnej, które umożliwiają tworzenie, przeszukiwanie i modyfikowanie danych, ograniczenia (więzy) integralnościowe jawnie lub niejawnie określającymi możliwe/dopuszczalne wartości danych. Nieformalnie rzecz biorąc, relacja jest zbiorem krotek (rekordów) posiadających taką samą strukturę (schemat) i różne wartości; zbiór ten jest przedstawiany w postaci tablicy wierszy. Każda krotka zawiera wartość co najmniej jednego atrybutu o określonej dziedzinie, przedstawianego w postaci kolumny tablicy.

25 Pojęcia stosowane do opisu relacyjnego modelu Formalny termin relacyjny relacja krotka liczebność tabeli atrybut stopień tabeli klucz główny dziedzina Nieformalny równoważnik tabela wiersz lub rekord liczba wierszy kolumna lub pole liczba kolumn jednoznaczny identyfikator zbiór dopuszczalnych wartości

26 Definicja relacji Relacja R zbiór dziedzin D1,..., Dn składający się z dwóch części: nagłówka i treści. ( W tabelarycznej reprezentacji powiemy, nagłówek wiersz złożony z tytułów kolumn, treść zbiór wierszy z danymi) 1. Nagłówek ustalony zbiór atrybutów, dokładniej par <nazwa atrybutu:nazwa dziedziny> { <A1:D1>, <Aj:Dj>,...,<An:Dn> } 2. Treść składa się z krotek. Każda krotka jest zbiorem par <nazwa atrybutu:wartość atrybutu> { <A1:vi1>, <Aj:vij>,..., <An:vin> } (j = 1,2,..., n) stopień relacji R (i = 1,2,...,m) liczebność relacji R

27 Definicja relacji Klucz główny S# NAME STATUS CITY Dziedziny S# SNAME STATUS CITY Krotki S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens Liczebność Atrybuty Stopień tabeli

28 Schemat relacji nazwa relacji oraz zbiór jej atrybutów. Relacja R ( atrybut_1, atrybut_2,..., atrybut_n ) { <S# : S# >, <Sname : name >, <Status : status >, <CITY : city> } ( S1, Smith, 20, London ) ( Smith, 20, London, S1 ) ( London, Smith, 20, S1 ) Schemat relacji

29 Zbiór zasad opisujący relację 1. Każda tabela (relacja) w bazie danych ma jednoznaczną nazwę. 2. Każdy kolumna (atrybut) w relacji ma jednoznaczną nazwę w ramach jednej tabeli (relacji). 3. Wszystkie wartości danego kolumny (atrybutu) muszą należeć do tej samej dziedziny. 4. Porządek kolumn (atrybutów) w relacji nie jest istotny. 5. Każda rekord (krotka) w relacji musi być różna. 6. Porządek rekordów (krotek) nie jest istotny. 7. Każda kolumna (atrybut) w tabeli (relacji) powinien zawierać wartość atomową.

30 Integralność danych relacyjnych Baza danych zawiera konkretny układ wartości danych - układ ten powinien odpowiadać rzeczywistości. Klucz kandydujący w relacji R jest podzbiorem K zbioru atrybutów relacji R, mającym: 1. Własność jednoznaczności: Żadne dwie różne krotki R nie posiadają tej samej wartości dla K. 2. Własność nieredukowalności: Żaden właściwy podzbiór K nie ma własności jednoznaczności. Jeżeli w relacji jest więcej niż jeden klucz kandydujący, należy wybrać jeden z nich jako klucz główny tej relacji, pozostałe nazywane są kluczami alternatywnymi.

31 Klucz główny w tabeli Stud (NrStud, NazwS) NrStud NazwS Smith S Jones S Patel P Smith J Pole rekordu (atrybut) NrStud jednoznacznie identyfikuje każdy rekord w tabeli Stud. Pole NrStud ma właściwość jednoznaczności.

32 Diagram ERD Entity-Relationship Diagram

33 Diagram ERD Entity-Relationship Diagram

34 Język SQL (ang. Structured Query Language) pierwsza komercyjna implementacja języka SQL firma Oracle oficjalna specyfikacja języka SQL opublikowana przez: Międzynarodową Organizacje Normalizacyjną (ISO) Amerykański Narodowy Instytut Normalizacji (ANSI) wprowadzono poprawki, elementy wymuszające spójność odwołań kolejna wersja języka SQL - SQL92 - SQL2 1999, 2003, kolejne specyfikacje języka SQL najnowsza specyfikacja języka SQL

35 Podział instrukcji SQL ze względu na funkcję Język definiowania struktur danych ( Data Definiction Language -DDL) CREATE SCHEMA, CREATE TABLE, CREATE VIEW, CREATE DOMAIN Język operowania danymi (Data Manipulation Language DML) SELECT, INSERT, UPDATE, DELETE Język zarządzania danymi (Data Control Language - DCL) GRANT, REVOKE

36 SQL definiowanie struktur danych CREATE ALTER DROP - polecenia budujące, tworzące strukturę w bazie danych - rozszerzenie istniejącej struktury - usunięcie struktury z bazy danych

37 SQL CREATE SCHEMA SCHEMA schemat to przestrzeń nazw w bazie danych. Baza danych może zawierać jeden lub więcej schematów Zwyczajowo schemat to zestaw obiektów pod kontrola jednego użytkowanika (roli). Schematy mogą zawierać obiekty o identycznych nazwach. Odwołanie do np. tablicy table w schemacie schema następuje poprzez użycie notacji kropkowej: SELECT * FROM schema.table ; Standardowo i domyślnie wszystkie obiekty tworzone są w schemacie public. CREATE SCHEMA nazwa_schematu ; CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [... ] ] => SET search_path TO s1, s2, s3 ; => SHOW search_path ;

38 Polecenie SQL DDL: CREATE TABLE CREATE TABLE studio ( nazwa CHAR(20), miasto VARCHAR(50), stan CHAR(2), dochody FLOAT ) ; CREATE TABLE studia ( studio_id NUMBER, nazwa CHAR(20), miasto VARCHAR(50), stan CHAR(2) ) ;

39 Przykładowe typy danych SQL Boolean Smallint Integer Bit Numeric Decimal Float Char(n) Varchar typ logiczny 2 B 4 B 1 b 4B, 8B

40 Polecenie SQL DDL: CREATE TABLE Wartości domyślne Wstawianie wartości domyślnych. CREATE TABLE film ( tytuł_filmu VARCHAR(40) NOT NULL, studio_id NUMBER, data_powstania DATE DEFAULT SYSDATE NULL, gatunek VARCHAR(20) Komedia CHECK gatunek IN ( Horror, Komedia, Dramat ) ) ;

41 Przykład klucz główny Polecenie SQL DDL: CREATE TABLE Definiowanie klucza głównego dla jednego atrybutu. CREATE TABLE Studia ( studio_id NUMBER PRIMARY KEY, nazwa CHAR(20) UNIQUE, miasto VARCHAR(50), stan CHAR(2) ) ; Definiowanie klucza głównego dla kilku atrybutów. CREATE TABLE Studia ( studio_id NUMBER, nazwa CHAR(20), miasto VARCHAR(50), stan CHAR(2), PRIMARY KEY (studio_id, nazwa), UNIQUE (miasto, stan) ) ;

42 Tabele indeksów Indeks struktura danych umożliwiająca szybszy dostęp do konkretnych rekordów w pliku, a tym samym przyspieszanie realizacji zapytań. CREATE [UNIQUE] INDEX nazwa_indeksu ON tablica (kolumna); Przykład CREATE INDEX imię_nazwisko ON Osoba (osoba_imię, osoba_nazwisko);

43 Indeksy Kryteria decydujące o wyborze kolumny na indeks: w kolumnie znajduje się wiele różnych wartości, pole jest często używane w zapytaniach, często wykorzystuje się pole w zapytaniach.

44 Ćwiczenia praktyczne 1 Zarządzanie bazą danych PostgreSQL: SQL Manager Lite for PostgreSQL DBaaS ElephantSQL Język SQL DDL Tworzenie schematu - CREATE SCHEMA Tworzenie tabeli - CREATE TABLE Modyfikacja tabeli - ALTER TABLE Usuwanie tabeli - DROP TABLE

45 Polecenie SQL DML: INSERT Struktura instrukcji INSERT INSERT INTO nazwa_tabeli [ (lista_kolumn) ] VALUES (lista_wartości) Przykład: CREATE TABLE Studio (studio_id NUMBER PRIMARY KEY, nazwa_studia VARCHAR(50) UNIQUE, miasto_studio VARCHAR(20) NOT NULL, stan_studio CHAR(2) NOT NULL ) ; INSERT INTO Studio VALUES (1, Giant, Los Angeles, CA ) ; INSERT INTO Studio (studio_id, nazwa_studia, miasto_studio, stan_studio) VALUES ( Burnank, CA, MPM, 2) ;

46 Polecenie SQL DML: UPDATE Struktura instrukcji UPDATE UPDATE tabela SET kolumna = wartość,... [ WHERE warunek ]; Przykład: UPDATE Studio SET miasto_studio = Nowy Jork, stan_studio = NY WHERE studio_id = 1 ; UPDATE Studio SET (miasto_studio, stan_studio ) = ( Nowy Jork, NY ) WHERE studio_id = 1 ; UPDATE Studio SET stan_studio = AK ;

47 Polecenie SQL DML: DELETE Struktura polecenia DELETE DELETE FROM tabela [ WHERE warunek ] ; Przykład: DELETE FROM Studio WHERE stan_studio = AX ;

48 Ćwiczenia praktyczne 2 Język SQL DML Wprowadzanie rekordów do tabeli - INSERT Wyświetlanie rekordów - SELECT Wybór wyświetlanych atrybutów - projekcja Wybór wyświetlanych rekordów - selekcja Poprawa danych w tabeli - UPDATE Usuwanie rekordów z tabeli - DELETE

49 Polecenie SQL DQL: SELECT Struktura polecenia SELECT SELECT FROM WHERE GROUP BY HAVING ORDER BY opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) nazwy kolumn warunek (grupowanie wybieranych wierszy) nazwy kolumn lub pozycje kolumn

50 Polecenie SQL DQL: SELECT SELECT lista_pól FROM tabela [, tabela,... ] Algebra relacyjna rzut (projekcja) SELECT * FROM film; film_id tytuł_filmu studio_id budżet data_produkcji SELECT film_id tytuł_filmu data_produkcji studio_id budżet FROM film; film_id tytuł_filmu data_produkcji studio_id budżet SELECT film_id, tytuł_filmu FROM film; film_id tytuł_filmu

51 Polecenie SQL DQL: SELECT Algebra relacyjna rzut (projekcja)

52 Polecenie SQL DQL: SELECT SELECT tekst,film_id, 2*2, 2*2, budżet*2 FROM film; tekst film_id 2*2 2*2 budżet* tekst 1 4 2* ALTER TABLE film ADD przychód NUMBER; SELECT budżet, przychód, przychód - budżet FROM film; budżet przychód przychód-budżet

53 Polecenie SQL DQL: SELECT

54 Polecenie SQL DQL: SELECT SELECT wyrażenie AS alias, wyrażenie2 AS alias,... FROM tabela [, tabela,... ] SELECT budżet AS b1, przychód AS p1 FROM film; b1 p SELECT budżet, przychód, przychód - budżet AS dochód FROM film; budżet przychód dochód

55 Polecenie SQL DQL: SELECT

56 Polecenie SQL DQL: SELECT Klauzula WHERE - służy do filtrowania wyników zapytania. SELECT lista_pól FROM tabela [, tabela,... ] WHERE warunek SELECT id_film, tytuł_filmu FROM film WHERE id_film = 1; SELECT id_film, budżet FROM film WHERE budżet > AND id_film = 1 ; Operatory porównania = równy, <> (! = ) nierówny, > większy niż, < mniejszy niż >= nie mniejszy, <= nie większy Operatory logiczne AND, OR, NOT Algebra relacyjna selekcja

57 Polecenie SQL DQL: SELECT Klauzula ORDER BY służy do sortowania wyników zapytania. SELECT id_film, tytuł_filmu, studio_id, przychód-budżet FROM film WHERE studio_id = 1 ORDER BY 4; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet AS dochód FROM film WHERE studio_id =1 ORDER BY dochód; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet AS dochód FROM film WHERE dochód > ORDER BY studio_id, dochód;

58 Polecenie SQL DQL: SELECT

59 Polecenie SQL DQL: SELECT

60 Polecenie SQL DQL: SELECT Klauzula IN - sprawdza czy dana grupa wartości znajduje się w podanej kolumnie. SELECT lista_pól FROM tabela [, tabela,... ] WHERE kolumna [ NOT ] IN ( lista_wartości ) SELECT id_film, tytuł_filmu, studio_id, przychód-budżet FROM film WHERE studio_id IN ( 2,4 ) ; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet FROM film WHERE studio_id =2 OR studio_id = 4 ; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet FROM film WHERE studio_id NOT IN ( 2,4 ) ; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet FROM film WHERE studio_id <>2 AND studio_id <> 4 ;

61 Polecenie SQL DQL: SELECT Klauzula BETWEEN SELECT lista_pól FROM tabela [, tabela,... ] WHERE kolumna [ NOT ] BETWEEN dolna_wartość AND górna_wartość SELECT id_film, tytuł_filmu, studio_id, przychód-budżet AS dochód FROM film WHERE dochód BETWEEN AND ; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet AS dochód FROM film WHERE dochód > AND dochód < ; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet AS dochód FROM film WHERE dochód NOT BETWEEN AND ; SELECT id_film, tytuł_filmu, studio_id, przychód-budżet AS dochód FROM film WHERE dochód < OR dochód > ;

62 Polecenie SQL DQL: SELECT

63 Polecenie SQL DQL: SELECT

64 Polecenie SQL DQL: SELECT Klauzula LIKE - wyszukiwanie informacji w łańcuchach znaków SELECT lista_pól FROM tabela [, tabela,... ] WHERE kolumna [ NOT ] LIKE szablon [ ESCAPE char ] Znaki wieloznaczne % - zastępuje dowolną grupę znaków (również grupę pustą) _ - zastępuje pojedynczy znak SELECT id_film, tytuł_filmu FROM film WHERE tytuł_filmu LIKE The % ; SELECT id_film, tytuł_filmu FROM film WHERE tytuł_filmu LIKE % r ; SELECT id_film, tytuł_filmu FROM film WHERE tytuł_filmu LIKE % DATA % ;

65 Ćwiczenia praktyczne 3 Język SQL DQL polecenie SELECT Aliasy nazw Selekcja rekordów - klauzula WHERE Porządkowanie rekordów - klauzula ORDER BY Wybór rekordów - predykat IN Wybór rekordów - predykat BETWEEN Wyszukiwanie danych tekstowych - LIKE Obsługa wartości NULL Wyświetlanie wartości różnych - DISTINCT

66 Polecenie SQL DQL: SELECT Funkcje agregujące funkcje działające na grupie wartości zwracanych przez zapytanie. SELECT funkcja (pole) FROM tabela [, tabela,... ] [ WHERE warunek ] COUNT(*) SELECT COUNT(*) FROM film ; SELECT COUNT(*) FROM film WHERE budżet > ; SELECT COUNT(*) AS total FROM film ; SELECT COUNT(DISTINCT studio_id) FROM film ;

67 Polecenie SQL DQL: SELECT Funkcje SUM(), AVG() - działają na argumentach numerycznych SELECT SUM(budżet) FROM film ; Funkcje MIN(), MAX() - funkcje mogą być użyte dla różnych typów danych SELECT MIN(data_produkcji) FROM film ; SELECT COUNT(*) FROM film WHERE studio_id = 1; SELECT SUM(budżet) FROM film WHERE studio_id = 2 ;

68 Polecenie SQL DQL: SELECT

69 Polecenie SQL DQL: SELECT Klauzula GROUP BY SELECT list_pól FROM tabela [, tabela,... ] WHERE warunek GROUP BY lista_grup ORDER BY lista_sortowania SELECT studio_id, SUM(budżet) FROM film GROUP BY studio_id ; SELECT studio_id, COUNT(*) FROM film GROUP BY studio_id ORDER BY studio_id ; SELECT studio_id, COUNT(*) FROM film WHERE data_produkcji BETWEEN AND GROUP BY studio_id ORDER BY studio_id ;

70 Polecenie SQL DQL: SELECT Klauzula HAVING SELECT studio_id, SUM (budżet) FROM film GROUP BY studio_id HAVING SUM(budżet) > ; SELECT studio_id, SUM(budżet) FROM film GROUP BY studio_id HAVING SUM(budżet) > AND MIN(rok_produkcji) < ORDER BY studio_id ; SELECT studio_id, AVG(przychód) FROM film WHERE przychód IS NOT null GROUP BY studio_id HAVING AVG(przychód) > ORDER BY AVG(przychód) ;

71 Polecenie SQL DQL: SELECT

72 Ćwiczenia praktyczne 4 Język SQL DQL agregacja danych Funkcja agregujące - COUNT() Funkcje agregujące - MIN(), MAX() Funkcje agregujące - SUM(), AVG() Klauzula grupująca - GROUP BY Klauzula wyszukująca - HAVING

73 Zastosowanie dobrego projektu bazy danych prowadzi do konieczności korzystania z technik umożliwiających złożenie danych znajdujących się w kilku relacjach (tabelach) w jedną spójną całość.

74 Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrPr NazwPr NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych 234 Davies T Smith S B3 cwk1 Systemy relacyjnych baz danych 234 Davies T Smith S B1 cwk2 Systemy relacyjnych baz danych 234 Davies T Jones S B2 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk2 Projekt. relacyjnych baz danych 234 Davies T Smith S B2 cwk1 Projekt. relacyjnych baz danych 234 Davies T Patel P B3 cwk1 Dedukcyjne bazy danych 345 Evans R Smith J A1 egz Anomalie w bazach danych jedna tabela

75 Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrPr NazwPr NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych 234 Davies T Smith S B3 cwk1 Systemy relacyjnych baz danych 234 Davies T Smith S B1 cwk2 Systemy relacyjnych baz danych 234 Davies T Jones S B2 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk2 Projekt. relacyjnych baz danych 234 Davies T Smith S B2 cwk1 Projekt. relacyjnych baz danych 234 Davies T Patel P B3 cwk1 Dedukcyjne bazy danych 345 Evans R Smith J A1 egz Usuwamy studenta Efekt uboczny usunięcia Usuwamy równocześnie : Nazwę modułu, Pracownika

76 Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrPr NazwPr NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych 234 Davies T Smith S B3 cwk1 Systemy relacyjnych baz danych 234 Davies T Smith S B1 cwk2 Systemy relacyjnych baz danych 234 Davies T Jones S B2 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk2 Projekt. relacyjnych baz danych 324 Davies T Smith S B2 cwk1 Projekt. relacyjnych baz danych 234 Davies T Patel P B3 cwk1 Dedukcyjne bazy danych 345 Evans R Smith J A1 egz Zmieniamy wykładowcę projekt relacyjnych baz danych na Jones S Efekt uboczny modyfikacji Równocześnie należy zmienić : Wszystkie wystąpienia tego pracownika dla tego przedmiotu.

77 Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrPr NazwPr NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych 234 Davies T Smith S B3 cwk1 Systemy relacyjnych baz danych 234 Davies T Smith S B1 cwk2 Systemy relacyjnych baz danych 234 Davies T Jones S B2 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk2 Projekt. relacyjnych baz danych 234 Davies T Smith S B2 cwk1 Projekt. relacyjnych baz danych 234 Davies T Patel P B3 cwk1 Dedukcyjne bazy danych 345 Evans R Smith J A1 egz Smith K Wpisujemy nowego studenta Efekt uboczny wstawienia Wstawiamy nowego studenta : Problem przypisania przedmiotu.

78 Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrPr NazwPr NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych 234 Davies T Smith S B3 cwk1 Systemy relacyjnych baz danych 234 Davies T Smith S B1 cwk2 Systemy relacyjnych baz danych 234 Davies T Jones S B2 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk1 Systemy relacyjnych baz danych 234 Davies T Patel P B1 cwk2 Projekt. relacyjnych baz danych 234 Davies T Smith S B2 cwk1 Projekt. relacyjnych baz danych 234 Davies T Patel P B3 cwk1 Dedukcyjne bazy danych 345 Evans R Smith J A1 egz Redundancja Nadmiarowa ilość informacji. Musimy powtórzyć n razy tę samą informację.

79 Podsumowanie 1. Redundancja nazwisko prowadzącego pojawia się dla każdego rekordu oceny studenta 2. Anomalie przy modyfikacji uaktualnione nazwisko w jednym wierszu pozostaje niezmienione w innych. 3. Anomalie przy wstawianiu trudno wstawić studenta bez przedmiotu, pojawiają się pola NULL. 4. Anomalie przy usuwaniu usuwając studenta usuwamy przedmiot.

80 Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrPr NazwPr NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych 234 Davies T Smith S B3 cwk1 B1 cwk2 234 Davies T Jones S B2 cwk1 234 Davies T Patel P B1 cwk1 B1 cwk2 Projekt. relacyjnych baz danych 234 Davies T Smith S B2 cwk Patel P B3 cwk1 Dedukcyjne bazy danych 345 Evans R Smith J A1 egz Relacja zawiera dla niektórych atrybutów wiele wartości.

81 Moduły (NazwaModułu, NrPr, NazwPr) NazwaModułu NrPr NazwPr Systemy relacyjnych baz danych 234 Davies T Projekt. relacyjnych baz danych 234 Davies T Dedukcyjne bazy danych 345 Evans R Zaliczenia (NazwaModułu, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych Smith S B3 cwk1 Systemy relacyjnych baz danych Smith S B1 cwk2 Systemy relacyjnych baz danych Jones S B2 cwk1 Systemy relacyjnych baz danych Patel P B1 cwk1 Systemy relacyjnych baz danych Patel P B1 cwk2 Projekt. relacyjnych baz danych Smith S B2 cwk1 Projekt. relacyjnych baz danych Patel P B3 cwk1 Dedukcyjne bazy danych Smith J A1 egz

82 NazwaModułu NrPr NazwPr Systemy relacyjnych baz danych 234 Davies T Projekt. relacyjnych baz danych 234 Davies T Dedukcyjne bazy danych 345 Evans R Moduły (NazwaModułu, NrPr, NazwPr) Nazwa modułu nie ma wpływu na nazwisko Zaliczenia (NazwaModułu, NrStud, NazwS, Ocena, TypOcen) NazwaModułu NrStud NazwS Ocena TypOcen Systemy relacyjnych baz danych Smith S B3 cwk1 Systemy relacyjnych baz danych Smith S B1 cwk2 Systemy relacyjnych baz danych Jones S B2 cwk1 Systemy relacyjnych baz danych Patel P B1 cwk1 Systemy relacyjnych baz danych Patel P B1 cwk2 Projekt. relacyjnych baz danych Smith S B2 cwk1 Projekt. relacyjnych baz danych Patel P B3 cwk1 Dedukcyjne bazy danych Smith J A1 egz

83 Moduły (NazwaModułu, NrPr, NazwPr) NazwaModułu NrPr NazwPr Systemy relacyjnych baz danych 234 Davies T Projekt. relacyjnych baz danych 234 Davies T Dedukcyjne bazy danych 345 Evans R NazwaModułu NrStud Ocena TypOcen Systemy relacyjnych baz danych B3 cwk1 Systemy relacyjnych baz danych B1 cwk2 Systemy relacyjnych baz danych B2 cwk1 Systemy relacyjnych baz danych B1 cwk1 Systemy relacyjnych baz danych B1 cwk2 Projekt. relacyjnych baz danych B2 cwk1 Projekt. relacyjnych baz danych B3 cwk1 Dedukcyjne bazy danych A1 egz Stud (NrStud, NazwS) NrStud NazwS Smith S Jones S Patel P Smith J

84 NazwaModułu NrPr NazwPr Systemy relacyjnych baz danych 234 Davies T Projekt. relacyjnych baz danych 234 Davies T Dedukcyjne bazy danych 345 Evans R NrPr determinuje nazwisko pracownika, zachodzi zatem zależność przechodnia. NazwaModułu NrStud Ocena TypOcen Systemy relacyjnych baz danych B3 cwk1 Systemy relacyjnych baz danych B1 cwk2 Systemy relacyjnych baz danych B2 cwk1 Systemy relacyjnych baz danych B1 cwk1 Systemy relacyjnych baz danych B1 cwk2 Projekt. relacyjnych baz danych B2 cwk1 Projekt. relacyjnych baz danych B3 cwk1 Dedukcyjne bazy danych A1 egz NrStud NazwS Smith S Jones S Patel P Smith J

85 Moduły (NazwaModułu, NrPr) Wykładowcy (NrPr, NazwPr) NazwaModułu NrPr NrPr NazwPr Systemy relacyjnych baz danych Davies T Projekt. relacyjnych baz danych Evans R Dedukcyjne bazy danych 345 Zaliczenia (NazwaModułu, NrStud, Ocena, TypOcen) NazwaModułu NrStud Ocena TypOcen Systemy relacyjnych baz danych B3 cwk1 Systemy relacyjnych baz danych B1 cwk2 Systemy relacyjnych baz danych B2 cwk1 Systemy relacyjnych baz danych B1 cwk1 Systemy relacyjnych baz danych B1 cwk2 Projekt. relacyjnych baz danych B2 cwk1 Projekt. relacyjnych baz danych B3 cwk1 Dedukcyjne bazy danych A1 egz Stud (NrStud, NazwS) NrStud NazwS Smith S Jones S Patel P Smith J

86 Klucz obcy Definicja: R2 jest relacją podstawową. Klucz obcy relacji R2 jest to podzbiór FK zbioru atrybutów R2, taki że: - istnieje relacja podstawowa R1 z kluczem kandydującym CK, - w każdej chwili każda wartość FK w aktualnej wartości relacji R2 jest taka sama, jak wartość CK w pewnej krotce aktualnej wartości relacji R1. Wartość klucza obcego stanowi referencję (odwołanie) do krotki zawierającej wartość odpowiadającego mu klucza kandydującego. Integralność referencyjna zapewnienie, aby baza nie zawierała niedopuszczalnych wartości klucza obcego. Więzy referencyjne zgodność klucza obcego z wartościami odpowiadającemu mu klucza kandydującego.

87 Klucz obcy NazwaModułu NrPr Systemy relacyjnych baz danych 234 Projekt. relacyjnych baz danych 234 Dedukcyjne bazy danych 345 Moduły (NazwaModułu, NrPr) Klucz główny tabeli Moduły NrPr NazwPr 234 Davies T 345 Evans R Klucz obcy w tabeli Moduły Wskazuje wykładowcę z tabeli Wykładowcy Wykładowcy (NrPr, NazwPr) Klucz główny tabeli Wykładowcy

88 Definiowanie kluczy obcych Przykład - klucz obcy Definiowanie klucza obcego dla jednego atrybutu. CREATE TABLE Film ( nazwa_filmu VARCHAR(40), studio_id NUMBER REFERENCES studia(studio_id) ) ; Definiowanie klucza obcego dla kilku atrybutów. CREATE TABLE Wyświetlane_Filmy ( nazwa_kina VARCHAR(40), data_wyświetlania DATE, tytuł_filmu VARCHAR(40), studio_id NUMBER, FOREIGN KEY (tytuł_filmu, studio_id) REFERENCES film (tytuł_filmu, studio_id) ) ;

89 Związek jeden do jeden A1 A2 A3 Tabela R1 Tabela R2 A1 B1 B2 B3 AAA AAA Klucz Właściwości: - niepowtarzalny Klucz obcy Właściwości: - niepowtarzalny

90 Związek jeden do jeden łączenie tabel Reprezentuje jedna tabela ( dwie ) osoba (id, nazwisko, imię) opis_osoby (id, PESEL, NIP, kolor_oczu,... ) powiązanie pomiędzy relacjami: osoba.id i opis_osoby.id

91 Związek jeden do jeden łączenie tabel

92 Związek jeden do wielu A1 A2 A3 Tabela R1 Tabela R2 A1 B1 B2 B3 AAA AAA AAA AAA Klucz Właściwości: - niepowtarzalny Klucz obcy Właściwości: - powtarzalny

93 Związek jeden do wielu łączenie tabel Reprezentują dwie tabele osoba (id, nazwisko, imię) opis_osoby (id, PESEL, NIP, kolor_oczu,... ) adres (ida, id, miasto, kod) powiązanie pomiędzy tabelami: osoba.id, opis_osoby.id i adres.id

94 Związek jeden do wielu łączenie tabel

95 Związek wiele do wiele Tabela R1 (np. wykład) A1 A2 A3 Tabela R2 (np. prowadzący) B1 B2 B3 B4 AA1 BB1 AA2 BB2 Klucz A1 AA1 B2 BB1 BB3 Właściwości: - niepowtarzalny AA1 AA2 AA2 AA2 BB3 BB1 BB2 BB3 Klucz Właściwości: - niepowtarzalny

96 Baza Kurs - opis Baza danych zawiera informację o uczestnikach kursów językowych, wykładowcach i czasie w którym kursy są realizowane. Baza zawiera sześć tabel : uczestnik ( id_uczestnik, nazwisko, imie), wykladowca ( id_wykladowca, nazwisko, imie), kurs_nazwa (id_nazwa, nazwa), kurs (id_kurs, id_grupa, id_nazwa, termin), uczest_kurs ( id_uczest, id_kurs, id_grupa ), wykl_kurs ( id_wykl, id_kurs, id_grupa ), powiązanych relacjami 1-n i n-m.

97 Baza Kurs diagram ERD

98 Baza Kurs zadanie 1 Przedstawić tabelę przedstawiającą wykładowcę, kurs i jego termin. Wykladowca Wykl-kurs Kurs Kurs-nazwa ID_wykl ID_wykl ID_kurs ID_nazwa Nazwisko ID_kurs ID_grupa Nazwa kurs Imie ID_grupa ID_nazwa Realizacja: Termin Należy połączyć tabele wykladowca i wykl-kurs wykorzystując atrybuty wykladowca.id_wykl i wykl-kurs.id_wykl Należy połączyć tabele wykl-kurs i kurs wykorzystując atrybuty wykl-kurs.id_kurs i wykl-kurs.id_grupa oraz kurs.id_kurs i kurs.id_grupa Należy połączyć tabele kurs i kurs-nazwa wykorzystując atrybuty kurs.id_nazwa i kurs-nazwa.id_nazwa

99 Baza Kurs zadanie 1 Przedstawić tabelę przedstawiającą wykładowcę, kurs i jego termin. Dane z tabeli wykladowca Dane z tabeli kurs-nazwa Dane z tabeli kurs

100 Baza Kurs zadanie 2 Przedstawić uczestników na wybranym kursie. Uczestnik Uczest-kurs Kurs Kurs-nazwa ID_uczestnik ID_uczest ID_kurs ID_nazwa Nazwisko ID_kurs ID_grupa Nazwa kurs Imie ID_grupa ID_nazwa Realizacja: Termin Należy połączyć tabele uczestnik i uczest-kurs wykorzystując atrybuty uczestnik.id_uczestnik i uczest-kurs.id_uczest Należy połączyć tabele uczest-kurs i kurs wykorzystując atrybuty uczest-kurs.id_kurs i uczest-kurs.id_grupa oraz kurs.id_kurs i kurs.id_grupa Należy połączyć tabele kurs i kurs-nazwa wykorzystując atrybuty kurs.id_nazwa i kurs-nazwa.id_nazwa

101 Baza Kurs zadanie 2 Przedstawić tabelę przedstawiającą wykładowcę, kurs i jego termin. Dane z tabeli kurs-nazwa Dane z tabeli kurs Dane z tabeli uczestnik

102 Ćwiczenia praktyczne 5 Język SQL łączenie tabel Związek jeden do jeden Związek jeden do wielu Związek wiele do wielu Polecenie SELECT - łączenie tabel

103 Łączenie tabel Powiązania krzyżowe Tworzą iloczyn kartezjański pomiędzy dwoma zbiorami danych. Powiązania wewnętrzne Tworzą podzbiór iloczynu kartezjańskiego pomiędzy dwoma zbiorami. Wymagają klauzuli warunkowej w celu określenia kryteriów jakie muszą być spełnione, aby rekordy były powiązane. Powiązanie zewnętrzne Podobnie do powiązań wewnętrznych tworzy podzbiór iloczynu kartezjańskiego. Różnica polega na tym, że zwraca co najmniej jeden egzemplarz każdego wiersza z określonego zbioru. Jest to albo zbiór pierwszy, albo drugi, względnie obydwa w zależności od rodzaju powiązania zewnętrznego. Brakujące wartości kolumn dla pustych części wiersza, które nie spełniają powiązania, zwracane są jako wartości NULL.

104 Łączenie tabel

105 Łączenie tabel Standardowo: SELECT lista_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ] SELECT * FROM tabela1, tabela2 --> iloczyn kartezjański SELECT * FROM tabela1, tabela2 WHERE tabela1.atr1 = tabela2.atr2 AND tabela1.atr12 = tabela2.atr22 ;

106 Łączenie tabel iloczyn kartezjański

107 Łączenie tabel związek 1:1 Relacja (związek) jeden - do - jeden Reprezentuje jedna tabela ( dwie ) osoba (id, nazwisko, imię) opis_osoby (id, PESEL, NIP, kolor_oczu,... ) powiązanie pomiędzy relacjami: osoba.id i opis_osoby.id SELECT id, nazwisko, imię, PESEL, NIP FROM osoba, opis_osoby WHERE osoba.id = opis_osoba.id AND nazwisko = Kowalski ;

108 Łączenie tabel związek 1:1

109 Łączenie tabel związek 1:N Relacja (związek) jeden - do - wielu Reprezentują dwie tabele osoba (id, nazwisko, imię) opis_osoby (id, PESEL, NIP, kolor_oczu,... ) adres (ida, id, miasto, kod) powiązanie pomiędzy tabelami: osoba.id, opis_osoby.id i adres.id SELECT nazwisko, imię, miasto FROM osoba, adres WHERE osoba.id = adres.id AND id = 1 ;

110 Łączenie tabel związek 1:N

111 Relacja wiele - do - wielu Łączenie tabel związek N:M Reprezentują dwie tabele plus tabela łącząca osoba (id, nazwisko, imię) opis_osoby (id, PESEL, NIP, kolor_oczu,... ) adres (ida, id, miasto, kod) kamienica (idk, miasto, kod, ulica, numer,nazwa) osoba_kamienica (id, idk) SELECT O.nazwisko, K.nazwa, K.miasto FROM osoba O, kamienica K, osoba_kamienica OK WHERE O.id = OK.id AND K.idk = OK.idk AND K.miasto = Krakow ;

112 Łączenie tabel związek N:M

113 Łączenie tabel Łączenie tabel wykorzystujące słowo kluczowe JOIN (standard SQL2). Złączenia tabel - wewnątrz polecenia FROM Składnia wewnętrzne zewnętrzne [INNER] JOIN LEFT [OUTER] JOIN RIGHT [OUTER] JOIN FULL [OUTER] JOIN SELECT list_kolumn FROM tabela1 JOIN tabela2 ON warunek1 WHERE warunek2

114 Łączenie tabel INNER JOIN

115 Łączenie tabel LEFT JOIN

116 Łączenie tabel RIGHT JOIN

117 Łączenie tabel FULL JOIN

118 Łączenie tabel

119 Baza danych opisująca kurs Relacje w bazie danych diagram ERD

120 Predykaty: UNION, INTERSECT, EXCEPT Słowa kluczowe UNION, INTERSECT i EXCEPT służą do łączenia wyników wielu zapytań. Wartości kolumn są porównywane i na podstawie tego porównania tworzony jest nowy zestaw wyników. Słowa kluczowe używamy pomiędzy dwoma zapytaniami SQL. Zestawy wyników są porównywane i na podstawie tego porównania wiersze są włączane lub pomijane do zestawu wyników. UNION Para zapytań połączonych słowem kluczowym UNION połączy wszystkie wiersze zawierające wspólne identyfikatory w jeden wspólny zestaw wyników. INTERSECT Para zapytań połączonych słowem INTERSECT spowoduje, że wiersze, których nie można znaleźć w obu zbiorach będą pominięte. EXCEPT Para zapytań połączonych słowem kluczowym EXCEPT spowoduje, że wiersze, które znaleziono w obu zbiorach będą pominięte. W wyniku znajdą się tylko te wiersze, które znajdują się po lewej stronie słowa kluczowego EXCEPT, a nie ma ich po prawej stronie.

121 Predykaty: UNION, INTERSECT, EXCEPT Struktura polecenia SELECT: SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP BY nazwy kolumn HAVING warunek (grupowanie wybieranych wierszy) [ { UNION INTERSECT EXCEPT } [ ALL ] ] ORDER BY nazwy kolumn lub pozycje kolumn

122 Predykat: UNION Operator umożliwia łączenie wyników kilku zapytań w jednym zestawieniu. Wyniki pojawiają się jakby zostały wybrane z jednej tabeli, podczas gdy pochodzą z wielu tabel. Składnia: SELECT lista_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ] UNION [ ALL ] SELECT list_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ]

123 Predykat: INTERSECT Operator umożliwia utworzenie zapytania zwracającego tylko wiersze wspólne dla wybranych zapytań. Składnia: SELECT lista_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ] INTERSECT SELECT list_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ]

124 Predykat: EXCEPT Operator umożliwia utworzenie zapytania zwracającego tylko wiersze, które występują w zbiorze po lewej stronie operatora. Składnia: SELECT lista_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ] EXCEPT SELECT list_kolumn FROM tabela [, tabela,... ] [ WHERE warunek ]

125 Baza Kurs diagram ERD

126 Baza Kurs zadanie 1 Przedstawić tabelę przedstawiającą wykładowcę, kurs i jego termin. select w.nazwisko as "Nazwisko", w.imie as "Imie", ko.opis as "Nazwa kursu", k.termin as "Termin kursu" from wykladowca w join wykl_kurs wk on w.id_wykladowca = wk.id_wykl join kurs k on k.id_kurs=wk.id_kurs and k.id_grupa=wk.id_grupa join kurs_opis ko on ko.id_kurs=k.id_kurs order by w.nazwisko;

127 Baza Kurs zadanie 2 Przedstawić tabelę przedstawiającą wykładowcę, kurs i jego termin. select ko.opis as "Nazwa kursu", k.termin as "Termin kursu", k.id_grupa as "Grupa", u.nazwisko as "Nazwisko", u.imie as "Imie" from uczestnik u join uczest_kurs uk on u.id_uczestnik = uk.id_uczest join kurs k on uk.id_kurs = k.id_kurs and uk.id_grupa = k.id_grupa join kurs_opis ko on k.id_kurs_nazwa = ko.id_kurs order by ko.opis, k.termin, k.id_grupa, u.nazwisko;

128 Baza Biblioteka - ERD Relacja pomiędzy encją ksiazka i encją dzial jest typu 1-N i opisuje przynależność książek do działu : - dział zawiera wiele książek, - książka należy do jednego działu.

129 Baza Biblioteka - ERD Relacja pomiędzy encją ksiazka i encją egzemplarz jest typu 1-N i opisuje zależność pomiędzy opisem książki a jej egzemplarzem w bibliotece: - opis książki jest jeden w bibliotece, - istnieje wiele egzemplarzy książki w bibliotece.

130 Baza Biblioteka - ERD Relacja pomiędzy encją egzemplarz i encją czytelnik jest typu N-M i opisuje powiązanie pomiędzy czytelnikiem a egzemplarzem książki: - czytelnik ma kilka pożyczonych pozycji z biblioteki, - pozycja książkowa jest pożyczana przez różnych czytelników.

131 Baza Biblioteka - ERD

132 Ćwiczenia praktyczne 6 Język SQL łączenie tabel Łączenie tabel - iloczyn kartezjański Łączenie tabel - predykat INNER JOIN Łączenie tabel - predykat OUTER JOIN LEFT, RIGHT, FULL Łączenie tabel - predykat UNION Łączenie tabel - predykat INTERSECT

133 Dziękuję za uwagę.

134

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

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

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1 Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

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

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,

Bardziej szczegółowo

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

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

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

Bardziej szczegółowo

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

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

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

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

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Grupowanie i funkcje agregujące

Grupowanie i funkcje agregujące Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,

Bardziej szczegółowo

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

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

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

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Technologie baz danych Wykład 4: Diagramy związków encji (ERD). SQL funkcje grupujące. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Plan wykładu Diagramy związków encji elementy ERD

Bardziej szczegółowo

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

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji 6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation

Bardziej szczegółowo

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

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

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

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy

Bardziej szczegółowo

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

SQL w praktyce. Miłej i owocnej nauki!!! SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie

Bardziej szczegółowo

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

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Wstęp do relacyjnych baz danych. Jan Bartoszek

Wstęp do relacyjnych baz danych. Jan Bartoszek Wstęp do relacyjnych baz danych Jan Bartoszek Agenda 1. 2. 3. 4. 5. 6. 7. Po co i dlaczego? Bazy danych & DBMS Relacje i powiązania Redundancja i jak jej uniknąć Diagramy ERD SQL Podsumowanie Czym są są

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID

Bardziej szczegółowo

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

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

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

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

Bardziej szczegółowo

ACESS- zadania z wykorzystaniem poleceń SQL

ACESS- zadania z wykorzystaniem poleceń SQL ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,

Bardziej szczegółowo

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

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła 040 STRUCTURED QUERY LANGUAGE Prof. dr hab. Marek Wisła SQL strukturalny język zapytań SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

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

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 1 Piotr Syga 09.10.2017 Ogólny zarys wykładu Podstawowe zapytania SQL Tworzenie i modyfikacja baz danych Elementy dynamiczne, backup, replikacja, transakcje Algebra

Bardziej szczegółowo

SQL - Structured Query Language. strukturalny język zapytań

SQL - Structured Query Language. strukturalny język zapytań SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w

Bardziej szczegółowo

Bazy danych Access KWERENDY

Bazy danych Access KWERENDY Bazy danych Access KWERENDY Obiekty baz danych Access tabele kwerendy (zapytania) formularze raporty makra moduły System baz danych MS Access Tabela Kwerenda Formularz Raport Makro Moduł Wyszukiwanie danych

Bardziej szczegółowo

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

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Funkcja agregująca

Bardziej szczegółowo

TEST E.14 BAZY DANYCH

TEST E.14 BAZY DANYCH TEST E.14 BAZY DANYCH 1 CZAS PRACY: 45 MINUT 1. W celu dodania rekordu do tabeli Pracownicy należy użyd polecenia SQL a. INSERT INTO Pracownicy VALUES ("Jan", "Kowalski"); b. INSERT VALUES (Jan; Kowalski)

Bardziej szczegółowo

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

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

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

Bardziej szczegółowo

LAB 3 (część 1 Projektu)

LAB 3 (część 1 Projektu) 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.

Bardziej szczegółowo

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo