A parallel processing scheme and software architecture of SMASH, a parallel processing system for supporting a wide variety of database applications is presented. The main feature of this system is that functional programming concepts are applied to define new database operations and data types and exploit parallelism inherent in an arbitrary set of database operations. A primitive set (SMASH primitive set) of the software architecture is presented that defines an abstract machine interface between high-level database languages and general-purpose hardware systems for parallel processing. The primitive set is used to implement functional computation systems for executing arbitrary database operations in parallel. A previously proposed stream-oriented parallel processing scheme for relational database operations is extended to support more complex database operations which deal with complex data structures. Several experimental results of parallel processing for database operations are shown to clarify feasibility of the proposed architecture.