This project is read-only.

Data Layer Questions List

J.D. Meier, Alex Homer, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher, Akshay Bogawat


  • General
  • BLOB
  • Batching
  • Connections
  • Data Format
  • Exception Management
  • Queries
  • Stored Procedures
  • Transactions
  • Validation
  • XML


  • What are my Data Access Technology choices?
  • When would I use each of my Data Access Technology choices?
  • What are the various components in the data access layer?
  • How do I design an interface to the data access layer?
  • What are the options for types of application entities in data access later?
  • How do I design data access layer for improve performance and scalability of my application?
  • What sort of security attacks should I protect against in my Data Layer?


  • What is a BLOB?
  • What type of data would be stored in a BLOB?
  • When would you use BLOBs in the Data Layer?
  • What are your storage options for BLOBs?
  • What is the best way to move BLOB data between the Data Layer and other layers?


  • What is batching as used in the data layer?
  • When and why should I use batching in the data layer?
  • What types of operations should I batch?
  • What are the pitfalls when using batching?


  • How should I make connections from the data layer to my databases?
  • Where should I store connection strings when used in the data layer?
  • How do I efficiently manage connections in the data layer?
  • How do I manage access to multiple databases and database types?
  • What type of authentication should I use to open my database connections?
  • What identity should I use to connect to the database?
  • What is connection pooling and how can it help me in the Data Access Layer?

Data Format

  • What are my options for the data format?
  • How do I choose the data format appropriate for my application?
  • When should I use custom data format?
  • What are the relevant patterns for my entities?
  • How do I create entities for interoperability?

Exception Management

  • How do I properly design an Exception Management strategy for the Data Layer?
  • How do I properly design for unhandled exceptions in the DAL?
  • How do I keep Data Layer callers from getting sensitive exception information that could compromise security?
  • How do I handle database exceptions?
  • How do I properly design exception logging?


  • How do I query records from the database efficiently?
  • How do I build dynamic queries?
  • How to build queries for improving performance and throughput?
  • What are the scenarios when I should prefer queries over stored procedures?
  • How do I protect from SQL injection attacks?

Stored Procedures

  • When should I use Stored Procedures?
  • How do I update stored procedures while my application is deployed?
  • How do I write an effective stored procedure?
  • What are the performance benefits offered by using stored procedures?
  • What are the security benefits offered by using stored procedures?
  • How do I handle exceptions in stored procedures?
  • What are the common pitfalls of using stored procedures?


  • What are transactions and how do they help me?
  • When should I use Transactions in my data access layer?
  • When should I not use transactions in my data access layer?
  • Does my usage of transactions vary based on the database manufacturer/language?


  • What type of validation should I do in the Data Layer?
  • How do I propagate validation errors to callers?
  • How does data validation improve security of the application?


  • How do I use XML in my Data Layer?
  • Why and when do I want to use XML in my Data Layer?
  • How do I validate my XML data?
  • What are the various XML query and modification capabilities available in the database?
  • What is the XQuery language?
  • How should I store XML data in database?

Last edited Oct 16, 2008 at 12:28 AM by prashantbansode, version 1


No comments yet.