public function formatTableForeign(array $data) {
        $ref = explode('.', $data['references']);
        $key = sprintf($this->getClause(self::FOREIGN_KEY), $this->quote($data['column']), $this->quote($ref[0]), $this->quote($ref[1]));

        if ($data['constraint']) {
            $key = sprintf($this->getClause(self::CONSTRAINT), $this->quote($data['constraint'])) . ' ' . $key;
        }

        $actions = $data;
        unset($actions['references'], $actions['constraint'], $actions['column']);

        foreach ($actions as $clause => $action) {
            $value = '';

            if ($this->hasKeyword($action)) {
                $value = $this->getKeyword($action);
            }

            $key .= ' ' . sprintf($this->getClause($clause), $value);
        }

        return $key;
    }