private function mainConstruct($key = null, $fail = false)
    {
        $this->getModel();
        $this->getTable();
        $this->columns();
        $this->key();
        if (!is_null($key)) {
            $this->struct($key, $fail);
            $this->_state = CRUD::UPDATE_STAT;
        } else {
            $this->_state = CRUD::CREATE_STAT;
        }
    }