Tag Archives: SQL

Topic 14 – Introduction to Database Design

Why do I need to learn about database design?

Database is the heart of any software system, especially enterprise systems. A bad database design will eventually cause your system fail.
Designing enterprise databases requires a lot of specific enterprise knowledge and in-depth understanding of structure of big databases.
That's why you need to learn about database design.

What can I do after finishing learning about database design?

You will know how to design a relational database and write SQL code PROPERLY. You will know how to build a data warehouse. You will know WHEN you should use a relational database management system or WHEN you should use a NoSQL database management system and HOW they actually work.

That sounds useful! What should I do now?

Please read this Stephane Faroult and Peter Robson (2006). The Art of SQL. O'Reilly Media book first.
Then please read
- this W.H. Inmon (2003). Building The Data Warehouse. Wiley book and
- this Ralph Kimball and Margy Ross (2002). The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. Wiley book and
- this Vincent Rainardi (2008). Building a Data Warehouse: With Examples in SQL Server. Apress book.
After that please read
- this Pramod J. Sadalage and Martin Fowler (2012). NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison-Wesley Professional book, and
- this Martin Kleppmann (2017). Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O'Reilly Media book, and
- this Alex Petrov (2019). Database Internals. O'Reilly Media book to learn about designing big data systems.
Finally, please read 
- this C. J. Date (2019). Database Design and Relational Theory: Normal Forms And All That Jazz. Apress book and 
- this C. J. Date (2015). SQL and Relational Theory: How to Write Accurate SQL Code. O'Reilly Media book.
After finishing the books please click Topic 15 - Advanced Software Design to continue.

Topic 6 – Introduction to Database Management Systems

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.

What can I do after finishing learning database management systems?

You can create enterprise systems, such as airlines and railways, banking, education, telecommunications, digital libraries and digital publishing, finance, sales, health care information 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 under a user's point of view.
Please read
- this Ignatius Fernandez (2015). Beginning Oracle Database 12c Administration: From Novice to Professional. Apress book, or
- this Adam Jorgensen et al. (2012). Microsoft SQL Server 2012 Bible. Wiley book.
After that please read
- this Jeff Carpenter and Eben Hewitt (2020). Cassandra: The Definitive Guide: Distributed Data at Web Scale. O'Reilly Media book, and
- this Bradshaw Shannon, Eoin Brazil and Kristina Chodorow (2019). MongoDB: The Definitive Guide: Powerful and Scalable Data Storage. 3rd Edition. O'Reilly Media book.

After finishing the books please click Topic 7 – Introduction to Web Application Development to continue.