Glimpse of phpMyAdmin exploration
As the assignment instructed, I explored features that phpMyAdmin supports. I first set up a test database and attempted to reproduce the tables described in Stephen Ramsay’s article. At first, I inserted data into tables row by row, but then I found that I was able to import a file into the table. So, I created .csv files for each table using Microsoft Excel and imported them. Then, it auto inserted the data into table which was convenient.
Pros and Cons of Spreadsheets vs. Relational DB
I think spreadsheets are good for small size of data. For my phpMyAdmin exploration, I created four tables(author, works, publisher, city) just for inserting six rows of data. I think I could have saved more time and effort if I used a simple spreadsheet. One more trivial advantage that I can think of is that spreadsheets do not require knowledge of query languages so that it would be more accessible for those with no programming background.
Crunching all data into a single spreadsheet as the volume of a database scales, however, might be disastrous. It could act as a place for storing data. But, it would result in redundancies in storing data and it might look visually very distracting. Furthermore, it would be hard for users to see how data from one attribute are related to those from other attributes.
If we take the approach of breaking a single big table into smaller ones as we did in the class, it is possible to minimize redundancy and clearly see the relationships between attributes within tables.
Breaking a single big table into smaller ones to keep redundancy minimal, however, requires well thought-out scheme like the diagrams illustrated in Ramsay’s article. One should consider how to refer data from one table to another and think of what attributes could form primary keys and should be foreign keys. Creating actual tables in relational DB involves declaring types and sizes of attributes. One should also keep the optimal size of variables for each attribute in mind in order not to occupy free, unused disk space.