Relationships
For example, consider a database of electronic health records. Such a database could contain tables like the following: * Adoctor
table with information about physicians.
* A patient
table for medical subjects undergoing treatment.
* An encounter
table with an entry for each hospital visit.
Natural relationships exist between these entities, such as an encounter involving many doctors. There is a many-to-many relationship between records in doctor
and records in patient
because doctors have many patients and patients can see many doctors. There is a one-to-many relationship between records in patient
and records in encounter
because patients can have many encounters and each encounter involves only one patient.
A "one-to-one" relationship is mostly used to split a table in two in order to provide information concisely and make it more understandable. In the hospital example, such a relationship could be used to keep apart doctors' own unique professional information from administrative details.
Modeling
InTypes of Models
A complex data model can involve hundreds of related tables. Computer scientist Edgar F. Codd created a systematic method to decompose and organize relational databases. Codd's steps for organizing database tables and their keys is called database normalization, which avoids certain hidden database design errors (delete anomalies or update anomalies). In real life the process of database normalization ends up breaking tables into a larger number of smaller tables.