Projektowanie bazy danych

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Projektowanie bazy danych
Relacyjny model danych
SQL – Strukturalny język zapytań
MS Access 2000 Relacje Piotr Górczyński 2005.
Relacyjny model danych
BD-LAB4 Wojciech Pieprzyca
Podejście relacyjne Podejście relacyjne opiera się na wykorzystaniu do przedstawiania danych modelu relacyjnego i zarządzania nimi matematycznego modelu.
WPROWADZENIE DO BAZ DANYCH
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
MS Access 2000 Normalizacja Paweł Górczyński 2005.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition.
Relacyjny Model Danych
Język definicji danych (Data Definition Language)
Język definicji danych (Data Definition Language)
POWTÓRZENIE Metodologia : Pojęcia:
Projektowanie relacyjnych baz danych
Modele baz danych - spojrzenie na poziom fizyczny
Język SQL (Structured Query Language) DDL (Data Definition Language)
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Zależności funkcyjne.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
DIAGRAMY ER 2 (ENTITY-RELATIONSHIP DIAGRAMS 2) Ćwiczenia 2.
Bazy danych.
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
SQL – Structured Query Language (1)
Systemy baz danych Wykład 1
Budowanie tabel i relacji
Informatyka Relacyjne bazy danych.
Andrzej Macioł Bazy danych – SQL – cz. 1. Andrzej Macioł Składowe SZBD Jądro SZBD realizuje podstawowe funkcje związane z przechowywaniem danych, kontrolą
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
SQL - Structured Query Language
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Wybrane zagadnienia relacyjnych baz danych
WPROWADZENIE DO BAZ DANYCH
Model relacyjny.
Komendy SQL do pracy z tabelami i bazami
SQL – część II.
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Systemy Baz Danych Wykład III
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Michał Krawczykowski kl. IIIB
Podstawowe informacje
Definiowanie kluczy w tabelach RBD
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Autor: Damian Urbańczyk
Projektowanie relacyjnych baz danych – diagramy związków encji
Komendy SQL do pracy z danymi
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Projektowanie postaci formularza:
Modelowanie model związków encji
Bazy Danych Wprowadzenie
Oracle Data Modeler (4.1). Aplikacja Wymagania biznesowe Tworzenie systemu informacyjnego Procesy Informacje Analiza Projektowanie Browser: Hollywood.
Bazy danych. Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza.
Temat: Tworzenie bazy danych
Transformacja modelu EER do modelu relacyjnego
DDL język definiowania danych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Własności relacji: Baza danych jest zbiorem relacji, o następujących własnościach: każda relacja w bazie danych jest jednoznacznie określona przez swoją.
Czym są i jak służą społeczeństwu?
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Projektowanie bazy danych

Przykład tworzenia aplikacji bazodanowej Problem: Stwórz system śledzący nieobecności uczniów na poszczególnych lekcjach w szkole.

Typowe kroki w projektowaniu aplikacji bazodanowej Krok1 – Identyfikacja celów Krok 2 – Wyznaczenie zadań i funkcji Krok 3 – Wyznaczenie elementów danych Krok 4 – Organizacja danych Krok 5 – Projektowanie interfejsu użytkownika Krok 6 – Tworzenie aplikacji Krok 7 – Testowanie i ulepszanie

Identyfikacja celów Ewidencja nieobecności uczniów Statystyka frekwencji uczniów w ogóle Wykaz nieobecności konkretnego ucznia Analiza liczby odbytych zajęć Ile było lekcji ? Kto rzeczywiście prowadził ? Którzy uczniowie przekroczyli dozwoloną liczbe nieobecności ? ??? .. Inne cele

Identyfikacja przepływu zadań Stworzenie listy przedmiotów Administrator dopisuje nowy przedmiot Administrator usuwa przedmiot Stworzenie listy uczniów Nauczyciel dopisuje dane personalne ucznia Nauczyciel modyfikuje dane personalne ucznia … Nauczyciel wpisuje dane o nowych zajęciach Zajęcia w konkretnym dniu na konkretnej lekcji Nauczyciel sprawdza obecność Nauczyciel odnotowuje nieobecność ucznia.

Wyznaczenie elementów danych Uczniowie Id_ucznia Nazwisko Imię Nauczyciele Id_nauczyciele Przedmioty Id_przedmiotu Nazwa Nauczyciel ???

Przykład – nieobecności uczniów ZAJECIA Id_zajecia 234 Data 2009-03-12 Lekcja 3 Przedmiot WF odwołanie do PRZEDMIOTY id_nauczyciela 12 odwołanie do NAUCZYCIELE PRZEDMIOTY Symbol WF Nazwa Wychowanie fizyczne Nauczyciel 12 odwołanie do NAUCZYCIELE NAUCZYCIELE Id_nauczyciela 12 Nazwisko Kowalski Imię Jan UCZNIOWIE Id_ucznia 123 Nazwisko Nowak Imię Piotr NIEOBECNOSCI Id_ucznia 123 odwołanie do UCZNIOWIE Id_zajecia 234 odwołanie do ZAJĘCIA // związek między UCZNIEAMI i ZAJĘCIAMI typu wiele do wielu – tabela NIEOBECNOSCI pokazuje taki związek

Idea Atrybuty (pola relacji) Krotki (wiersze, rekordy relacji)

Atrybuty Jeżeli na relacje popatrzymy jak na tabele, to nagłówek takiej tabeli zawiera wykaz atrybutów czyli kolumn tabeli. Każdy atrybut ma unikatową w ramach relacji nazwę W przykładzie tabeli kontrahenci atrybutami są: SYMBOL, NAZWA, ADRES, NIP Zbiór D(A) dopuszczalnych wartości atrybutu A nazywamy dziedziną atrybutu A (lub domeną atrybutu) Zbiór dopuszczalnych wartości jest ograniczany przez wskazanie typu atrybutu (istnieją predefiniowane standardowe typy atrybutów). Specjalna wartość NULL jest elementem każdej domeny. Oznacza ona, że wartość atrybutu nie została określona (jest nieznana).

Schematy relacji Nazwę relacji oraz zbiór jej atrybutów nazywamy schematem relacji. Przykład schematu relacji Kontrahent( symbol, nazwa, adres, nip ) Model relacyjny składa się zwykle z jednego lub kilku schematów relacji.

Tworzenie tabeli W SQL-u relacje definiujemy poleceniem create table : create table r (A1 D1, A2 D2, ..., An Dn, (warunek integralnosci1), ..., (warunek integralnoscik)) r jest nazwą relacji każde Ai jest nazwą atrybutu relacji r Di jest typem wartości – nazwą domeny atrybutu Ai Warunek – węzeł integralności = integrity constraint

Tworzenie tabeli - przykład Create table UCZNIOWIE ( id_ucznia int, Nazwisko varchar(20) )

Więzy (ograniczenia) integralności Mechanizm (reguła), który gwarantuje że dane wpisane do relacji spełnią nałożone na nie warunki czuwa nad tym SZBD Definiuje się na poziomie pojedynczego atrybutu całej relacji Rodzaje klucz podstawowy (primary key) klucz obcy (foreign key) unikalność (unique) zawężenie domeny/dziedziny (check) wartość pusta/niepusta (NULL/NOT NULL)

Rodzaje integralności Integralność domeny (kolumna) Integralność rekordu (wiersz) Integralność referencyjna (między tabelami)

Klucze Niech A = { A1, A2, ... , An } będzie zbiorem atrybutów relacji. Podzbiór K zbioru A nazywamy nadkluczem jeżeli dla dowolnej relacji r(A) każda krotka jest wyznaczona jednoznacznie poprzez wartości jakie przyjmuje na atrybutach należących do K. Jeżeli klucz K jest minimalny, tzn. nie jest nadkluczem właściwym żadnego innego innego klucza, to nazywamy go kluczem kandydującym. Zwykle w relacji wybieramy i ustalamy jeden klucz kandydujący. Taki wyszczególniony klucz nazywamy kluczem głównym relacji.

Tworzenie klucza głównego Klucz główny relacji r(A1, a2, ... , An) to zestaw atrybutów jednoznacznie identyfikujący każdą krotkę w relacji. ALTER TABLR NazwaTabeli ADD CONSTRAINT NazwaKlucza PRIMARY KEY (Ak1, Ak2, ... , Akm) gdzie Ak1, Ak2, ... , Akm są atrybutami relacj r ALTER TABLE UCZNIOWIE ADD CONSTRAINT PK_ID_UCZNIA PRIMARY KEY (ID_UCZNIA)

Klucze obce Klucz obcy relacji (foreign key) atrybut (lub zbiór atrybutów), który wskazuje na klucz podstawowy (główny) innej relacji Służy do reprezentowania powiązań między danymi (łączenia relacji)

Klucze obce - przykład

Klucze obce – cd. Dane są relacje R1 i R2. Podzbiór FK atrybutów relacji R1 nazywany jest kluczem obcym R1 jeżeli: atrybuty w FK mają taką samą domenę jak atrybuty klucza podstawowego PK relacji R2 dla każdej krotki t1 relacji R1 istnieje dokładnie jedna krotka t2 relacji R2, taka że t1 [FK] = t2 [PK], lub t1 [FK] = null Klucz obcy (ograniczenie referencyjne) gwarantuje, że rekordy z tabeli R1 występują w kontekście związanego z nim rekordu z tabeli R2

Referencyjne więzy integralności – klucze obce (cd.2) Można wskazać jak system będzie reagował na zmianę lub usuwanie wartości klucza głównego, do której istnieje odwołanie referencyjne ON DELETE | ON UPDATE NO ACTION (domyślnie): Nie ma wpływu na wartość klucza obcego; może powodować niemożność dokonania zmiany klucza głównego ze względu na integralność danych. CASCADE: Dla ON DELETE, usuwa rekordy z odpowiadającą mu wartością klucza obcego; dla ON UPDATE, uaktualnia odpowiednie klucze obce. SET NULL: Ustawia wartości na NULL SET DEFAULT