вау, 4 часа и ответа нет; У меня был подобный опыт в школе, но я только изучил материал и выяснил, что это будет хорошо для позже. это оказывается очень полезным, поэтому давайте посмотрим, поможет ли это -
база данных формально определяется как набор отношений, но это также граф; каждая таблица является узлом, каждый столбец является узлом, связанным с таблицей, каждая строка является узлом, связанным с таблицей, каждое поле является узлом, связанным с этой строкой, отношения между таблицами соединяются узлами, отношения внешнего ключа связывают строки, запрос ограничения (где предложения) и соединения узлов и наборов узлов и т. д.
Запрос SQL может быть визуализирован как обход графа, сформированного отношениями и значениями базы данных, и выполнение операций на каждом узле. Под этим скрывается то, что делает планировщик выполнения запросов, он разбивает запрос на набор фундаментальных операций и упорядочивает их в наиболее эффективный график.
Обновления в вашей базе данных также могут рассматриваться как графовые операции, например Обновление количества в строке позиции строки заказа приводит к распространению изменения к итоговой сумме в строке заказа, которое распространяется на изменение TotalSales в строке Customer и т. д.
многие общие проблемы переходят в задачи обхода графа. Вы когда-нибудь использовали Google Maps, чтобы проложить маршрут до какого-то места?