The trigger type (statement-level versus row-level) determines if a database trigger executes once for the entire triggering statement or repeatedly for each modified row. Trigger body contains the executed code, events trigger it, and timing determines when (BEFORE/AFTER), but none of these control the execution frequency per operation.