Как применяется реляционная теория в тех направлениях, о которых я могу заботиться, изучая ее? - PullRequest
2 голосов
/ 18 сентября 2008

Итак, я беру курс Discrete Math из MIT OpenCourseWare, и мне интересно ... Я вижу связь между отношениями и графиками, но недостаточно, чтобы "владеть" им. Я также внедрил простой конечный автомат в SQL, так что я неплохо разбираюсь в графиках, но не в более строгом исследовании того, как соотношения и наборы применяются соответствующим образом. Должен ли я просто следовать за ходом мыслей Йегге, где я просто просматриваю вещи, которые я не с готовностью лачу, и возвращаюсь, когда узнал больше? Я хотел бы иметь возможность лучше анализировать структуры графиков, которые я создаю изо дня в день (звучит забавно), и хочу убедиться, что сейчас я не передаю ценную информацию.

(РЕДАКТИРОВАТЬ: я хотел бы получить лучшее представление о том, как различные свойства набора и отношения связаны с такими вещами, как теория графов и как базовая теория графов относится к множествам / отношениям.)

Какие-нибудь хорошие ресурсы, где я мог бы узнать больше об этом? Я использую 5-е издание «Дискретная математика и ее приложения» Розена, если это имеет значение.

Спасибо!

1 Ответ

3 голосов
/ 18 сентября 2008

вау, 4 часа и ответа нет; У меня был подобный опыт в школе, но я только изучил материал и выяснил, что это будет хорошо для позже. это оказывается очень полезным, поэтому давайте посмотрим, поможет ли это -

база данных формально определяется как набор отношений, но это также граф; каждая таблица является узлом, каждый столбец является узлом, связанным с таблицей, каждая строка является узлом, связанным с таблицей, каждое поле является узлом, связанным с этой строкой, отношения между таблицами соединяются узлами, отношения внешнего ключа связывают строки, запрос ограничения (где предложения) и соединения узлов и наборов узлов и т. д.

Запрос SQL может быть визуализирован как обход графа, сформированного отношениями и значениями базы данных, и выполнение операций на каждом узле. Под этим скрывается то, что делает планировщик выполнения запросов, он разбивает запрос на набор фундаментальных операций и упорядочивает их в наиболее эффективный график.

Обновления в вашей базе данных также могут рассматриваться как графовые операции, например Обновление количества в строке позиции строки заказа приводит к распространению изменения к итоговой сумме в строке заказа, которое распространяется на изменение TotalSales в строке Customer и т. д.

многие общие проблемы переходят в задачи обхода графа. Вы когда-нибудь использовали Google Maps, чтобы проложить маршрут до какого-то места?

...