### 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.
dataset1 = Dataset(uri="ds1")
        dataset2 = Dataset(uri="ds2")
        for dag_id, dataset in [("datasets-1", dataset1), ("datasets-2", dataset2)]:
            with dag_maker(dag_id=dag_id, start_date=timezone.utcnow(), session=session):
                EmptyOperator(task_id="task", outlets=[dataset])
            dr = dag_maker.create_dagrun()
            ds_id = session.query(DatasetModel.id).filter_by(uri=dataset.uri).scalar()
            session.add(
                DatasetEvent(
                    dataset_id=ds_id,
                    source_task_id="task",
                    source_dag_id=dr.dag_id,
                    source_run_id=dr.run_id,
                    source_map_index=-1,
                )
            )
        ds1_id = session.query(DatasetModel.id).filter_by(uri=dataset1.uri).scalar()
        ds2_id = session.query(DatasetModel.id).filter_by(uri=dataset2.uri).scalar()
        with dag_maker(dag_id="datasets-consumer-multiple", schedule=[dataset1, dataset2]) as dag:
            pass
        session.flush()
        session.add_all(
            [