İşlemsellik açısından geleceğin DBMS'sine ve Rosreestr'e dileklerimle

İşlemsellik açısından geleceğin DBMS'sine ve Rosreestr'e dileklerimle
İstemci veritabanıyla etkileşime girer.
Siteden http://corchaosis.ru, Jonathan Tiong tarafından.

Programcı olmamın yanı sıra (çoğunlukla Delphi + her türlü farklı DBMS, son zamanlarda ORACLE + biraz PHP), bir hobim var - daire alıp satmak. İnşaat aşamasında az çok güvenilir bir geliştiriciden iyi bir fiyata bir daire satın alıyorum (örneğin, Samolet şimdi böyle bir geliştirici, Nekrasovka metro istasyonunun yakınındaki daireler satılık), evin teslim edilmesini bekliyorum (genellikle iki) Yıllar sonra, ucuz tekliflerle bu oluyor), yeniliyorum ve sonra piyasa fiyatının %95-100'üne satıyorum.

Bu yüzden ben (herkes gibi) RosReestr'in işlemsellik eksikliği sorunuyla karşı karşıya kaldım.

Rosreestr'in işlemsel işlem eksikliği sorunu

Programlamada “İşlem”, gayrimenkulde ise “Alternatifli İşlem” (ve ayrıca bunun bir parçası olarak “Emanet Kasa Sözleşmesi”) ve biraz daha karmaşıktır. Sana söylüyorum.

Vasya, Petya'nın sattığı daireyi görmeye geldi. Ve Vasya fiyat dahil her şeyi gerçekten beğendi ama Vasya'nın parası yok. Hikayemiz böyle başlıyor.

Vasya'nın kendisi için özellikle gerekli olmayan bazı değerleri olan kendi mülkü var - Lomonosov komşu evde yaşıyordu, tavan yüksekliği yedi buçuk metre, meyve ve sebze üssü ve Sadovod pazarı var Yakınlarda Aeroexpress üzerinde yürüyebilirsiniz, dairenin altında 1 metre yüksekliğinde bir bodrum katı, dairenin üzerinde astronomik gözlemler için uygun bir çatı katı bulunmaktadır. Vasya bu özelliklerin dairesinin fiyatını artırdığını ancak kendisi için öyle olmadığını anlıyor. Ve Petya'nın dairesini alıp kendi dairesini satmaya karar verir. Ama sırf Petya'nın dairesini satın almak için satıyorum, sadece değil. Emlakçıların dilinde buna “Alternatif seçildi” denir.

Şimdi bu duruma Petya açısından bakalım. Gerçek şu ki, Petya da değer kaybeden paranın üzerinde oturmakla ilgilenmiyor, elf şehri Valinor'da kendisine bir daire satın almak için daireyi satıyor, ancak hangisi olduğuna henüz bakmadı. Emlakçıların dilinde buna "Alternatifle anlaşma" denir.

Orta Dünya'nın iki elfleri Maglor ve Maedhros, Melkor'a hizmet edecekleri için Valinor şehrinde (Petya'nın kriterlerine göre) uygun gayrimenkullere sahiptir ve acilen satılmaktadır. Emlakçıların dilinde buna “Serbest Satış” denir.

Böylece Vasya, Seryozha adında bir müşteri bulur. Artık Petya, Valinor şehrinde kendisine uygun iki seçenek buluyor. Anlaşmayı sonuçlandırmak üzereyiz. Basitlik açısından, işlemin taraflarından hiçbirinin ipotek kullanmadığını ve hisse sahibi olarak reşit olmayan kişilerin bulunmadığını varsayalım. Bu nedenle, şimdi aşağıdaki eylemlerin gerçekleştirilmesi gerekir:
1. Seryozha, Petya'ya para veriyor.
2. Vasya dairesini Seryozha'ya verir.
3. Petya dairesini Vasya'ya verir.
4. Maglor ya da Maedhros, Valinor'daki dairelerini Peta'ya devreder ve Seryozha'nın parasını alır.
5. Malkor ve Maedhros, Melkor'a hizmet etmek için Mordor'a gider.

Aşağıdaki betiğin yürütülmesi için Rosreestr'e gönderilmesi ideal olacaktır:

İŞLEMİ BAŞLAT
Vasya'nın dairesini Seryozha'ya verin.
Petya'nın dairesini Vasya'ya verin.
başlamak
Malkor'un dairesini Petya'ya verin
Seryozha'nın parasını Malkor'a ver
IF_ERROR:
Maedhros'un dairesini Petya'ya verin
Seryozha'nın parasını Maedhros'a ver
son
İŞLEMİ TAAHHÜT

Bu, tüm dairelerin bir yetişkin (ve yetenekli) sahibinin olduğunu, değerlerinin eşit olduğunu ve işlemin aşamalarına bakılmaksızın emlakçılara (varsa) ödeme yapıldığını varsayan, alternatifli basitleştirilmiş bir işlem senaryosudur.

Ancak Rosreestr işlemselliği desteklemiyor. Tüm eylemler, biri başarısız olursa işlemin tamamı geri alınmadan, birbiri ardına sıralı ve bağımsız olarak gerçekleştirilecektir. Rosreestr ve MFC'nin nakit transferi ile çalışmadığı göz önüne alındığında, elde edilebilecek maksimum miktar, parayı Vasya, Petya, Seryozha'nın erişim koşullarıyla birlikte (işlem yoksa) bir kiralık kasaya yatırmaktır. Rosreestr tarafından kaydedilen sözleşmelerin sunulması üzerine) ve diğer aktörler kayıtlıdır. (Ve bu arada, bankalar sözleşmelerin gerçekliğini bağımsız olarak doğrulamazlar, yani işlemin taraflarının evraklarının gerçekliğine güvenirler).

İşlemin eksik tamamlanması riskinin yanı sıra başka bir sorun da, eğer diğer katılımcılar tam kayıt işlemini beklemeden yeni evlerine taşınabilirlerse (merhaba, elektrik faturalarının eksik ödenmesi sorunu!), o zaman Maglor ve Maedhros'un yakın zamanda başka bir yere gitmemesidir. Melkor'a hizmet edecek ve belki de Maglor bunu yapamayacak, sadece Silmarilleri elinde tutacak zamanı olmayacak. Gayrimenkul işlemleri sıralı olarak gerçekleştirilmekte olup, her bir işlemin gerçekleşmesi en az 9 iş günü sürecektir.

Ayrıca Rosreestr, DDU kapsamında inşa edilen konutların sorumluluğunu desteklemiyor, ancak destekleyebilir, bu basit bir gelecekle ilgili temel bir eylemdir.

Şimdi gelelim DBMS ile ilgili eksikliklere ve isteklerime

1) Birincisi versiyon kontrol sisteminin olmayışıdır. Delphi tarafında kendi sanal alanımda geliştirme yaparsam ve yaptığım değişiklikler taahhüt edilene kadar diğer programcılara görünmeyecekse, o zaman DBMS'de durum böyle değildir. Ve savaş veri tabanına tam erişim konusunda bana güvenilse bile (en azından bana verilen görev için gerekli olan kapsam dahilinde) ve bu gerçekleşirse, üzerinde gelişemem. Ben hata ayıklarken her şey çökecek. Bu nasıl bir Taş Devri??? Geliştiriciler için bir korumalı alan oluşturun.

2) İkincisi, gerçek dünyayı tanımlayan önceden tanımlanmış standart tabloların olmayışıdır. Çalıştığım her şirketin on iki aylık isimleri (Rusça ve (en azından) İngilizce, Rusça'nın farklı durumlarında) açıklayan kendi tablo formatı var!

3) Üçüncüsü - ve burada Oracle terminolojisini kullanacağım - Select'i çağırdığımız gibi, Returning'i kullanan basit bir Insert veya Update betiğini çağırmanın bir yolu yoktur. Belki bunlar Oracle sorunları değil, Delphi + Oracle arayüzündeki sorunlardır.

4) Dördüncüsü - bunu yapmak istemediğim durumlarda oluşturduğum prosedürlere ve işlevlere yetki verme ihtiyacı. Prosedürler ve işlevler için kullanıcı izinlerini ayarlayıp değiştirmek istemiyorum. Eğer Grants'ı açıkça yazmamış olsaydım, neden sistemin kendisi ilgili nesnelere bakamıyordu ve onlarla hareket etme haklarına uygun olarak belirli kullanıcılara bir işlevi çağırma hakkını vermiyordu veya vermiyordu? Fonksiyonları ve prosedürleri yazarken bunun için bir anahtar kelime yazmaya hazırım. Veya daha da iyisi, kullanıcının yürütmeye başlamasına izin verin ve eğer algoritma dalı onu kullanıcının haklarına sahip olmadığı bir talebe yönlendirirse, bunu bir hatayla iptal edecektir.

Kaynak: habr.com

Yorum ekle