- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

Podobne dokumenty
Dr inż. Witold Rekuć Katedra Badań Operacyjnych, Finansów i Zastosowań Informatyki

Dr inż. Witold Rekuć Katedra Badań Operacyjnych, Finansów i Zastosowań Informatyki

-Wykład kończy się zaliczeniem na ocenę na podstawie kolokwium

Wykład kończy się zaliczeniem na ocenę na podstawie kolokwium, które zostanie przeprowadzone na przedostatnim wykładzie

Wykład 2. Relacyjny model danych

Model relacyjny. Wykład II

1 Wstęp do modelu relacyjnego

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

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

Autor: Joanna Karwowska

Bazy danych. Dr inż. Paweł Kasprowski

Model relacyjny. Wykład II

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Baza danych. Modele danych

Bazy danych - wykład wstępny

BAZY DANYCH Podstawowe pojęcia

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

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

Bazy danych Wykład zerowy. P. F. Góra

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

SIECI KOMPUTEROWE I BAZY DANYCH

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Aspekty aktywne baz danych

Model relacyjny bazy danych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Cel normalizacji. Tadeusz Pankowski

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

Transformacja modelu ER do modelu relacyjnego

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

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

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Podstawowe informacje o bazach danych. Technologie Informacyjne

Systemy baz danych. mgr inż. Sylwia Glińska

Agnieszka Ptaszek Michał Chojecki

Operacja Teta-złączenia. v1 v1 Θ v2

Wykład 4. SQL praca z tabelami 1

Normalizacja. Pojęcie klucza. Cel normalizacji

Wykład 8. SQL praca z tabelami 5

Wykład 5. SQL praca z tabelami 2

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wykład 05 Bazy danych

Krok 1. SELECT Symbol AS KS INTO Dzielnik FROM Towary WHERE (Nazwa='Orzeszki solone') OR (Nazwa = 'Zupy CHOISE') OR (Nazwa = 'Kawa BURG');

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

Bazy danych. Algebra relacji

Transformacja modelu ER do modelu relacyjnego

Bazy danych - Materiały do laboratoriów VIII

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Tworzenie baz danych i tabel

Zależności funkcyjne c.d.

Tadeusz Pankowski Relacyjne bazy danych. są podstawą zachodniej cywilizacji

1 Przygotował: mgr inż. Maciej Lasota

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

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

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

Egzamin / zaliczenie na ocenę* 0,5 0,5

Technologie baz danych

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Instrukcja CREATE TABLE

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

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

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Paweł Cieśla. Dokumentacja projektu

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych Ćwiczenia projektowe

SIECI KOMPUTEROWE I BAZY DANYCH

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

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

SQL :: Data Definition Language

Co to są relacyjne bazy danych?

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

Relacyjne bazy danych

Wprowadzenie do SQL TEMAT 3 - Zadania dodatkowe

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

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

2017/2018 WGGiOS AGH. LibreOffice Base

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

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

Jerzy Nawrocki, Wprowadzenie do informatyki

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

Paweł Rajba

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

WPROWADZENIE DO BAZ DANYCH

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

PRZEWODNIK PO PRZEDMIOCIE

Technologia informacyjna

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Transkrypt:

Dr inż. Ludmiła Rekuć p. 58 B4 www.ioz.pwr.wroc.pl, ludmila.rekuc@pwr.wroc.pl Dr inż. Witold Rekuć p. 57 B4 www.ioz.pwr.wroc.pl, witold.rekuc@pwr.wroc.pl - Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego Literatura. C. Date. Wprowadzenie do systemów baz danych. WNT,.. J. Ullman, J. Widom. Podstawowy wykład z systemów baz danych. WNT,.. Podręczniki systemu MS ACCESS. 4. Materiały do wykładu

Laboratorium IBM San Jose (California) A relational model for large shared data banks Communication of the ACM, :6,97. System R - prototyp oprogramowania SEQUEL prototyp języka Dziś: Oprogramowanie MS ACCESS, SQL Server, PostgreSQL, INGRES, ORACLE, DB, Informix, Progres, Język SQL Edgar Frank Codd (9 )

Baza danych jest zbiorem tabel (relacji) pamiętanych w jednym lub wielu plikach Firmy Nr Nazwa Nasza Firma Abeja Audi Pafawag Ulica Nasza Abejowska Audiego Wagonowa KodMjc Telefon 4 4 55 Miejscowości Kod Nazwa KodWoj Wrocław DL Opole OP Wałbrzych DL Firm.mdb Wojewodztwa Kod Nazwa DL Dolnośląskie OP Opolskie 4 Iase Energetyczna 56 5 Dolmed Dokumenty Medyczna PozycjeDokumentu Nr NrSprzerdawcy Np SmbTow CenaNetto Ilość Nr NrSprzerdawcy NrNabywcy Data /, /.. / 4,5 /.. / 4 7, 5 / /...4. / /,, / 7.. / 4 7,5 4/ 4.5. /, 45 Towary Smb Nazwa Pasztet Mortadela Chipsy 4 Kawa Jakobs Jm kg kg paczka 4g paczka g StawkaVat 7% 7% 7% 7% / / / / / 4/ 4 4 5 5 4,5 7,8,, 4,6,6 5 5 5 9 5 Makrela kons. puszka 5g 7%

System zarządzania bazą danych Baza danych System zarządzania bazą danych Język użytkowników bazy danych Język administratora bazy danych... Użytkownicy bazy danych Administrator bazy danych 4

Tabela (relacja) Nazwa tabeli (relacji) nazwa kolumny (atrybutu, pola) Firmy Nr Nazwa Ulica KodMjc Telefon nagłówek (schemat) Nasza Firma Nasza 4 Abeja Abejowska 4 55 4 Audi Pafawag Iase Audiego Wagonowa Energetyczna 56 Wiersz (rekord, krotka) 5 Dolmed Medyczna kolumna (atrybut, pole) 5

Wartości w kolumnach (wartości atrybutów) Firmy Nr Nazwa Ulica KodMjc Telefon Nasza Firma Nasza 4 Abeja Abejowska 4 55 Audi Audiego Pafawag Wagonowa 4 Iase Energetyczna 56 5 Dolmed Medyczna 6 Dolmel Elektryczna 45 4 6 numerów firm Dolmel nazw firm Elektryczna nazw ulic kodów miejscowości 45 4 numerów telefonów 6

Dziedzina Dziedzina wartości jest to zbiór wartości, które potencjalnie mogą pojawić się w kolumnie tabeli (które może przyjmować atrybut). Różne dziedziny wartości nie muszą być rozłączne Dziedzinę określa się przez podanie typu danych oraz dodatkowych ograniczeń (więzów) lub właściwości MS ACCESS: Nazwa pola Nr Nazwa Ulica KodMjc Telefon Typ danych Liczba Tekst Tekst Liczba Tekst Właściwości Liczba całkowita >= i <=999 Długość znaków Długość znaków Liczba całkowita between and 99 Maska 999-99 7

Określoność wartości w kolumnach (wartości atrybutów) Firmy Nr Nazwa Ulica KodMjc Telefon Nasza Firma Nasza 4 Abeja Abejowska 4 55 Audi Audiego 4 5 Pafawag Iase Dolmed Wagonowa Energetyczna Medyczna 56 Wartość nieokreślona 6 Dolmel Elektryczna 6 numerów firm Dolmel nazw firm Elektryczna nazw ulic kodów miejscowości 45 4 numerów telefonów 8

Projektując tabelę dla pewnego zastosowania możemy rozstrzygnąć dla każdej kolumny: - czy wartość w kolumnie musi być zawsze określona, - czy wartość w kolumnie może być nieokreślona. Do oznaczenia wartości nieokreślonych stosuje się słowo NULL Telefon is NULL telefon jest nieokreślony Telefon is not NULL telefon jest określony Nieokreśloność wartości typu Tekst 6 Dolmel Elektryczna Tekst niepusty Tekst nieokreślony lub pusty 45 4 - tekst określony niepusty - tekst określony pusty - tekst nieokreślony 9

Nieokreśloność wartości w kolumnach i logika trójwartościowa 6 Dolmel Elektryczna 45 4 Telefon = Telefon is Telefon is 45 4? NULL? not NULL? TRUE FALSE TRUE 6 Dolmel Elektryczna 4 9 FALSE FALSE TRUE 6 Dolmel Elektryczna UNKNOWN TRUE FALSE NULL Operacje na wartościach nieokreślonych X is NULL Y is not NULL lub is NULL X + Y is NULL

Wartości domyślne (default) Firmy Nr Nazwa Nasza Firma Abeja Audi Pafawag 4 Iase 5 Dolmed Ulica Nasza Abejowska Audiego Wagonowa Energetyczna Medyczna KodMjc Telefon 4 4 55 56 Wartością domyślną danego atrybutu nazywamy wartość z dziedziny tego atrybutu, która ma być wstawiona przez system do każdego dodawanego wiersza 6 numerów firm Dolmel nazw firm Elektryczna nazw ulic kodów miejscowości 45 4 numerów telefonów

Klucze tabeli Kluczem tabeli nazywamy zbiór atrybutów tabeli, które identyfikują wiersz tabeli i żaden jego podzbiór właściwy tej własności nie ma Dokumenty Nr / NrSprzerdawcy NrNabywcy Data.. Kluczem w tabeli Dokumenty jest zbiór /.. / /...4. K = {Nr, NrSprzedawcy} / 7.. 4/ 4.5.

Inne przykłady: Osoba(Pesel, Nip, Nazwisko, Imię, DataUrodzenia) K={Pesel}, K={Nip} Egzamin(NrStudenta, KodPrzedmiotu, Data, Ocena) K={NrStudenta, KodPrzedmiotu, Data} PozycjeDokumentu(Nr, NrSprzedawcy, Np,SmbTow, CenaNetto, Ilość) K={Nr, NrSprzedawcy, Np}, K={Nr, NrSprzedawcy, SmbTow} ObrotyMiesięczne(Rok, Mc, Wartość) K={Rok, Mc}

Kluczem podstawowym tabeli nazywamy klucz, który ze względu na pewne cechy praktyczne zostaje arbitralnie wybrany spośród kluczy tabeli Przykład: Przedmiot (Kod, Nazwa, Opis) K={Kod}, K={Nazwa} Kluczem podstawowy: K Określoność wartości kluczy atrybutów zawierający klucz nazywamy nadkluczem Przykład: Przedmiot (Kod, Nazwa, Opis) K={Kod}, K={Nazwa} Nadkluczem jest: {Kod, Opis} Każdy klucz tabeli musi mieć wartość określoną (NULL jest niedopuszczalne) 4

5

Przykład definicji tabeli w języku SQL (system PostgreSQL) create table "Firmy" ( Nr decimal(4) primary key check(nr>=), Nazwa varchar() not null, Ulica varchar() not null, KodMjc decimal() not null, Telefon varchar() ); 6

Operacje aktualizacji - dodaj nowy wiersz do tabel - usuń istniejący wiersz z tabeli - zmień wartości w istniejącym wierszu tabeli W aktualizacji bazy danych musimy zapewnić poprawność bazy danych: Poprawność formalna zgodność bazy danych z regułami formalnymi Poprawność merytoryczna zgodność bazy danych z rzeczywistością 7

Poprawność formalna więzy integralnościowe: więzy dziedziny wartość atrybutu w tabeli musi należeć do dziedziny tego atrybutu lub jeżeli jest to dopuszczalne może być nieokreślona (NULL) więzy klucza w tabeli nie mogą występować dwa lub więcej wierszy o tej samej wartości klucza; klucz musi mieć wartość określoną więzy integralności referencyjnej patrz niżej inne więzy patrz niżej 8

Więzy dziedziny i klucza Firmy Nr Nazwa Nasza Firma Ulica Nasza KodMjc Telefon 4 Abeja Abejowska 4 55 Audi Audiego Pafawag Wagonowa 4 Iase Energetyczna 56 5 Dolmed Medyczna Dodaj wiersz - Makrosoft Informatyczna A NULL Naruszenie więzów dziedziny Dodaj wiersz NULL Makrosoft Informatyczna NULL Naruszenie więzów klucza Dodaj wiersz Makrosoft Informatyczna NULL 9

Więzy integralności referencyjnej Firmy Miejscowości Nr Nazwa Ulica KodMjc Telefon Kod Nazwa KodWoj Nasza Firma Nasza 4 Wrocław DL Abeja Audi Pafawag Abejowska Audiego Wagonowa 4 55 Opole Wałbrzych OP DL 4 Iase Energetyczna 56 5 Dolmed Medyczna Dodaj do tabeli Firmy wiersz: 6 TP SA Telewizyjna 4 45 9 Usuń z tabeli Miejscowości wiersz: Opole OP Pytanie do bazy danych: w jakich województwach mają siedziby firmy, z którymi handlujemy?

Firmy Miejscowości Nr Nazwa Ulica KodMjc Telefon Kod Nazwa KodWoj Nasza Firma Nasza 4 Wrocław DL Abeja Abejowska 4 55 Opole OP Audi Audiego Wałbrzych DL Pafawag Wagonowa 4 Iase Energetyczna 56 5 Dolmed Medyczna Dla każdego wiersza tabeli Firmy musi występować wiersz w tabeli Miejscowości taki, że: Firmy.KodMjc=Miejscowości.Kod Dla każdego wiersza tabeli Miejscowości może występować wiersz w tabeli Firmy taki, że: Firmy.KodMjc=Miejscowości.Kod

Firmy Nr Nazwa Ulica KodMjc Telefon Miejscowości Kod Nazwa KodWoj Nasza Firma Nasza 4 Wrocław DL Abeja Abejowska 4 55 Opole OP Audi Audiego Wałbrzych DL 4 Pafawag Iase Wagonowa Energetyczna 56 Klucz = {Kod} 5 Dolmed Medyczna Klucz = {Nr} Klucz obcy = {KodMjc} Dane są dwie tabele: To zwana tabelą odwołania Td zwana tabelą docelową Kluczem obcym tabeli To do tabeli Td nazywamy taki zbiór atrybutów To, którego wartości są wartościami klucza tabeli Td Więzy integralności referencyjnej Dla każdej wartości klucza obcego w tabeli odwołania musi istnieć wiersz w tabeli docelowej zawierający wartość tego klucza.

Przykład: Student (Nr, Nazwisko, Adres) Klucz={Nr} Egzamin (NrStudenta, KodPrzedmiotu, Data, Ocena) Klucz={NrStudenta, KodPrzedmiotu, Data} KluczObcy do tabeli Student KO={NrStudenta} KluczObcy do tabeli Przedmiot KO={KodPrzedmiotu} Przedmiot (Kod, Nazwa) Klucz={Kod} Przykład: Dostawca (Kod, Nazwa, Ulica, KodMjc) Miejscowość (Kod, Nazwa) Dostawa (KodDostawcy, SmbTowaru, Data, Ilość) Towar (Symbol, Nazwa, Cena, Jm) Wskazać klucze i klucze obce!

Jm 4

Przykład definicji tabeli w języku SQL (system PostgreSQL) create domain "NumeryFirm" decimal(4) not null; -- create table "Miejscowosci" ( Kod decimal() primary key check(kod>), Nazwa varchar() not null ); -- create table "Firmy" ( ); Nr "NumeryFirm" primary key check(nr>=), Nazwa varchar() not null, Ulica varchar() not null, KodMjc decimal() not null references "Miejscowosci"(Kod), Telefon varchar() 5

Inne więzy integralnościowe Więzy inne są specyficzne dla dziedziny zastosowań. Są one określone przez warunki, których niespełnienie byłoby świadectwem błędu w danych lub świadectwem naruszenia reguł organizacji, w której baza danych jest użytkowana. Przykłady:. Data dostawy nie może być wcześniejsza od daty zamówienia tej dostawy.. Dla każdego promotora liczba dyplomatów nie może być większa od 5.. Nie może być wykonane wypożyczenie książki czytelnikowi, który zalega ze zwrotem innych książek. 6