Data Models - sammanthp007/Linux-Kernel-Development GitHub Wiki

Data modeling

The process of creating a specific data model for a determined problem domain.

Data model

A representation, usually graphic, of a complex “real-world” data structure. Data models are used in the database design phase of the Database Life Cycle.

Business Rules

Brief, precise, and unambiguous description of policy, procedure, and principle

Why Business Rules

  • Help standardize company’s view of data
  • Communications tool between users and designers
  • Allow designer to:
    • Understand the nature, role, scope of data, and business processes
    • Develop appropriate relationship participation rules and constraints
    • Create an accurate data model

Translating Business Rules into Data Model Components

  • Nouns translate into entities
  • Verbs translate into relationships among entities
  • Relationships are bidirectional
  • Questions to identify the relationship type
  • How many instances of B are related to one instance of A?
  • How many instances of A are related to one instance of B?

Naming convention

  • Entity names
    • Required to: Be descriptive of the objects in the business environment
    • Use terminology that is familiar to the users
  • Attribute name - Required to be descriptive of the data represented by the attribute

Schema

Whole database as seen by database administrator

Subschema

Portion of a database as seen by application program.

Data Definition Language, Data Manipulation Language

Relational Database Model

  • Performs basic functions provided by the hierarchical and network DBMS systems
  • Makes the relational data model easier to understand and implement
  • Hides the complexities of the relational model from the user