Οι ευχές μου για το DBMS του μέλλοντος, καθώς και για τη Rosreestr από άποψη συναλλακτικότητας

Οι ευχές μου για το DBMS του μέλλοντος, καθώς και για τη Rosreestr από άποψη συναλλακτικότητας
Ο πελάτης αλληλεπιδρά με τη βάση δεδομένων.
Από το site http://corchaosis.ru, του Jonathan Tiong.

Εκτός από το γεγονός ότι είμαι προγραμματιστής (κυρίως Delphi + κάθε λογής διαφορετικά DBMS, πρόσφατα ORACLE, + λίγο PHP), έχω ένα χόμπι - την αγορά και την πώληση διαμερισμάτων. Αγοράζω ένα διαμέρισμα στο στάδιο της κατασκευής από έναν περισσότερο ή λιγότερο αξιόπιστο προγραμματιστή σε νόστιμη τιμή (για παράδειγμα, τώρα ο Samolet είναι τέτοιος προγραμματιστής, πωλούνται διαμερίσματα κοντά στο σταθμό του μετρό Nekrasovka), περιμένω να παραδοθεί το σπίτι (συχνά δύο χρόνια μετά, αυτό συμβαίνει με φθηνές προσφορές), το κάνω σε επισκευή και μετά το πουλάω στο 95-100% της τιμής του στην αγορά.

Έτσι, εγώ (όπως όλοι οι άλλοι) αντιμετώπισα το πρόβλημα της έλλειψης συναλλακτικότητας του RosReestr.

Το πρόβλημα της έλλειψης συναλλακτικής φύσης των συναλλαγών από τη Rosreestr

Στον προγραμματισμό "Transaction" και στο real estate είναι "Deal with alternative" (και επίσης, ως μέρος του, "Deposit box deal"), και εκεί τα πράγματα είναι λίγο πιο περίπλοκα. Λέω.

Η Βάσια ήρθε να δει το διαμέρισμα που πουλάει η Πέτυα. Και στη Βάσια άρεσαν πολύ τα πάντα, συμπεριλαμβανομένης της τιμής, αλλά η Βάσια δεν έχει χρήματα. Έτσι ξεκινά η ιστορία μας.

Ο Vasya έχει τη δική του ιδιοκτησία, η οποία έχει κάποιες αξίες που δεν είναι ιδιαίτερα απαραίτητες γι 'αυτόν - ο Lomonosov ζούσε σε ένα γειτονικό σπίτι, το ύψος της οροφής είναι επτάμισι μέτρα, υπάρχει μια βάση φρούτων και η αγορά Sadovod κοντά , μπορείτε να περπατήσετε στο Aeroexpress, υπάρχει ένα υπόγειο κάτω από το διαμέρισμα 1 μέτρο, πάνω από το διαμέρισμα υπάρχει μια σοφίτα κατάλληλη για αστρονομικές παρατηρήσεις. Ο Βάσια καταλαβαίνει ότι αυτά τα χαρακτηριστικά αυξάνουν την τιμή του διαμερίσματός του, αλλά όχι για τον εαυτό του. Και αποφασίζει να αγοράσει το διαμέρισμα του Petya και να πουλήσει το διαμέρισμά του. Αλλά να το πουλήσει για να αγοράσει το διαμέρισμα του Petya, και όχι μόνο. Στη γλώσσα των μεσιτών, αυτό ονομάζεται - "Επιλέγεται η εναλλακτική".

Τώρα ας δούμε αυτή την κατάσταση από την πλευρά του Petya. Το γεγονός είναι ότι ο Petya δεν ενδιαφέρεται επίσης να καθίσει σε υποτίμηση χρημάτων, πουλά ένα διαμέρισμα για να αγοράσει ένα διαμέρισμα στην πόλη των ξωτικών του Valinor, αλλά δεν έχει ψάξει ακόμα ποιο. Στη γλώσσα των μεσιτών, αυτό ονομάζεται - "Ασχοληθείτε με μια εναλλακτική λύση."

Δύο ξωτικά της Μέσης Γης, το Maglor και το Maedhros, έχουν κατάλληλη (με τα κριτήρια του Petit) ακίνητη περιουσία στην πόλη Valinor, η οποία πωλείται επειγόντως, καθώς στέλνονται για να εξυπηρετήσουν τον Melkor. Στη γλώσσα των μεσιτών, αυτό ονομάζεται - "Δωρεάν πώληση".

Έτσι, η Vasya βρίσκει έναν πελάτη Serezha. Τώρα, η Petya βρίσκει δύο κατάλληλες επιλογές για αυτόν στην πόλη Valinor. Θα κάνουμε μια συμφωνία. Ας υποθέσουμε για λόγους απλότητας ότι κανένας από τους συμμετέχοντες στη συναλλαγή δεν χρησιμοποιεί υποθήκη και δεν έχει μικρό ιδιοκτήτη μετοχών. Έτσι, τώρα θα πρέπει να γίνουν οι ακόλουθες ενέργειες:
1. Ο Seryozha δίνει χρήματα στον Petya.
2. Ο Βάσια δίνει το διαμέρισμά του στον Σεγιοζά.
3. Ο Πέτυα δίνει το διαμέρισμά του στον Βάσια.
4. Είτε ο Maglor είτε ο Maedhros παραδίδουν το διαμέρισμά τους στο Valinor στον Petya και λαμβάνουν τα χρήματα του Seryozha.
5. Ο Μάλκορ και ο Μάεδρος πηγαίνουν στο Μόρντορ για να υπηρετήσουν τον Μέλκορ.

Θα ήταν ιδανικό να μεταφέρετε το ακόλουθο σενάριο στο Rosreestr για εκτέλεση:

ΕΝΑΡΞΗ ΣΥΝΑΛΛΑΓΗΣ
Δώσε το διαμέρισμα της Βάσια στον Σεγιοζά.
Δώστε το διαμέρισμα του Petit στη Vasya.
αρχίζουν
Δώστε το διαμέρισμα του Malkor στον Petya
Δώσε τα χρήματα του Seryozha στον Malkor
IF_ERROR:
Δώστε το διαμέρισμα του Μαέδρου στον Πέτυα
Δώσε τα λεφτά του Seryozha στον Maedhros
τέλος
ΔΕΣΜΕΥΣΗ ΣΥΝΑΛΛΑΓΗΣ

Αυτό είναι ένα απλοποιημένο σενάριο συναλλαγής με μια εναλλακτική, με την προϋπόθεση ότι όλα τα διαμερίσματα έχουν έναν ενήλικα (και ικανό) ιδιοκτήτη, ότι οι τιμές τους είναι ίσες και ότι οι μεσίτες (εάν υπάρχουν) πληρώνονται ανεξάρτητα από τα στάδια της συναλλαγής.

Ωστόσο, το Rosreestr δεν υποστηρίζει τη συναλλακτικότητα. Όλες οι ενέργειες θα εκτελούνται διαδοχικά και ανεξάρτητα, η μία μετά την άλλη, χωρίς να επαναφέρεται η συναλλαγή στο σύνολό της εάν μία από αυτές δεν έχει ολοκληρωθεί. Το μέγιστο που μπορεί να επιτευχθεί - δεδομένου ότι η Rosreestr και το MFC δεν λειτουργούν με τη μεταφορά μετρητών - είναι να τοποθετήσετε χρήματα σε ένα τραπεζικό κελί, με τις προϋποθέσεις πρόσβασης σε αυτά από τους Vasya, Petya, Serezha (αν δεν έχει καταχωρηθεί συναλλαγή καθόλου) και άλλους παράγοντες, με την παρουσίαση συμφωνιών που έχουν καταχωριστεί από τη Rosreestr. (Και παρεμπιπτόντως, οι τράπεζες δεν επαληθεύουν ανεξάρτητα τη γνησιότητα των συμβολαίων, δηλαδή εμπιστεύονται τη γνησιότητα των εγγράφων των συμμετεχόντων στη συναλλαγή).

Εκτός από τους κινδύνους μη ολοκλήρωσης της συναλλαγής, ένα άλλο πρόβλημα είναι ότι εάν οι άλλοι συμμετέχοντες μπορούν να μετακομίσουν στη νέα τους κατοικία χωρίς να περιμένουν την πλήρη εγγραφή (γεια σας, το ζήτημα της υποπληρωμής των λογαριασμών κοινής ωφελείας!), τότε οι Maglor και Maedhros δεν θα σύντομα πηγαίνετε να υπηρετήσετε τον Μέλκορ και ίσως ο Μάγκλορ δεν θα μπορέσει να κρατήσει τα Σίλμαριλ στα χέρια του, απλά δεν θα έχει χρόνο. Οι συναλλαγές ακινήτων εκτελούνται διαδοχικά και η διεκπεραίωση κάθε συναλλαγής θα διαρκεί τουλάχιστον 9 εργάσιμες ημέρες.

Επιπλέον, η Rosreestr δεν υποστηρίζει την επιβάρυνση των κατοικιών υπό κατασκευή στο πλαίσιο του DDU, αλλά θα μπορούσε, αυτή είναι μια στοιχειώδης ενέργεια σε σχέση με ένα απλό συμβόλαιο μελλοντικής εκπλήρωσης.

Τώρα ας προχωρήσουμε στις ελλείψεις και στη Wishlist μου σχετικά με το DBMS

1) Το πρώτο είναι η έλλειψη συστήματος ελέγχου έκδοσης. Εάν από την πλευρά των Delphi αναπτύσσω στο sandbox μου και οι αλλαγές που έκανα δεν θα εμφανιστούν σε άλλους προγραμματιστές μέχρι να δεσμευτούν, τότε δεν συμβαίνει το ίδιο με το DBMS. Και ακόμα κι αν μου εμπιστεύονται πλήρη (τουλάχιστον στο πλαίσιο της εργασίας που μου έχει ανατεθεί) πρόσβαση στη βάση δεδομένων μάχης, και αυτό συμβεί, δεν μπορώ να αναπτύξω σε αυτήν. Ενώ κάνω διόρθωση σφαλμάτων, όλα θα καταρρεύσουν. Τι είναι αυτή η πέτρινη εποχή; Δημιουργήστε ένα sandbox για προγραμματιστές.

2) Το δεύτερο είναι η έλλειψη προεγκατεστημένων τυποποιημένων πινάκων που περιγράφουν τον πραγματικό κόσμο. Κάθε εταιρεία στην οποία έχω εργαστεί έχει τη δική της μορφή πίνακα που περιγράφει τα ονόματα (στα ρωσικά και (τουλάχιστον) αγγλικά, σε διαφορετικές περιπτώσεις στα ρωσικά) δώδεκα μηνών!

3) Τρίτον - και εδώ θα χρησιμοποιήσω την ορολογία της Oracle - δεν υπάρχει τρόπος να καλέσετε ένα απλό σενάριο Insert or Update που χρησιμοποιεί Returning, όπως ονομάζουμε Select. Ίσως δεν πρόκειται για προβλήματα Oracle, αλλά για προβλήματα διεπαφής Delphi + Oracle.

4) Τέταρτον, η ανάγκη να εκχωρήσω εξουσίες στις διαδικασίες και τις λειτουργίες που δημιουργώ όπου δεν θέλω να το κάνω αυτό. Δεν θέλω να ορίσω και μετά να αλλάξω τα δικαιώματα του χρήστη για διαδικασίες και λειτουργίες. Γιατί, αν δεν έγραψα ρητά το Grants, δεν θα μπορούσε το ίδιο το σύστημα να εξετάσει τα εμπλεκόμενα αντικείμενα και, σύμφωνα με τα δικαιώματα να ενεργεί μαζί τους, να δώσει ή όχι σε ορισμένους χρήστες το δικαίωμα να καλέσουν τη συνάρτηση; Είμαι έτοιμος να γράψω μια λέξη-κλειδί για αυτό όταν γράφω συναρτήσεις και διαδικασίες. Ή, ακόμα καλύτερα, αφήστε τον χρήστη να ξεκινήσει την εκτέλεση και εάν ο κλάδος του αλγορίθμου τον οδηγήσει σε ένα αίτημα για το οποίο ο χρήστης δεν έχει δικαιώματα, θα το πετάξει έξω με ένα σφάλμα.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο