İlişkisel veritabanı nedir? [kapalı]


9

Çoğunlukla sistem yöneticisiyim ve doğrudan bunları yüklemek, hesap oluşturmak, ayrıcalıklar vermek dışında başka veritabanlarıyla çalışmıyorum. Patronun bana doğru yürüdüğünü ve "İlişkisel veritabanı nedir?" Muhtemelen tatmin edici bir cevap veremedim ... Belki de özel bir programlama dili (yani SQL) ile sorgulayabileceğiniz kategorilere göre depolanan ve düzenlenen veriler hakkında bir şeyler mırıldanırdım.

Birisi ilişkisel veritabanı ne için iyi bir "Patron Cevap" verebilir? Ve belki de sadece bir dosya sunucusunda veri depolamaktan ne kadar farklı? Akıllı ama erişilebilir analojiler ve tabloları, sütunları, kayıtları ve alanları açıklayan bonus puanlar. Bir "Patron Cevap" ı teknik olmayan kişiler için hızlı bir (belki iki) paragraf açıklaması olarak tanımlardım ... çoğunlukla Patronunuz, bu nadir durumlarda size bütün gün ne yaptığınızı soruyorlar.


2
Serverfault'un bu soru için doğru yer olduğundan emin değil, ama yararlı. Belki DBA.SE veya Programcılar.SE .
Mart'ta Orbling, 0:34

1
Patronunuz neden böyle bir soru sorsun ve daha da önemlisi sistem yönetimi ile ne ilgisi var?
John Gardeniers

1
@John Gardeniers, Buraya ait olabilir çünkü birçok 'sistem yöneticisi' bir 'veritabanı yönetimi' şapkası giyerler, yani RDBMS'nin nasıl çalıştığını iyi anlarlar. Patronların neden yaptıkları soruları sordukları, kim bilir, ancak kavramları açıkça nasıl iletişim kuracaklarını bilmek iyi bir şeydir.
Zoredache

1
@Zoredache, işimde birçok şapka takıyorum. Bu, hepsinin SF konusuyla ilgili olduğu anlamına gelmez.
John Gardeniers

Aşağıdaki cevaplar çok iyi, ancak ilişkisel olmayan veritabanlarına (btrieve gibi) sahip olabileceğinizi ve yine de uygun uygulama mantığı yoluyla normalleştirilmiş veriler arasındaki ilişkileri koruyabileceğinizi unutmayın.
Mark Henderson

Yanıtlar:


16

İlişkisel veritabanı yalnızca veri depolamakla kalmaz, veriler arasındaki ilişkileri depolar ve bu ilişkileri kullanmayı kolaylaştırır (iyi, daha kolay). İlişkisel veritabanı terminolojisinin ilk günlerinde tablolar, "ilişki" olarak adlandırıldı, çünkü bu ilişkiler ve diğer ilişkiler arasındaki ilişkilerin yanı sıra ilgili veri bitlerini (alanlar, şimdi sütunlar) depoladılar.

Normalleşme karmaşık olmayan ilişkilerin eylemidir: "Her şeyi olabildiğince basitleştir, ama daha basit değil." (Alan Perlis) Bazen "... ama daha basit değil", işleri tamamen normalize etmediğimiz anlamına gelir, çünkü "daha basit" daha karmaşık hale gelir. (Durumu posta kodundan türetebilirsiniz, ama neden rahatsız edersiniz?)


10

İlişkisel veritabanı, verileri yapılandırmanın bir yöntemidir, böylece tek bir olgu tek bir yerde saklanır. Dolayısıyla, John ve Jane Doe her ikisi de aynı şirket için çalışıyorsa, yalnızca şirkete özgü ayrıntıları tek bir yerde depolarsınız (tablo). John ve Jane'e özgü verileri başka bir yerde depolarsınız ve hem John hem de Jane'in şirketle olan ilişkisini üçüncü bir yerde saklarsınız. İdeal dünyada bu, şirket faks numarası değiştiğinde yalnızca tek bir alanı / satırı değiştirmem gerektiği anlamına gelmelidir.

Bir RDBMS'de barındırılan tüm veritabanlarının düzgün bir şekilde normalleştirilmediğini lütfen unutmayın. Performans ve diğer nedenlerle ödünler verilir.

Veritabanı normalizasyonu ile ilgili makaleye bakın. http://en.wikipedia.org/wiki/Database_normalization


4

İlişki veritabanı sistemlerini ayırt etmek için iki temel kavram vardır. Birincisi, öğeler arasındaki ilişkilerin saklanmasıdır. Bu, e-tablo benzetmesi yoluyla açıklanan tablo tablosu modelidir. RDBMS'ler e-tablolardan daha karmaşık hale gelir, çünkü tablolar veya çalışma sayfaları arasında birçok referansa sahip olmak daha kolay ve yaygın uygulamadır (kullandığınız benzetmenin hangi tarafına bağlı olarak).

İkinci RDBMSs bir işlemin fikri uygulamak yani ASİT özellikleri

  • bölünmezlik,
  • tutarlılık,
  • izolasyon ve
  • dayanıklılık

İlişkisel model, birçok karmaşık ilişkinin dahil edilmesine, sorgulanmasına, sıralanmasına, gruplandırılmasına vb. Olanak tanır. İşlemsel model, işlemlerin tamamen gerçekleşmesini veya hiç yapılmamasını sağlar ve ilişki modelini tutarlı ve doğru tutar. En azından doğru programlamanın bu şekilde kalmasını mümkün kılmak.


3

İlişkisel veritabanı, birçok çalışma sayfasına sahip bir Excel Çalışma Kitabı ve dizin oluşturma ve önbelleğe alma gibi performans optimizasyonları yapmak, aynı anda birçok kullanıcının güvenli erişimini sağlamak ve yayılabilecek verileri verimli bir şekilde görüntülemenizi sağlamak için çevre bir yazılım ortamı gibidir. farklı çalışma sayfalarının çoğunda.


1

İlişkisel veri sapması, ilişkisel bir modelde depolanan verileri depolamak ve almak için bir araçtır.

İlişkisel bir veri modeli, verilere tutarlı bir şekilde erişilmesini sağlayan, tasarımın doğruluğunun kanıtlanmasını sağlayan ve izin veren küçük bir sayıya göre (hangi kitabı okuduğunuza bağlı olarak, 4 veya 5 kural) oluşturulur. hızlı bir şekilde veri alma çalışmalarının çoğunu yapmak için veritabanı yönetim sistemi (DBMS). Ayrıca, verilerin yapısını resmi olarak belgelemek için araçlar sağlar - bir veritabanının uygulanması belgelerin çoğunu kendiliğinden uygular.

Çoğu insan, doğruluğun neden önemli olduğunu anlamamaktadır - bu, bir çözümün geliştirilmesinde hataların ortaya çıkma olasılığının daha düşük olduğu anlamına gelir - ve (e.hg) benzer alanlarda çalışan 2 farklı programcının çabayı yineleme olasılığının daha düşük olduğu anlamına gelir.

Uygulamanın ön ucundan ayrı bir varlık olarak ve verilerin yapısının tutarlı bir görünümü ile, bir veritabanı yönetim sisteminin kullanılması, ön uçta farklı amaçlarla farklı amaçlarla kullanılmasına izin verir - böylece daha fazla faydalanabilirsiniz Bir çözüm oluştururken hazır bileşenlerin

Veri depolamak için ilişkisel modelden başka modeller de vardır - ancak başka hiç kimse (tecrübelerime göre) verilerinizin geliştirilmesi ve yönetilmesi için araçların hem basitliğine, esnekliğine hem de kullanılabilirliğine yaklaşmaz.


1

% 100 teknik olmayan bir cevap:

İlişkisel veritabanı, fazlalığı en aza indirecek ve kolayca aramanıza izin verecek şekilde verileri depolamak için bir yerdir.

Bir evcil hayvan mağazası için bir veritabanı varsayalım. Mağazanın eşyaları var, müşterileri var ve satışları var. Bunu Excel'e koyacak olsaydık, sütunlar için buna sahip olabilirsiniz:

Müşteri Adı | Müşteri telefon numarası | Müşteri adresi | Satın alınan ürün | Fiyat | tarih

İlk müşteri, Bayan Smith, kedi maması satın alıyor:

Müşteri Adı | Müşteri telefon numarası | Müşteri adresi | Satın alınan ürün | Fiyat | tarih
Bayan Smith | 123-555-1234 | 10 Ana Cadde | Kedi maması | 15 $ | 2011-03-11

Sonra Bayan Smith de bir kedi oyuncağı istiyor:

Müşteri Adı | Müşteri telefon numarası | Müşteri adresi | Satın alınan ürün | Fiyat | tarih
Bayan Smith | 123-555-1234 | 10 Ana Cadde | Kedi maması | 15 $ | 2011-03-11
Bayan Smith | 123-555-1234 | 10 Ana Cadde | Kedi oyuncağı | 1 $ | 2011-03-11

Ve temelde her 2 haftada bir geri geliyor ve aynı şeyleri alıyor. Bu yöntemle, birçok bilgiyi çoğaltırsınız ve bu da hatalara neden olabilir. Ayrıca bir envanteri depolayamazsınız, diğer bir Excel sayfası olması gerekir ve her satışta bir güncellenmesi gerekir.

Bir veritabanında üç ayrı varlığımız olabilir: Müşteriler (bilgileriyle birlikte), Öğeler (açıklama ve fiyatla) ve Satış (müşteriler ve öğeler arasında tarih ve miktar içeren bir bağlantı).


Ayrıca, bu bahsetmek çok önemlidir: pinaldave.com/blogfolder/dilbert5.jpg
MPelletier

1

Burada bazı iyi teknik cevaplar. Ama patronum hiçbirini anlayamaz!

Son derece basit bir açıklama ile başlıyorum - 'Verilerinizi bir dosyaya kaydederseniz, bu uzun bir liste olarak görünür. İlişkisel veritabanı verileri bir harita veya grafik gibi kaydeder, böylece haritanın farklı bölümleri birbirine bağlanır ... '

Ve bir örnek - '.... örneğin adınız adresinize bağlanır ve bu da şehrinize bağlanabilir.'

Önem verdiği iş faydalarının ardından - 'Bunun avantajı, karmaşık verileri elde etmek için kod yazmayı çok daha ucuz hale getirmesidir, örneğin "soyadı Smith olan Seattle'da yaşayan tüm insanları bul". Ayrıca ilişkisel veritabanları çok güvenilir ve hızlıdır. '

Ve bunu bir güvenilirlik ifadesiyle bitirin - 'İlişkisel veritabanları yıllardır var, çok olgun teknoloji parçaları. Bizim özel ürünümüz [ürün adı burada] '.


0

Patronum DBA, ancak sıralamasında:

Excel'deki iki tabloyu ve bir tablodaki öğeleri diğerine referans vermek için LOOKUP işlevini düşünün. Şimdi bunu en az 10 kat artırın.

Bu, bazı insanların bilgisayar düzeyiyle ve çalışmalarıyla ilgili.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.