When defining and designing software with structured analysis and design methods, we need to restructure data-flow diagrams. Using basic editing operations to restructure large systems with voluminous data-flow diagrams is tedious, laborious and error-prone. It is necessary to have data-flow diagram editors that provide editing operations specific for restructuring. This paper proposes and formally specifies a set of operations sufficient for all restructuring needs. It also confirms that the properties of consistency and completeness are observed by all the restructuring operations, and that both models of data-flow diagrams are equivalent, before and after each of the restructuring operations.