Technically there's also a "class" field, but literally all DNS records have the same class these days ("internet"), so you should never need to set it.
Sometimes they might be hidden from you (for example if you create a DNS record in a web interface, it might hide the TTL field and set it to a default value) but all the fields are mandatory.
namefield of a DNS record?
nameof a DNS record is a hostname. So
bananas.ca.is a valid name but
Every DNS record has a type. For example, A records are used for IPv4 addresses.
So a TTL of 300 is 5 minutes.
the TTL field is a 32-bit integer, so technically you could have a TTL of over 50 years. Most TTLs are less than a week though.
TTLfield of a DNS record?
It stands for "time to live" and it determins how long recursive DNS servers should cache the record for.
A DNS response can contain many DNS records, but each DNS record has only 1 value, 1 name, 1 TTL, and 1 type.
DNS uses UDP and there is a limit to how many DNS records can be returned in a single UDP packet (about 25 A records), so for each combination of hostname / record type it's best to not have too many records.
Any IPv4 address! Different record types have different values though, for example TXT records are allowed to contain any string!