Klasik Dosya Sistemi, bazı faaliyetler sonucunda toplanan verilerin depolanmasında kullanılan bir yapıdır. Bu sistemin temel özelliği, saklanan veriler ile bu verileri işleme alacak olan programların aynı bilgisayar üzerinde çalışmasıdır. Depolanan verileri kullanacak olan bilgisayar programının, kullanacağı dosyaların yapısı ve dosyalara erişim biçimleri konusunda bilgi sahibi olması gerekir.
Veritabanları sayesinde, klasik dosya sistemlerinden tamamen farklı olarak her uygulama için ayrı bir alan tutulması yerine, gereksinim duyulan tüm verilere tek bir veritabanı üzerinden erişim sağlanır.
Klasik Dosya Sistemi, günümüzde halen daha kullanılmaktadır. Küçük verileri saklamak ve sonrasında işleyebilmek adına bu yapı, çok büyük veriler ile işlemler yapmayan ve verinin önemi düşük oldugu projelerde kullanılabilir. Ama tabii ki sağladığı yönetim biçimi ve modernliği sebebi ile Veritabanları daha çok tercih edilmekte. Bu söz ettiğim firimalar çok küçük bir azınlık. Ayrıca klasik dosya sistemini kullanan bir teknoloji olarak Excel örnek verilebilir.
Burada dosya sisteminin nasıl çalıştığına dair örnek bir şema verilmiştir:
Aynı veri, farklı dosyalar içerisinde tekrar tekarar yer alır. Hem müşteri hem de fatura dosyalarında müşteriye ait verilerin tutulması buna bir örnektir. Kısaca veriler için kategorize edilmiş bir dosya sistemi yoktur.
Aynı veri, birden fazla sayıda dosyada barındırıldığından verinin bir dosyada güncellenip, diğer bir dosyada güncellenmemesi veri bütünlüğünün (DATA INTEGRITY) bozumasına sebep olur. Bunun sonucunda bir biri ile çelişen verilerin üretilmesi söz konusu olur.
Aynı veri, çok sayıda dosyada barındırıldığından mütevellit disk üzerinde bir israfa sebep olur. Ayrıca, bir den fazla dosyaya yazma işlemi yapıldığından ram üzerinde de gereksiz bir yük olacaktır.
Verilere erişim için bir araç olarak kullandığımız programlama dilleri, genelde kullanım alanı ve amacına göre uygun standartlaştırılmış diller olsa da bu gibi bir yapıda standartlaşmış bir dil söz konusu değildir. Çünkü, uygulamadan uygulamaya göre farklı dillerin kullanılması gerkir. Ve bu da programcının işini epey bir zorlaştıran hususlardan birisidir.