Dobry wieczór.
Jestem w trakcie pisania pracy dyplomowej, lecz napotkałem się z problemem nawiązania relacji pomiędzy dwoma tabelami. Mowa o tabelce "kroki" oraz "przepisy". Jednocześnie chciałbym zapytać społeczność, czy skonstruowana baza będzie współgrała ze stroną internetową?
Tabela skladniki - znajduja sie w niej wszystkie dostepne skladniki, ktore beda wykorzystywane do tworzenia przepisów
Tabela przepisy - znajdują się w niej podstawowe informacje o przepisie takie jak Opis, Czas trwania, poziom trudności itp.
Tabela przepisy_skladniki - przechowuje informację na temat skladnikow uzytych do przepisu oraz jej ilości
Tabela kroki - przechowuje informację na temat kroków przygotowania oraz czasu dla poszczegolnego kroku
Załączam też wyeksportowany plik SQL, byłbym wdzięczny gdyby mi ktoś wytłumaczył co zrobiłem źle ze takowa relacja nie działa oraz czy ta konstrukcja będzie miała jakikolwiek byt we funkcjonowaniu stronki.
Dziękuję i pozdrawiam :)
-- phpMyAdmin SQL Dump
-- version 4.9.5
-- https://www.phpmyadmin.net/
--
-- Host: mysql.ct8.pl
-- Czas generowania: 01 Lis 2020, 01:55
-- Wersja serwera: 5.7.26-29-log
-- Wersja PHP: 7.1.33
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Baza danych: `m6273_s35449`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `kroki`
--
CREATE TABLE `kroki` (
`ID` int(11) NOT NULL,
`Przepis_ID` int(11) NOT NULL,
`Numer` int(11) NOT NULL,
`Opis_kroku` text NOT NULL,
`Czas_realizacji` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `przepisy`
--
CREATE TABLE `przepisy` (
`ID` int(11) NOT NULL,
`Nazwa` text NOT NULL,
`Opis` text NOT NULL,
`Trudnosc` text NOT NULL,
`Ocena` int(11) NOT NULL,
`Czas` int(11) NOT NULL,
`Wyswietlenia` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Zrzut danych tabeli `przepisy`
--
INSERT INTO `przepisy` (`ID`, `Nazwa`, `Opis`, `Trudnosc`, `Ocena`, `Czas`, `Wyswietlenia`) VALUES
(1, 'Sałatka Gyros', 'Gyros jest obecnie popularną grecką potrawą, której korzenie sięgają jednak prawdopodobnie XIX-wiecznej Turcji. Zazwyczaj do jej przyrządzenia wykorzystuje się mięso z szynki wieprzowej, ale z powodzeniem można zastąpić ją innymi rodzajami mięsa, np. kurczakiem. Ciekawą propozycją dla wszystkich miłośników tegoż mięsa jest sałatka Gyros. Jej przygotowanie jest bardzo proste i szybkie. Sałatka Gyros jest nie tylko wyborna w smaku, ale jednocześnie wspaniale się prezentuje! Delikatnie doprawione mięso z kurczaka świetnie komponuje się z chrupiącymi warzywami i kremowym majonezem dekoracyjnym WINIARY. Przygotuj warstwową sałatkę gyros z kurczakiem jako wyjątkowy dodatek do obiadu lub imponującą przekąskę na imieninowy czy świąteczny stół! Jak to zrobić? Wystarczy, że odpowiednio przyprawisz i usmażysz mięso, a następnie nałożysz na nie (gdy już ostygnie) kolejne składniki sałatki, takie jak: cebula, ketchup (opcjonalnie), ogórki, kukurydza, majonez, papryka, kapusta. Wierzch sałatki możesz udekorować świeżym szczypiorkiem. Oczywiście, aby sałatka doskonale się prezentowała, przygotuj ją koniecznie w przezroczystej misce, by każda jej warstwa była widoczna. Pamiętaj o tym, że wygląd jest równie istotny jak smak potrawy – to on w dużej mierze wpływa na jej odbiór i atrakcyjność. Ale bez obaw. Aromatyczna, kolorowa, przyciągająca wzrok sałatka Gyros skradnie serca wszystkich Twoich gości i domowników, czyniąc przyjemnym i radosnym każde spotkanie w gronie bliskich! Smacznego! ', 'łatwy', 0, 0, 0);
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `przepisy_skladniki`
--
CREATE TABLE `przepisy_skladniki` (
`ID` int(11) NOT NULL,
`Przepisy_ID` int(11) NOT NULL,
`Skladniki_ID` int(11) NOT NULL,
`Ilosc_skladnikow_` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `skladniki`
--
CREATE TABLE `skladniki` (
`ID` int(11) NOT NULL,
`Produkt` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Zrzut danych tabeli `skladniki`
--
INSERT INTO `skladniki` (`ID`, `Produkt`) VALUES
(1, 'Cebula');
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `uzytkownicy`
--
CREATE TABLE `uzytkownicy` (
`id` int(5) NOT NULL,
`imie` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`nazwisko` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`email` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`login` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`haslo` varchar(50) COLLATE utf8_polish_ci NOT NULL,
`poziom_konta` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
--
-- Zrzut danych tabeli `uzytkownicy`
--
INSERT INTO `uzytkownicy` (`id`, `imie`, `nazwisko`, `email`, `login`, `haslo`, `poziom_konta`) VALUES
(3334, 'admin', 'admin', 'admin@gmail.com', 'admin', '9e38e8d688743e0d07d669a1fcbcd35b', 1),
(3335, 'test', 'test', 'test@gmail.com', 'test', '4d3c54a22a97802627566a24f2dc7c1b', 0),
(3336, 'xa', 'xa', 'xa@xa.pl', 'zaq1@WSX', '9e38e8d688743e0d07d669a1fcbcd35b', 0),
(3337, '', '', 'admin@gmail.com', 'adminn', 'd41d8cd98f00b204e9800998ecf8427e', 1);
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `kroki`
--
ALTER TABLE `kroki`
ADD PRIMARY KEY (`ID`),
ADD UNIQUE KEY `Przepis_ID` (`Przepis_ID`),
ADD KEY `Przepis_ID_2` (`Przepis_ID`),
ADD KEY `ID` (`ID`);
--
-- Indeksy dla tabeli `przepisy`
--
ALTER TABLE `przepisy`
ADD PRIMARY KEY (`ID`),
ADD KEY `ID` (`ID`);
--
-- Indeksy dla tabeli `przepisy_skladniki`
--
ALTER TABLE `przepisy_skladniki`
ADD PRIMARY KEY (`ID`),
ADD KEY `Przepisy_ID` (`Przepisy_ID`,`Skladniki_ID`),
ADD KEY `Skladniki_ID` (`Skladniki_ID`);
--
-- Indeksy dla tabeli `skladniki`
--
ALTER TABLE `skladniki`
ADD PRIMARY KEY (`ID`);
--
-- Indeksy dla tabeli `uzytkownicy`
--
ALTER TABLE `uzytkownicy`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `login_2` (`login`),
ADD KEY `login` (`login`);
--
-- AUTO_INCREMENT dla tabel zrzutów
--
--
-- AUTO_INCREMENT dla tabeli `kroki`
--
ALTER TABLE `kroki`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT dla tabeli `przepisy`
--
ALTER TABLE `przepisy`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT dla tabeli `przepisy_skladniki`
--
ALTER TABLE `przepisy_skladniki`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT dla tabeli `skladniki`
--
ALTER TABLE `skladniki`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT dla tabeli `uzytkownicy`
--
ALTER TABLE `uzytkownicy`
MODIFY `id` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3338;
--
-- Ograniczenia dla zrzutów tabel
--
--
-- Ograniczenia dla tabeli `przepisy_skladniki`
--
ALTER TABLE `przepisy_skladniki`
ADD CONSTRAINT `przepisy_skladniki_ibfk_1` FOREIGN KEY (`Skladniki_ID`) REFERENCES `skladniki` (`ID`),
ADD CONSTRAINT `przepisy_skladniki_ibfk_2` FOREIGN KEY (`Przepisy_ID`) REFERENCES `przepisy` (`ID`);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;