In the last part of this course, we covered how to organize a database. Now, we are going to apply that organization to a real live relational database. First, we need to decide which database to use.
The UML Diagrams that we drew in the previous part of this class are designed to work with relational databases. Relational databases are by far the most common type of database.
Here are some choices of DBMS (database management systems) :
Here is a partial list of DBMS types that are not relational databases:
object oriented databases
To use these DBMS's, you need to understand the terms and the paradigms of the relational database environment, because it really is the base. We are going to use a RDBMS (a relational database management system). RDBMS use SQL (Structured Query Language), and Part 3 of this course is all about that.
In the world of relational databases, there are the free ones and then the ones you have to pony up some money to use. Of the free relational databases, MySQL is the most widely used. MariaDB is the free open source spinoff of MySQL. PostgreSQL is a free open source DBMS that is enterprise grade, in that it most closely resembles the SQL of the other commercial systems.
In this course we will be using either MySQL or MariaDB because of their ubiquity. We will set up the database with a Graphical User Interface called phpMyAdmin.
Setting up a database
Why set up a development environment?
In the next chapter, we are going to set up a software bundle to create a development environment. This bundle contains MySQL / MariaDB and also contains a web server and some programming languages including PHP. This will allow you to set up a database locally on your own computer that will operate just like a database on the web. The web server will allow you to view web pages in the same way that you do when you go to a public website. Not only can you open a browser and look at a web page, you can have that webpage get its content from the database.
Nonetheless, it's not on the internet, so it is a great environment for learning, testing, and developing offline.
Databases are great for apps and web interfaces when more than one person needs to access information. (But they work great for one person as well!)
In order to coordinate the traffic of multiple types of users with the constant wash of new information, databases need to be formal structures with a lot of rules. It's like there is a very formal dance of data in the system. The rules prevent the data from changing its format.
By keeping formats standardized, you can insure that all the programmers who write code to access the data will always be able to use and manipulate the information in the same manner. You can also be sure users who try to input information input it in the right format.
It's like your data is going to a ball in the 18th century! Stay with me one second.
You, as the database designer, get to write the dress code about how the data is supposed to look and the rules of etiquette that specify which classes can dance together.
In summary, keeping the dance of data a formal affair will help to maintain order and consistency in your relational database.
Setting these rules can appear tedious at the start of a project, but they will allow for the waltz of information to grow and not to breakdown into noisy anarchistic affair.