### 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.
self, schedule_interval_arg, expected_timetable, interval_description
    ):
        dag = DAG("test_schedule_interval_arg", schedule=schedule_interval_arg)
        assert dag.timetable == expected_timetable
        assert dag.schedule_interval == schedule_interval_arg
        assert dag.timetable.description == interval_description
    def test_timetable_and_description_from_dataset(self):
        dag = DAG("test_schedule_interval_arg", schedule=[Dataset(uri="hello")])
        assert dag.timetable == DatasetTriggeredTimetable()
        assert dag.schedule_interval == "Dataset"
        assert dag.timetable.description == "Triggered by datasets"
    def test_schedule_interval_still_works(self):