Database Section

This section details the persistence layer of your application.

Suggested Content Structure:

Database Purpose and Role

  • Explain the database's function: It serves as the single source of truth for your application's data (projects, blog posts, categories, etc.).

  • Example Sentence: "The database acts as the persistent storage layer for the application, securely storing all project details, blog content, and related information."

Technology Choice

  • State the database technology: Azure SQL Database.

  • Explain why Azure SQL Database was chosen:

    • A managed service, reducing administration overhead.

    • Scalability options provided by Azure.

    • Integration capabilities within the Azure ecosystem.

    • Built-in security features.

  • Mention the authentication method used (e.g., SQL Authentication as we discussed, or potentially Azure AD authentication if you implemented that).

  • Example Sentence: "Azure SQL Database was selected as the relational database due to its reliability as a managed cloud service, scalability options, and seamless integration within the Azure environment. Access is secured using [mention authentication method, e.g., SQL Authentication via secure connection strings]."

Object-Relational Mapping (ORM) and Schema Management

  • Explain that you used Entity Framework Core (EF Core) as the ORM.

  • Mention that EF Core simplifies data access code and maps objects to database tables.

  • Crucially, highlight the use of EF Core Migrations for managing database schema changes over time.

  • Connect this to the CI/CD section: Explain that these migrations are applied automatically by your CI/CD pipeline.

  • Example Sentence: "Entity Framework Core is used as the ORM to facilitate data access and map C# objects to database tables. Database schema changes are managed using EF Core Migrations, which are applied automatically as part of the CI/CD pipeline to ensure the database is always up-to-date with the application code."

Schema Overview (Optional but Recommended)

  • Provide a simplified overview of the database schema.

  • You could list the main tables (e.g., Projects, BlogPosts, Categories, Technologies).

  • Briefly describe the purpose of each table and mention key relationships (e.g., "Projects table is linked to Technologies table").

  • A simple diagram here would be very effective if GitBook supports image embedding well.


Last updated