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).