How do I close the gap between my database design and user interface design?

I know what this question looks like, but I'm pretty serious. I am trying to create an application that will help me in studying databases (sql, queries, proper database design, etc.). I use a pet project at work, so I have something to focus on real requirements. The original project was written ("Frankensteined together," as the author of the original said) via MS Access. I would like to know how to do this better with SQLite, but I donโ€™t know how to recreate the other functions available.

Using this site as a way to interact with programmers and developers (I do not work with anyone), I still read all Database Design for simple deaths , as recommended in this matter. So, I have a small database design that I plan to implement using SQLite.

I also tested how to create a user interface for the application using Balsamiq Mockups, and presented some ideas to my potential user base (my peers in my team) so that they could give feedback.

Database --> <insert code here> --> User Interface 

However, the part that falls for me is how I bridge the gap between the two projects? I understand that, obviously, where is encoded, but to date I have done nothing with the graphical interface. Searching around, I did not seem to find anything final to help me (a book, a website, even a process to follow), trying to actually write an application.

I know Perl to some extent, but used it only for command line applications; I could use the Win32 :: GUI module, but I really donโ€™t understand the difference between GUI programming and command line programming, except I just know that they are different.

Is there a model or GUI development guide? Are there specific resources for linking the application to the database?

+7
language-agnostic design user-interface implementation
source share
2 answers

The overall picture that is currently being observed:

 Database -> DAL -> BLL -> Controller -> View Model -> UI 

Where

 DAL == Data Access Layer (aka ORM, Object-Relational mapper) BLL == Business Logic Layer 

The inclusion of each of these terms should give you a pretty good idea of โ€‹โ€‹where to start. Note that you do not always need every layer. For example, BLL and View Model may be optional if the application is small enough.

See also Model View Controller (MVC) for web development and Model View Presenter (MVP) or Model View ViewModel (MVVM) for desktop development.

Although the NerdDinner tutorial is specific to Microsoft / Web, it contains all of these concepts in one place.

+9
source share

Middleware is another term that you can see around what you describe.

The database itself can be a combination of several different points:

  • Stored procedures. This will be used instead of direct access to tables and provides an abstraction layer.
  • Tables or Views - Direct access to column names that may be useful if you are creating a lightweight application.
  • The combination of two. Some tables could be directly accessed, while other database operations are performed using stored procedures.

The user interface can only be a presentation layer, or it can have a couple of other layers attached to it, because you can use a combination of ASP.Net layers to create web applications, including C #, HTML, and JavaScript.

0
source share

All Articles