System.Data
is a namespace, System.Data.DLL
(the file) is an assembly.
A namespace is a logical grouping of types (mostly to avoid name collisions). An assembly can contain types in multiple namespaces (System.DLL
contains a few…), and a single namespace can be spread across assemblies (e.g. System.Threading
).