Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Podobne dokumenty
Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

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

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów przypomnienie wiadomości. Pojęcie indeksu. Wykład 11: Indeksy. Język DDL i DML.

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Autor: Joanna Karwowska

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

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

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

Wykład 4. SQL praca z tabelami 1

Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one.

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Wykład 8. SQL praca z tabelami 5

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

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

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

Technologie baz danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL

Bazy danych Podstawy teoretyczne

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Bazy danych - Materiały do laboratoriów VIII

Wykład 5. SQL praca z tabelami 2

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

Bazy danych. Dr inż. Paweł Kasprowski

Oracle11g: Wprowadzenie do SQL

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

SQL (ang. Structured Query Language)

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

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

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Paweł Rajba

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

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

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

Wykład 2. Relacyjny model danych

Systemy GIS Tworzenie zapytań w bazach danych

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

Relacyjne bazy danych. Podstawy SQL

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy danych - wykład wstępny

Projektowanie systemów baz danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

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

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

Dr Michał Tanaś(

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

Sposoby przekazywania parametrów w metodach.

Oracle PL/SQL. Paweł Rajba.

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

Relacyjne bazy danych. Podstawy SQL

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

Aspekty aktywne baz danych

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta

Podstawy technologii WWW

3. Podzapytania, łączenie tabel i zapytań

Wykład 05 Bazy danych

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

Wprowadzenie do baz danych

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania

Bazy danych Ćwiczenia projektowe

Tworzenie baz danych i tabel

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Typy Oracle atrybutów relacji Typ NUMBER (1)

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

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Widok Connections po utworzeniu połączenia. Obszar roboczy

Typy Oracle atrybutów relacji Typ NUMBER (1)

SIECI KOMPUTEROWE I BAZY DANYCH

Wprowadzenie do języka SQL

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

Przestrzenne bazy danych Podstawy języka SQL

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

SUPLEMENT SM-BOSS WERSJA 6.15

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Listy i operacje pytania

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki.

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

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

Transkrypt:

Plan wykładu azy danych Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL instrukcja EXISTS DDL DML (insert) Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl azy danych (studia dzienne) 2 Pierwsza posta normalna Relacja jest w pierwszej postaci normalnej, jeli kada warto atrybutu w kadej krotce tej relacji jest wartoci atomow Druga posta normalna Pełna zaleno funkcyjna trybut relacji r jest w pełni funkcyjnie zalezny od zbioru atrybutów X, jeli jest funkcyjnie zaleny od niego, ale nie jest funkcyjnie zalezny od adnego podzbioru zbioru X. Dana relacja jest w drugiej postaci normalnej, jeli kady atrybut tej relacji nie wchodzcy w skład adnego klucza jest w pełni funkcyjnie zaleny od wszystkich kluczy tej relacji. W celu uzyskania drugiej postaci normalnej naley podzieli relacj na zbiór takich relacji, których wszystkie atrybuty bd w pełni funkcyjnie zalene od kluczy. azy danych (studia dzienne) 3 azy danych (studia dzienne) 4

Trzecia posta normalna Dana relacja jest w trzeciej postaci normalnej, jeli jest ona w drugiej postaci normalnej i kady jej atrybut nie wchodzcy w skład adnego klucza nie jest przechodnio funkcyjnie zaleny od adnego klucza tej relacji. Przechodnia zaleno funkcyjna Zalenoci funkcyjne dwóch relacji w 3NF Posta nieznormalizowana; struktury danych nie s dwuwymiarowe Pierwsza posta normalna Przekształcenie do 1PN Usunicie danych nieelementarnych Relacja R D azy danych (studia dzienne) 5 azy danych (studia dzienne) 6 Druga posta normalna Trzecia posta normalna klucz D Przekształcenie do 2PN D Przekształcenie do 3PN Usunicie niepełnej zalenoci funkcyjnej Usunicie przechodniej zalenoci funkcyjnej azy danych (studia dzienne) 7 azy danych (studia dzienne) 8

SQL Operator EXISTS Operator EXISTS Tworzenie relacji Modyfikowanie relacji Wstawianie wierszy do tabel W przypadku zapyta skorelowanych czasami nie interesuje nas wynik zapytania, ale jedynie czy wiersz o zadanych przez nas warunkach istnieje. Wówczas wykorzystujemy operator EXISTS. EXISTS (podzapytanie) - zwraca true jeeli podzapytanie zwróci przynajmniej jeden wiersz NOT EXISTS(podzapytanie) zwraca true jeeli podzapytanie nie zwróci adnego wiersza azy danych (studia dzienne) 9 azy danych (studia dzienne) 10 Tworzenie tabel RETE TLE nazwa_tabeli (kolumna1 typ_danych(rozmiar) [DEFULT warto_domylna] [NULL NOT NULL] [ONSTRINT nazwa_ogr] ograniczenie_atr], kolumna2 typ_danych(rozmiar) [DEFULT warto_domylna] [NULL NOT NULL] [ONSTRINT nazwa_ogr] ograniczenie_atr...); Typy kolumn char(rozmiar) - ciag znaków stałej długoci. Rozmiar (liczba znaków) okrelany w nawiasach o długoci nie wikszej ni 255 bajtów. varchar2(rozmiar) - cig znaków zmiennej długoci. Rozmiar (liczba znaków, max 2000, domylnie 1) okrelany jest w nawiasach. number(rozmiar) - typ numeryczny. Rozmiar okrela liczb cyfr w kolumnie. number(rozmiar,d) - typ numeryczny. Rozmiar okrela liczb znaków w kolumnie, "d" okrela maksymalna ilo cyfr na prawo od kropki dziesitnej. Skala "d" nie moe by wiksza od precyzji "rozmiar" date do reprezentacji dat i czasu long rozszerzenie typu varchar2, które pozwala przechowywa napisy do 2G azy danych (studia dzienne) 11 azy danych (studia dzienne) 12

Klauzula ONSTRINT Słuy do definiowania innych ni NOT NULL warunków integralnoci RETE TLE nazwa_tabeli (kolumna1 typ_danych(rozmiar) [DEFULT warto_domylna] [NULL NOT NULL] [ONSTRINT nazwa_ogr] ograniczenie_atr]...); RETE TLE nazwa_tabeli (kolumna1 typ_danych(rozmiar) [DEFULT warto_domylna] [NULL NOT NULL] ONSTRINT nazwa_ogr typ_ograniczenia ONSTRINT nazwa_ogr typ_ograniczenia...); Klauzula ONSTRINT [ONSTRINT nazwa_ogr] typ_ograniczenia Nazwa_ograniczenia - identyfikator warunku integralnoc, wystepujcy np.. W kumunikatach o błdach spowodowanych przez niedozwolon operacj naruszajc to ograniczenia Typ_ograniczenia: HEK, PRIMRY_KEY, UNIQUE, FOREIGN_KEY Ograniczenie - dodatkowe informacje m jego posta zaley od typu ograniczenia azy danych (studia dzienne) 13 azy danych (studia dzienne) 14 Typy ogranicze Ograniczenie HEK - okrela warunek, jaki musi spełnia warto w kolumnie kadgo wiersza tabeli. Jeli wizy s definiowane po definicjji wszystkich kolumn, warunek moe dotyczy kilku kolumn, jeli na poziomie kolumny - tylko tej kolumny. ONSTRINT HEK (warunek logiczny) Warunek logiczny musi by prosty - niedopuszczalne s podzapytania, ani funkcje, których warto zaley od okolicznoci wywołania np. SYSDTE. Mona uywa OR i ND. PRIMRY_KEY Definiuje klucz główny tabeli (wymusza automatycznie warunek NOT NULL). Jeeli klucz główny stanowi pojedyncza kolumna wygodnie jest zapisa ten warunek w składni przy kolumnie:... Kolumna typ ONSTRINT nazwa_ogr PRIMRY KEY, Jeeli klucz składa si z dwóch lub wicej kolumn, wtedy naley okreli go w składni po kolumnach:. ONSTRINT nazwa_ogr PRIMTY KEY (kol1,kol2,...).. azy danych (studia dzienne) 15 azy danych (studia dzienne) 16

UNIQUE Definiuje klucz unikalny tabeli. Klucz unikalny pełni podobn rol co klucz główny, z tym, e nie wymusza automatycznie warunku NOT NULL na nalezcych do niego kolumnach Klucz unikalny składajcy si z jednej kolumny:... Kolumna typ ONSTRINT nazwa_ogr UNIQUE, Klucz dla dwóch lub wikszej liczby kolumn:. ONSTRINT nazwa_ogr PRIMTY KEY (kol1,kol2,...).. FOREIGN KEY Definiuje klucz obcy, reprezentujacy zwizek z inn tabel. Powoduje, e wartoci wskazanychkolumn mog przyjmowa jedynie wartoci klucza głównego (lub unikalnego) pewnej (najczciej innej) tabeli. Jeeli klucz obcy stanowi jedna kolumna:... Kolumna typ ONSTRINT nazwa_ogr REFERENES nazwa tabeli kolumna1, Jeeli klucz obcy zbudowany jest z wikszej liczby kolumn. ONSTRINT nazwa_ogr FOREIGN KEY lista_kolumn1 REFERENES nazwa_tabeli lista_kolumn2.. azy danych (studia dzienne) 17 azy danych (studia dzienne) 18 FOREIGN KEY by moliwe było zdefiniowanie klucza obcego: tabela do której odnosi si klucz musi by utworzona na wskazanym zestawie kolumn musi by utworzony klucz główny lub klucz unikalny jeli w tabeli obcej odwołujemy si do kolumn z klucza głównego, list kolumn z tabeli obcej mona pomin Własnoci kluczy obcych w tabeli z kluczem obcym nie mona wstawi wiersza, którego warto w kolumnie z klucza obcego nie ma odpowiedników w tabeli obcej, w tabeli z kluczem obcym nie mona zmodyfikowa wiersza, tak aby jego warto kolumnie z klucza obcego nie miał odpowiedników w tabeli obcej, z tabeli obcej nie mona usun wiersza, do którego odnosz si jakiekolwiek wiersze z tabeli z kluczem obcym - wstawienie dyrektywy ON DELETE SDE spowoduje, e przy usuwaniu wiersza z tabeli bd usuwane wszystkie odwołujce si do niego wiersze z tabel z kluczem obcym. Klauzula DEFULT Słuy do wskazania jaka warto ma by wstawiona w polu kolumny jeli w poleceniu wstawiania nie okrelono wartoci tej kolumny.... Kolumna typ DEFULT wyraenie, Podane wyraenie musi by zgodne z typem kolumny. Wyraenie musi by proste, nie mog wystpowa podzapytania Dozwolone s funkcje typu SYSDTE. azy danych (studia dzienne) 19 azy danych (studia dzienne) 20

Tworzenie tabeli przez zapytanie RETE TLE nazwa_tabeli [nazwa_kolumny [NULL/NOT_NULL],] S SELET zapytanie nowa tabela składa si z kolumn oraz wierszy okrelonych poleceniem SELET jeli pozycje wystpujce na licie SELET maj prawidłowe nazwy (nie s to wyraenia) lub majaliasy, lista nazw kolumn nowej tabeli moe zosta pominita jeli podana jest lista nazw nowej tabeli, liczba pozycji musi si pokrywa z liczb pozycji, wystpujcych po poleceniu SELET Zmiana definicji tabeli Dodawanie kolumn Zmiana definicji tabeli: LTER TLE Dodawanie kolumn: LTER TLE nazwa_tabeli DD (kolumna typ [(rozmiar)], kolumna typ [(rozmiar)],...); azy danych (studia dzienne) 21 azy danych (studia dzienne) 22 Zmiana definicji tabeli Zarzdzanie wizami integralnoci Dodawanie wizów integralnoci: LTER TLE nazwa_tabeli DD (ONSTRINT nazwa_ogr [warunek])...); Włczanie i wyłczanie sprawdzanie wizów integralnoci: LTER TLE nazwa_tabeli ENLE ONSTRINT nazwa_ogr; LTER TLE nazwa_tabeli DISLE ONSTRINT nazwa_ogr; Usuwanie warunku integralnoci: LTER TLE nazwa_tabeli DROP ONSTRINT nazwa_ogr; Modyfikacja definicji kolumny LTER TLE nazwa_tabeli MODIFY (kolumna typ [(rozmiar)] [NULL NOT NULL]); Nie mona wykona nastpujacych modyfikacji: kolumny, w której wystpuj wartoci null nie mona przedefiniowa z NULL na NOT NULL nie mona dodanowej kolumny o własnoci NOT NULL (chyba, e tabela jest pusta). Dopiero po wpisacniu wartoci kolumny mona j zmodyfikowa. Nie jest moliwe zmniejszenie rozmiaru kolumny lub zmiany jej typu, chyba, e kolumna jest pusta nie jest moliwa zmiana typu kolumny azy danych (studia dzienne) 23 azy danych (studia dzienne) 24

Usuwanie tabel DROP TLE nazwa_tabeli; usunicie tabeli powoduje utrat wszystkich danych zawartych w tabeli oraz wszystkich indeksów tabela moe zosta usunita przez jej właciciela albo administratora bazy danych jeeli istnoiej tabele z kluczami obcymi odwołujcymi si do usuwanej tabeli, usuwanie si nie powiedzie, chyba, e na kocu dodamy dyrektyw SDE ONSTRINS. Wtedy zostan usunite odpowiednie definicje kluczy obcych w innych tabelach. Zmiana nazwy tabeli RENME stara_nazwa TO nowa_nazwa azy danych (studia dzienne) 25 azy danych (studia dzienne) 26 Wstawianie wierszy Polecenie wstawiania nowych wierszy do tabeli: INSERT INTO nazwa_tabeli [(lista_kolumn)] VLUES (lista_waroci);) Wstawianie wierszy wybieranych w zapytaniu: INSERT INTO nazwa_tabeli [(lista_kolumn)] SELET lista_wyrae FROM; azy danych (studia dzienne) 27