Triggery - sposoby na aktualizacje kilku tabel

Odpowiedz Nowy wątek
2019-01-01 14:32
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ą)?

edytowany 1x, ostatnio: szopen469, 2019-01-01 19:29

Pozostało 580 znaków

2019-01-01 19:31
0

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

Pozostało 580 znaków

2019-01-01 19:35
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ć

Pozostało 580 znaków

2019-01-01 19:43
0

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

W SQL jest insert? - szopen469 2019-01-01 20:17
Ledwo się rok zaczął, a już zasłużyłeś na komentarz roku :) - Marcin.Miga 2019-01-01 20:18
Chodzi mi to taki konsolowy insert że odpalasz komendę i wpisujesz w konsoli dane a nie coś pokroju insert into. - szopen469 2019-01-01 20:22
Czyli tak ja sądziłem. Jedynie insert into. Właśnie bardziej staram się zautomatyzować proces. - szopen469 2019-01-01 20:29

Pozostało 580 znaków

2019-01-01 19:50
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.

edytowany 1x, ostatnio: yarel, 2019-01-01 19:50

Pozostało 580 znaków

2019-01-01 20:18
0

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

Pozostało 580 znaków

2019-01-01 23:32
Tig
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ę
edytowany 1x, ostatnio: Tig, 2019-01-01 23:33

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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