Podstawowe informacje o bazach danych. Technologie Informacyjne



Podobne dokumenty
Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych

Projektowanie systemów baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

Wykład I. Wprowadzenie do baz danych

Bazy danych i usługi sieciowe

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

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

Relacyjne Systemy Baz Danych

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

Bazy danych. Dr inż. Paweł Kasprowski

Język SQL, zajęcia nr 1

010 BAZY DANYCH. Prof. dr hab. Marek Wisła

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

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Bazy danych - wykład wstępny

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

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

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

Baza danych. Modele danych

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Relacyjne bazy danych

Autor: Joanna Karwowska

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Wprowadzenie do baz danych

Alicja Marszałek Różne rodzaje baz danych

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

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

Technologia informacyjna

Relacyjne bazy danych. Podstawy SQL

WPROWADZENIE DO BAZ DANYCH

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Paweł Rajba

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

Administracja bazami danych. dr inż. Grzegorz Michalski

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

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

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

KURS ACCESS 2003 Wiadomości wstępne

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Bazy danych. Informatyczne systemy zarządzania

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy danych. Polecenia SQL

Relacyjne bazy danych. Podstawy SQL

Przestrzenne bazy danych Podstawy języka SQL

Wprowadzenie do Hurtowni Danych

Bazy danych 2. Wykład 1

Systemy GIS Tworzenie zapytań w bazach danych

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

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

Adam Cankudis IFP UAM

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Wprowadzenie do baz danych

Wykład 8. SQL praca z tabelami 5

Pojęcie bazy danych. Funkcje i możliwości.

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Co to jest Baza Danych

Wykład 5. SQL praca z tabelami 2

RELACYJNE BAZY DANYCH

Komunikacja z bazą danych psql

Język SQL podstawy zapytań

Baza danych. Baza danych to:

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

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Instalacja MySQL.

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

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

Wykład 05 Bazy danych

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

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Wykład 2. Relacyjny model danych

Technologia informacyjna

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Struktura drzewa w MySQL. Michał Tyszczenko

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

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

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Wykład 5: PHP: praca z bazą danych MySQL

Programowanie w Ruby

Wstęp do relacyjnych baz danych. Jan Bartoszek

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Database Connectivity

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.


Oracle11g: Wprowadzenie do SQL

Jerzy Nawrocki, Wprowadzenie do informatyki

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

Bazy danych Ćwiczenia projektowe

Bazy danych. Wprowadzenie. SKiBD

Dr Michał Tanaś(

Transkrypt:

Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2012/2013

Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią Systemy bankowe, ubezpieczeniowe Systemy rezerwacji miejsc Systemy obsługi administracji (ZUS, NFZ) Powszechny Elektroniczny System Ewidencji Ludności PESEL(od 1979) 2 dr inż. Michał Michna PG, WEiA, 2012/13

Przykłady systemów baz danych Systemy wspomagania projektowania CAD/CAM Magazyny (hurtownie) danych Systemy wspomagania inżynierii oprogramowania CASE Systemy z bazami wiedzy Systemy medyczne Systemy kartograficzne GIS 3 dr inż. Michał Michna http://www.ncddc.noaa.gov/technology/gis/view PG, WEiA, 2012/13

CAP CAD CAE Systemy wspomagania projektowania CAx STEP STandard for the Exchange of Product data (1995) CAM STEP CAQ ISO 10303 Określa zasady modelowania produktu i procesów jego wytwarzania za pomocą technik CAx PPC 4 dr inż. Michał Michna PG, WEiA, 2012/13

Systemy wspomagania projektowania CAD/CAM 5 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne Bazy sekwencyjne flat files płaski plik pliki nie są ze sobą połączone dane przechowywane w sposób liniowy znalezienie danych wymaga przeglądania pliku od początu nośnik danych taśma magnetyczna Złożone typy danych 6 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne BDAM - Basic Direct Access Method Metoda ta, w przeciwieństwie do plików sekwencyjnych, wykorzystuje algorytm mieszający (ang. hashing algorithm) w celu określenia adresu konkretnego rekordu na dysku Złożone typy danych 7 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne Złożone typy danych ISAM (Indexed Sequential Access Method) Działanie tej metody opiera się na istnieniu pliku z indeksami. W najprostszej postaci indeks składa się z dwóch pól. pierwsze pole jest symbolicznym kluczem, natomiast drugie pole zawiera adres dyskowy powiązanego z tym kluczem rekordu 8 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne wady dostęp do danych przez kilka aplikacji duplikowanie informacji zmiana struktury plików wymaga aktualizacji wszystkich programów brak mechanizmów zabezpieczających brak jednolitego formatu przechowywania danych Złożone typy danych 9 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne 1960 IBM wprowadza prototyp komputerowej IMS (Information Management System System Zarządzania Informacją) Złożone typy danych 10 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne zalety łatwość zastosowania modelu hierarchicznego, bardzo duża szybkość działania, są to systemy, które okazały się na tyle dobre, że są nadal wykorzystywane. Złożone typy danych 11 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne wady ścisłe reguły dotyczące relacji, wstawianie i kasowanie danych może okazać się bardzo skomplikowane, dostęp do niższych warstw jest możliwy tylko poprzez warstwy nadrzędne, trudności w modelowaniu relacji typu wiele-do-wielu Złożone typy danych 12 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne Złożone typy danych CODASYL (Conference On Data Systems Languages) sieciowy system zarządzania bazą danych język kontroli urządzeń DMCL (Device Media Control Language) język manipulacji danymi DML (Data Manipulation Language) języka definiowania danych DDL (Data Definition Language) Struktura danych tworzy graf, czyli sieć 13 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne relacyjny model danych 1970 dr Edgar Ted Codd (IBM) dane przechowywane w tabelach - relacje język SQL w celu ułatwienia dostępu do danych i ich modyfikacji niezależność danych klucz główny prostota Złożone typy danych 14 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne Złożone typy danych Manifesty baz danych dwanaście reguł prawdziwego systemu relacyjnego 1989 The Object-Oriented Database System Manifesto Obiektowa baza danych jest zbiorem obiektów, których zachowanie się i stan oraz związki są określone zgodnie z obiektowym modelem danych 15 dr inż. Michał Michna PG, WEiA, 2012/13

Typy systemów baz danych 1960 1970 1980 1990 Proste typy danych Kartotekowe Hierarchiczne Sieciowe Relacyjne Obiektowe Relacyjnoobiektowe Strumieniowe Temporalne Złożone typy danych bazy relacyjno obiektowe relacyjna baza danych zapisanych w strukturach obiektowych, strumieniowe bazy danych dane są przedstawione w postaci zbioru strumieni danych, temporalne bazy danych odmiana bazy relacyjnej, w której każdy rekord posiada stempel czasowy, określający czas w jakim wartość jest prawdziwa. 16 dr inż. Michał Michna PG, WEiA, 2012/13

Bazy danych Zbiór danych opisujący pewien wybrany fragment rzeczywistości odzwierciedlają rzeczywistość w sposób z nią zgodny (prawidłowy) są zorganizowane w specyficzny sposób, zgodnie z tzw. modelem danych Baza danych jest zarządzana przez tzw. system zarządzania bazą danych Z systemem bazy danych współpracują programy przetwarzające dane 17 dr inż. Michał Michna PG, WEiA, 2012/13

Systemy baz danych (SBD) System informatyczny wyspecjalizowany w kierunku wprowadzania przechowywania przetwarzania udostępniania Baza danych zbiór informacji zapisanych w ściśle określony sposób (DataBase) System zarządzania bazą danych program do przetwarzania, zarządzania bazą danych (DataBase Management System) 18 dr inż. Michał Michna PG, WEiA, 2012/13

Cechy funkcjonalne SBD gwarantowanie trwałości i spójności danych w bazie danych zapewnienie współbieżnego dostępu do danych autoryzacja dostępu do bazy danych efektywny dostęp do danych w środowisku scentralizowanym i rozproszonym 19 dr inż. Michał Michna PG, WEiA, 2012/13

Architektura baz danych Architektura klient-serwer dwuwarstwowa Serwer bazy danych wykonujący np. wyrażenia SQL Klient wysyłających żądania do serwera Architektura trzywarstwowa interfejs użytkownika logika przetwarzania baza danych 20 dr inż. Michał Michna PG, WEiA, 2012/13 20

Architektura baz danych zapytanie Internet odpowiedź Klient Przeglądarka WWW Serwer WWW Apache odpowiedź podaj dane Skrypt PHP wykonaj Dokument HTML Serwer baz danych MySQL 21 dr inż. Michał Michna PG, WEiA, 2012/13 21

Relacyjne bazy danych Podstawy, model danych, przykłady 22 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych Relacje - podstawowa struktura danych przedstawiana w postaci tabeli atrybut (kolumna) PESEL Imię Nazwisko Wykształcenie krotka rekord (wiersz) 72030400264 Adam Kowalski Podstawowe 65083104569 Marcin Kowalski Średnie 71123108664 Marcin Dąbrowski Wyższe 85041406333 Anna Kowalska Podstawowe 46111006545 Anna Dąbrowska Wyższe pole wartość 23 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - wiersze Wiersze są unikalne Każdy wiersz posiada te same atrybuty Nie ma znaczenia kolejność wierszy Wiersze są dynamiczne mogą być dopisywane, usuwane, modyfikowane Wiersze powinny być identyfikowane przez pola kluczowe (klucz podstawowy) 72030400264 Adam Kowalski P 24 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - kolumy Kolumny są unikalne PESEL 72030400264 65083104569 71123108664 85041406333 46111006545 Każdej kolumnie przypisany jest typ danych (liczba, data, godzina, ciąg znaków, znak) Nie ma znaczenia kolejność kolumn Wartości pól są atomowe Każda kolumna ma swoją nazwę Rzadko dodaje się lub kasuje kolumny 25 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych klucz podstawowy Klucze wykorzystuje się do tworzenia powiązań (relacji) pomiędzy kilkoma oddzielnymi tabelami klucz podstawowy atrybut lub zbiór atrybutów, którego wartość jednoznacznie identyfikuje krotkę relacji Z definicji, wartość atrybutu, który zdefiniowano jako klucz podstawowy jest unikalna w obrębie całej relacji i jest niepusta Przykłady: NIP, PESEL, nr dowodu, nr paszportu 26 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - klucze KlientID Imię Nazwisko Adres 101 Joanna Kowalska Wierzbowa 25 103 Anna Kowalska Narcyzowa 1 104 Anna Dąbrowska Fiołkowa 11 Klucz podstawowy Klienci Zamowienia ZamowienieID KlientID Wartość Data 302 101 255,2 2006-01-12 303 103 1651,1 2006-01-12 304 101 12,25 2006-01-14 305 101 1321,1 2006-01-14 27 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych klucz obcy Klucze wykorzystuje się do tworzenia powiązań (relacji) pomiędzy kilkoma oddzielnymi tabelami klucz obcy jest atrybutem lub zbiorem atrybutów, który wskazuje na klucz podstawowy w innej relacji służy do reprezentowania powiązań między danymi (łączenia relacji) 28 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - klucze Klienci KlientID Imię Nazwisko Adres 101 Joanna Kowalska Wierzbowa 25 103 Anna Kowalska Narcyzowa 1 104 Anna Dąbrowska Fiołkowa 11 Klucz podstawowy Klucz obcy Zamowienia ZamowienieID KlientID Wartość Data 302 101 255,2 2006-01-12 303 103 1651,1 2006-01-12 304 101 12,25 2006-01-14 305 101 1321,1 2006-01-14 29 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - relacje Jeden-do-Jednego każdy wiersz w tabeli A może mieć tylko jeden dopasowany wiersz z tabeli B, i tak samo każdy wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A Klienci KlientID Imię Nazwisko 101 Joanna Kowalska 103 Anna Kowalska 104 Anna Dąbrowska Adresy KlientID Ulica Miasto 101 Wierzbowa 25 Gdynia 103 Narcyzowa 1 Sopot 104 Fiołkowa 11 Gdynia 30 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - relacje Jeden-do-Wielu wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, lecz wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A Klienci KlientID Imię Nazwisko Adres 101 Joanna Kowalska Wierzbowa 25 Zamowienia ZamowienieID KlientID Wartosc Data 302 101 255,2 2006-01-12 304 101 12,25 2006-01-14 305 101 1321,1 2006-01-14 31 dr inż. Michał Michna PG, WEiA, 2012/13

Relacyjne bazy danych - relacje Wiele-do-Wielu każdy wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, i tak samo każdy wiersz w tabeli B może mieć wiele dopasowanych wierszy z tabeli A Zamowienia ZamID KlientID 302 101 304 101 305 101 OpisZamowienia ZamID ProduktID 302 202 302 204 302 205 305 204 305 205 304 204 Produkty ProuktID Nazwa Cena jedn 202 Chleb 1,60 204 Mleko 1,80 205 Masło 3,50 32 dr inż. Michał Michna PG, WEiA, 2012/13

Język zapytań SQL Podstawy, przykłady zastosowań 33 dr inż. Michał Michna PG, WEiA, 2012/13

SQL Structured Query Language Wykorzystywany w bazach: IBM (DB2), Oracle, MySQL, Inter-Base, Paradox, dbase, Caché, Firebird, First SQL, HSQL, Ingres, Informix, MaxDB, Microsoft Access, Microsoft Jet, Microsoft SQL Server, Mimer SQL, msql, OpenLink Virtuoso, PostgreSQL, SQL/DS, SQLite, Sybase Składnia SQL: DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language) 34 dr inż. Michał Michna PG, WEiA, 2012/13

DDL podstawowe komendy CREATE (DATABASE, TABLE, INDEX...) utworzenie ALTER (DATABASE, TABLE...) zmiana struktury DROP (DATABASE, TABLE, INDEX...) usunięcie RENAME (DATABASE, TABLE) zmiana nazwy CREATE TABLE klienci ( klientid int NOT NULL AUTO_INCREMENT, imie varchar(50), nazwisko varchar(100), adres varchar(255) PRIMARY KEY (klientid ) ); ALTER TABLE klienci ADD COLUMN oddzial varchar(255); 35 dr inż. Michał Michna PG, WEiA, 2012/13

DML - podstawowe komendy SELECT pobranie danych z tabel UPDATE uaktualnianie danych w tabeli DELETE usunięcie danych w tabeli INSERT dodanie danych do tabeli INSERT INTO klienci (imie, nazwisko, adres) VALUES ('Jan', 'Kowalski', Sporna 1 ); SELECT * FROM zamowienia WHERE wartosc > 200 ORDER BY data DESC; 36 dr inż. Michał Michna PG, WEiA, 2012/13

DCL - podstawowe komendy GRANT przyznanie praw REVOKE -odebranie wszystkich praw do tabeli użytkownikowi DENY. GRANT ALL PRIVILEGES ON EMPLOYEE TO PIOTR WITH GRANT OPTION 37 dr inż. Michał Michna PG, WEiA, 2012/13

Literatura R. Gawron, P. Ostrowski, T. Baniak Microsoft Access - jako narzędzie konstrukcji baz danych http://web.pertus.com.pl/~stanley/access_pigulka/spi s_tresci.htm Bazy danych (materiały dydaktyczne MIMUW na studia informatyczne I stopnia) http://wazniak.mimuw.edu.pl/index.php?title=bazy_d anych 38 dr inż. Michał Michna PG, WEiA, 2012/13