### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
dag = DAG(
            "dag",
            start_date=DEFAULT_DATE,
        )
        with dag:
            EmptyOperator(task_id="task", owner="owner1")
            subdag = DAG(
                "dag.subtask",
                start_date=DEFAULT_DATE,
            )
            
            subdag.parent_dag = dag
            SubDagOperator(task_id="subtask", owner="owner2", subdag=subdag)
        session = settings.Session()
        dag.sync_to_db(session=session)
        orm_dag = session.query(DagModel).filter(DagModel.dag_id == "dag").one()
        assert set(orm_dag.owners.split(", ")) == {"owner1", "owner2"}
        assert orm_dag.is_active
        assert orm_dag.default_view is not None
        assert orm_dag.default_view == conf.get("webserver", "dag_default_view").lower()
        assert orm_dag.safe_dag_id == "dag"
        orm_subdag = session.query(DagModel).filter(DagModel.dag_id == "dag.subtask").one()
        assert set(orm_subdag.owners.split(", ")) == {"owner1", "owner2"}
        assert orm_subdag.is_active
        assert orm_subdag.safe_dag_id == "dag__dot__subtask"
        assert orm_subdag.fileloc == orm_dag.fileloc
        session.close()
    def test_sync_to_db_default_view(self):