CS-GY 6083: Principles of Database Systems
1.0.0
1.0.0
  • Introduction
  • DBMS Basics
    • Introduction to DBMS
    • Why use a DBMS instead of a File System?
    • Levels of Abstraction
    • Instances and Schemas
  • Data Models
    • Introduction to Data Models
    • Database Languages
    • Database Design
  • DBMS Internals
    • Introduction to DBMS Internals
    • Storage Manager
    • Query Processor
    • Transaction Management
    • Database Users
    • Database Architecture
  • DBMS History
  • Some Popular Database Systems
  • OLTP, OLAP, and Data Mining
  • Databases vs. Information Retrieval
  • The Entity-Relationship Model - Details
    • Introduction
    • Cardinality Constraints
    • ER Diagram Components
    • ER Diagram to Relational Schema
    • Design Issues
  • The Relational Model - Details
    • Relations
    • Keys
    • Relational Query Languages
      • Relational Algebra
      • Relational Calculus
      • Relative Expressive Power
    • Relational Operators
  • SQL
    • Introduction to SQL
    • Domain Types in SQL
    • DDL Commands
      • Creating a Table
      • Alter and Drop
    • DML Commands
      • Basic Query Structure
      • Select
      • From
      • Where
      • Joins
      • Rename
      • String Operations
      • Ordering
      • Set Operations
      • Group By and Having
      • Nested Subqueries
      • Test for Empty Relations
      • Test for Duplicate Tuples
      • Derived Relations
      • With
      • Database Modification
    • Intermediate SQL
      • Joins Revisited
      • Views
      • Transactions
      • Integrity Constraints
      • More SQL Data Types and Schemas
        • Other Features
      • Authorization
    • Advanced SQL
      • Accessing SQL From a Programming Language
        • ODBC and JDBC
        • Embedded SQL
        • PHP
        • Some Security Issues
      • Accessing Metadata
      • Text Operations
        • Like
        • Contains
      • Cursors
      • Functions and Procedures
        • Procedural Constructs
        • External Language Routines
      • Triggers
      • Ranking
      • Windowing
      • OLAP
Powered by GitBook
On this page

Was this helpful?

  1. Data Models

Database Design

PreviousDatabase LanguagesNextDBMS Internals

Last updated 5 years ago

Was this helpful?

Database Design is the process of designing the general structure of the database.

  • Logical Design deals with designing a database schema. We have a business decision (what attributes to record in the database?) and a Computer Science decision (how should the attributes be distributed acmong the various schemas?)

  • Physical Design deals with the physical layout of the database, such as file organization and internal storage structures

  • Application-Level Design deals with views, stored procedures and interfaces

Some common approaches for database design are:

  • Normalization Theory We formulate a set of schemas that can store information without redundancy and allow for easy retrieval. We then identify which designs are bad, test for them and convert them into good designs by following a set of rules. This will be discussed in detail later on.

  • Entity-Relationship Model Every object is modeled as an entity and the relationship denotes the association among the different entities. Every entity has its own attributes. The following figure illustrates a simple ER Model: Here, instructor and department are entities with their attributes mentioned below them, and member is the relationship that associates an instructor with a department.