This paper defines an integrity subsystem for an integrated data base management system, and shows how integrity is distinguished from the related areas of security, consistency, and reliability. The integrity subsystem guards the data base against semantic errors by permitting users to make assertions which define the correctness of the data base, and to specify actions to be taken when the assertions are not satisfied. Several categories of assertions are considered, including tuple-vs. set-oriented, state- vs. transition-oriented, immediate vs. delayed, and "hard" vs. "soft" assertions. The related areas of data definition facilities, compatibility of data items, and handling of null values are explored. Facilities are specified by means of which a user may create, drop, or examine integrity assertions.