Wpisy otagowane ‘klucz obcy’

Obejrzyj pierwszą lekcję…

środa, 2 Marzec 2011

Poniżej prezentuję pierwszą lekcję szkolenia „Bazy danych w aplikacjach internetowych”, oraz krótki słowniczek. Gdyby jeszcze jakieś terminy wymagały wytłumaczenia, proszę zgłaszać. Postaram się w miarę szybko uzupełnić słowniczek.

Dla większej wygody można powiększyć nagranie klikając ikonkę w prawym dolnym rogu filmu. Klip wymaga wtyczki Adobe Flash Player.

Słowniczek

rekord
wiersz tabeli, pojedynczy wpis do bazy o ustalonej strukturze
pole
najmniejsza część rekordu przechowująca daną określonego typu
klucz potencjalny
złożenia pól lub pojedyncze pola, których wartość jednoznacznie identyfikuje rekord tabeli
klucz podstawowy
może być też nazywany kluczem głównym. Jest to jeden z kluczy potencjalnych. Jeżeli tabela zawiera tylko jeden klucz potencjalny, automatycznie jest on kluczem podstawowym
klucz obcy
pole lub pola zawierające klucz podstawowy z innej tabeli
relacja
powiązanie rekordów z różnych tabel wykorzystujące klucze główne i obce tworzące logiczną całość. Występują trzy rodzaje relacji:

  1. relacja jeden do jednego

    jednemu rekordowi z pierwszej tabeli odpowiada tylko jeden rekord z tabeli drugiej

  2. relacja jeden do wielu

    jednemu rekordowi z pierwszej tabeli odpowiada jeden lub wiele rekordów z tabeli drugiej

  3. relacja wiele do wielu

    jednemu lub wielu rekordom z pierwszej tabeli odpowiada jeden lub wiele rekordów z tabeli drugiej. Tę relację w praktyce realizuje się poprzez dodanie dodatkowej tabeli, z którą realizowane są dwie relacje jeden do wielu

indeks
jest to dodatkowo utworzona struktura służąca zoptymalizowaniu operacji dotyczących danej kolumny. W uproszczeniu można powiedzieć, że jest to kopia kolumny odpowiednio posortowana.

Zapraszam na szkolenie Bazy danych w aplikacjach internetowych



Po co mi bazy danych.

wtorek, 22 Luty 2011

Wykorzystanie baz danych znacznie rozszerza możliwości programów. Programy tworzone w PHP często potrzebują jakiejś metody do przechowywania i przetwarzania danych. Najprostszym i najwcześniej wykorzystywanym sposobem było zapisywanie danych do plików tekstowych. Niestety możliwości wykorzystania takich zbiorów danych są mocno ograniczone, a implementacja tego rozwiązania rodziła wiele problemów związanych choćby z jednoczesnym dostępem do danych przez wielu użytkowników. Na szczęście większość kont hostingowych, nawet tych darmowych, jest wyposażonych w jakąś bazę danych. Najczęściej jest to MySql.

Jakie są zalety stosowania baz danych?

  1. każdą daną wystarczy wpisać jeden raz by była dostępna we wszystkich wymaganych miejscach
  2. łatwość aktualizacji danych
  3. umożliwienie jednoczesnego dostępu do danych dla wielu użytkowników
  4. możliwość ograniczania dostępu do danych dla różnych grup użytkowników
  5. uniwersalny język do przetwarzania danych (SQL)
  6. eliminacja błędów spójności bazy danych

Co to jest baza danych?

Baza danych to zbiór uporządkowanych danych z pewnej dziedziny. Dane są wzajemnie ze sobą powiązane związkami logicznymi pozwalającymi na wybranie zestawu danych pod odpowiednim do potrzeb kontem.

W dalszej części będę skupiał się na bazie MySql głównie ze względu na jej dużą popularność i ogólną dostępność. W zasadzie wszystkie darmowe skrypty wykorzystujące bazy danych (fora, blogi, CMS-y itp.) są oparte na MySql-u, a jeżeli skrypt jest dostosowany do różnych baz danych, to opcja z MySql jest najlepiej udokumentowana.

MySql jest relacyjną bazą danych. Dane w tym modelu przechowywane są w tabelach zwanych fachowo relacjami. Od razu zaznaczę, że fachowa terminologia nie jest zbyt popularna i pisząc o bazach danych będę używał raczej określeń powszechnie stosowanych, a terminy fachowe będę umieszczał w nawiasach. Tabele składają się z wierszy – rekordów (krotek – encji) – najmniejszych zbiorów danych dotyczących jakiegoś przedmiotu i kolumn (atrybutów) definiujących najmniejsze porcje danych. Np. tabela samochody będzie składała się z rekordów opisujących konkretne auta, a w kolumnach będą zdefiniowane cechy tych samochodów np. marka, model, rok produkcji, kolor itd. Poniżej prezentuję taką przykładową tabelkę.

marka model rok_produkcji kolor
Seat Ibiza 2001 czerwony
Volkswagen Golf 2003 niebieski
Peugeot 307 2003 srebrny
Opel Astra 2007 czarny
Ford Focus 2006 żółty

Rekordy z poszczególnych tabel mogą być powiązane relacjami (związkami encji). Wyróżniamy trzy rodzaje relacji: jeden do jednego, jeden do wielu i wiele do wielu. Relacja jeden do jednego zachodzi w sytuacji, gdy jednemu rekordowi z pierwszej tabeli odpowiada jeden rekord z drugiej tabeli. Relacja jeden do wielu zachodzi, gdy jednemu rekordowi z pierwszej tabeli odpowiada jeden lub więcej rekordów z drugiej tabeli. Relacja wiele do wielu zachodzi, gdy jednemu lub kilku rekordom z pierwszej tabeli odpowiada jeden lub więcej rekordów z drugiej tabeli. W praktyce ten ostatni typ relacji jest zastępowany dwoma relacjami jeden do wielu z dodatkową tabelą.

Relacja pomiędzy tabelami tworzone są dzięki kluczom – specjalnym polom identyfikującym rekordy w tabeli. Występują klucze główne zwane też podstawowymi i obce. Klucz podstawowy jest unikalny w ramach jednej tabeli. Zapisanie wartości klucza głównego w innej tabeli tworzy klucz obcy.