We introduce an object-oriented design of a physical store system for a relational database. The design and implementation of the physical store are in the style of C++ standard template library. They stress separation of memory allocation, iterators, container types, and the types of data in the store. The physical store system is part of the Know-It-All database project, under way at Concordia University. The contents of the physical store system are described using SQL data definition language. The main tasks of the physical store system are the bulk- loading of data, the support for the bulk creation of indexes, and data retrieval. The design hides the use of the secondary store. The problems with the existing physical stores are a lack of type checking and type safety. Our design and implementation draw upon advanced uses of C++ templates, as typified by the standard template library, type lists, the tuple library from boost.org, and dynamic loading. Furthermore we reuse design patterns, the mySQL parser, and the POST++ persistent object store.
Talal Al-khoury received his PhD in Engineering Science from the Gluchkov Cybernetics Institute in Kiev, Ukraine, and an M.Sc. in Computer Science from Concordia University, with a specialty in database systems. He now specializes in medical image processing, and is currently a teaching and research associate at Concordia University in Canada.