Relacyjne bazy danych. Grzegorz Kowalski



Podobne dokumenty
Wprowadzenie do baz danych

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Bazy danych - wykład wstępny

Baza danych. Baza danych to:

Wykład 2. Relacyjny model danych

WPROWADZENIE DO BAZ DANYCH

Technologia informacyjna

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

Baza danych. Modele danych

Bazy danych TERMINOLOGIA

Projektowanie relacyjnych baz danych

Model relacyjny bazy danych

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

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

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

BAZY DANYCH Podstawowe pojęcia

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

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

Podstawowe zagadnienia z zakresu baz danych

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

Relacyjne bazy danych. Podstawy SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Krzysztof Kadowski. PL-E3579, PL-EA0312,

WPROWADZENIE DO BAZ DANYCH

OPRACOWANIE: SŁAWOMIR APANOWICZ

Relacyjne bazy danych

Wykład I. Wprowadzenie do baz danych

Co to są relacyjne bazy danych?

1. Mapowanie diagramu klas na model relacyjny.

SIECI KOMPUTEROWE I BAZY DANYCH

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

Projektowanie internetowej bazy danych część 1

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

RELACYJNE BAZY DANYCH

Tworzenie projektu bazy danych z kreatorem odnośników - Filmoteka. Projekt tabel dla bazy Filmoteka

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

Agnieszka Ptaszek Michał Chojecki

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Relacyjne bazy danych

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Przykłady normalizacji

Krzysztof Kluza proste ćwiczenia z baz danych

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

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Pojęcie systemu baz danych

Język SQL, zajęcia nr 1

Bazy danych. Zasady konstrukcji baz danych

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

ECDL/ICDL Zaawansowane użytkowanie baz danych Moduł A3 Sylabus, wersja 2.0

SIECI KOMPUTEROWE I BAZY DANYCH

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

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

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

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

Relacyjny model baz danych, model związków encji, normalizacje

T A B E L E i K W E R E N D Y

Sprawdzone Niepotwierdzone

Projektowanie relacyjnych baz danych

Normalizacja baz danych

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

2. Tabele w bazach danych

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

1 Wstęp do modelu relacyjnego

Podstawowe informacje o projekcie bazy danych

Relacyjne bazy danych. Podstawy SQL

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

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

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

2017/2018 WGGiOS AGH. LibreOffice Base

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Bazy danych podstawy teoretyczne

Microsoft Access 2003 tworzenie i praktyczne wykorzystanie baz danych

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

1 Przygotował: mgr inż. Maciej Lasota

PRZEWODNIK PO PRZEDMIOCIE

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Wykład 5. Cel wykładu. Korespondencja seryjna. WyŜsza Szkoła MenedŜerska w Legnicy. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem.

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Posługiwanie się tabelami

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Technologia informacyjna

Wprowadzenie do baz danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

RELACYJNE BAZY DANYCH

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

BAZY DANYCH. Informatyka i Technologia Informacyjna Suwałki

Tłumaczenie: Katarzyna Żarnowska (wstęp, rozdz. 1 6, 8, 9), Radosław Meryk (rozdz. 7, 13 15, dodatki), Ireneusz Jakóbik (rozdz.

Wyzwalacze. Bazy danych 201

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

Transkrypt:

Relacyjne bazy danych Grzegorz Kowalski

Relacyjny model baz danych jeden z modeli logicznych baz danych początki w roku 1969 dr Edgar F. Codd (IBM) nazwa pochodzi od pojęcia relacja stanowiącego element teorii mnogości znajomość podstaw matematycznych nie jest konieczna do zarządzania słuŝą tzw. SZRBD - systemy zarządzania relacyjnymi bazami danych

Systemy zarządzania relacyjnymi bazami danych SZRBD architektura klient-serwer m. in. Oracle (Oracle Corp.), SQL Server (Microsoft), MySQL

Anatomia relacyjnych baz danych tabele pola rekordy klucze perspektywy relacje: jeden-do-jednego jeden-do-wielu wiele-do-wielu

Anatomia RBD tabele, pola, rekordy Klienci CustomerlD FirstName LastName StreetAdress City State ZipCode 1010 Michael Davolio 672 Lamont Ave Houston TX 77201 1011 Margaret Peacock 667 Red River Road Austin TX 78710 1012 Estella Pundt 2500 Rosales Lane Dallas TX 75260 1013 Mark Rosales 323 Advocate Lane El Paso TX 79915 1014 Consuelo Maynez 3445 Cheyenne Road El Paso TX 79915 REKORDY 1015 Ryan Ehrlich 455 West Palm Ave San Antonio TX 78284 POLA

Anatomia RBD - pola najmniejsza struktura bazy danych dane mogą być odczytywane i zapisywane jakość informacji zaleŝy od ilości czasu poświęconego na wprowadzenie integralności strukturalnej i integralności danych pole powinno zawierać tylko jedną wartość nazwa pola adekwatna do zawartości

Anatomia RBD - rekordy CustomerlD FirstName LastName StreetAdress City State ZipCode 1010 Michael Davolio 672 Lamont Ave Houston TX 77201 1011 Margaret Peacock 667 Red River Road Austin TX 78710 kaŝdy rekord stanowi pełny zbiór pól 1012 Estella Pundt 2500 Rosales Lane Dallas TX 75260 przypisanych do danej tabeli 1013 Mark Rosales 323 Advocate Lane El Paso TX 79915 1014 Consuelo Maynez 3445 Cheyenne Road El Paso TX 79915 1015 Ryan Ehrlich 455 West Palm Ave San Antonio TX 78284

Anatomia RBD - klucze pola specjalne pełniące szczególne funkcje w tabelach tabele mogą zawierać kilka rodzajów kluczy dwa najwaŝniejsze rodzaje kluczy: klucz główny klucz obcy

Anatomia RBD klucze główne Klucz główny pole lub grupa pól jednoznacznie identyfikująca kaŝdy rekord w tabeli wartość klucza identyfikuje konkretny rekord w bazie danych pole klucza (pole kluczowe) identyfikuje tabelę w całej bazie danych wymuszają integralność na poziomie tabel pomagają tworzyć relacje pomiędzy tabelami KaŜda tabela powinna zawierać klucz główny

Anatomia RBD klucze główne CustomerlD FirstName LastName StreetAdress City State ZipCode 1010 Michael Davolio 672 Lamont Ave Houston TX 77201 1011 Margaret Peacock 667 Red River Road Austin TX 78710 1012 Estella Pundt 2500 Rosales Lane Dallas TX 75260 1013 Mark Rosales 323 Advocate Lane El Paso TX 79915 1014 Consuelo Maynez 3445 Cheyenne Road El Paso TX 79915 1015 Ryan Ehrlich 455 West Palm Ave San Antonio TX 78284

Anatomia RBD klucze obce Klucz obcy kopia klucza głównego w innej tabeli umoŝliwiają wprowadzanie relacji między tabelami wymuszają integralność na poziomie relacji

Anatomia RBD klucze obce KLUCZ GŁÓWNY Agenci AgentID AgentFirstName AgentLastName DateofHire AgentHomePhone «otherfields» 1001 Stella Rosales 1994-07-11 299-5764 1002 Steve Pundt 1994-05-01 515-5762 1003 Randi Nathanson 1994-09-11 998-3882 Artyści KLUCZ OBCY KLUCZ GŁÓWNY EntertainerlD AgentID EntertainerName EntertainerPhone «otherfields» 98100 1002 The Mike Hernandez Trio 959-8837 98101 1002 Jazz Times 555-9928 98102 1003 The Country Squires 709-3542

Anatomia RBD - perspektywy Perspektywa wirtualna tabela składająca się z kolumn jednej lub większej ilości tabel

Anatomia RBD - perspektywy 555-2501 Levelling James 10003 555-2496 Fuller Ann 10002 555-2671 Callahan Sally 10001 «otherfielcls» CustPhone CustLastName CustFirstName CustomerlD Klienci 13:00 1999-07-15 1999-07-10 52233 3 13:00 1999-07-05 1999-07-01 54223 2 13:00 1199-07-04 1999-07-01 52113 1 «other fields» StartTime End Date StartDate CustomerlD EngagementNumber AngaŜe 1999-07-15 1999-07-10 Callahan Sally 3 1999-07-05 1999-07-01 Fuller Thomas 2 1999-07-04 1999-07-01 Rosales Mark 1 EndDate StartDate CustLastName CustFirstName EngagementNumber Klienci_AngaŜe (perspektywa)

Anatomia RBD - relacje Relacje powiązanie rekordów jednej tabeli z rekordami innej tabeli jeden-do-jednego jeden-do-wielu wiele-do-wielu

Anatomia RBD relacje jeden-do-jednego Pojedynczemu rekordowi z jednej tabeli odpowiada tylko jeden rekord z drugiej tabeli oraz pojedynczemu rekordowi z drugiej tabeli odpowiada tylko jeden rekord z pierwszej tabeli. W tego typu relacjach istnieje tabela główna i tabela podrzędna.

Anatomia RBD relacje jeden-do-jednego Agenci AgentID AgentFirstName AgentLastName DateofHire AgentHomePhone «otherfields» 1001 Stella Rosales 1994-07-11 299-5764 1002 Steve Pundt 1994-05-01 515-5762 1003 Randi Nathanson 1994-09-11 998-3882 Odszkodowania AgentID HourlyRate Commission Rate «other fields» 1001 21.50 4.5% 1002 25.75 3.0% 1003 20.00 4.5%

Anatomia RBD relacje jeden-do-wielu Pojedynczemu rekordowi z jednej tabeli odpowiada wiele rekordów z drugiej tabeli oraz pojedynczemu rekordowi z drugiej tabeli odpowiada tylko jeden rekord z pierwszej tabeli.

Anatomia RBD relacje jeden-do-wielu Artyści ArtistID ArtistFirstName ArtistLastName GroupName «innepola» 67001 Mike Hernandez The Mike Hernandez Trio 67002 Zachary Ehrlich Jazz Times 67003 Gerry Greer The Country Squires AngaŜe EngagementID ArtistID CustomerlD StartDate EndDate «innepola» 1001 67003 701 1998-09-10 1998-09-12 1002 67001 625 1998-09-11 1998-09-12 1003 67001 712 1998-09-15 1998-09-19

Anatomia RBD relacje wiele-do-wielu Pojedynczemu rekordowi z dowolnej tabeli odpowiada wiele rekordów z tabeli komplementarnej. wymagane jest ustanowienie dodatkowej tabeli łączącej tabela łącząca powinna zawierać klucze główne obydwu tabel

Anatomia RBD relacje wiele-do-wielu Artyści ArtistlD ArtistFirstName ArtistLastName GroupName «innepola» 67001 Mike Hernandez The Mike Hernandez Trio 67002 Zachary Ehrlich Jazz Times 67003 Gerry Greer The Country Squires Artyści_Nagrania (tabela łącząca) ArtistlD RecordingID 67001 1102 67001 1105 67002 1102 67002 1106 67003 1104 Nagrania RecordingID Title YearReleased «inne pola» 1102 Jazz 'Round Midnight 1995 1103 Until I Return 1998 1104 Love Me, Donl Leave Me 1995 1105 Midnight Breeze 1996 1106 No Puede Ver 1994

Relacje określanie typu uczestnictwa druga kreska uczestnictwo obowiązkowe kółko uczestnictwo opcjonalne

Tworzenie reguł usuwania usunięcie rekordu z tabeli Komisje spowoduje usunięcie rekordów z tabeli Komisje_Członkowie

Poprawna struktura bazy danych Niepoprawny projekt bazy danych: stwarza problemy w implementacji zapytań SQL moŝe okazać się, Ŝe BD będzie bezuŝyteczna Jakość bazy danych zaleŝy od ilości czasu poświęconego na etapie projektowania.

Poprawna struktura bazy danych Korygowanie pól Korygowanie tabel Kontrola poprawności relacji

Korygowanie pól nazwa pola powinna odzwierciedlać jego zawartość unikatowe nazwy kaŝdego pola w BD Czy pole nie identyfikuje więcej niŝ jedną cechę? Zastanowić się czy nie podzielić pola na mniejsze pola. bezpiecznie jest uŝywać nazw pól zaczynających się od litery i mogą zawierać jedynie litery, cyfry i podkreślenie

Struktura pól bazy danych pole powinno odzwierciedlać cechę któremu poświęcona jest tabela macierzysta Czy pole rzeczywiście powinno znajdować się w danej tabeli? pole powinno zawierać pojedynczą wartość wartości pól nie powinny być wynikiem operacji matematycznej ani konkatenacji brak pól wyliczonych kaŝde pole moŝe występować w bazie tylko jeden raz

Tabela - zbędne pola Personel StaffID Staff FirstName StaffLastName StaffStreetAddress StaffCity StaffState «innepola» 98014 James Leverling 722 Moss Bay Blvd. Kirkland WA 98019 Laura Callahan 901 Pine Avenue Portland OR 98020 Albert Buchanan 13920 S.E. 40th Street Bellevue WA 98021 Tim Smith 30301-166th Ave. N.E. Seattle WA 98022 Janet Leverling 722 Moss Bay Blvd. Kirkland WA 98023 Alaina Hallmark Route 2, Box 203 B Woodinville WA Klasy ClassID Class Classroom ID StaffID «inne StaffLastName pola» StaffFirstName «inne pola» 1031 Art History 1231 98014 Leverling James 1030 Art History 1231 98014 Levelling James 2213 Biological Principles 1532 98021 Smith Tim 2005 Chemistry 1515 98019 Callahan Laura 2001 Chemistry 1519 98233 Hallmark Alaina 1006 Drawing 1627 98020 Buchanan Albert 2907 Elementary Algebra 3445 98022 Levelling Janet

Eliminacja pól wieloczęściowych CustomerlD CustomerName StreetAddress PhoneNumber «innepola» 1001 Suzanne Viescas 15127 NE 24th, #383, Redmond, WA 98052 425 555-2686 1002 Will Thompson 122 Spring River Drive, Duvall, Wa 98019 425 555-2681 1003 Gary Hallmark Route 2, Box 203B, Auburn, WA 98002 253 555-2676 1004 Michael Davolio 672 Lamont Ave, Houston, TX 77201 713 555-2491 1005 Kenneth Peacock 4110 Old Redmond Rd., Redmond, WA 98052 425 555-2506 POLA WIELOCZĘŚCIOWE CustomerlD CustFirstName CustLastName CustAddress CustCity CustState CustZipcode 1001 Suzanne Viescas 15127 NE 24th, #383 Redmond WA 98052 1002 Wil Thompson 122 Spring River Drive Duvall WA 98019 1003 Gary Hallmark Route2,Box203B Auburn WA 98002 1004 Michael Davolio 672 Lamont Ave Houston TX 77201 1005 Kenneth Peacock 4110 Old Redmond Rd. Redmond WA 98052

Eliminowanie pól wielowartościowych Piloci PilotJD PilotFirstName PilotLastName HireDate Certifications «innepola» 25100 John Leverling 1994-07-11 727, 737,757, MD80 25101 David Callahan 1994-05-01 737, 747,757 25102 David Smith 1994-09-11 757, MD80, DC9 25103 Kathryn Patterson 1994-07-11 727, 737,747,757 25104 Michael Hernandez 1994-05-01 737.757.DC10 25105 Kendra Bonnicksen 1994-09-11 757, MD80, DC9

Eliminowanie pól wielowartościowych Piloci PilotID PilotFirstName PilotLastName HireDate «inne pola» 25100 John Leverling 1994-07-11 25101 David Callahan 1994-05-01 25102 David Smith 1994-09-11 25103 Kathryn Patterson 1994-07-11 25104 Michael Hernandez 1994-05-01 25105 Kendra Bonnicksen 1994-09-11 Piloci_Certyfikaty (tabela łącząca) PilotID CertificationID 25100 8102 25100 8103 25100 8105 25100 8106 25101 8103 25101 8104 25101 8105 Certyfikaty CertificationID TypeofAircraft «innepola» 8102 Boeing 727 8103 Boeing 737 8104 Boeing 747 8105 Boeing 757 8106 McDonnell Douglas MD80

Korygowanie tabel - nazwa unikatowa i zrozumiała nazwa tabeli nazwa precyzyjnie i jednoznacznie opisuje jej zawartość nie naleŝy uŝywać skrótów tabela powinna opisywać tylko jeden temat nazwy tabel powinny być w liczbie mnogiej (łatwiej odróŝnić wtedy je od nazw pól)

Korygowanie tabel kontrola poprawności struktur tabela powinna opisywać tylko jeden temat kaŝda tabela powinna mieć klucz główny tabele nie powinny zawierać pól wielowartościowych ani wieloczęściowych eliminacja pól wyliczonych brak zbędnych duplikatów pól

Korygowanie tabel usuwanie zbędnych duplikatów pól Pracownicy EmployeelD EmpFirstName EmpLastName Committeel Committee2 Committee3 «inne pola» 7004 Peacock Samuel Steering 7005 Kennedy John Y2K Conformance Safety 7006 Thompson Sarah Safety Y2K Conformance Steering 7007 Callahan David 7008 Buchanan Andrea Y2K Conformance 7009 Smith David Steering Safety Y2K Conformance 7010 Patterson Neil 7011 Viescas Michael Y2K Conformance Steering Safety Pracownicy Członkowie_Komitety Employee ID EmpFirstName EmpLastName EmpCity «inne pola» EmployeelD Committee 7004 Peacock Samuel Chico 7005 Kennedy John Portland 7006 Thompson Sarah Lubbock 7007 Callahan David Salem 7008 Buchanan Andrea Medford 7009 Smith David Fremont 7010 Patterson Neil San Diego 7011 Viescas Michael Redmond 7004 Steering 7005 Y2K Conformance 7005 Safety 7006 Safety 7006 Y2K Conformance 7006 Steering 7008 Y2K Conformance 7009 Steering

Korygowanie tabel usuwanie zbędnych duplikatów pól Pracownicy Employee ID EmpFirstName EmpLastName EmpCity «inne pola» 7004 Peacock Samuel Chico 7005 Kennedy John Portland 7006 Thompson Sarah Lubbock 7007 Callahan David Salem 7008 Buchanan Andrea Medford 7009 Smith David Fremont 7010 Patterson Neil San Diego 7011 Viescas Michael Redmond Członkowie_Komitety Komitety EmployeelD CommitteelD CommitteelD CommitteeName MeetingRoom MeetingDay 7004 103 7005 104 7005 102 7006 102 7006 104 7006 103 7008 104 7009 103 100 Budget 11-C Tuesday 101 Christmas 9-F Monday 102 Safety 12-B Monday 103 Steering 12-D Tuesday 104 Y2K Compliance Main-South Wednesday

Korygowanie tabel klucze kaŝda tabela powinna zawierać klucz główny klucz główny powinien jednoznacznie identyfikować rekord w tabeli klucze główne wykorzystywane są w tworzeniu relacji

Korygowanie tabel klucze Pracownicy EmployeeID EmpFirstName EmpLastName EmpCity EmpState EmpZip «inne pola» 98001 Peacock Samuel Chico CA 95926 98002 Kennedy John Portland OR 97208 98003 Thompson Michael Redmond WA 98052 98004 Callahan David Salem OR 98005 Buchanan Andrea Medford OR 97501 98006 Smith Michael Fremont CA 94538 98007 Peacock Neil San Diego CA 92199 98008 Kennedy John Redmond WA 98052