Skip to content

SamTaylor92/practical_database_design_course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Database Design for Blog Application

This repository contains the design and documentation for a database to support a blog application, developed as part of a practical database design course.

Screenshot 2024-08-16 at 09 36 17

Course Overview

This course covered the fundamentals of database design, from initial requirements analysis through to normalization and practical application in developing solutions for web applications. Key topics included:

  1. Introduction to relational databases and RDBMS
  2. Entity and attribute identification
  3. Establishing table keys (primary, candidate, foreign)
  4. Normalization (1NF, 2NF, 3NF)
  5. Identifying and resolving dependencies (functional, partial key, transitive)
  6. Establishing table relationships (one-to-one, one-to-many, many-to-many)
  7. Practical application to a blog schema

Project: Blog Database Schema

The main project involved designing a database schema for a blog application. The design process included:

  1. Initial entity and attribute identification
  2. Normalization to 3NF
  3. Establishing relationships between tables
  4. Expanding the design to include additional features

Key Features

  • Post management (creation, editing, categorization)
  • User management (authors, editors, admins)
  • Image handling for posts
  • Comment system (including nested comments)
  • Post rating system
  • Flagging system for inappropriate content
  • Event logging for user actions
  • Custom post attributes (meta data)

Entity Relationship Diagram (ERD)

Aug 2024  Simple_ Database Theory and Practical Application

Tools and Technologies

Lessons Learned

  • Importance of thorough requirements analysis
  • Techniques for identifying entities and attributes
  • Methods for resolving various types of dependencies
  • Strategies for expanding a database design to accommodate new features
  • Practical considerations in designing for scalability and maintainability

Further Development

This design serves as a foundation and can be expanded to include:

  • User authentication and authorization
  • Tag system for posts
  • Search functionality
  • Analytics features

Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published