In many cases, classical databases need to be extended in order to represent and manipulate uncertain and imprecise information. In a fuzzy relational data model where attribute values are represented by possibility distributions and domains are associated with closeness relations, the problems of update anomalies and data redundancy may still exist. This paper aims to extend the normalization theory of the classical relational data model so as to provide theoretical guidelines for fuzzy relational database design. Based upon the notion of fuzzy functional dependency (FFD), a number of concepts such as relation keys and normal forms are generalized. As a result, q-keys, Fuzzy First Normal Form (F1NF), q-Fuzzy Second Normal Form (q-F2NF), q-Fuzzy Third Normal Form (q-F3NF), and q-Fuzzy Boyce-Codd Normal Form (q-FBCNF) have been formulated. Finally, dependency-preserving and lossless-join decompositions into q-F3NFs are discussed.