Principles of Relational Databases