There is no concurrency control algorithm that shows the best performance in every execution environment. Pessimistic algorithms, such as the Two Phase Locking (2PL) algorithm, perform better in some cases than optimistic algorithms, such as the Parallel Validation (PV) algorithm, while the reverse holds in other cases. The solution to this problem is integrating these heterogeneous algorithms. There are two approaches to integration: per-transaction based and per-object based. Several integration techniques have been developed following the per-transaction based approach, but the per-object based approach is more promising since the conflict between transactions is basically due to the contention for data objects. In this dissertation, we propose an integrated concurrency control algorithm following the per-object based approach. The type of each data object implies what algorithm controls the data object. It can change during the transaction execution for the performance improvement. The reconcilement of serialization order by each method, by assigning the transaction number when the transaction reaches its maximal locking point, enables direct integration of the 2PL and the PV. In maintaining the type of data objects in time-variant manner, the estimated time wasted in controlling transactions acts as the measure for selection of the appropriate algorithm.