Veri kavramı: tanım, örnekler

İçindekiler:

Veri kavramı: tanım, örnekler
Veri kavramı: tanım, örnekler
Anonim

Veri genellikle programlama ile ilişkilendirilir ve modern bilgi dünyasında mantıksal olarak eşdeğer üç versiyonda sunulur: bir programlama dilinde bir programda açıklanan ve kullanılan veriler; veritabanı sistemlerindeki veriler; Dağıtılmış bilgi sistemlerindeki veriler. Modern programlama, bilgi biçimselleştirmenin yalnızca ilk çeşidine görece özgürlük vermiştir. İkinci iki seçenek, bileşenleri arasında bilgi ve ilişkiler sağlamanın aşağı yukarı güvenilir biçimleridir.

Geçmiş ve şimdiki veriler

Programlama dillerinin temel konumu, veri ve algoritmaların tam olarak tanımlanmasıdır. Bilgisayarlar herhangi bir belirsizlik şansı "sunmazlar": Üzerinde işlem yapılması gereken bir şey vardır ve bu işlemi gerçekleştiren bir komut vardır.

Modern konsept çok daha yüksek bir temele dayanmaktadır: Bir veri vardır ve tam olarak ne olacağı kullanım yerinde belirlenir. Her durumda, kullanım sırasında veriler otomatik olarak kontrol edilir ve doğru türe dönüştürülür. Modern bir programcı, algoritmadaki ön tanımlarına ve tür uyumluluğuna dikkat etmek zorunda değildir.

Geçmiş ve şimdiki veriler
Geçmiş ve şimdiki veriler

Geçiş süreci:

  • yazılan verilerden ve kullanımdan önce zorunlu açıklamasından;
  • yazılmamış verilere ve herhangi bir açıklama ve kullanım zorunluluğundan muafiyet.

Aslında, resmileştirme gereksinimlerinin göreceli gevşemesini fark edebiliriz - bu yalnızca modern programlama araçları ortamında kullanılabilir. Çalışma zamanında, her verinin türü sabittir ve komut dizisi iyi tanımlanmıştır.

Türler ve Modelleme

Matematik ve fizik, ticaret ve üretim, ekonomi ve sayıların kullanıldığı diğer alanlar her zaman verilerle işlemiştir ve tip kavramına hiç önem vermemiştir. Sayıların tam veya kesirli olabileceği gerçeği gerçekten önemli değildi.

Her belirli formül veya belirli eylem bir tamsayı, sonsuz kesir, gerçek veya karmaşık sayı verebilir. Şimdiye kadar, sonsuz küçük ve sonsuz büyük gibi zihnin harikaları vardır. Üstelik bu mucizelerin özellikleri bile var.

Programlamada hala özgürlük yok. Her şey kesinlikle resmileştirilmelidir. Veri kavramı her şeyden önce bir türdür:

  • tamsayı;
  • boolean;
  • karakter;
  • dize vb.

Türlerin adları farklı programlama dillerinde farklılık gösterebilir, ancak her zaman bir tamsayı veya gerçek sayı, boole değeri, sembol,astar. Hala kalıntılar ve belirli fikirler var: işaretsiz tamsayı, kod, bayt, kelime, çift kelime, sabit uzunluklu dize.

Kalıntılar ve fikirler
Kalıntılar ve fikirler

Veri sistemindeki veri kavramının özgürlüğü yoktur. SQL dili - "uluslararası" (her modern veritabanı için bir lehçe vardır) - yalnızca verilerde değil, aynı zamanda sql sorgularında da herhangi bir yanlışlığa tolerans göstermez. İstekteki bir hata, bir sonucun olmadığının garantisidir. Tanım ihlalleri hakkında konuşmaya hiç gerek yok.

Bilgi süreçlerini ve veri temsillerini modellemek, gelişebilen ve değişen koşullara uyum sağlayabilen bir yapı inşa etmenin tek kesin yoludur.

Orijinal dinamikler

Doğal bilgi sürekli değişimdir. Belirli bir konu alanında bir veri modelinin resmi bir tanımını ve kavramını vermek, üç sorunu çözmek anlamına gelir:

  • burada hangi verilerin olduğunu tanımlayın;
  • aralarındaki ilişkiyi resmileştirin;
  • verileri ve ilişkileri değiştirmek için süreçleri tanımlayın.

JavaScript'te basit bir algoritmanın veri kümesi örneği - en sağlam veritabanı yönetim sisteminin bile modelinin küçültülmüş bir kopyası.

Sadece ikinci durumda, uzmanlar ve uzmanlar veri yapılarını, tabloları ve ilişkileri tasarlarken genellikle şeylerin özünü görmezler (büyük miktarda doğal bilgiyi kapsamak gerçekten zordur) ve Konu alanında kaynak bilgileri serbestçe ve kolayca dolaşırken, hantal, gelişmemiş bir veri yığını elde edilir.

Statikmümkün

Bir sayfaya eklenen kodu ve olaylara atanan işlevleri sayfa etiketlerine eklemek yaygın bir JavaScript uygulamasıdır. Her iki durumda da sayfa etiketleri, belirli bir web kaynağının kabul ettiği, değiştirdiği veya oluşturduğu verileri tanımlar.

İşleyici kodunuzu bir bütün olarak sayfa koduna değil de öğe olaylarına çok dikkatli bir şekilde konsantre ederseniz, bu en iyi çıkış yoludur. İdeal olarak, kod yeni veriler getirmediğinde veya mevcut verileri düzeltmediğinde, ancak belirli bir anda tam olarak neye sahip olduğuna odaklandığında.

Aslında, "veri" kavramını kaynak bilginin minimal statik bir açıklaması olarak tanımlar ve takip ederseniz, bu başarı şansınız olduğu anlamına gelir.

Veritabanlarıyla ilgili olarak, işler çok daha karmaşıktır. Herhangi bir JavaScript kodu, sayfaya işlevsellik "sağlar". Herhangi bir veritabanı, tabloların, aralarındaki ilişkilerin, saklı yordamların, sorguların ve dışarıdan erişilebilen işlevlerden oluşan bir koleksiyondur.

Statik, herhangi bir algoritmanın sorunudur. Modern veri kavramı statiktir: bir sayı, bir dize, bir karakter vb. İşlem yaparken veya bir veritabanı tablosuna yazarken her şey sorunsuz çıkıyor. Fakat orijinal ne zaman farklı bir boyut veya anlam kazanır? Birinci seçenek: işareti değiştirin, ancak bağlantılar ve istekler hemen devreye girebilir.

Statik ve nesneler

"Veri" kavramını bir nesne olarak tanımlamak, durumu önemli ölçüde değiştirir. Nesnenin kendi yapısı vardır. Burada herhangi bir değişkenin herhangi bir açıklamasını kullanabilirsiniz. Rol oynamaz. Bir nesne, verilerin mevcut olduğu yöntemlere sahiptir. her şeyden beriprogramlama alanında kullanılan, yani üç temel yöntem: oku, yaz, değiştir. Karşılaştırmak, aramak, klonlamak vb. için daha fazlasını ekleyebilirsiniz.

Konu alanı, her veriye bir dizi özellik yükler. Böylece veri kavramının dinamik olarak değiştirilebilen bir tür tanımlamaya dönüştüğü ortaya çıkmaktadır. Bir nesnenin içindeki statik, onun dışındaki dinamikleri verir.

Bir nesnenin içindeki statik tanımlayıcıların kombinasyonunu değiştirerek, onun diğer nesnelerle olan ilişkilerinin dinamikleri hakkında endişelenmenize gerek yok.

Verilerin programlanması ve sunumu

Veri nedir? Kamu bilinci zaten bilgi teknolojisine alışmış, bulutlarda çalışıyor ve sanal alanlarda kapsayıcılara sahip. Artık sadece profesyonel programcılar ve kullanıcılar değil, sıradan insanlar da bilgi ve kullanımı konularında yetkin.

Kamuoyu
Kamuoyu

Ama programlama nedir? Bugüne kadar kamuoyu bu kavram ve kavramlarına şu tanımı vermektedir:

  • Bilgi ve veri, bilgisayar biliminde kullanılan temel kavramlardır.
  • Veri, çevredeki gerçekliğe göre alınan ve kaydedilen gözlemlerin belirli bir yoludur.
  • Basit ve karmaşıktırlar (yapılar), birincil ve ikincildir.
  • Veritabanı, bulunabilmeleri, değiştirilebilmeleri ve kullanılabilmeleri için sistematik bir şekilde sunulan bağımsız materyallerin bir koleksiyonudur.

Bu ne kadar objektif? yetkili yazarlaröyle düşünüyorum. Gerçek uygulama, her konu alanının kendi doğru veri sistemini belirlemesini sağlama eğilimindedir ve iyi bir dinamik model oluşturmak için her fırsatı verir.

Bir müşterinin (tüketicinin), nasıl ve ne yapılacağı konusunda bir programcıya (veritabanı tasarımcısı) kendi fikrini empoze etmesi alışılmadık bir durum değildir. Programlama açısından, müşterinin herhangi bir isteği en yüksek hassasiyetle yerine getirilebilir.

Kırsal su temini (köydeki 21 numaralı bina) için bütçeleme sorununu çözmek için Oracle'a ihtiyaç var - iyi. Rusya'daki tüm postaneler için posta öğeleri için bir takip sistemi düzenlemek için MySQL gereklidir - her şey de işe yarayacaktır.

Veritabanı yönetim sistemi veya programlama dilinin geliştiricisi tarafından oluşturulan veri kavramının tanımı dahilinde her zaman herhangi bir algoritma oluşturabilir ve herhangi bir bilgi temsiline erişim sağlayabilirsiniz. Soru farklı: Maksimum dinamikte minimum maliyetle nasıl yapılır?

Veritabanları, örnekler

Model olmadan basit bir temel oluşturulur. Veri ve iletişimin temel kavramları küçüktür, işlevsellik çok basittir. Örneğin, bir yüksek öğretim kurumu için ihtiyacınız olan:

  • öğretmen tablosu;
  • grup tablosu (anahtar ve grup numarası);
  • genel öğrenci tablosu (grup anahtarları kullanılır).

Dekan, öğretmenlerin ilerlemesini bilmek istiyor. Öğretmenler tablosunda alanlar var:

  • soyad;
  • isim;
  • patronimik;
  • denetlenen grup numarası.

Öğrenci tablosunda alanlar var:

  • soyad;
  • isim;
  • patronimik;
  • doğum tarihi;
  • GPA (tüm dersler için);
  • grup numarası.

Örnekleme için en az iki seçenek olabilir: öğretmenin adını kullanarak grup numarasına gidebilir ve tüm öğrencileri ve ortalama puanlarını veya öğretmenin soyadı ve soyadına göre görebilirsiniz. öğrencinin adı, sonuncusunun ortalama puanını görebilirsiniz.

Basit veritabanı
Basit veritabanı

Bu kadar basit bir versiyonda bile problemler garantidir ve bir şeylerin değiştirilmesi gerekecektir. Durum: öğretmen hastalandı, onun yerine bir ay daha geçti, bu da iki grubu denetlediği anlamına geliyor. Öğretmen tablosunda bir grup numarasının altında sadece bir alan vardır.

Sorunu çözmek için yinelenen bir alan eklemeniz gerekir. Ve ikisi hastalanırsa, üç alan ekleyin. Böylece öğretmenlerin masası sıfırdan büyümeye başlar.

Başka bir seçenek daha var: grup anahtarının sayısal alanını sembolik bir alanla değiştirin. Ardından, her seçtiğinizde, dizeyi bir dizi tuşa dönüştürmeniz gerekecek ve bir sql sorgusu birkaç taneye dönüşecektir.

Daha umut verici bir örnek tablo yapmak değil, nesneler yapmaktır. O zaman öğretmen bir nesnedir ve birkaç denetimli gruba sahip olabilir. Ama her zaman tek bir nesnedir. Öğretmen nesnesinin benzersiz bir anahtarı vardır, ancak birden çok denetlenen gruba sahip olabilir. Grubun ayrıca benzersiz bir anahtarı vardır. Bir de öğrenci.

Üç konum da yalnızca görev içinde mevcut değildir, daha da geliştirilebilir.

Nesneye yönelik temeller

Bilgi sektörü liderleriklasik ilişkisel veritabanları sunar. Hayat tarafından test edilirler, çalışırlar, güvenlidirler, güvenilirdirler ve sorun olması durumunda bilgileri geri yüklemenize izin verirler.

Nesneye yönelik veritabanları (OODB) 1980'lerin ortalarında geliştirilmeye başlandı ve yetkili yazarlara göre bu güne kadar umut vaat ediyor. Ancak şu ana kadar, temel teoriler ve kavramsal hükümler dışında, MySQL, MS SQL Server veya Oracle ile tüm farklı enkarnasyonlarında aynı derecelendirme ve dağıtıma ulaşan hiçbir OODB yoktur.

OO veritabanı
OO veritabanı

Fakat ya veri kavramı, türler, nitelikler, sınıflar, hiyerarşiler, derecelendirmesi bu OODB'nin zihniyetine sahip bir programcılar topluluğu oluşturmak için yetersiz olan bir geliştirici tarafından öneriliyorsa? Kendi gücümüze güvenmemiz gerekecek.

Linux ortamında otuzdan fazla OODB çeşidi oluşturulmuştur. Ancak oluşturulan veritabanının daha fazla işlevsellik gerektirmeyeceği garantisi nerede? Windows ortamı bu alanda pek fazla garanti sunmaz.

Nesneye yönelik çözüm

Ancak, bir çözüm var. Örnek olarak MySQL kullanarak, standart ilişkisel tabloların nasıl çözülmekte olan problemin nesne yönelimli bir modeline dönüştüğünü gösterebilirsiniz.

Kendi OODB'nize bir örnek
Kendi OODB'nize bir örnek

Burada veri tabanı yok, ancak kendi nesne sisteminizi oluşturabileceğiniz bir ortam var. MySQL'in gücü yalnızca bilgi satırlarındaki tablolar için ilişkisel bellek olarak kullanılır. Kullanım mantığı geliştiricinin kendisi tarafından belirlenir. Özellikle bir is_cache tablosu vardır. Herşeye sahipbirkaç temel alan:

  • sahip_kodu;
  • oturum_kodu;
  • h_code;
  • a_sürpriz;
  • a_contents.

Geri kalan alanlar hizmet işlevleri taşır. Bu tablo, herhangi bir talebin girişinde durur ve gelişini kaydeder. Veritabanı modelinin ne işe yarayacağı geliştiricisi tarafından belirlenir. İçerik alanına (a_contents) neyin sığacağı, geliştirici tarafından oluşturulan modelin nesneleri tarafından belirlenir.

Bu fikirde dört şey vardır: hit, hit session, hit geçmişi kodu ve belirli içerik. Çağrı nedir, hangi nesne sistemi kurulmalıdır - geliştirici tarafından belirlenir. Oturum (çalışma süreci) ile ne kastedildiği geliştirici tarafından belirlenir. Geçmiş kodu, istekleri geri alma yeteneğidir.

Buradaki tabloların konu alanı ile ilgisi yoktur. Bir çağrı denetleyicisi (is_cache) var, günlük kaydı var (is_customs), bir çağrı geçmişi var (is_histories). Kalan tablolar çözülmekte olan göreve göre belirlenir.

Aslında, bu çözüm, yerleşik etki alanı veritabanı modeline ve çözülmekte olan soruna dayalı olarak kendi OODB'nizi oluşturmanızı önerir. Burada çok büyük bir artı var - bu sizin kendi veri konseptiniz, kendi sunum modeliniz ve aralarındaki ilişki. Burada bir temel var - harika bir ilişkisel veritabanı. Bir şey ararken ve bir şeyi yanlış anlamakta sorun olmayacak.

Model: nesne sistemi + DBMS

Bilgi teknolojisinde herhangi bir şeyi değiştirmek neredeyse imkansızdır. Gerçek bilgi devrimi hala çok uzakta. profesyonel bilinçyazılım geliştiricileri klasik gelenekleri değiştirmeyecekler. Ama bu durumdan kurtulmanın hala bir yolu var.

İdeal Çözüm
İdeal Çözüm

Kendi modelinizin varlığı için bir ortam yaratmanın temeli olarak güvenilir modern veritabanı yönetim sistemlerini kullanarak gözle görülür bir başarı elde edebilirsiniz.

Her durumda, görevi çözmek için bir görünüm veya veri modeli oluşturmanız gerekecek, ancak bunu doğru bir şekilde yapmanız gerekiyor: bırakın bu bir nesneler sistemi olsun ve ortamı iyi bir VTYS olsun.

Önerilen: