Why do I need to learn about database management systems?
Your software must help users to do their work. The most important part of the users’ work is the information. You need to learn about database management systems to store, manipulate, retrieve and secure this information.
The database is the heart of any software system, especially enterprise systems. Poor database design will eventually cause a system to fail. Designing enterprise databases requires both specific domain knowledge and a deep understanding of database design principles. This is another reason why learning about database management systems is essential.
What can I do after finishing learning database management systems?
You will be able to design and implement database part for software systems. These systems may include airlines and railways, banking, education, telecommunications, digital libraries and digital publishing, finance, sales, health care information systems, e-commerce system, content management system.
You will be able to decide when to use a relational database management system and when to use a NoSQL database management system, as well as how a database system works internally.
You will also know how to build a data warehouse. You will know how to design a relational database and write SQL code PROPERLY (i.e. for specific purposes) too.
You will also be able to design databases for scalable and highly available software systems.
It sounds interesting! What should I do now?
Learning about database management systems requires a lot of effort. First you need to learn how to use database management systems.
First, please read one of the following books to learn the core concepts of relational database management systems and gain hands-on experience working with them:
- Ignatius Fernandez (2015). Beginning Oracle Database 12c Administration: From Novice to Professional. Apress
- Adam Jorgensen et al. (2012). Microsoft SQL Server 2012 Bible. Wiley
- Vinicius M. Grippa and Sergey Kuzmichev (2021). Learning MySQL. O’Reilly Media
- Regina O. Obe and Leo S. Hsu (2017). PostgreSQL Up and Running. O’Reilly Media
After that, please read this book to learn how to write SQL code efficiently: Stephane Faroult and Peter Robson (2006). The Art of SQL. O’Reilly Media.
After that, please read these books to learn about normal forms and the relational theory behind relational databases, which will help you create more efficient logical designs for your databases:
- C. J. Date (2019). Database Design and Relational Theory: Normal Forms And All That Jazz. Apress
- C. J. Date (2015). SQL and Relational Theory: How to Write Accurate SQL Code. O’Reilly Media
After that, please read these books to learn how to build a data warehouse:
- W.H. Inmon (2003). Building The Data Warehouse. Wiley
- Ralph Kimball and Margy Ross (2002). The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. Wiley
- Vincent Rainardi (2008). Building a Data Warehouse: With Examples in SQL Server. Apress
After that, please read these books to learn the core concepts of NoSQL database management systems and gain hands-on experience working with them:
- Pramod J. Sadalage and Martin Fowler (2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley Professional
- Jeff Carpenter and Eben Hewitt (2022). Cassandra: The Definitive Guide: Distributed Data at Web Scale. O’Reilly Media
- Bradshaw Shannon, Eoin Brazil and Kristina Chodorow (2019). MongoDB: The Definitive Guide: Powerful and Scalable Data Storage. 3rd Edition. O’Reilly Media
Terminology Review:
- Databases.
- Flat Files.
- Database Management Systems.
- Relational Databases.
- (Oracle) Tablespaces, Datafiles, and Objects.
- (Oracle) Databases, Instances, Schemas.
- Tables, Rows, Columns, Primary Keys, Foreign Keys.
- Normal Forms.
- Relational Model: Relations, Tuples, Primary Keys, Foreign Keys, Constraints.
- Data Manipulation Languages (DMLs): Relational
Algebra, Relational Calculus. - Relational Algebra: σ Select, π Projection, ∪ Union, ∩ Intersection, – Difference, × Product, ⋈ Join.
- Data Models: Entity-Relationship (ER) Model, Relational Model, Object-Oriented Model, NoSQL Model.
- Schemas.
- Entity-Relationship Model.
- SQL, TSQL.
- Stored Procedures.
- Functions.
- Queries.
- Aggregates (AVG, MIN, MAX, SUM, COUNT), ANY_VALUE, GROUP BY, HAVING, LIKE (Strings).
- Output Redirection.
- ORDER BY, ROW_NUMBER, RANK.
- Subqueries.
- Views.
- Common Table Expressions.
- Indexes.
- Recovery.
- Replication.
- Data Warehouse.
- Dimensional Modeling.
- NoSQL.
- Key-Value Databases.
- Document Databases.
- Column-Family Databases.
- Graph Databases.
- Array (Vector, Matrix, Tensor) Databases.
After finishing database management systems, please click on Topic 8 – Introduction to Web Application Development to continue.