Wprowadzenie do baz danych

Podobne dokumenty
Bazy danych TERMINOLOGIA

Bazy danych - wykład wstępny

Baza danych. Baza danych to:

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

WPROWADZENIE DO BAZ DANYCH

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Model relacyjny bazy danych

OPRACOWANIE: SŁAWOMIR APANOWICZ

Technologia informacyjna

Wprowadzenie do baz danych

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

Krzysztof Kadowski. PL-E3579, PL-EA0312,

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

Co to są relacyjne bazy danych?

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

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Posługiwanie się tabelami

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Relacyjne bazy danych

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

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

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

Podstawowe zagadnienia z zakresu baz danych

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

Technologie baz danych

Zapytania do bazy danych

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

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

INTERNETOWY KURS PODSTAW IT

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

Wykład 2. Relacyjny model danych

Relacyjne bazy danych. Podstawy SQL

2. Tabele w bazach danych

PODSTAWOWE POJĘCIA BAZ DANYCH

Tworzenie bazy danych na przykładzie Access

Baza danych. Modele danych

Podstawowe informacje o bazach danych. Technologie Informacyjne

Przykład, który rozpatrujemy to układ Lekarz- Pacjent. Pierwszą czynnością jaką trzeba wykonać jest odpowiedź na kilka pytań

Relacyjne bazy danych. Podstawy SQL

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

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

1. Mapowanie diagramu klas na model relacyjny.

Technologia informacyjna

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Przykłady normalizacji

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Systemy GIS Tworzenie zapytań w bazach danych

Program nauczania. Systemy baz danych. technik informatyk

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

Technologia Informacyjna

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Pojęcie systemu informacyjnego i informatycznego

1. Zarządzanie informacją w programie Access

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

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

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

Język SQL, zajęcia nr 1

Symfonia Produkcja. Kreator raportów. Wersja 2013

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

Wstęp do relacyjnych baz danych. Jan Bartoszek

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

Wykład I. Wprowadzenie do baz danych

Laboratorium nr 5. Bazy danych OpenOffice Base.

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

WPROWADZENIE DO BAZ DANYCH

Technologie baz danych

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

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

Krzysztof Kluza proste ćwiczenia z baz danych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Relacyjne bazy danych

PTI S1 Tabele. Tabele. Tabele

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

PRZEWODNIK PO PRZEDMIOCIE

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

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

BAZY DANYCH Podstawowe pojęcia

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

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

Wprowadzenie do języka SQL

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Podstawowe zapytania SELECT (na jednej tabeli)

Tworzenie bazy danych w środowisku OpenOffice.org Base tabela, formularz, kwerenda, raport

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

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

Transkrypt:

Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych danych, oszczędność miejsca przechowywania oraz łatwy dostęp do baz typu klient-serwer. W przeszłości projektowanie baz danych było zadaniem bardzo trudnym, przeznaczonym głównie dla specjalistów pracujących na wydajnych dużych komputerach zwanych mainframe. Ogromna popularność, łatwy dostęp do komputerów osobistych i do oprogramowania bazodanowego spowodowały, że wiele osób nie tylko korzysta na co dzień z baz danych, ale też próbuje je samodzielnie tworzyć. Ogólnie projektowanie bazy można podzielić na trzy etapy: 1. Zaprojektowanie logiczne (w sensie logicznym), czyli określenie struktury przyszłej bazy. 2. Implementacja 1 projektu logicznego, czyli przeniesienie projektu logicznego do konkretnego pakietu oprogramowania. 3. Stworzenie specjalnej aplikacji, która pozwoli użytkownikowi na komunikację z bazą danych w tym etapie można określić, jakie czynności może i powinien wykonywać użytkownik, np. wprowadzanie nowych danych, edycja danych już wprowadzonych, drukowanie informacji. Model relacyjnej bazy danych jest obecnie najbardziej popularnym modelem logicznym opisującym bazy danych. Często nawet nie zdajemy sobie sprawy, w jakim stopniu jest on obecny w naszym życiu od zwykłych zakupów w supermarkecie, przez rezerwację biletu lotniczego, wypożyczenie książki w bibliotece, zakup towaru w sklepie internetowym czy uczestnictwo w kursie prowadzonym metodą e-learningu. Najważniejsze założenia tego modelu to: dane są przechowywane w encjach (tabelach). Każda tabela składa się z krotek (rekordów), oraz atrybutów (pól); kolejność rekordów (czyli ich fizyczne miejsce w tabeli) nie ma znaczenia; każdy rekord jest wyróżniany przez jedno pole zawierające unikatową (czyli nie powtórzoną) dla niego wartość. Tabele Tabela (encja w teorii relacyjnej bazy danych) jest podstawową strukturą relacyjnej bazy danych. Składa się z pól i rekordów. Jest poświecona pewnemu tematowi: może to być obiekt (np. uczeń w szkole, pacjent w przychodzi, pracownik w firmie) lub zdarzenie (np. wypożyczenie książek w bibliotece czy wizyta pacjenta w przychodni). 1 Słowa implementacja często używa się w informatyce. Tu będzie ono oznaczało przeniesienie czy zastosowanie projektu logicznego w konkretnym programie.

Przykładowa tabela Rekordy Pola Pola Pole (zwane atrybutem w teorii relacyjnej bazy danych) to najmniejsza struktura w modelu logicznym. Jest wykorzystywane do przechowywania jednostkowych danych (np. w polu Imię są przechowywane dane: Anna, Tomasz, Jakub). Umieszczenie w każdym polu tylko jednej wartości ułatwia potem sortowanie danych i szybkie wyszukiwanie (np. wszystkich osób o imieniu Anna). Rekordy Rekord (zwany krotką w teorii relacyjnej bazy danych) jest składową w tabeli, reprezentującą pełny, pojedynczy zestaw danych (np. dane jednego ucznia Marcina Kowalskiego). Każdy rekord jest jednoznacznie identyfikowany (w zakresie całej bazy) przez unikatową dla niego wartość pola nazwanego kluczem głównym. W podanej przykładowej tabeli tym kluczem jest pole Nr_legitymacji i wartość 253 jednoznacznie identyfikuje Marcina Kowalskiego. Klucze Każda tabela zawiera wyróżnione pole, które jest nazwane jej kluczem głównym zawartość tego pola ma jednoznacznie identyfikować każdy z rekordów. W przedstawionym wyżej przykładzie takim polem jest Nr_legitymacji. Jeśli tabele są ze sobą powiązane, można między nimi wprowadzić relację, umieszczając kopię klucza podstawowego jednej z tabel w drugiej tabeli. Nosi on wtedy nazwę klucza obcego, gdyż logicznie tabela ta ma już swój klucz, więc ten drugi będzie traktowany jako obcy. Klucz główny Klucz główny Tabela KLASY ID_klasy Profil A B Językowa Klucz obcy

C D E Biologiczno-Chemiczna Prawnicza Relacje Powiązanie między parą tabel nosi nazwę relacji. Każdej relacji można przypisać konkretny typ: jeden-do-jednego, jeden-do-wielu, wiele-do-wielu. Relacja jeden-do-jednego Taki typ powiązania oznacza, że pojedynczemu rekordowi z pierwszej tabeli jest przyporządkowany najwyżej jeden rekord z drugiej tabeli i na odwrót. Właściwe powiązanie informacji pomiędzy tymi tabelami zapewnia wspólne pole kluczowe Nr_legitymacji. Na przykład wartość równa 250 odpowiada następującym danym: Anna Kowalska z klasy A, która mieszka w Warszawie, na ulicy Piłsudskiego 26/89. Taki typ relacji symbolicznie można oznaczyć 1 1. Tabela ADRESY Nr_legitymacji Kod Miasto Ulica 250 03-300 Warszawa ul.piłsudskiego 26/89 251 03-300 Warszawa ul.etiudy 4/56 252 03-406 Piaseczno ul.polna 123 253 03-310 Warszawa ul. Racławicka 4/5 254 03-312 Warszawa ul.hynka 77/3 255 03-430 Wesoła ul.postępu 6 256 03-306 Warszawa ul.rzymowskiego 7/10 257 03-304 Warszawa ul.woroniczna 59/14 Relacja jeden-do-wielu Taki typ powiązania oznacza, że pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej, gdy pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z pierwszej. Właściwe powiązanie informacji pomiędzy tabelami KLASY i UCZNIOWIE zapewnia wspólne pole kluczowe ID_klasy. Na przykład na podstawie ID_klasy równym A stwierdzamy, że jest to klasa, do której uczęszczają: Anna Kowalska, Tomasz Nowak i Waldemar Nowak. Taki typ relacji symbolicznie oznacza się: 1.

Tabela KLASY ID_klasy A B C D E Profil Językowa Biologiczno-Chemiczna Prawnicza Relacja wiele-do-wielu Taki typ powiązania oznacza, że pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej tabeli i na odwrót. W celu utworzenia takiej relacji dobrze jest zbudować tabelę łączącą, w której należy umieścić kopie kluczy głównych obydwu tabel łączonych. Tabela MATURA jest tabelą łączącą tak, aby miedzy tabelami UCZNIOWIE i PRZEDMIOTY zaistniała relacja wiele-do-wielu.

System zarządzania relacyjną bazą danych (w skrócie SZRBD) to z reguły pakiet programów stosowanych do tworzenia i modyfikowania relacyjnych baz danych. Często jest on też używany do tworzenia aplikacji, z której korzysta użytkownik. Bardzo szybko zaczęła się rozwijać koncepcja takich systemów, w których z centralnie ulokowanej bazy danych może korzystać dowolna liczba użytkowników. Stają się one wtedy systemami typu klient-serwer. Centralny komputer jest nazwany serwerem baz danych, a użytkownicy za pomocą specjalnych aplikacji na swoich komputerach, nazwanych klientami bazy danych, uzyskują dostęp do serwera. Duża popularność relacyjnego modelu bazy danych i jego różnych implementacji wynika z ich następujących zalet: model logiczny został oparty na teoriach matematycznych (m.in. teorii mnogości), co rzutuje na jego stabilność, bezpieczeństwo, przewidywalność i efektywność; integralność danych, czyli możliwość sprawdzania poprawności danych na poziomie pól (niepoprawne dane nie zostaną wprowadzone do pola), na poziomie tabel (nie pojawią się takie same rekordy), na poziomie relacji (sprawdzanie poprawności danych z punktu widzenia całej bazy); łatwy dostęp do danych. Wyszukiwanie informacji Popularnym sposobem do wprowadzania, modyfikowania i odczytywania informacji z bazy danych jest wykorzystanie języka SQL (ang. Structured Query Language). Większość popularnych pakietów oprogramowania udostępnia narzędzia umożliwiające wprowadzanie zapytań zapisanych w tym języku: od prostego trybu ekranowego do pełnego interfejsu graficznego czy wręcz gotowego kreatora, np. w programie Microsoft Access. Proste zapytanie SQL składa się z trzech głównych składników: SELECT do wyboru nazw pól, które pojawią się w zapytaniu; FROM do określania tabel, z których te pola będą pochodziły; WHERE do określania kryteriów wyboru; dodatkowo ORDER BY do sortowania danych według zawartości pola (lub pól). Przykłady prostych zapytań SQL 1. Pobranie z tabeli UCZNIOWIE imion oraz nazwisk wszystkich uczniów: SELECT Imię, Nazwisko FROM UCZNIOWIE 2. Pobranie z tabeli UCZNIOWIE danych tych uczniów, którzy mają na imię Jakub, Filip lub Monika: SELECT * FROM UCZNIOWIE WHERE Imię= Jakub Or Imię= Filip Or Imię= Monika Gdy w miejsce listy pól zastosujemy symbol gwiazdki *, wówczas zostaną wyświetlone wszystkie pola w tym wypadku: Nr_legitymacji, Imię, Nazwisko, ID_klasy. 3. Pobranie z tabeli UCZNIOWIE wszystkich uczniów, których nazwiska zaczynają się na literę K: SELECT * FROM UCZNIOWIE WHERE Nazwisko LIKE K*

4. Pobranie danych pierwszych trzech uczniów z tabeli UCZNIOWIE: SELECT * FROM UCZNIOWIE LIMIT 3 5. Pobranie danych z dwóch tabel UCZNIOWIE i ADRESY połączonych relacją: SELECT UCZNIOWIE.Nazwisko, UCZNIOWIE.Imię, ADRESY.Miasto FROM UCZNIOWIE, ADRESY WHERE UCZNIOWIE.Nr_legitymacji = ADRESY.Nr_legitymacji Jeśli wymienione pola w sekcji SELECT będą pochodziły z różnych tabel, to nazwa pola musi być poprzedzona nazwą tabeli, z której ono pochodzi w tym wypadku UCZNIOWIE.Nazwisko, UCZNIOWIE.Imię, ADRESY.Miasto. Złączenie tabel zostało zasygnalizowane warunkiem WHERE wraz z nazwą łączącego pola Nr_legitymacji.