You should let your dog know who is in charge, and you’ve alleviated a lot of problems. It’s not about fighting for control, it’s about knowing who has it. So when it’s time to train your dog, put on his training collar so he’s fully aware of what time it is. Alternatively, use a leash when walking your dog, so that he knows who is boss all of the time.
Instead of telling your dog, “NO!” for something bad he’s done, try and re frame the negative into something positive instead. For instance, if your dog decided to run after a chipmunk running across your lawn, try, “Sit” instead of whatever you’d normally use. Now you can praise him as well for his good behavior, instead of yelling at him because he didn’t stop.
Your dog may not think that digging is a bad behavior, but you and your garden probably do. Instead of getting upset, why not provide your dog with adequate digging space elsewhere, complete with buried treasures? Then, you can do the same as dog training tip number two, and provide positive feedback when he digs in the allotted space, and not in your flower garden.
You should make sure the whole household acts consistently
When you are training your dog, make sure that everyone in the house knows what you are doing, and how to provide supportive measures when needed. That means that if you are teaching the word sit, then everyone in the house should know what to do, when to do it, and why if a behavior presents itself where the command should be used.
Many behavioral issues with dogs lie behind the fact that they don’t get out enough for a long walk or run. Make sure to take them out on a regular basis (daily, if at all possible) to somewhere new that he can explore on his own time.
The more clear you are with your dog while training him, the better off everyone will be. Show your dog what you are asking him to do, instead of just telling him. Give the command at the same time while you show him (gently, of course) and ensure that your body language matches your words.