Wednesday, April 4, 2012

Chapter 7: Modifing RMH Homebase Database

The reading for this chapter is a great precursor to the homework that is due on Friday.  Both the chapter and the exercises deal with cleaning up and modifying the database for RMH Homebase.  And, for me anyway, a lot of the stuff in this chapter is review.  Last semester I took an extremely useful course called Database Concepts (which I recommend every CS student take) that covered all of the things mentioned here.  For the sake of review, which is always a good thing, I'll go over a few key concepts.

The particular DBMS talked about in the chapter is MySQL, which is a relational database.  The authors start out with a little terminology, then dig right into how the database fits into the software stack for the project as the persistence layer.  The software stack that I'm using for the homework is a LAMP stack because I'm running a Linux box.  Then they go through connecting a project to a database, keys, info about tables, and some naming conventions for tables.  Then comes the cool stuff.

Two of the things that makes database design interesting are the aspects of security and integrity.  Straight from the book, here are what a secure database accomplishes:
  • It prevents unauthorized or accidental disclosure, alteration, or destruction of data.
  • It prevents unauthorized or accidental access to data considered confidential to the organization or individual who owns the data.
  • It ensures data integrity, so that the data stored in the database are always valid and accurate.
These conventions can be enforced by granting different types of access rights to specific users.  These rights can include read/write access to database tables and privileges to separate parts of the database itself.

Finally, the last part of the chapter offers some insight on how to ensure that any changes made to the database do not have a detrimental effect, and all functionality remains the same.  As in previous chapters, this involves modification of the unit tests to include those changes and then refactoring.  If a part of the database has been changed or streamlined, then perhaps something in the class that uses that part of the database can also be streamlined or removed.  Coming up...chapter 7 exercises.

No comments:

Post a Comment