I am looking for some kind of tough weed material to keep weed out of flower bed that all ready as flower in it and how to improve soil the ground gets compacted and hard to get weeds out
Natural methods of weed control will be to use cardboard or multiple layers of newspaper to cover the ground, then cover that with mulch. the cardboard/newspaper acts as a barrier for light and growth, and will need to be replaced periodically as it decomposes.
The next step up is to use weed cloth, it will do the same thing the cardboard/newspaper, but it won't degrade.
Chemical treatments would be to use Round-up or Pre-emergent. Round-up will kill whatever is growing, pre-emergent will keep new seed from sprouting.
As far as amending the soil, the time for that was before you planted, however, you can work organic material, such as manure or compost, into the soil and this will condition the soil, making it softer and easier to work in. The problem with this is that ever time you turn the soil, you expose new weed seed to germinate, and regardless of what steps you've taken above to mitigate the weeds, you'll be back to square one and have to start over in your weed control.
Weed is a fact of nature and is uncontrollable. Eliminating weed usually means killing the "good" plants as well.
Remove the current weeds as best you can. I prefer to pull them up one to two days after a rain but your local soil conditions will determine the best time. You want to catch the soil when it is moist enough to be soft and friable, but not wet so that mud clings to the roots.
You can just water the flower bed deeply and wait a day or two but rain seems to be the best. You can also just sc**** the weeds with a hoe, cutting them just below the soil line or you can spray them with roundup if there is no wind and you are real careful not to get any on the plants.
Now, my favorite weed blocker is wheat straw. Do not use hay, make sure it is wheat straw. I buy bales and I find that the bales separate into two to four inch layers. I lay down the layers, butted up to each other and as close to the plants as possible. I do not fluff them up, they will fluff up to a 6 to 8" depth on their own.
Many people consider this to be too thick, but it is a very loose, airy mulch so the extra depth does not hurt anything, unless your plants are shorter than 6" of course. I have never used a pre-emerge under this, but I would think that if you choose to, the pre-emerge will be more effective as it will trap the gasses that smother new weeds.
Over time, the wheat straw breaks down. Earthworms will take it into the soil and the soil will naturally improve, getting softer. As it breaks down, some weeds will start to grow in it, but most of their roots will be in the wheat straw instead of the soil below so they are really easy to pull.
About once a year, add a new layer of wheat straw right over the old. It just gets better year after year.
An alternative is whole leaves. Collect these in the fall and put down around the plants when most of the annual weeds are dead and the perennial weeds are dormant. Sc**** the old weed tops off with a hoe first. Put down 2 to 4" of leaves in the fall and save an equal amount of weeds in plastic bags to put down in spring. Put about half of these down in early spring and half in late spring.
You can also put down about 2" of whole leaves in fall and then put down the wheat straw in late spring or early summer when the wheat is harvested and the wheat straw is fresh. Bright wheat (fresh, not rained on) has the most nutrients for the soil.
If your flowers include Irises, you cannot use these mulches as they will rot the corms.
As some here have already said you can't get rid of weeds once and for all. It will be an ongoing process. Things like wind and animals will be a constant problem bringing in weeds and seeds. Pre-emergents are your best weapon such as Snapshot. Good luck!!