Book Image

NHibernate 3 Beginner's Guide

By : Dr. Gabriel Nicolas Schenker, Aaron Cure
Book Image

NHibernate 3 Beginner's Guide

By: Dr. Gabriel Nicolas Schenker, Aaron Cure

Overview of this book

<p>Ideally, we would want to persist the objects our application uses and produces AS IS, without having to first transform them in complex ways. NHibernate is a framework that provides us with an object-oriented access to a relational database without having to write SQL and with little or no database-specific data access code. Definitely, if you are a .NET developer, knowing more about NHibernate will simplify and reduce your efforts in developing .Net applications.<em>NHibernate 3 Beginner's Guide</em> introduces Nhibernate with step-by-step examples, and is the easiest way to learn about bridging the gap between object-oriented .NET applications and the relational database that stores the application's data. It is a beginner's guide to NHibernate that starts from scratch. Successive chapters build upon earlier concepts, while the sample code presents various ways to accomplish typical data access tasks.</p> <p><em>NHibernate 3 Beginner's Guide</em> examines all of the topics required to get a functional data access layer implemented while writing the least amount of code possible, presenting options along the way to handle particular edge cases or situations as they arise. The book begins with an introduction to NHIbernate 3 and then moves on to creating the development environment. Then it teaches you how to create a model, define a database schema, and map the model to the database then covers sessions and transactions. This is succeeded by testing, profiling, and configuration, validation of data and writing queries. Finally, we wrap up with notes on the common pitfalls that you should avoid.</p> <p>Once you complete reading the book, you will have gained the skills and knowledge to incorporate NHibernate into your own applications.</p>
Table of Contents (19 chapters)
NHibernate 3 Beginner's Guide
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Normal form


To optimize data storage and retrieval, and to avoid errors introduced by redundant data, relational databases normalize data. The process of organizing data to minimize redundancy is called normalization. Edgar F. Codd, the inventor of the relational model, which is the base of relational databases, introduced the concept of normalization. He defined what we now know as the First Normal Form (1NF) in 1970. A year later he introduced and defined the Second and Third Normal Form (2NF and 3NF).

  • 1NF: A table is free of repeating groups.

  • 2NF: Non-key attributes must depend on the whole key.

  • 3NF: Non-key attributes are dependent on "nothing but the key".

To be 1NF compliant, we need to eliminate duplicate columns from the same table, create separate tables for each group of related data, and identify each row with a unique column or set of columns (the Primary Key). In other words, we don't want to store duplicate data, we want to store it once and relate to it.

Essentially, a 3NF database...