Writing Web Applications that Access SQL Databases

I was recently asked a question by a prospective student, who was just beginning to get into web app development, and while emailing my response, I thought that the information would also be valuable to many professionals out there who are interested to learn more about what's covered in some of our popular Microsoft Visual Studio courses. Below is the question, followed by my response.

Question: What Microsoft Visual Studio course will teach me how to write Web Applications that access data in my company’s SQL databases?

I wish there was a single course that would cover it all, but there's an enormous collection of technologies that come together to form the Web Apps that we know today. Building a Web App that's supported by a back-end SQL server database has many moving parts: Front-End, Web Tier, and Database.

Let's break them down a bit, and I'll offer up the relevant course or courses for each.

  • Front-End—The front end is the payload delivered to the browser (HTML, CSS, and JavaScript).
  • Web Tier—The Web Tier is the framework that resides on the web server (in this case .NET and ASP.NET).
  • SQL (Structured Query Language)—This is used to 'talk' to SQL server in the database layer.


Recommended Course:
20480 Programming in HTML5 with JavaScript and CSS3

The 20480 Programming in HTML5 with JavaScript and CSS3 course concentrates on the first layer in the browser, and Module 5: Communicating with a Remote Data Source, specifically shows a technique (AJAX) that allows the web browser to call back to the web tier. It does not communicate with the database directly, since we do not ever put a database directly on the Internet. It is always exposed through some other application layer. Direct web access will amount to huge security problems.

Web Tier

Recommended Courses:
20483 Programming in C#
20486 Developing ASP.NET MVC 5 Web Applications

For the web tier, there are many other options, such as PHP, Ruby on Rails, Python Django, Nodejs, but the classes we're discussing here are Microsoft courses, specifically, the widely-used Microsoft Framework, ASP.NET MVC.

Quick Note about the MCV (Model-View-Controller):
The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller. The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for creating Web applications. 

There are two parts to knowing MVC—in this order: A .NET language, and then the MVC framework itself. C# is the most common and relevant .NET language, and the 20483 Programming in C# course teaches that language. There’s a lot to learn, and 20483 courses gives a well-rounded introduction to the entire .NET platform. Module 7: Accessing a Database, specifically discusses how to use Entity Framework to communicate with SQL server databases. But, it is not concentrating on building web apps, it is concentrating on the C# language and the .NET platform.

Next, is the 20486 Developing ASP.NET MVC 5 Web Applications course, which assumes that you know C#, HTML, CSS, and JavaScript, covers how to build dynamic, database-driven web apps.  Here, you'll learn to develop advanced ASP.NET MVC applications using .NET Framework tools and technologies. The focus will be on coding activities that enhance the performance and scalability of a web application. 

SQL (Structured Query Language)

Recommended Courses:
SQL Querying Fundamentals
10985 Introduction to SQL Databases
10987 Performance Tuning and Optimizing SQL Databases
20761 Querying Data with Transact SQL

Once you have a grasp on the concepts covered in the Front-End and Web Tier courses, the next set of SQL Server courses will more directly address the data that web applications would access.

SQL Server is a complex topic in and of itself. Topics range from SQL Server administration to implementation and design. The question asks about “my company’s SQL Server database,” so we can assume that someone has already created the databases and performing administration. From an Application Developer perspective, we need to know how to communicate with it, and that will involve knowing it’s language: SQL or Structured Query Language. A course like 10985 Introduction to SQL Databases will introduce new developers to the basic database concepts, then 20761 Querying Data with Transact SQL will teach the SQL server variant of SQL, namely Transact-SQL (aka T-SQL).

There is a lot to learn when moving from static web pages to dynamic, database driven websites, but the skill gained can take you pretty far. I hope this offers you some clarify about which courses are most appropriate for those looking to develop we applications that access data from a SQL database. As you can see, there isn’t just one class, but rather a cluster of courses that will best prepare you.

If anyone out there has additional questions for me, please leave a comment below, and I will be happy to respond. Otherwise, I'll talk to you in class!

About the Author, Rob Foulkrod

Rob’s 20+ years of classroom training experience give him a great feel for students and their needs. Even though Rob started programming as a young child, he has not lost the empathy required to give a quality class to all levels of learners. He strives to teach classes that he would like to attend, keeping an easygoing, straight-forward style that is both informative and just entertaining enough to keep students’ attention.

As a native Detroiter, Rob has taught customized content to the likes of Ford Motor Company, General Motors, and Chrysler Corporation, but has also delivered training for Chicago Tribune, Quicken Loans, NASA, and several universities.

Rate this article:
No rating

Rob Foulkrod, Technical InstructorDebra Novara

Other posts by Rob Foulkrod, Technical Instructor

Contact author
Please login or register to post comments.

Theme picker

Contact author