5 Things I Have Learned So Far:
- I learned the basic concepts of database, including how database systems work, the purpose of query langues like MySQL, and how database are designed and programmed. These fundamental concepts helped me understand how data is stored and managed efficiently.
- I learned about the relational model, SQL, and key principles like tables, data types, primary and foreign keys, and constraints. Understanding how to manage databases through inserting, updating, and deleting rows gave me hands-on experience with relational databases.
- I studied different types of SQL queries, including special operators, aggregate functions, and subqueries. I also learned about various types of joins, including left/right joins, self-joins, and cross-joins. which are essential for retrieving data from multiple tables effectively.
- I explored database design, such as entities, relationships, attributes, and how to design a well-structured database. We covered cardinality, strong and weak entities, and normalization techniques, including first, second, third normal forms, and Boyce-Codd normal form (BCNF) to minimize redundancy and improve data consistency.
- I gained knowledge of different storage mechanisms, including table structures and indexing techniques. I learned how single-level and multi-level indexes improve query performance, as well as how partitions help manage large datasets in a database.
3 Questions I Still Have About Database:
- Normalization:
While I understand the basic idea of normalization, I still find it challenging to fully understand the differences between third normal form and Boyce-Codd normal form. I would like to gain more insights about when and why BCNF is necessary in real-world database design. - Indexing in Real-World Application:
I understand that indexes improve query performance, but I am unsure how many indexes should be created in a real-world database project. I would like to know how to determine the right balance between performance improvement and storage overhead. - Table Design and Query Efficiency:
I have learned that breaking data into smaller tables and using indexes improves efficiency, but I also heard that excessive joins can negatively impact performance. I want to understand how to find the best balance between normalization, indexing and query performance, especially in large-scale applications.
No comments:
Post a Comment