Իմ ցանկություններն ապագայի DBMS-ին, ինչպես նաև Rosreestr-ին գործարքների առումով

Իմ ցանկություններն ապագայի DBMS-ին, ինչպես նաև Rosreestr-ին գործարքների առումով
Հաճախորդը փոխազդում է տվյալների բազայի հետ:
Կայքից http://corchaosis.ruՋոնաթան Թիոնգի կողմից։

Բացի այն, որ ես ծրագրավորող եմ (հիմնականում Delphi + ամենատարբեր DBMS-ներ, վերջերս ORACLE, + մի քիչ PHP), ունեմ հոբբի՝ բնակարանների առք ու վաճառք։ Ես բնակարան եմ գնում շինարարության փուլում քիչ թե շատ վստահելի կառուցապատողից լավ գնով (օրինակ, հիմա «Սամոլետը» այդպիսի կառուցապատող է, վաճառվում են բնակարաններ Նեկրասովկա մետրոյի մոտ), սպասում եմ տան առաքմանը (հաճախ երկու. տարիներ անց էժան առաջարկներով է լինում), վերանորոգում եմ, հետո վաճառում շուկայական գնի 95-100%-ով։

Այսպիսով, ես (ինչպես բոլորը) բախվեցի RosReestr-ի գործառնականության բացակայության խնդրին:

Rosreestr-ի գործարքային գործարքների բացակայության խնդիրը

Ծրագրավորման մեջ դա «Գործարք» է, իսկ անշարժ գույքում՝ «Գործարք այլընտրանքի հետ» (և նաև որպես դրա մաս՝ «Ապահովագրման պայմանագիր»), և դա մի փոքր ավելի բարդ է: Ես ձեզ ասում եմ.

Վասյան եկավ դիտելու այն բնակարանը, որը Պետյան վաճառում էր։ Իսկ Վասյային շատ դուր եկավ ամեն ինչ, ներառյալ գինը, բայց Վասյան փող չունի։ Ահա թե ինչպես է սկսվում մեր պատմությունը.

Վասյան ունի իր սեփականությունը, որն ունի որոշ արժեքներ, որոնք առանձնապես անհրաժեշտ չեն իրեն. Լոմոնոսովն ապրում էր հարևան տանը, առաստաղի բարձրությունը յոթ ու կես մետր է, կա մրգերի և բանջարեղենի բազա և Սադովոդի շուկա։ մոտակայքում կարելի է քայլել Aeroexpress-ով, բնակարանի տակ կա նկուղ 1 մետր բարձրությամբ, բնակարանի վերևում աստղագիտական ​​դիտարկումների համար հարմար ձեղնահարկ կա։ Վասյան հասկանում է, որ այդ հատկանիշները թանկացնում են իր բնակարանը, բայց ոչ իր համար։ Եվ նա որոշում է գնել Պետյայի բնակարանը և վաճառել իր սեփական բնակարանը: Բայց վաճառել հենց Պետյայի բնակարանը գնելու համար, և ոչ միայն: Ռիելթորների լեզվով սա կոչվում է «Ընտրվել է այլընտրանք»:

Հիմա այս իրավիճակին նայենք Պետյայի կողմից։ Փաստն այն է, որ Պետյային նույնպես չի հետաքրքրում արժեզրկվող գումարների վրա նստելը, նա վաճառում է բնակարանը, որպեսզի իր համար բնակարան գնի Էլֆերի Վալինոր քաղաքում, բայց դեռ չի նայել, թե որն է։ Ռիելթորների լեզվով սա կոչվում է «Գործարք այլընտրանքի հետ»:

Միջին երկրի երկու էլֆեր՝ Մագլորը և Մաեդրոսը, ունեն համապատասխան (Պետյայի չափանիշներին համապատասխան) ​​անշարժ գույք Վալինոր քաղաքում, որը շտապ վաճառվում է, քանի որ նրանք պատրաստվում են ծառայել Մելքորին։ Ռիելթորների լեզվով սա կոչվում է «Անվճար վաճառք»:

Այսպիսով, Վասյան գտնում է հաճախորդ՝ Սերյոժային։ Այժմ Պետյան Վալինոր քաղաքում գտնում է նրա համար երկու հարմար տարբերակ։ Մենք պատրաստվում ենք վերջնական տեսքի բերել գործարքը։ Պարզության համար ենթադրենք, որ գործարքի կողմերից ոչ մեկը չի օգտագործում հիփոթեք և որպես բաժնետեր չունի անչափահասներ: Այսպիսով, այժմ պետք է կատարվեն հետևյալ գործողությունները.
1. Սերյոժան փող է տալիս Պետյային.
2. Վասյան իր բնակարանը տալիս է Սերյոժային։
3. Պետյան իր բնակարանը տալիս է Վասյային։
4. Կա՛մ Մագլորը, կա՛մ Մաեդրոսը Վալինորում գտնվող իրենց բնակարանը տեղափոխում են Փետային և ստանում Սերյոժայի գումարը:
5. Մալքորն ու Մաեդրոսը գնում են Մորդոր՝ ծառայելու Մելքորին։

Իդեալական կլիներ Rosreestr-ին ներկայացնել հետևյալ սցենարը կատարման համար.

ՍԿՍԵԼ ԳՈՐԾԱՐՔԸ
Վասյայի բնակարանը տվեք Սերյոժային.
Տվեք Պետյայի բնակարանը Վասյային։
սկսել
Մալկորի բնակարանը տվեք Պետյային
Սերյոժայի փողերը տվեք Մալկորին
IF_ERROR:
Մաեդրոսի բնակարանը տվեք Պետյային
Սերյոժայի փողը տվեք Մաեդրոսին
վերջ
ԿԱՏԱՐԵԼ ԳՈՐԾԱՐՔ

Սա գործարքի պարզեցված սցենար է այլընտրանքով, որը ենթադրում է, որ բոլոր բնակարաններն ունեն մեկ չափահաս (և ընդունակ) սեփականատեր, որ դրանց արժեքները հավասար են, և որ ռիելթորները (եթե այդպիսիք կան) վճարվում են՝ անկախ գործարքի փուլերից:

Այնուամենայնիվ, Rosreestr-ը չի աջակցում գործարքների իրականացմանը: Բոլոր գործողությունները կկատարվեն հաջորդականորեն և ինքնուրույն, մեկը մյուսի հետևից, առանց գործարքի հետ վերադարձնելու, եթե դրանցից մեկը ձախողվի: Առավելագույնը, որին կարելի է հասնել, հաշվի առնելով, որ Rosreestr-ը և MFC-ն չեն աշխատում կանխիկ դրամի փոխանցման հետ, գումարը պահատեղում դնելն է՝ Վասյա, Պետյա, Սերյոժա մուտք գործելու պայմաններով (եթե գործարք չկա: գրանցված է ընդհանրապես), և այլ դերակատարներ՝ Rosreestr-ի կողմից գրանցված պայմանագրերի ներկայացմամբ: (Ի դեպ, բանկերն ինքնուրույն չեն ստուգում պայմանագրերի իսկությունը, այսինքն՝ վստահում են գործարքի կողմերի փաստաթղթերի իսկությանը):

Գործարքի ոչ ամբողջական ավարտի ռիսկերից բացի, մեկ այլ խնդիր է նաև այն, որ եթե մյուս մասնակիցները կարողանան տեղափոխվել իրենց նոր տուն՝ առանց ամբողջական գրանցման սպասելու (բարև, կոմունալ վճարների թերվճարման խնդիր), ապա Maglor-ը և Maedhros-ը շուտով չեն գնա: ծառայել Մելքորին, և գուցե Մագլորը չկարողանա, նա պարզապես ժամանակ չի ունենա իր ձեռքերում պահել Սիլմարիլներին: Անշարժ գույքի գործարքներն իրականացվում են հաջորդաբար, և յուրաքանչյուր գործարքի կատարումը կտևի առնվազն 9 աշխատանքային օր։

Բացի այդ, Rosreestr-ը չի աջակցում DDU-ի ներքո կառուցվող բնակարանների ծանրաբեռնվածությանը, բայց դա կարող է, սա տարրական գործողություն է պարզ ֆյուչերսի հետ կապված:

Այժմ անցնենք DBMS-ի վերաբերյալ թերություններին և իմ ցանկություններին

1) Առաջինը տարբերակի կառավարման համակարգի բացակայությունն է: Եթե ​​Delphi-ի կողմից ես զարգանում եմ իմ սեփական sandbox-ում, և իմ կատարած փոփոխությունները չեն երևա այլ ծրագրավորողների համար մինչև դրանք կատարվեն, ապա դա այդպես չէ DBMS-ի դեպքում: Եվ նույնիսկ եթե ինձ վստահում են մարտական ​​տվյալների բազայի ամբողջական (առնվազն այն շրջանակում, ինչ անհրաժեշտ է ինձ հանձնարարված առաջադրանքի համար), և դա տեղի է ունենում, ես չեմ կարող զարգացնել դրա վրա: Մինչ ես կարգաբերում եմ, ամեն ինչ կփլուզվի: Էս ինչ քարի դար է??? Ստեղծեք ավազատուփ մշակողների համար:

2) Երկրորդը իրական աշխարհը նկարագրող նախապես սահմանված ստանդարտացված աղյուսակների բացակայությունն է: Յուրաքանչյուր ընկերություն, որտեղ ես աշխատել եմ, ունի իր սեղանի ձևաչափը, որը նկարագրում է տասներկու ամսվա անվանումները (ռուսերեն և (առնվազն) անգլերեն, տարբեր դեպքերում ռուսերեն):

3) Երրորդ, և այստեղ ես կօգտագործեմ Oracle-ի տերմինաբանությունը. ոչ մի կերպ հնարավոր չէ զանգահարել պարզ Տեղադրել կամ թարմացնել սկրիպտը, որն օգտագործում է Returning-ը, ինչպես մենք անվանում ենք Select: Միգուցե դրանք Oracle-ի խնդիրներ չեն, այլ խնդիրներ Delphi + Oracle-ի միջերեսում:

4) Չորրորդ՝ իմ ստեղծած ընթացակարգերին և գործառույթներին լիազորություններ վերապահելու անհրաժեշտություն, որտեղ ես չեմ ուզում դա անել: Ես չեմ ուզում սահմանել, ապա փոխել օգտատիրոջ թույլտվությունները ընթացակարգերի և գործառույթների համար: Ինչո՞ւ, եթե ես հստակ չէի գրել Grants, ապա համակարգն ինքը չէր կարող դիտարկել ներգրավված օբյեկտները և, համաձայն դրանց հետ գործելու իրավունքի, որոշակի օգտատերերի տրամադրել կամ չտրամադրել գործառույթ կանչելու իրավունք: Ես պատրաստ եմ դրա համար մեկ բանալի բառ գրել ֆունկցիաներ և ընթացակարգեր գրելիս։ Կամ, ավելի լավ, թող օգտագործողը սկսի կատարումը, և եթե ալգորիթմի ճյուղը նրան տանի մի հարցում, որի օգտատերը իրավունք չունի, նա սխալմամբ դուրս կշպրտի այն։

Source: www.habr.com

Добавить комментарий