¿Cuándo usar .mdf y cuándo .sdf?

Después de ver muchas cosas en Internet, no he encontrado ninguna explicación entre los dos tipos de archivos:.mdf y.sdf.

.sdf Sería una versión compacta de SQL Server (.mdf) Yo creo. Aún así parecen completamente diferentes.

Han seguido los dos tutoriales en msdn, es decir,MVC Movie App y elTienda de música. Ambos usan.sdf.

Cita parcial (completo): 'En primer lugar, debe ser "| DataDirectory | ASPNETDBContext.mdf" (note la diferencia de extensión). Su solicitud ...

Ambos tutoriales tienen la cadena de conexión para.sdf, es decir:

<add name             ="MovieDBContext"
     connectionString ="Data Source=|DataDirectory|Movies.sdf" 
     providerName     ="System.Data.SqlServerCe.4.0"
/>

<add name             ="MusicStoreEntities" 
     connectionString ="Data Source=|DataDirectory|MvcMusicStore.sdf" 
     providerName     ="System.Data.SqlServerCe.4.0"
/> 

Pregunta:

Mi pregunta es qué usar, dónde y cuándo? Más sobrepor qué para usar cual donde.

Respuestas a la pregunta(3)

Su respuesta a la pregunta