<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_create_table_sql(self, table_name, columns, options=None):
 """ Returns the SQL used to create a table. :param table_name: The name of the table to create :type table_name: str :param columns: The table columns :type columns: dict :param options: The options :type options: dict :rtype: str """

        options = options or {}

        column_list_sql = self.get_column_declaration_list_sql(columns)

        if options.get("unique_constraints"):
            for name, definition in options["unique_constraints"].items():
                column_list_sql += ", %s" % self.get_unique_constraint_declaration_sql(
                    name, definition
                )

        if options.get("primary"):
            column_list_sql += ", PRIMARY KEY(%s)" % ", ".join(options["primary"])

        if options.get("indexes"):
            for index, definition in options["indexes"]:
                column_list_sql += ", %s" % self.get_index_declaration_sql(
                    index, definition
                )

        query = "CREATE TABLE %s (%s" % (table_name, column_list_sql)

        check = self.get_check_declaration_sql(columns)
        if check:
            query += ", %s" % check

        query += ")"

        sql = [query]

        if options.get("foreign_keys"):
            for definition in options["foreign_keys"]:
                sql.append(self.get_create_foreign_key_sql(definition, table_name))

        return sql