Constraints are used to manage the integrity of knowledge. Knowledge-based systems applications are frequently constructed as a knowledge base, or rule base, component coupled with a relational database component. The most expensive of these two components to build and maintain is typically the knowledge base. Constraints, which play a key role in database management, are seldom mentioned in connection with knowledge. One class of knowledge constraints protect the integrity of knowledge bases during maintenance by preventing the introduction of update anomalies. Another class of knowledge constraints contributes to the efficiency of the maintenance procedure. The efficiency of the maintenance procedure is increased further if the knowledge in the knowledge base has been normalised. An experimental knowledge-based systems design and maintenance tool which incorporates this approach has been built and trialed in a commercial environment.