PODSTAWY BAZ DANYCH

Podstawy baz danych 01

Baza danych

def.

zbiór wzajemnie powiązanych danych, przechowywanych w pamięci komputerów i wykorzystywanych przez programy użytkowe instytucji lub organizacji wraz z oprogramowaniem umożliwiającym definiowanie, wykorzystywanie i modyfikowanie tych danych.

PWN

Typy baz danych

  • bazy kartotekowe (np. książka kucharska)
  • sieciowe bazy danych (model hirerchiczny, binarny)
  • hirerchiczne bazy danych
  • bazy relacyjne (oparte o algebre relacyjną)
  • bazy obiektowe (przechowuje struktury obiektowe)
  • bazy relacyjno-obiektowe
  • bazy strumieniowe
  • bazy nierelacyjne

Relacyjne bazy danych

Model relacyjny oznacza, ze logiczne struktury danych (takie jak: tabele, widoki czy indeksy) są oddzielone fizycznie w strukturze pamięci.

Rozróżnienie między logicznym a fizycznym dotyczy również operacji na bazach danych, które są wyraźnie zdefiniowanymi działaniami umożliwiającymi aplikacjom manipulowanie danymi i strukturami bazy danych. Operacje logiczne umożliwiają aplikacji określenie potrzebnej zawartości, a operacje fizyczne określają, w jaki sposób dane powinny być dostępne, a następnie wykonują zadanie.

Oracle

Zalety relacyjnych baz danych

  • spójność
  • zatwierdzenie
  • niepodzielność
  • procedury składowe
  • wspołbierzność
  • blokowanie

Algebra relacji

Algebra relacji jest modelem teoretycznym do opisywania semantyki relacyjnych baz danych, zaproponowanym przez T. Codda, twórcę koncepcji relacyjnych baz danych. Jest to algebra, w której dziedzinę stanowią relacje. Zmienne występujące w wyrażeniach tej algebry odpowiadają pojedynczym relacjom. Operatory algebry relacji zostały dobrane tak, aby odpowiadały typowym operacjom występującym w zapytaniach podczas wyszukiwania informacji z tabel w bazie danych. Tak określona algebra miała być językiem zapytań (query language) dla relacyjnych baz danych.

Relacje

Relacje w algebrze relacji reprezentujemy ich nazwami. Z nazwą każdej relacji jest związany jej schemat — ciąg nazw atrybutów (odpowiadających kolumnom modelowanej tabeli), np.

R(A,B)

Movie(nazwa,rok)

Nazwy atrybutów w schemacie relacji muszą być różne, dlatego w literaturze schemat jest czasem definiowany jako zbiór nazw atrybutów, a nie ciąg.

Ponieważ relacje miały być abstrakcyjnym modelem tabel, ich elementy nazywa się często krotkami — odpowiadają one wierszom tabel z bazy danych.

Mimuw

Operacje

Projekcja

tables

projekcja

Selekcja

selekcja

Iloczy kartezjanski

iloczy

Łączenie

join-natural

Zbiory

Suma

suma

union

Część wspólna

wspolna wspolna

intersection

Różnica

roznica set-difference

Normalizacja

  • redundacja - powtarzanie się tych samych danych
  • anomalie przy modyfikacji
  • anomalie przy dodawaniu
  • anomalie przy usuwaniu
  • informacje powinny być zapisane tylko w jednym miejscu
  • informacje powinny być atomowe/skalarne

Pierwsza postać normalna (1NF)

  • opisuje jeden obiekt
  • wartość atrybutów są elementarne (atomowe, niepodzielne), a nie listą* lub innym obiektem posiadającym swoją strukturę
  • nie zawiera kolekcji (powtarzających się danych)

Wymagania 1NF:

  1. klucz relacji
  2. atrybuty niekluczowe są zależne klucza

Jest zdefiniowany klucz relacji. Wszystkie atrybuty niekluczowe są w zależności funkcyjnej od klucza.

przed

Category Movie Name
Drama Joker, Superman
Crime Die Hard

po

Category Movie Name
Drama Joker
Drama Superman
Crime Die Hard

Druga postać normalna (2NF)

  • jest w 1NF
  • żadna kolumna niekluczowa nie jest częściowa zależna od jakiegokolwiek klucza potencjalnego

Wymagania 2NF:

  1. Każdy element niekluczowy zależy od klucza potencjalnego

przed

Movie name Category Year Budget
Joker Drama 2019 120 USD
Superman Drama 2015 120 USD
Die Hard Crime 1996 40 USD

po

Movie name Year Budget
Joker 2019 120 USD
Superman 2015 120 USD
Die Hard 1996 40 USD
Category Movie Name
Drama Joker
Drama Superman
Crime Die Hard

Trzecia postać normalna (3NF)

  • jest w 2NF
  • żadna kolumna niekluczowa nie jest zależna od innych atrybutów niekluczowych

Wymagania 3NF:

przed

First Name Last Name Position Price
Joe Doe Actor 120 USD
John Smight Actor 120 USD
Jane Doe Actress 140 USD

po

First Name Last Name Position
Joe Doe Actor
John Smight Actor
Jane Doe Actress
Position Price
Actor 120 USD
Actress 140 USD

Postać normalna Boyce’a-Codda (3.5NF / BCNF)

Czwarta postać normalna (4NF)

Zakres

Podstawy baz danych (PostgreSQL)
- Relations
- Syntax and types
- Creating new databases, tables and columns
- Projection and selection
- Sorting
- Joins
- Primary key, foreign key and constraints
- CRUD operations
- Grouping and aggregations
- Conditinal statements
- Math functions
- Formatowanie danych
- Set operations
- Transactions
- Subqueries
- Views
- Indexes
- Window function
- Commont Table Expressions,
- JSON type
- ----
- lock
- array
- trigger
- procedure / functions
- pg operators