Tag Archives: Oracle

Topic 7 – 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.

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:

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:

After that, please read these books to learn how to build a data warehouse:

After that, please read these books to learn the core concepts of NoSQL database management systems and gain hands-on experience working with them:

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.