BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR



Podobne dokumenty
PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych - wykład wstępny

Wykład 2. Relacyjny model danych

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

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

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

Bazy danych. Dr inż. Paweł Kasprowski

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

Wprowadzenie do technologii XML

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

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi:

Projektowanie relacyjnych baz danych model związków encji (Entity-Relationship, ER)

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Baza danych. Modele danych

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

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

29. Poprawność składniowa i strukturalna dokumentu XML

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

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

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Bazy danych 2. Wykład 1

Projektowanie systemów baz danych

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

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Systemy GIS Tworzenie zapytań w bazach danych

Wykład 4. SQL praca z tabelami 1

1 Wstęp do modelu relacyjnego

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

Tworzenie aplikacji bazodanowych

XML extensible Markup Language. Paweł Chodkiewicz

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

Wykład 8. SQL praca z tabelami 5

Autor: Joanna Karwowska

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Język SQL, zajęcia nr 1

Bazy danych. Polecenia SQL

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Alicja Marszałek Różne rodzaje baz danych

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Model semistrukturalny

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

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

Wykład :45 BD-1 W_3

2017/2018 WGGiOS AGH. LibreOffice Base

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

Wykład 05 Bazy danych

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

Bazy danych. Andrzej Łachwa, UJ, /14

Dr Michał Tanaś(

Model relacyjny bazy danych

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

Indeksowanie w bazach danych

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

Oracle11g: Wprowadzenie do SQL

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

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Model relacyjny. Wykład II

Plan wykładu BAZY DANYCH II WYKŁAD 2. Bloki. Struktura bloku

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

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Aspekty aktywne baz danych

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

Bazy Danych i Usługi Sieciowe

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

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

Oracle PL/SQL. Paweł Rajba.

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

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

Teoretyczne podstawy informatyki

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

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

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

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

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Podstawowe wykorzystanie Hibernate

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

WPROWADZENIE DO BAZ DANYCH

Wykład 5. SQL praca z tabelami 2

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

RBD Relacyjne Bazy Danych Więzy realcji

Programowanie internetowe

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

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

Relacyjne bazy danych. Podstawy SQL

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

Teoretyczne podstawy informatyki

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

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

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

Bazy danych Ćwiczenia projektowe

Rola języka XML narzędziem

Technologie baz danych

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Transkrypt:

BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR

Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych wraz z ich opisem, zaprojektowany w celu spełnienia potrzeb danej instytucji Definicja funkcjonalna jakie funkcje musi spełniać system zarządzania bazą danych (ang. database management system, DBMS) Bazy danych wykład 1 2

Jakie funkcje realizuje DBMS? Efektywne przechowywanie i wyszukiwanie danych Zapewnienie integralności danych Zapewnienie dostępu wielu użytkowników w tym samym czasie Zapewnienie bezpieczeństwa danych Bazy danych wykład 1 3

Dlaczego bazy danych są ważne? Tradycyjne, ważne zastosowania: zakupy w supermarkecie, obsługa karty kredytowej, rezerwacja biletów, systemy ERP Nowoczesne zastosowania: w środowisku Internetu eksploracja danych (ang. data mining) naukowe i medyczne bazy danych bazy wiedzy, Bazy danych wykład 1 4

Co to jest model danych? 1. Formalna reprezentacja danych Przykłady: w modelu relacyjnym tabele (relacje); w modelu hierachicznym / sieciowym - drzewa / grafy 2. Operacje na danych 3. Więzy integralności (ograniczenia) jakie można narzucić na dane; spójność danych (ang. integrity) Bazy danych wykład 1 5

Relacja matematyczna Przykłady: samochody(nr_rejestracyjny) ma(pesel,zawód) pracownicy(imię, nazwisko, telefon) Formalnie: dowolny podzbiór iloczynu kartezjańskiego zbiorów Relacja ma atrybuty, które przyjmują w jej poszczególnych krotkach określone wartości pochodzące z dziedzin tych atrybutów Bazy danych wykład 1 6

Terminologia modelu relacyjnego Schemat relacji = nazwa relacji i lista jej atrybutów Opcjonalnie: typy danych (dziedziny) atrybutów Przykład: Beers(name, manf) czy Beers(name: string, manf: string) Baza danych = zbiór relacji Schemat bazy danych = zbiór schematów wszystkich relacji występujących w bazie danych Bazy danych wykład 1 7

Przykład Schemat relacji: Beers(name, manf) Konkretna instancja relacji Beers: (Tyskie, ProducentA) krotka (Lech, ProducentB) krotka Bazy danych wykład 1 8

Relacja i tabela atrybuty (nagłówki kolumn) krotki (wiersze) nazwa Winterbrew Bud Lite producent Pete s Anheuser-Busch Nazwa relacji (tabeli) Piwa Bazy danych wykład 1 9

Zalety relacyjnego model danych Prostota uzyskanego modelu Często w zgodzie ze sposobem postrzegania danych przez człowieka Praktyczny powód dla zainteresowania się relacjami: stanowią podstawę teoretyczną języka SQL najpopularniejszego od wielu lat języka do obsługi baz danych Bazy danych wykład 1 10

Przykład Beers(name, manf) Bars(name, addr, license) Drinkers(name, addr, phone) Likes(drinker, beer) Sells(bar, beer, price) Frequents(drinker, bar) Podkreślone są klucze (ang. keys) - takie grupy atrybutów, dla których dwie krotki nie mogą mieć identycznych wartości wszystkich spośród nich Świetny przykład więzów integralności Bazy danych wykład 1 11

Schemat bazy danych w języku SQL SQL jest najbardziej znany i popularny jako język zapytań (instrukcja SELECT), służący wydobywaniu informacji z baz danych SQL uwzględnia również konstrukcje i instrukcje służące tworzeniu i modyfikacji schematu bazy danych (ang. data definition language, DDL) Bazy danych wykład 1 12

SQL: tworzenie i usuwanie tabeli Najprostsza postać instrukcji tworzącej tabelę: CREATE TABLE <nazwa> ( ); Usuwanie tabeli: <lista elementów> DROP TABLE <nazwa>; Bazy danych wykład 1 13

Elementy definicji tabeli Zasadniczy element: określenie kolumny (atrybutu) i jego typu Podstawowe typy danych: INT (INTEGER) REAL (FLOAT) CHAR(n ) = łańcuchy znaków o stałej długości równej n VARCHAR(n ) = łańcuchy znaków o zmiennej długości, równej maksymalnie n Bazy danych wykład 1 14

Przykład: CREATE TABLE CREATE TABLE Sells ( bar CHAR(20), ); beer price VARCHAR(20), REAL Bazy danych wykład 1 15

SQL: stałe poszczególnych typów Liczby całkowite (INT) i rzeczywiste (REAL) zapisuje się jak zwykle Łańcuchy znaków obejmuje się w pojedyncze apostrofy np. Tyskie Pseudowartość NULL Bazy danych wykład 1 16

Deklarowanie kolumn kluczowych Atrybut lub grupa atrybutów mogą być oznaczone jako PRIMARY KEY lub UNIQUE W obydwu przypadkach nakładane są na tabelę następujące więzy integralności: żadne dwie krotki w tabeli nie mogą mieć identycznych wartości wszystkich atrybutów z oznaczonej grupy W przypadku PRIMARY KEY dodatkowo niedopuszczalne jest wystąpienie pseudowartości NULL jako wartości któregoś atrybutu z grupy Bazy danych wykład 1 17

Deklaracja klucza jednokolumnowego Należy umieścić napis PRIMARY KEY lub UNIQUE po określeniu typu danych kolumny Przykład: CREATE TABLE Beers ( name CHAR(20) UNIQUE, manf CHAR(20) ); Bazy danych wykład 1 18

Deklaracja klucza wielokolumnowego Deklaracja klucza może wystąpić jako niezależny element definicji tabeli z użyciem instrukcji CREATE TABLE Ta forma jest szczególnie przydatna, gdy na klucz składa się więcej niż jedna kolumna Ta forma może być również użyta w przypadku klucza jednokolumnowego Bazy danych wykład 1 19

Przykład: klucz wielokolumnowy Nazwa baru (bar) i nazwa piwa (beer) łącznie stanowią klucz w tabeli Sells: CREATE TABLE Sells ( bar CHAR(20), ); beer price VARCHAR(20), REAL, PRIMARY KEY (bar, beer) Bazy danych wykład 1 20

PRIMARY KEY i UNIQUE: różnice 1. W tabeli może być tylko jeden klucz podstawowy, oznaczony jako PRIMARY KEY, natomiast może być wiele kluczy oznaczonych jako UNIQUE. 2. Żadna ze składowych kolumn klucza podstawowego (PRIMARY KEY) nie może przyjmować pseudowartości NULL. Klucze zadeklarowane z użyciem UNIQUE mogą przyjmować pseudowartość NULL, i to dla wielu wierszy w tabeli. Bazy danych wykład 1 21

Dane częściowo ustrukturalizowane Inny model danych, oparty na grafach (drzewach) Zalety: bardziej elastyczna reprezentacja danych wsparcie współdzielenia dokumentów pomiędzy systemami i bazami danych Bazy danych wykład 1 22

Dane częściowo ustrukturalizowane Węzły grafu reprezentują obiekty Etykiety na krawędziach odpowiadają nazwom atrybutów Wartości skalarne (atomowe) znajdują się w liściach (węzłach bez wychodzących z nich krawędzi) Elastyczność uzyskana ze względu na brak (w ogólności) ograniczeń na: etykiety na krawędziach wychodzących z węzła liczbę potomków opatrzonych daną etykietą Bazy danych wykład 1 23

Przykładowy graf danych name Joe s bar servedat addr Maple beer name Bud manf A.B. root manf beer name M lob Węzeł reprezentujący obiekt: bar Joe go year 1995 prize award Gold Węzeł reprezentujący obiekt: piwo Bud Podgraf stanowi wartość atrybutu Bazy danych wykład 1 24

XML XML = Extensible Markup Language Podobnie do HTML, język znacznikowy. Zakłada się, że znaczniki te mają określona semantykę, np. wskazując że pewien napis podaje adres. Idea przewodnia: tworzy się zbiór znaczników dla danej dziedziny (np. danej branży przemysłowej) i tłumaczy się wszelkie dane do postaci odpowiednio oznaczonych dokumentów XML. Bazy danych wykład 1 25

Dokument XML Rozpoczyna się od deklaracji zawartej w <?xml?>. Typowo: <?xml version = 1.0 encoding = utf-8?> Zawiera znacznik-korzeń (ang. root tag), który zawiera zagnieżdżone w sobie wszystkie inne znaczniki Bazy danych wykład 1 26

Znaczniki Zazwyczaj występują w parach otwierający/zamykający: <FOO> </FOO> które łącznie z zawartością wyznaczają element dokumentu dopuszczalny jest pojedynczy znacznik postaci <FOO/>. Znaczniki mogą być dowolnie zagnieżdżane Odróżnia się wielkie i małe litery w nazwach znaczników Bazy danych wykład 1 27

Przykład dokumentu XML <?xml version = 1.0 encoding = utf-8?> <BARS> <BAR><NAME>Joe s Bar</NAME> <BEER><NAME>Bud</NAME> <PRICE>2.50</PRICE></BEER> <BEER><NAME>Miller</NAME> <PRICE>3.00</PRICE></BEER> </BAR> <BAR> </BARS> obiekt zagnieżdżony NAME obiekt zagnieżdżony BEER Bazy danych wykład 1 28

Atrybuty Podobnie jak w przypadku HTMLu, znacznik może być opatrzony parami atrybut=wartość Atrybuty pozwalają również wiązać ze sobą elementy. Bazy danych wykład 1 29

Przykład dokumentu XML z atrybutami <?xml version = 1.0 encoding = utf-8?> <BARS> <BAR name = Joe s Bar > <BEER name = Bud price = 2.50 /> <BEER name = Miller price = 3.00 /> </BAR> <BAR> </BARS> name i price są teraz atrybutami Elementy BEER mają teraz tylko otwierający znacznik i atrybuty Bazy danych wykład 1 30

DTD s (Document Type Definitions) Opis poprawnej składni dokumentu XML Definicje dopuszczalnych konstrukcji: <!DOCTYPE <root tag> [ <!ELEMENT <name>(<components>)>... więcej elementów... ]> Bazy danych wykład 1 31

Przykład DTD <!DOCTYPE BARS [ ]> <!ELEMENT BARS (BAR*)> <!ELEMENT BAR (NAME, BEER+)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT BEER (NAME, PRICE)> <!ELEMENT PRICE (#PCDATA)> Elementy NAME i PRICE zawierają tekst Element BARS zawiera 0 lub więcej zagnieżdżonych elementów BAR Element BAR zawiera 1 element NAME i 1 lub więcej elementów BEER Element BEER zawiera elementy NAME i PRICE Bazy danych wykład 1 32

Atrybuty Otwierający znacznik w dokumencie XML może mieć atrybuty W DTD, <!ATTLIST E... > deklaruje atrybut dla elementu E oraz jego typ danych Bazy danych wykład 1 33

Przykład opisu atrybutów w DTD <!ELEMENT BEER EMPTY> <!ATTLIST name CDATA #REQUIRED, manf CDATA #IMPLIED> element BEER nie ma znacznika zamykającego i zagnieżdzónych elementów Typ danych: łańcuch znaków REQUIRED = musi wystąpić ; IMPLIED = opcjonalny Przykład poprawnej postaci elementu BEER: <BEER name= Bud /> Bazy danych wykład 1 34