Говоря о реляционных базах данных, логическая модель - это база данных, представленная в терминах отношений (или таблиц), значений, ключей и ограничений целостности, таких как отношения внешнего ключа. Модель физическая показывает, как эти данные на самом деле хранятся в виде структур данных в файлах или в памяти. Различные системы реляционных баз данных могут представлять одну и ту же логическую модель, но физическая модель будет специфичной для системы и оптимизированной для различных целей. Логико-физическое отображение не обязательно должно быть 1: 1, в некоторых случаях одна логическая таблица может быть физически разделена на несколько файлов или даже несколько машин, или логическое объединение может храниться (кэшироваться) как одна физическая таблица. Это должно быть прозрачно на логическом уровне, но влияет на производительность.
SQL работает на логическом уровне, поскольку вы запрашиваете таблицы одинаково, независимо от физического представления. Некоторые диалекты SQL могут поддерживать советы по оптимизации на основе характеристик физической модели.
Следовательно, в Entity Framework то, что называется моделью хранения , на самом деле является логической моделью базы данных, поскольку модель хранения EF не зависит от какой-либо конкретной реализации базы данных. Физическая модель базы данных вообще не представлена в EF, AFAIK.
EF затем строит еще один слой поверх этого, который EF называет концептуальной моделью . Концептуальная модель обычно более специфична для конкретного приложения. Различные приложения в одной и той же базе данных могут иметь разные концептуальные модели, основанные на общей логической модели. (Кстати. Модель хранения в EF не должна представлять всю логическую модель БД, она может быть подмножеством. Но включенное подмножество должно отображать 1: 1 в логическую модель БД)