Minu soovid tuleviku andmebaasidele ning Rosreestrile seoses tehingute tegemisega

Minu soovid tuleviku andmebaasidele ning Rosreestrile seoses tehingute tegemisega
Kliendi vahel on andmebaasiga suhtlemine.
Saidilt http://corchaosis.ru, pildi autor Jonathan Tiong.

Peale selle, et ma olen programmeerija (peamiselt Delphi + erinevad andmebaasid, viimase ajal ORACLE ja natuke PHP), on mul hobi — korterite ostmine ja müümine. Ostsin korteri ehitusetapis usaldusväärselt arendajalt hea hinnaga (näiteks hetkel on selline arendaja Samolot, korterid m. Nekrasovka lähedal müüakse), ootan maja valmimist (tihti hiljem kaks aastat, odavate pakkumiste puhul juhtub see), teen seal remonti ja müün selle siis 95-100% turuhinnast.

Nii et, ma (nagu kõik teised) sain hakkama probleemiga, et Rosreestrilt puudus tehingute tegemise võimalus.

Rosreestri tehingute puudulikkuse probleem

Programmeeringus on «Tehing», kinnisvaras aga «Tehing alternatiiviga» (ja samuti, kui osa sellest, «Pankadeeninduse leping»), ja seal on kõik pisut keerulisem. Räägin lähemalt.

Vasia tuli vaatama korterit, mida müüb Petja. Ja Vasile meeldis kõik väga, sealhulgas hind, kuid tal ei ole raha. Nii algab meie lugu.

Vasily omab oma kinnisvara, mis sisaldab mõningaid tema jaoks mitte eriti väärtuslikke asju — naabermajades elas Lomonossov, lagi on seitse ja pool meetrit kõrge, läheduses asub puu- ja köögiviljabaas ning Sõnumite turg, Aeroexpressile on jala minna ning korteri all on üks meeter kõrge keldri osa, ülal on pööning, mis on mugav astronoomiliste vaatluste jaoks. Vasily mõistab, et need omadused tõstavad tema korteri hinda, kuid mitte tema enda jaoks. Ta otsustab osta Petja korteri ja müüa oma korteri. Kuid müüa just selleks, et osta Petja korter, mitte lihtsalt. Kinnisvaramaaklerite keeles nimetatakse seda — 'Alternatiiv on valitud.'

Nüüd vaatame seda olukorda Petja vaatenurgast. Asi on selles, et Petja ei soovi samuti hoida raha, mis kaotab väärtust, ta müüb oma korteri, et osta endale korter Elfi linnas Valinor, kuid millise täpselt — seda ta veel vaadanud ei ole. Kinnisvaramaaklerite keeles nimetatakse seda — 'Tehing alternatiiviga.'

Kaks Keskmise Maa haldjat, Maglor ja Maedros, omavad Valinori linnas sobivat (Petja kriteeriumite järgi) kinnisvara, millest nad kiiresti loobuvad, kuna nad valmistuvad teenima Melkorit. Kinnisvaramaailmas nimetatakse seda 'Vaba müük'.

Nii et Vasja leiab kliendi Seroža. Nüüd leiab Petja Valinori linnas kaks tema soovidele vastavat varianti. Suundume tehingu vormistamise juurde. Oletame lihtsuse huvides, et keegi tehingu osalistest ei kasuta hüpoteeki ega oma koormatud alaealisi kaasomanikke. Seega peavad nüüd toimuma järgmised sammud:
1. Seroža annab Petjale raha.
2. Vasja annab oma korteri Serožale.
3. Petja annab oma korteri Vasile.
4. Kas Maglor või Maedros annavad oma korteri Valinoris Petjale ja saavad Serožalt raha.
5. Malkor ja Maedros lähevad Mordori, et teenida Melkorit.

Ideaalne oleks edastada järgmine skript kinnistusregisteri täitmiseks:

START TRANSACTION
Vasja korter anda Serožale.
Petja korter anda Vasile.
begin
Malkoori korter anda Petjale
Seroža raha anda Malkorile
IF_ERROR:
Maedrose korter anda Petjale
Seroža raha anda Maedrosule
lõpp
COMMIT TRANSACTION

See on lihtsustatud tehingu skript alternatiiviga, mis eeldab, et kõigil korteritel on üks täiskasvanud (ja teovõimeline) omanik, et nende väärtused on võrdsed ja et maaklerite tasud (kui need on olemas) makstakse eraldi tehingu etappidest.

Kuid Rosreestr ei toeta tehingu järjepidevust. Kõiki toiminguid tehakse järjestikku ja iseseisvalt, üksteise järel, ilma et kogu tehingu puhul oleks võimalik tagasiteenust, kui mõni neist ei õnnestunud. Maksimum, mida on võimalik saavutada — arvestades, et Rosreestr ja MFC ei tegele sularaha ülekandmisega — on raha paigutamine pangarakku, kus on juurdepääsu tingimused Vasja, Petja, Sergei (kui mingit tehingut ei registreerita), ja teiste osaliste jaoks, kui nad esitavad Rosreestrisse registreeritud lepingud. Ja muide, pangad ei kontrolli lepingute autentsust iseseisvalt, st nad usaldavad tehingus osalejate dokumentide tõelisust.

Lisaks tehingu täitmisriski kõrval on ka probleem selles, et kui teised osalised saavad sisse kolida oma uude elukohta, oodates täielikku vormistamist (tere, teenuste puudujääkide küsimus!), siis Maglor ja Maedhros ei lähe kohe Melkori teenistusse ning tõenäoliselt ei saa Maglor sihvrille kätte, tal lihtsalt ei jätku aega. Kinnisvaratehingud vormistatakse järjekindlalt ja iga tehingu vormistamine kestab vähemalt 9 tööpäeva.

Lisaks sellele ei toeta Rosregister ehitamisel DDU alusel elukohta koormatut, kuigi võiks, see on elementaarne tegevus seoses lihtsa futuuriga.

Nüüd liigume puuduste ja minu soovide juurde seoses andmebaasihaldussüsteemiga.

1) Esiteks on versioonihaldussüsteemi puudumine. Kui Delphi poolelt arendan oma liivakastis, ei saa minu tehtud muudatused teistele arendajatele kätte enne, kui nad on commiteeritud, kuid andmebaasis on olukord teine. Isegi kui mul on täielik (kui mitte arvestada viidatud ülesande raames vajalikku) juurdepääs tootmisandmebaasile, mis juhtuda võib, ei saa ma seal arendada. Kui ma hakkan testima, on kõik läbi. Mis ajast on see kiviaeg??? Looge arendajatele liivakast.

2) Teiseks on puudus eelnevalt seadistatud standardiseeritud tabelitest, mis kirjeldavad reaalsust. Igas firmas, kus olen töötanud, on oma formaadi tabel, mis kirjeldab nimede (nii vene kui (vähemalt) ingliskeeles, vene keeles eri käändes) kaheteistkümne kuu nimetusi!

3) Kolmandaks — ja siin kasutan Oracle'i terminoloogiat — puudub võimalus kutsuda üles lihtne Insert või Update skript, mis kasutab Returning funktsiooni, nii nagu me kutsume Selecti. Võib-olla ei ole probleem Oracle'is, vaid Delphi + Oracle liidese probleem.

4) Neljas — vajadus määrata oma loodud protseduuridele ja funktsioonidele volitused seal, kus ma ei soovi seda teha. Ma ei soovi määrata ja seejärel muuta kasutajate volitusi protseduuri ja funktsiooni jaoks. Miks ei võiks süsteem, kui ma ei ole selgesõnaliselt kirjutanud Grant'e, iseseisvalt vaadata kaasatud objekte ja vastavalt nendele õigustele anda või mitte anda teatud kasutajatele õigust funktsiooni kutsuda? Olen valmis selle jaoks funktsioonide ja protseduuride kirjutamisel üht märksõna kirjutama. Veel parem, las kasutaja alustab käivitamist ja kui algoritmi haru toob ta nõudmise juurde, milleks tal ei ole õigusi, siis viskab süsteem vea.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster