içinde

Anlamsız Sayılar Teorisi (TMN01)

Anlamsız sayı nedir?

Anlamsız sayılar, bir veritabanı tablosundaki bir kaydı benzersiz şekilde tanımlayan ID ve CODE sütunlarıdır. Bilgisayar programcıları tarafından oluşturuldular ve geleneksel programlamada, D’nin Doktor anlamına geldiğini ve 402’nin en iyi müşteriniz olduğunu hatırlamaktan sorumlu olduğunuz ilk giriş penceresini oluşturdular. Bir giriş penceresine karşı bir harf olduğu ve bir sayı olmadığı için ayrımcılık yapmak yanlış olacağı için [eşitlik yaşı] Bu teoride anlamsız harf kombinasyonları da içeriyor.

Nokta?

Kullanıcıların, General Electric of Massachusetts için 402’yi ve General Electric Turbine Division için 791’i hatırlamaları gerekmemelidir, ancak programcılar gerçekten de bunları veritabanı tablo kayıtları arasındaki ilişkilerin temeli olarak kullanmalıdır. Kullanıcıların onları girmesini veya hatırlamasını beklemeyin: gerçekten anlamsız sayılar ve kodlar kullanıcılardan tamamen gizlenebilir ve bir çalışma olarak, RoloFlex by Alkış Yazılımından her tablonun benzersiz bir anlamsız sayıya dayandığı iyi bir örnek olarak bahsedeceğim. . [referans: http://www.applausesoftware.com/: ücretsiz RoloFlex]

Anlamlı sayı nedir?

Anlamlı bir sayı, genellikle PO # 4067, Satış Siparişi # 1 ve Hızlandırma Bilet # 352-4635A gibi numaralarla belirtilen veritabanı kayıtlarıdır. Bu numaralar kağıt üzerinde bulunur ve bu tür bir kayda atıfta bulunmanın birincil yoludur. Hızlı biletime bakmaya gittiğinizde, gerçekten de benim adımın altına bakabilirsiniz, ancak bir ödeme alındığında [iyi şanslar] 352-4635A numaralı basılan numarayı girip, ödemeyi hızlıca bulup uygulayabilmek istersiniz. Çekim karşılıksız kalmadan önce.

Anlamlı ve anlamsız bir sayı bir arada var olabilir mi?

Evet. Sayısal anlamsız sayılar, her kaydın benzersiz tanımlayıcılarının temelidir ve anlamlı bir sayı, aynı veri tablosunda [her ikisi] benzersiz şekilde dizine alınmış [bulunabilir] sütun olarak bir arada bulunabilir.

Programcılar başlarını tutarken burada bir boşluk var.

Diyelim ki bir veritabanı programcısısınız ve uzunluğu değişen bir dizeden ziyade sayıların [sıralama düzenini tamamen atarak] veritabanı kaydının temeli olması gerektiğini [yalnızca hız ve ilişki amaçları için] bilelim, benzersizinizi programlayabilirsiniz ( anlamsız) hız biletlerinin kimlik sütunu ve ayrıca onu bulmak için kullanılan ascii [karışık sayılar ve harfler] olan benzersiz (anlamlı) bir sütuna sahiptir.

Neden anahtar sütununu, alfa sayısal karakterlerden oluşan insanca girilebilir bir sütunun yanı sıra ilişki amaçları için otomatik bir artış numarası yapmıyorsunuz? Eller lütfen? Kaç programcı otomatik artış # 352-4635A için 200 satır kod yazdı? Anlamsız sayının rolü, 1 satır kodda otomatik olarak artırılmak, kullanıcıdan tamamen gizlenmek ve ana veritabanı tablosu ile olan ilişkinin temelini oluşturmaktır. Speeding Ticket numarasının rolü, bir rekoru 12342345345565’ten daha kolay bir şekilde insanca bulmaktır.

Önerilen Tablo Düzeni:

– Para cezaları-

Sütun: Öğe: Tür: Uzunluk: Dizin: İlgili:
1 ID Sayısal 16.0 1 (benzersiz)
2 TicketNo Ascii 20 2 (benzersiz)
3 VIN_ID Sayısal 10.0 3 VIN.ID // VIN değil (Ascii Alanı)
4 SSN_ID Sayısal 10.0 4 SSN.ID // SSN değil (Ascii Alanı)

-VIN-

Sütun: Öğe: Tür: Uzunluk: Dizin: İlgili:
1 ID Sayısal 10.0 1 (benzersiz)
2 VIN Ascii 20 2 (benzersiz)

-SSN-

Sütun: Öğe: Tür: Uzunluk: Dizin: İlgili:
1 ID Sayısal 10.0 1 (benzersiz)
2 SSN Ascii 11 2 (benzersiz)

Bu yapı, her biri görevini yerine getiren anlamsız sayıları ve anlamlı sayıları yan yana kullanır.

Umarım burada V-8 reklamı gibi kafasını tokatlayan bir programcı vardır.

Anlamsız bir sayının ROLÜ:

Kabul edelim. Anlamsız sayılar burada kalacak. Herkesin bir tane vardır, ancak programcılar hala onlarla ne yapacaklarını bilmiyorlar. ONLARI GİZLE! Çocuğun kimliğine göre ebeveyniyle ilişkilendirildiği ilişkisel bir veritabanı modelinde, değer, başarılı bir kaydetme sonrasında otomatik olarak çocuğa düşecek ve bu sayının görüntülenmesini kesinlikle gereksiz kılacaktır. Pek çok iyi programlama firmasının ABD’nin Auto-Mate Yazılımı http://www.automatesoftware.com gibi Intelligent Design’a dayandığını belirtmeliyim. Alan matris numarasını girin hakkındaki hikayeyi okumak için lütfen bu siteyi ziyaret edin. Harika bir hikaye.

Bir adım daha ileri gidelim ve bir bayta bir bayt diyelim. Bir alan matris numarası veya bir parça numarası olsun, anlamlı veya anlamsız olup olmadığını belirlemek için önemli bir alan aramasının tasarımına gerekli endişenin dahil edilmesi gerekir. Parça numarasında neden ikisi birden olmasın? Programcılar için benim argümanım budur: neden bu tekniği kullanmıyorsunuz, böylece parça numarası yanlış girilirse veya değişirse, ilişkiyi değiştirmeden parça numarasını kolayca yeniden girebilirsiniz? Delilik mi, muhteşem mi? Önemli olan sizin fikriniz.

Alkış Yazılımından (açık kaynak ve ücretsiz) RoloFlex 12.3’te bir örnek alalım. Veritabanı tablolarının tümünün 10 basamaklı sayısal bir benzersiz kimliği vardır: Lütfen çalışan programa bakın ve hiçbirinin görünmediğini göreceksiniz. Ayrıca, anahtar alanları noenter olarak kodladım, böylece görünür hale getirildiklerinde kullanılamazlar! Her şey için on haneli kimlik numaraları? Anlamsız mı Delilik mi?

Yine mi eller? 20 yıllık veri girişini sağlamak için bir kullanıcı anahtar kimliği alanını 6’dan 8’e çıkarmak zorunda kalan her programcı lütfen ayağa kalkın! Bahse girerim aramızda pek çok kişi vardır. Ayrıca, bilgisayarlardaki tarihlerin 6 basamaklı tamsayılar olarak saklandığını ve batı dünyasında altı basamaklı uzunlukta sayıların neredeyse tükendiğini de not edelim! Tarihleri ​​neden 8 veya 10 haneye çıkarmadık? Sanırım öğrenmek için Y6K’ya kadar beklemeliyim!

Hareket halindeki anlamsız sayıların tasarımı:

Bir RDBMS [ilişkisel veritabanı yönetim sistemi] örneğini ele alalım ve özellikle üst ve alt tablo tasarımına bakalım. İlk noktam, çoğu programcı için açık olmalıdır ki, ebeveyn kimliği alanı benzersiz bir şekilde ebeveyni tanımlamak için kullanılır, ancak (anlamsız olarak) kullanıcıya hiç gösterilmez. RoloFlex’te, ana tablonun üst veritabanı tablolarının, bir kaydetme sırasında ana tabloya düşen ve görülmeden ilişki oluşturan benzersiz bir kimliği olduğunu lütfen unutmayın.

Lütfen unutmayın (RoloFlex tabloları için iç tablo tanımlarını incelerken) Anahtar Kimliği sütununun noenter özniteliğine sahip olduğunu, yani kullanıcının ekranda görünmesi durumunda o sütuna yeni bir değer yazamayacağı veya değiştiremeyeceği anlamına gelir. Sistem dosyası sistem dosyasından otomatik olarak artırılır ve benzersiz bir değer olmaktan başka veritabanı tasarımcısı için bile tamamen anlamsızdır. Burada sürpriz yok, ama aynı tekniği görmek için bir çocuk masasına bakalım:

Peki, buradaki sürpriz nedir? Pek çok durumda, alt kayıtlarda tek bir benzersiz anahtar alanının eksikliğini fark ettim. Örneğin, sipariş başlığının alt öğesi, HeaderID ve Linenumber anahtar kombinasyonuna sahip olacaktır. CallHist tablosuna aynı düşünceyi uygularsam, ilk dizin olarak RolodexID ve Call Date birleşimi olur. Bu tekniğin yaptığı [kullanılan], CallHist’e gelecekteki bir alt tablo için temel oluşturmaktır. Başlangıçtan itibaren, gelecekte var olabilecek bir CallHist çocuğuyla potansiyel bire bir sütun ilişkisi oluşturmak için güçlü bir kimlik alanı vardır. Öyleyse amaç, her tablo için benzersiz bir anlamsız sayı olarak bir Kimlik sütununu her zaman programlamak ve buna göre indekslemektir. Ardından, veritabanı tablosunun diğer tüm sütunlarını belirlemeye devam edin.

Ekstra bir bonus olarak, herhangi bir arka uçtan diğer üreticilere nispeten kolay bir iş yapan endekslerin hiçbirinde recnum veya rekor numarasının tanımlanmadığını göreceksiniz.

Teknik Rapor Özeti:

Anlamlı sayı ile anlamsız sayı arasındaki farkı tanımladığıma inanıyorum ve anlamsız sayıların veri girişinde yeri olmadığını belirttim! Öte yandan, ilişkilerinizin temeli olarak anlamsız bir sayı yerleştirme argümanı, ilişki anahtarı olarak anlamlı bir sayı tasarlamak için sahip olabileceğiniz nedenleri aşıyor: Benim iddiam, bir alfanümerik veya dize sütununun ilişki anahtarı ve son olarak, her tablonun ilişkiyi oluşturmak için bir kimlik alanına sahip olması gerekir; bu, sizi ilişkilerden ödün vermeden veri girişi ile ikincil anahtar sütununu değiştirmenize tamamen serbest bırakır.

Son kullanıcıların yalnızca anlamlı sayıları görmesine izin verin, ancak [gizli] veri mimarisiyle temelinizi anlamsız tasarıma dayayın!

Ne düşünüyorsun?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

GIPHY App Key not set. Please check settings

LCD Monitördeki Teknoloji

En İyi 10 Cep Telefonu Duvar Kağıdı Temaları