Database Basic
- Relational databases (e.g. MySQL) are probably the most common. Essentially they store data in a set of 2D tables (relations) that follow certain rules of normalization and can be linked to each other via relational algebra (mostly set theory type functions).
- To address problems encountered when trying to interface a RDBMS with an object-oriented programming language, alternative non-relational database structures (e.g. XML, NoSQL, Hierarchical, Network) are available and may have advantages in certain situations.
- Tables (Relations/Relvars) are made up of Rows (Tuples/Records) and Columns (Attributes/Fields) where the intersection at a certain cell is called a value.
- Attributes contain values of the same data type (domain), e.g. integer, string, boolean.
- Each Tuple should have a primary key (normally an arbitrary integer) that identifies a unique tuple. Natural keys (those based on attributes) are possible as well but less optimized.
- Databases can be indexed to streamline queries.
Useful Wikipedia Pages
Working Prototype
Disease |
Risk Factors |
Associated Conditions |
Complications |
Symptoms |
Vitals |
Signs |
Labs |
Imaging |
Studies
|
Primary Key |
LIST of epidemiologic risk factors (age, sex, race, family history) |
problem LIST at time of presentation |
LIST of possible complications (screening and anticipatory guidance) |
LIST of symptoms (keep it broad: chest pain rather than substernal acute pressure-like chest pain with radiation) |
LIST of vital abnormalities |
LIST of pertinent positive/negative physical exam findings |
LIST relevant lab abnormalities |
LIST of useful imaging findings |
LIST relevant echo/ECG/PFT/sleep/etc studies
|
Base Table
Attribute |
Domain |
Cardinality
|
Disease (PK) |
text |
--
|
Risk factors |
text |
M2M
|
Associated Conditions |
text |
M2M
|
Complications |
text |
M2M
|
Symptoms |
text |
M2M
|
Vitals |
text |
M2M
|
Signs |
text |
M2M
|
Labs |
text |
M2M
|
Imaging |
text |
M2M
|
Studies |
text |
M2M
|
Disease < Symptom < Disease