
Explore the file processing system as a traditional, file-based approach, and examine issues like data redundancy, inconsistency, limited sharing, data dependencies, security, concurrency, and scalability.
Explore the fundamentals of DBMS, data versus information, and how a DBMS stores, queries with SQL, enforces integrity, security, and recovery.
Explore basic database terminologies, including table, row, column, and keys (primary, candidate, foreign, composite). Understand schema, data dictionary, relational databases, sql queries, normalization, and acid properties for reliable transactions.
Explore the three main database system components: query processor, storage manager, and disk storage, along with user roles from naive users to database administrators, and understand data independence.
Explore hierarchical, network, entity-relationship model, relational, and object-oriented data models, their features and drawbacks, and learn how to choose the appropriate model for data organization.
Explore ER diagram basics and extensions, including entity sets, attributes (simple, composite, multivalued, derived, key), relationships, and cardinality and participation constraints.
Explore er diagram extensions, including specialization and generalization of superclass and subclass, with membership, disjoint, and completeness constraints, aggregation, and identifying cardinalities for practical diagramming.
Learn tuple relational calculus, a non-procedural query language using tuple variables and predicates. Explore existential and universal quantifiers, trc syntax, and example queries on student and course data.
Explore domain relational calculus, a non-procedural first-order logic language using domain variables and existential and universal quantifiers to define predicates and queries.
Explore relational algebra as a query language for relational databases, using unary and binary operators like selection (sigma), projection, union, intersection, difference, Cartesian product, and renaming.
Master sql concepts and commands for relational databases, focusing on data types, ddl, dml, and dcl categories, including create, alter, drop, truncate, rename, constraints, and permissions.
Learn the core DML commands in SQL: insert, select, update, and delete, to manipulate data, with non procedural, transactional behavior and practical syntax examples.
Explore SQL aggregate functions like count, sum, average, maximum, and minimum with group by and having, then use where and order by, and apply predefined numeric and string functions.
Learn about data control language (dcl) commands in mysql, including commit, rollback, savepoint, and set transaction, and see how grant and revoke manage access alongside dml and ddl basics.
Explore SQL constraints, including primary key, foreign key, unique, not null, check, and default. Learn how to apply, modify, and drop constraints using create, alter, and drop table statements.
Explore sql joins, including inner and outer joins, natural and equijoins, and learn how to combine employee and role tables using on conditions and salaries.
Explore set operations in SQL using MySQL, including union, union all, intersect, and minus, with examples that combine and compare two employee tables by matching columns and data types.
Explore subqueries, including nested and correlated forms, that run inner queries to supply values for outer statements. Learn to use subqueries with select, insert, update, delete, and exists, any, all.
Discover how SQL views act as virtual tables and learn to create view statements, query and manage views from single or multiple tables, including inserting, deleting, and restricting data access.
Explore PL/SQL, Oracle’s procedural extension to SQL, with variables, constants, exceptions, and control structures like if, case, while, for, and go to, plus stored procedures, functions, and triggers.
Explore PL SQL triggers, including before, after, and instead of triggers, and their uses. Understand insert, update, and delete events, trigger syntax, and examples like data validation and audit logs.
Learn how cursors retrieve and navigate result sets row by row in PL/SQL, with implicit cursors auto-created and explicit cursors controlled by the programmer, using open, fetch, and close.
Normalization reduces redundancy and anomalies by organizing data and tables, leading to a well-structured database with relational integrity, and avoids insertion, deletion, and updation anomalies.
Learn why normalization reduces redundancy and anomalies, ensures data integrity, and improves query performance by applying first through fifth normal forms, including Boyce-Codd normal form (BCNF) and lossless join.
Explore the first normal form by defining atomic, single-valued attributes and eliminating multi-valued or composite fields, illustrated with a customer table deconstructed into separate rows to enforce 1nf.
Master second normal form by ensuring non-key attributes are fully functionally dependent on the primary key and by eliminating partial dependencies through table decomposition.
Understand third normal form (3nf), extending 1nf and 2nf with no transitive dependencies. See how decomposition reduces data duplication and preserves integrity, using primary, candidate, and super keys.
Master Boyce-Codd normal form, a stricter version of third normal form requiring every functional dependency's left side to be a superkey. See an item-manufacturer example illustrating bc nf decomposition.
Explore fourth normal form (4NF) and its requirement to eliminate multivalued dependencies under BCNF. See how decomposing tables, like student id with course and hobby, achieves 4NF.
Fifth normal form extends fourth normal form, imposes no join dependencies, and ensures lossless joins when decomposing tables into sub tables to minimize redundancy.
This Database Management Systems (DBMS) course offers a thorough introduction to the principles, architecture, and practical aspects of database systems. It focuses on various data models, with special emphasis on the relational model and the use of SQL for querying and managing data. Key areas of study include normalization, database design, transactions, concurrency control, and data recovery. Students will engage in hands-on projects using contemporary DBMS tools. The course also delves into indexing methods, storage management, and database security. The course emphasizes the use of Structured Query Language (SQL) for creating, querying, and managing databases. Core topics include database normalization, indexing, storage mechanisms, and query optimization to ensure data integrity, efficiency, and performance. Students will also explore advanced concepts such as transaction management, concurrency control, and database recovery techniques, which are essential for maintaining consistency and reliability in multi-user environments.
Practical sessions and hands-on projects using popular DBMS software will help reinforce theoretical concepts and develop real-world skills. The course also touches on current trends in database systems, including NoSQL and distributed databases, providing a broader understanding of modern data management challenges.
By the end of the course, students will be equipped to design, implement, and maintain efficient and secure database systems, preparing them for roles in software development, data analysis, and information systems management. Upon completion, learners will be equipped to efficiently design, implement, and maintain reliable, scalable, and secure database solutions.