Veritabanlarının tarihi: veritabanı ve DBMS

Uzun zaman önce bir Amerikan ülkesinde, büyük bir BT şirketinde, bir zamanlar çok büyük miktarda veri depolama görevi ortaya çıktı. Bunun nesi bu kadar zor, soruyorsun? Sonuçta, büyük şirketlerin parası var, bu da daha fazla sabit disk satın alabileceğiniz anlamına geliyor - hepsi bu.

Harika fikir ama dedikleri gibi şeytan ayrıntıda gizlidir. Büyük miktarda verinin sadece saklanması değil, aynı zamanda değiştirilmesi gerekiyordu ve bunlardan çeşitli örnekler yapıldı. Üstelik farklı yerlerden farklı veriler seçip, bunu da hızlı ve güzel bir şekilde yapmanız gerekiyor.

Genel olarak, her şey her zamanki gibi: müşteriler var olmayan bir şey istedi ve bu sefer sabit disk satın alma kararı işe yaramadı.

Bu nedenle, bu BT şirketinin programcıları kendilerine daha büyük bir bütçe ayırdılar, araştırma çalışmaları yaptılar ve bütçe bittiğinde, verileri Veritabanı biçiminde depolamanın önerildiği bir sunum sundular. Bir veritabanında, tüm veriler tablolarda saklanır ve her tablo ayrı bir dosyada saklanır. Dahice olan her şey basittir ve her şey çalışır.

Ancak böyle bir sunum müşterilere uymadı ve nitelemeye devam edildi:

  • Para nerede, Lebowski?
  • Veritabanı, verilerin bir dizi dosya biçimindeki eski güzel depolamasından neden daha iyidir?
  • Gerçekten iyi bir çözüme ihtiyacımız var, hepsi bu değil!
  • Ve tüm bütçeyi mi aldı?

Sunum odasında ölüm sessizliği vardı. Bununla birlikte, beklenmedik bir şekilde, durum, veritabanına özel bir programın eklendiğini söyleyen genç bir geliştirici tarafından kurtarıldı - bir DBMS (Veritabanı Yönetim Sistemi):

  • Veritabanlarını oluşturma, değiştirme ve silme
  • Veritabanlarında değişiklikler yapın, yani: yeni kayıtlar ekleyin, eskileri silin ve değiştirin
  • Ayrıca herhangi bir verinin çeşitli seçimlerini gerçekleştirmek için süper hızlı

Ve programcılar, verileri filtrelemek için özel bir süper dil olan SQL'i tasarlamayı bile bitiriyorlar . Ve bu büyülü SQL dilinin yardımıyla herhangi bir yöneticinin veritabanından herhangi bir veriyi kolayca filtreleyebileceğini ve alabileceğini söylüyorlar.

Programcılar dili tasarlamayı henüz bitirmediler , bu nedenle sunumda SQL ve DBMS hakkında tek kelime yok.

Müşterilerin duydukları açıklamadan etkilenmesi, herkesi memnun etmesi, bu yeni dilin nasıl olması gerektiği konusunda birbiriyle çelişen birkaç fikir belirtmesi ve hatta geliştirilmesi için bütçe ayırması herkesi sevindirdi.

Yöneticiler ve Teknik Direktör, projenin başarıyla tamamlanmasından dolayı birbirlerini tebrik etmeye başladılar ve tüm bu hikayedeki genç programcının en önemli kişi olduğunun tam olarak farkına varmadan hemen bu olayı kutlamaya gittiler ...

Popüler DBMS ve MySQL

Şu anda (2022 yazı) yüzlerce popüler DBMS var, bu yüzden bazılarını öğrenmeniz faydalı olacaktır. Ne ile başlamalıyım…

Bir yandan, kurumsal DBMS pazarı onlarca yıldır var. Bu nedenle, hem tanınmış liderlere hem de gelecek vaat eden yeni gelenlere sahiptir. Öte yandan, iş gereksinimleri sürekli artıyor, bu nedenle şirketlerin BT altyapılarını oluşturmaya yönelik yaklaşımlar sürekli değişiyor.

Artık yatay ve dikey parçalamalı, dağıtılmış işlemlere sahip birkaç bin sunucudan oluşan bir kümeden bir veritabanının yanı sıra gidip sunucu sabit sürücülerini buna göre değiştiren birkaç düzine sistem yöneticisinden oluşan bir BT departmanıyla kimseyi şaşırtmayacaksınız. önceden belirlenmiş bir program.

Genel olarak, büyük bir şirkette çalışıyorsanız, büyük olasılıkla veritabanları için çok para ödüyorlar ve bunun gibi bir şey kullanıyorlar:

Oracle Veritabanı

Oracle, ilk veritabanını 1979'da (43 yıl önce) piyasaya sürdü. Müşterileri ürünün yeni değil, zamana göre test edilmiş olduğuna ikna etmek için hemen Oracle 2.0 adını aldı.

Veritabanının mevcut sürümü Oracle 21 c , burada c harfi kelime bulutu , Oracle'ın zamana ayak uydurduğunu ve çözümlerinin tüm bulut teknolojileriyle mükemmel uyumlu olduğunu ima ediyor gibi.

Microsoft SQL Sunucusu

Microsoft, Windows'u değil, orta ve büyük ölçekli işletmeler için sunucu çözümlerini satarak çok para kazanıyor. Microsoft Office, Microsoft SharePoint, Microsoft Server vb. Ve elbette tüm bunlar iyi bir veritabanı gerektirir. Bu nedenle, Microsoft ürün ve çözümlerini kullanan birçok şirket, veritabanını kullanmak zorunda kalmaktadır.

Microsoft'un DBMS'sine kısaca SQL Server denir, bu nedenle bir röportajda "SQL Server ile çalıştınız mı?" sorusunu duyarsanız, bunun soyut bir DBMS değil, Microsoft SQL Server olduğunu bilin.

postgresql

Bu, genellikle yalnızca küçük ve orta ölçekli şirketler tarafından değil, aynı zamanda büyük şirketler tarafından da kullanılan iyi bir ücretsiz DBMS'dir. Bu, Amazon AWS'nin hizmet olarak veritabanı olarak sunduğu veritabanlarından biridir.

MySQL

MySQL çok popüler ücretsiz ve açık kaynaklı bir veritabanıdır. İyi belgelenmiştir, hızlı çalışır ve çok çeşitli özellikleri destekler. Bugüne kadar, bu DBMS'nin 8. sürümü mevcuttur.

2008'de Sun, 2009'da Oracle tarafından satın alındı. Ve bu sadece ona fayda sağladı - ürün sürekli gelişiyor ve gelişiyor.

Örnek olarak MySQL Community Server 8.0 kullanarak veritabanlarıyla nasıl çalışılacağını öğreneceğiz .

Veritabanındaki tablolar: sütunlar ve sütunlar

Farklı DBMS'ler verileri farklı biçimlerde depolayabilir, bu nedenle en basit ve en klasik seçeneği, MySQL DBMS'yi alacağız.

Ve hemen soru şu: örneğin herhangi bir muhasebe belgesi nasıl saklanır? En kolay seçenek, her belgeyi bir Excel dosyası olarak saklamaktır. Ardından ilgili tüm belgeler tek bir klasörde saklanabilir. MySQL böyle çalışır.

Başka bir benzetme: Java dilinde, projenizde sınıflar ve paketler bulunur , ancak aynı zamanda, sınıflar ve paketler diskte dosyalar ve klasörler olarak temsil edilir . MySQL'de benzer bir şey var.

MySQL verileri, veritabanlarında birleştirilen tablolar biçiminde saklanır , ancak aynı zamanda tablolar ve veritabanı, diskte dosya ve klasörler olarak sunulur . Veritabanı bir klasördür ve içindeki dosyalar tablolardır.

Her tablo sütunlardan ve satırlardan oluşur . Örnek:

Önemli! Her sütunun bir adı ve veri türü vardır , dolayısıyla aynı sütundaki tüm hücreler aynı türdeki değerleri saklamalıdır .

MySQL'deki bir tablo ile Java'daki bir sınıf arasında bir benzetme yapılabilir. Tablo bir sınıftır, sınıf gibi bir tablonun da benzersiz bir adı vardır. Tablo sütunları sınıf alanlarıdır; alanlar gibi sütunların da benzersiz bir adı ve türü vardır. Tablo satırları, Java'daki sınıf örnekleridir.

Bir sınıf, nesneler olmadan var olabilir ve bir tablo, satırlar olmadan var olabilir. Java'da yeni bir nesne oluşturabilir ve MySQL'de bir tabloya yeni bir satır ekleyebilirsiniz. Bir nesnenin alan değerlerini değiştirebilirsiniz ve MySQL'de sıradaki değerleri değiştirebilirsiniz.

Bir tablonun bir sınıf değil, belirli bir sınıfa ait nesnelerin bir koleksiyonu olduğunu söylemek daha da doğrudur. MySQL'de çalışanlarla ilgili verileri içeren bir Çalışan tablomuz varsa , Java'da ArrayList koleksiyonunu kullanırdık.

Ve tabii ki hemen şu soru ortaya çıkıyor: bu koleksiyondan belirli veriler nasıl elde edilir?