hit tracker
Jak możemy Ci pomóc?

Projektowanie Relacyjnych Baz Danych Mazur

Projektowanie Relacyjnych Baz Danych Mazur

Witajcie studenci! Przygotowujemy się do egzaminu z projektowania relacyjnych baz danych. Skupimy się na podejściu Mazura. Damy radę!

Modelowanie Konceptualne

Zacznijmy od podstaw. Mamy modelowanie konceptualne. To pierwszy krok.

Encje

Encje to obiekty, które chcemy przechowywać w bazie danych. Na przykład, Klient, Produkt czy Zamówienie.

Każda encja ma atrybuty. Atrybuty opisują encję. Na przykład, Klient może mieć atrybuty: Imię, Nazwisko, Adres.

Klucz główny (Primary Key) jednoznacznie identyfikuje każdą encję. Nie może być null i musi być unikalny.

Relacje

Relacje opisują związki między encjami. Na przykład, Klient składa Zamówienie.

Rodzaje relacji: jeden-do-jednego (1:1), jeden-do-wielu (1:N), wiele-do-wielu (N:M).

Relacja jeden-do-wielu (1:N) oznacza, że jeden Klient może złożyć wiele Zamówień, ale jedno Zamówienie jest złożone tylko przez jednego Klienta.

Relacja wiele-do-wielu (N:M) wymaga wprowadzenia dodatkowej encji łączącej. Na przykład, Zamówienie zawiera wiele Produktów, a Produkt może być w wielu Zamówieniach. Potrzebujemy encji PozycjaZamówienia.

Model Logiczny

Teraz przechodzimy do modelu logicznego. Tutaj przekształcamy konceptualny model w tabele.

Tabele

Tabele reprezentują encje. Każda tabela ma kolumny (atrybuty) i wiersze (rekordy).

Kolumny definiują strukturę tabeli. Każda kolumna ma nazwę i typ danych (np. INTEGER, VARCHAR, DATE).

Klucz obcy (Foreign Key) to kolumna w jednej tabeli, która odnosi się do klucza głównego innej tabeli. Ustala relacje między tabelami.

W relacji 1:N, klucz główny tabeli po stronie "jeden" staje się kluczem obcym w tabeli po stronie "wiele".

W relacji N:M tworzymy dodatkową tabelę łączącą. Ta tabela ma dwa klucze obce - po jednym z każdej tabeli powiązanej relacją N:M.

Normalizacja

Normalizacja to proces eliminowania redundancji danych. Ma na celu poprawę integralności i efektywności bazy danych.

Formy normalne: 1NF, 2NF, 3NF, BCNF.

1NF: Każda kolumna w tabeli zawiera tylko wartości atomowe (niepodzielne).

2NF: Tabela jest w 1NF i wszystkie kolumny niebędące kluczem głównym są w pełni zależne od całego klucza głównego (a nie tylko od jego części).

3NF: Tabela jest w 2NF i wszystkie kolumny niebędące kluczem głównym nie są zależne od innych kolumn niebędących kluczem głównym (nie ma zależności przechodnich).

BCNF (Boyce-Codd Normal Form): Każdy determinant (kolumna lub zbiór kolumn, od których zależy inna kolumna) jest kluczem kandydującym.

Model Fizyczny

Model fizyczny to implementacja modelu logicznego w konkretnym systemie zarządzania bazą danych (DBMS). Na przykład, MySQL, PostgreSQL, SQL Server.

Wybieramy typy danych, indeksy i inne parametry specyficzne dla danego DBMS.

Indeksy

Indeksy przyspieszają wyszukiwanie danych. Tworzymy indeksy na kolumnach, które są często używane w zapytaniach WHERE.

Indeksy mogą spowolnić operacje zapisu (INSERT, UPDATE, DELETE), więc używamy ich z rozwagą.

Typy Danych

Wybór odpowiednich typów danych wpływa na wydajność i wykorzystanie przestrzeni dyskowej. Na przykład, dla dat używamy typu DATE lub DATETIME, dla liczb całkowitych INTEGER, dla tekstu VARCHAR lub TEXT.

Podejście Mazura

Metoda Mazura kładzie nacisk na iteracyjne podejście do projektowania baz danych. Model jest stopniowo udoskonalany w oparciu o wymagania użytkowników i testy.

Ważne jest zrozumienie potrzeb użytkowników i ich procesów biznesowych. Mazur podkreśla komunikację z użytkownikami.

Iteracje pozwalają na szybkie wykrywanie i korygowanie błędów. Unikamy sytuacji, w której źle zaprojektowana baza danych musi być całkowicie przebudowana.

Przykładowe Zadanie

Zaprojektuj bazę danych dla sklepu internetowego. Skup się na encjach: Klient, Produkt, Zamówienie, Kategoria.

1. Zdefiniuj encje i ich atrybuty.

2. Określ relacje między encjami.

3. Narysuj diagram ERD (Entity-Relationship Diagram).

4. Przekształć diagram ERD w model logiczny (tabele).

5. Zastosuj normalizację (do 3NF).

6. Rozważ model fizyczny (wybór DBMS, typy danych, indeksy).

Podsumowanie

Pamiętaj o:

  • Encjach, atrybutach i relacjach.
  • Kluczach głównych i obcych.
  • Normalizacji (1NF, 2NF, 3NF).
  • Indeksach i typach danych.
  • Iteracyjnym podejściu Mazura.

Powodzenia na egzaminie! Jesteście świetni!

PostgreSQL - Projektowanie baz danych - wprowadzenie - YouTube Projektowanie Relacyjnych Baz Danych Mazur
Cel I Kierunki Standaryzacji Rachunkowości
Cosmopolitan Szkoła Języków Obcych Wrocław