Βλέπω το έχεις πάρει πολύ σοβαρά. σίγουρα το να πας σε .net είναι η πιο σωστή λύση για τις εφαρμογές σου και θα το καταλάβεις σύντομα. η access για commercial εφαρμογές έχει πεθάνει...
φυσικά η βάση σου θα έχει πίνακες αλλά μπορεί να χρειαστείς σχεδόν σίγουρα, triggers,stored procedures και views....
Τo visual studio μέσα από το παράθυρο Server Explorer, σου επιτρέπει να συνδεθείς σε μια σειρά από servers και να έχεις πρόσβαση στα resources τους. Μπορείς να συνδεθείς
- SQL Servers
- Crystal Reports
- Event Logs
- Message Queues
- Performance Counters
- Windows Services
άρα κάνεις πρώτα το σχεδιασμό της βάσης σου και την υλοποίηση της μέσα από το Management Studio αφού συνδεθείς στον SQL Server. το θέμα της βάσης θέλει χρόνο για να δεις τι πεδία θα έχει ο κάθε πίνακας. το data type του κάθε πεδίου. να φτιάξεις τις σχέσεις... να κάνεις Normalisation..... Να δεις τα θέματα concurrency. δηλαδή όλοι μαζί οι χρήστες ταυτόχρονα θα χτυπάνε την βάση? και αν ναι με τι δικαιώματα? θα κάνουνε οι 8 από τους 10 μόνο select? θα κάνουνε όλοι Insert ,update,delete?
μετά από το visual studio Θα πρέπει να δεις πως θα φτιάξεις το DAL (data access layer). δεν είναι σωστό να έχεις τον κώδικα που κάνει τις ερωτήσεις στην βάση δεμένο με το UI.
οπότε θα δεις το DAL (datasets,tableadapters,datatables) όπου θα χτυπάς την βάση σου μέσα από αυτά τα Objects.
φυσικά χρειάζεσαι και ένα άλλο Layer πάνω από όλα αυτά . το λεγόμενο BLL(business logic layer) , όπου θα φτιάξεις κλάσεις και μεθόδους για να έχεις τα Business rules της εφαρμογής.
δηλαδή (αν και δεν ξέρω τι εφαρμογή πας να κάνεις) , ότι αν κάποιος παραγγείλει 5 προιόντα παίρνει το έκτο for free.. το BLL Θα μιλάει με το DAL.
To να σπας την εφαρμογή σε τόσα Layers είναι καλό για να μπορείς να κάνεις debug πιο εύκολα. και όταν σκάσει κάτι να ξέρεις ποιος είναι ο "υπεύθυνος".
είναι και πιο εύκολο με αυτό τον τρόπο να επεκτείνεις την εφαρμογή σου αργότερα...... και είναι και πιο ασφαλής (security issues)
δεν χρειάζεται να ανησυχείς για τους πελάτες σου. τα heavy tasks θα γίνονται στον Server.....
φυσικά όσο αφορά τον server καλό είναι να έχεις ένα καλό μηχάνημα....
Νικόλαος Καντζέλης
BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT