You should only create subdomains if you want to transfer authority for that subdomain to a different team/entity. If you manage all those subdomains yourself, there isn't really a good reason for creating different subdomains.
Below you can see an example configuration file for a zone (source)
$ORIGIN example.com.
$TTL 86400
@ SOA dns1.example.com. hostmaster.example.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
;
;
NS dns1.example.com.
NS dns2.example.com.
dns1 A 10.0.1.1
AAAA aaaa:bbbb::1
dns2 A 10.0.1.2
AAAA aaaa:bbbb::2
;
;
@ MX 10 mail.example.com.
MX 20 mail2.example.com.
mail A 10.0.1.5
AAAA aaaa:bbbb::5
mail2 A 10.0.1.6
AAAA aaaa:bbbb::6
;
;
; This sample zone file illustrates sharing the same IP addresses for
; multiple services:
;
services A 10.0.1.10
AAAA aaaa:bbbb::10
A 10.0.1.11
AAAA aaaa:bbbb::11
ftp CNAME services.example.com.
www CNAME services.example.com.
;
; The items below I have added myself.
;
subdomain CNAME ghs.googlehosted.com.
mailserver.other-subdomain A 192.0.2.25
webserver.other-subdomain A 203.0.113.80
cname.other-subdomain CNAME webserver.other-subdomain.example.com.
As you can see from the example, you do not have to create a separate zone for "other-subdomain" or for "subdomain". You can add all those records to the master zone file for the domain.