These notes cover a full Database Systems course (CIS3530) with topics including:
- ER modeling and database design
- SQL and relational algebra
- Normalization and functional dependencies
- Query processing and optimization
- Transaction management and concurrency control
- Recovery and security
Format: Professional markdown notes optimized for Obsidian with internal linking, callouts, and organization.
- Chapters 1-4: Database fundamentals, ER modeling, SQL basics
- Chapters 5-7: Relational algebra, calculus, mathematical foundations
- Chapters 8-10: Functional dependencies, normalization, ER-to-relational mapping
- Chapters 11-13: Query processing, optimization, access methods
- Chapters 14-17: Transactions, concurrency, recovery, security
- Formulas Cheatsheet: Quick lookup for all major formulas and algorithms
- SQL Quick Reference: Common SQL patterns and syntax
- Normalization Quick Guide: Step-by-step normalization rules
- Install Obsidian: Download from obsidian.md
- Open as Vault: File → Open folder as vault → Select
database-notesfolder - Start with README.md: This is your main index with links to all chapters
- Navigate: Click internal links like
[[Chapter-Name]]to jump between topics
Benefits:
- Graph view to see connections between topics
- Quick switching between related concepts
- Search across all notes instantly
- Theme customization
These notes are plain markdown and work in:
- VS Code (with markdown preview)
- GitHub (renders automatically)
- Typora, Mark Text, or any markdown editor
Use Pandoc to convert to PDF, HTML, or DOCX:
# Convert a chapter to PDF
pandoc 09-Normalization.md -o Normalization.pdf
# Convert all to HTML
for file in *.md; do pandoc "$file" -o "${file%.md}.html"; done- Collapsible answers for practice problems
- Internal links between related topics
- Tags for easy searching
- Examples with both correct and incorrect approaches
- Common mistake warnings
- Decision trees for algorithm selection
- Quick reference tables
- Practice problems with solutions
Found an error or want to add examples?
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Contribution ideas:
- Add more practice problems
- Create visual diagrams (Mermaid or ASCII art)
- Add real-world examples
- Expand on specific topics
- Fix typos or improve explanations
Due to markdown limitations, we use standard notation:
σ= Selection (sigma)π= Projection (pi)ρ= Rename (rho)⋈= Join×= Product∪= Union∩= Intersection−= Difference÷= Division
In Obsidian, these render properly. In plain text editors, they may appear as Unicode symbols.
These notes are maintained as part of course study materials. Updates include:
- New practice problems
- Clarifications based on common questions
- Additional examples
- Links to external resources
Last Updated: April 2026
- Database System Concepts by Silberschatz, Korth, Sudarshan
- Fundamentals of Database Systems by Elmasri, Navathe
- SQLZoo - Interactive SQL practice
- LeetCode Database - SQL problems
- HackerRank SQL - Structured practice
These notes are provided for educational purposes. Feel free to use, share, and modify for your own learning.
Attribution: If you share or build upon these notes, a link back to this repository is appreciated!
If these notes helped you, consider starring the repository to help others find it!