MySQL
Wyszukiwarka
Wprowadzenie do MySQL
Tworzenie i modyfikowanie tabel
- Zapytanie CREATE: Tworzenie tabeli
- Instrukcja ALTER: Modyfikacja tabeli
- Zapytanie DROP: Usuwanie tabeli
Zapytania pobierające dane
- Zapytanie SELECT: Podstawy
- Zapytanie SELECT: Klauzula WHERE
- Zapytanie SELECT: Sortowanie danych (ORDER BY)
- Zapytanie SELECT: Filtrowanie danych (LIKE, IN, BETWEEN)
Zapytania modyfikujące dane
- Zapytanie INSERT: Dodawanie danych
- Zapytanie UPDATE: Aktualizacja danych
- Zapytanie REPLACE: Zastępowanie danych
Zapytania usuwające dane
Złączenia i relacje
- Podstawy złączeń (JOIN): INNER JOIN
- Zewnętrzne złączenia (OUTER JOIN)
- Złączenia CROSS JOIN i SELF JOIN
- Tworzenie relacji między tabelami
Funkcje agregujące i grupowanie
- Funkcje agregujące: COUNT, SUM, AVG
- Grupowanie danych: GROUP BY i HAVING
- Zapytania z funkcjami MAX i MIN
Zarządzanie użytkownikami
- Tworzenie nowego użytkownika
- Przydzielanie uprawnień użytkownikom
- Usuwanie użytkowników i cofanie uprawnień
- Zarządzanie hasłami użytkowników
Zaawansowane funkcje MySQL
- Transakcje w MySQL: BEGIN, COMMIT, ROLLBACK
- Tworzenie widoków (VIEWS)
- Procedury składowane: Tworzenie i wywoływanie
- Funkcje użytkownika (USER FUNCTIONS)
Tworzenie relacji między tabelami
Tworzenie relacji między tabelami jest kluczowym aspektem przy projektowaniu baz danych. Relacje te pomagają w organizacji i łączeniu danych w sposób, który zapewnia ich spójność i efektywność. W MySQL relacje między tabelami są tworzone za pomocą kluczy obcych (foreign keys) oraz określania odpowiednich związków, takich jak jeden do jednego (1:1), jeden do wielu (1:N) oraz wiele do wielu (M:N).
Relacje są niezbędne, gdy dane w jednej tabeli są powiązane z danymi w innej tabeli. Dzięki odpowiedniemu połączeniu, możliwe jest pobranie danych z wielu tabel w jednym zapytaniu, co zwiększa efektywność pracy z bazą danych.
📌 Klucze obce (Foreign Keys)
✅ Definicja klucza obcego:
Klucz obcy to kolumna w tabeli, która wskazuje na klucz główny (primary key) w innej tabeli. Dzięki temu możliwe jest ustanowienie relacji między tymi tabelami.
-- Składnia definicji klucza obcego
CREATE TABLE tabela1 (
id INT PRIMARY KEY,
nazwa VARCHAR(100)
);
CREATE TABLE tabela2 (
id INT PRIMARY KEY,
id_tabela1 INT,
FOREIGN KEY (id_tabela1) REFERENCES tabela1(id)
);
📌 Relacja jeden do wielu (1:N)
✅ Przykład: Relacja między tabelą klienci a tabelą zamowienia, gdzie każdy klient może mieć wiele zamówień, ale każde zamówienie jest przypisane do jednego klienta.
📌 Opis:
- Klient może mieć wiele zamówień, ale każde zamówienie jest przypisane tylko do jednego klienta.
- Dzięki kluczowi obcemu w tabeli zamowienia (id_klienta), tworzymy relację między klientami a ich zamówieniami.
CREATE TABLE klienci (
id INT PRIMARY KEY,
imie VARCHAR(50)
);
CREATE TABLE zamowienia (
id INT PRIMARY KEY,
id_klienta INT,
data DATE,
FOREIGN KEY (id_klienta) REFERENCES klienci(id)
);
📌 Relacja wiele do wielu (M:N)
✅ Przykład: Relacja między tabelą produkty a tabelą zamowienia, gdzie jedno zamówienie może zawierać wiele produktów, a jeden produkt może występować w wielu zamówieniach. Tego typu relację tworzymy za pomocą tabeli pośredniczącej (np. zamowienia_produkty).
📌 Opis:
- Tabela pośrednicząca zamowienia_produkty łączy zamówienia i produkty.
- Dzięki kluczom obcym tworzymy relację między trzema tabelami, pozwalając na tworzenie wielu zamówień zawierających wiele produktów.
CREATE TABLE produkty (
id INT PRIMARY KEY,
nazwa VARCHAR(100)
);
CREATE TABLE zamowienia (
id INT PRIMARY KEY,
data DATE
);
CREATE TABLE zamowienia_produkty (
id_zamowienia INT,
id_produktu INT,
PRIMARY KEY (id_zamowienia, id_produktu),
FOREIGN KEY (id_zamowienia) REFERENCES zamowienia(id),
FOREIGN KEY (id_produktu) REFERENCES produkty(id)
);
📌 Relacja jeden do jednego (1:1)
✅ Przykład: Relacja jeden do jednego między tabelą pracownicy a tabelą adresy, gdzie każdy pracownik ma dokładnie jeden adres.
📌 Opis:
- W tabeli adresy każdy rekord jest przypisany do jednego pracownika.
- Relacja 1:1 oznacza, że jeden pracownik ma jeden adres, a jeden adres przypisany jest do jednego pracownika.
CREATE TABLE pracownicy (
id INT PRIMARY KEY,
imie VARCHAR(50)
);
CREATE TABLE adresy (
id INT PRIMARY KEY,
id_pracownika INT,
adres VARCHAR(100),
FOREIGN KEY (id_pracownika) REFERENCES pracownicy(id)
);
Podsumowanie
- Relacje między tabelami w MySQL pozwalają na połączenie danych z różnych tabel, co pozwala na ich efektywne przechowywanie i pobieranie.
- Klucze obce są używane do definiowania relacji między tabelami. Zapewniają one integralność danych.
- Relacja jeden do wielu (1:N) jest najczęściej stosowaną relacją, w której jedna tabela jest powiązana z wieloma rekordami w drugiej tabeli.
- Relacja wiele do wielu (M:N) jest realizowana przez tabelę pośredniczącą, łączącą dane z dwóch tabel.
- Relacja jeden do jednego (1:1) łączy dane w taki sposób, że jeden rekord z jednej tabeli jest powiązany z jednym rekordem z drugiej tabeli.

