Poczytałem trochę, podumałem, ale dalej nie jestem w stanie niczego wymyślić. Poniżej treść mojego posta z innego forum:
OK, narazie jest fajnie, jednak wszędzie temat jest opisany dosyć ogólnikowo, w związku z czym proszę o pomoc.
Udało mi się dowiedzieć, że chodzi tutaj o kod ON DELETE i ON ACTION w kodzie SQL.
Chciałbym się dowiedzieć, jaki będzie prawidłowy kod SQL tworzący tabele bazy danych w moim przypadku. Chciałbym, aby w sytuacji, kiedy zostanie usunięty lub zmieniony numer ID użytkownika, klucz obcy w tabeli str_messages_receivers został usunięty lub nadpisany.
Fragment diagramu EER (klucze podstawowe to klucze , a obce to czerwone romby):

Kod dla tabeli str_users:
CREATE TABLE IF NOT EXISTS `starter`.`str_users` (
`user_id` INT NOT NULL ,
`name` VARCHAR(50) NOT NULL ,
`username` VARCHAR(20) NOT NULL ,
`password` CHAR(40) NOT NULL ,
`mail` VARCHAR(50) NOT NULL ,
`access_id` TINYINT NOT NULL ,
`ban` TINYINT(4) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`user_id`) ,
INDEX `users_to_groups_access_access` (`access_id` ASC) ,
CONSTRAINT `users_to_groups_access_access`
FOREIGN KEY (`access_id` )
REFERENCES `starter`.`str_groups_access` (`access_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
Kod dla tabeli str_message_receivers:
CREATE TABLE IF NOT EXISTS `starter`.`str_message_receivers` (
`message_id` INT NOT NULL ,
`user_id` INT NOT NULL ,
`read` TINYINT(4) NULL ,
INDEX `fk_str_message_receivers_str_messages1` (`message_id` ASC) ,
INDEX `fk_str_message_receivers_str_users1` (`user_id` ASC) ,
CONSTRAINT `fk_str_message_receivers_str_messages1`
FOREIGN KEY (`message_id` )
REFERENCES `starter`.`str_messages` (`message_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_str_message_receivers_str_users1`
FOREIGN KEY (`user_id` )
REFERENCES `starter`.`str_users` (`user_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
Koniec posta. Chciałbym się również zapytać, czy można jakoś te więzy integralności ustawić w MySQL Workbench, wtedy mógłbym sobie sam popróbować.