Triggery - sposoby na aktualizacje kilku tabel

0

Witam mam taki kod

create table autor_i_ksiazki(
autorID int not null,
ksiazkiID int not null,
FOREIGN KEY (autorID) REFERENCES autor(ID), 
FOREIGN KEY (ksiazkiID) REFERENCES ksiazki(ID)
);
create table autor(
	id      INT NOT NULL PRIMARY  KEY AUTO_INCREMENT,
    imie_aut    VARCHAR(15)  NOT NUll,
    nazwisko_aut VARCHAR(25) NOT NUll
);
create table ksiazki(
	id INT PRIMARY KEY AUTO_INCREMENT,
    nazwa VARCHAR (30) NOT NULL,
    seria VARCHAR (30),
    gatunek Varchar (15)
);

Szukam sposobu trigger który uaktualni autora po dodaniu ksiązki, czy muszę wypełnić każdą tabele osobno(najpewniej procedurą)?

0

Przecież w tabeli Książki nie masz nic o autorze, to na podstawie czego chcesz uzupełniać informacje o autorze?

0

Właśnie się zastanawiam czy muszę w książki wpisać te same dane co w autor żeby je potem przenieść. Ogólnie baza danych ma być podpięta pod pycharma i nie wiem czy przez konsole nie będzie łatwiej takie dane wrzucać

0

Najłatwiej będzie ci wrzucać dane przez INSERTa.

0

PyCharm to IDE do Pythona o ile dobrze kojarzę. Co to znaczy baza podpięta pod pycharma i dla kogo (użytkownika aplikacji, developera, admina aplikacji) ma być łatwiej?

Dla użytkownika "dodanie książki" wiąże się z wypełnieniem jakiegoś formularza i kliknięcia przycisku "Zapisz". Te dane, które będą uzupełnione w formularzu mogą być różnie interpretowane przez logikę akcji "Zapisz". Możesz sobie wstawić do jednej, dwóch czy trzech tabel.

Możesz mieć tak, że będziesz miał osobne formularze np. do:

  1. dodania autora
  2. dodania książki dla wybranego autora
  3. dodania książki wraz z autorem
  4. dodania autora wraz z książkami
    itp.
0

Najłatwiej dla usera.
Czyli darować sobie trigger i spisać komendę na Pythonie?

1
szopen469 napisał(a):

Najłatwiej dla usera.
Czyli darować sobie trigger i spisać komendę na Pythonie?

Zdecydowanie trigger w 99.9% aplikacji nie służy do takich rzeczy.

GUI Twojej aplikacji może wyglądać tak:

  1. wyszukujesz autora
  2. nie ma => dodajesz go do bazy za pomocą odpowiedniego formularza LUB jest => przejdź do pkt. 3
  3. klikasz na autora, wybierasz operację 'dodaj książkę'
  4. tworzysz na formularzu książkę, która ma uzupełnione ID autora klikniętego w poprzednim punkcie
  5. zapisujesz do bazy książkę

1 użytkowników online, w tym zalogowanych: 0, gości: 1