Database Design Process

18
1 MYSQL 5 Database Design Process

description

 

Transcript of Database Design Process

Page 1: Database Design Process

1

MYSQL 5

Database Design Process

Page 2: Database Design Process

2

Understanding the Database Design Process

• Some advantages to good database design

• Three types of table relationships

• How to normalize your database

• How to implement a good database design process

Page 3: Database Design Process

3

Defining Keys

• Keys are used to describe the relation between columns. These keys uniquely identify a record.

• Types of keys:– Primary key: is a column in the table which is

used as the unique identifier. – Composite key: is a primary key having more

than one attribute – Foreign key: is a key in table which is also the

Primary Key in another table.

Page 4: Database Design Process

4

Normalization

• Normalization refers to the process of structuring data in order to minimize duplication and inconsistencies

Page 5: Database Design Process

5

Types of Table Relationships

• Table relationships come in several forms:

• One-to-one relationships

• One-to-many relationships

• Many-to-many relationships

Page 6: Database Design Process

6

The employees and departments tables are related through the DeptID key.

Page 7: Database Design Process

7

One-to-One Relationships

One computer is assigned to each employee.

Page 8: Database Design Process

8

One-to-one relationship in the data model.

One-to-one relationship in the data model.

Page 9: Database Design Process

9

One-to-Many Relationships

One department contains many employees.

Page 10: Database Design Process

10

Many-to-Many Relationships

Students take classes, and classes contain students.

Page 11: Database Design Process

11

The students table and the classes table, unrelated

The students_classes_map table acts as an intermediary.

Page 12: Database Design Process

12

Understanding Normalization

Normalization is simply a set of rules that will ultimately make your life easier when you're acting as a database administrator. It's the art of organizing your database in such a way that your tables are related where appropriate and flexible for future growth.

The sets of rules used in normalization are called normal forms. If your database design follows the first set of rules, it's considered in the first normal form. If the first three sets of rules of normalization are followed, your database is said to be in the third normal form

Page 13: Database Design Process

13

Problems with the Flat Table

In the case of a database, it's the flat table. A flat table is like a spreadsheet it has many, many columns. There are no relationships between multiple tables; all the data you could possibly want is right there in that flat table. This scenario is inefficient and consumes more physical space on your hard drive than a normalized database

students

PK StudentsIDStudentNameCourseIDCourseDescriptionCourseInstructor

Page 14: Database Design Process

14

First Normal Form

The rules for the first normal form are as follows:• Eliminate repeating information.• Create separate tables for related data.

Breaking the flat table into two tables

Page 15: Database Design Process

15

Second Normal Form

The rule for the second normal form is as follows:• No non-key attributes depend on a portion of the primary key.

Taking your tables to second normal form

Page 16: Database Design Process

16

Third Normal Form

The rule for the third normal form is as follows:• No attributes depend on other non-key attributes.

Taking your tables to third normal form.

Page 17: Database Design Process

17

Following the Design Process

The general steps in the design process are as follows:

• Define the objective• Design the data structures (tables, fields)• Discern relationships• Define and implement business rules• Create the application

Page 18: Database Design Process

18

SummaryFollowing proper database design is the only way your application will be efficient, flexible, and easy to manage and maintain. An important aspect of database design is to use relationships between tables instead of throwing all your data into one long flat file.Types of relationships include one-to-one, one-to-many, and many-to-many.Using relationships to properly organize your data is called normalization. There are many levels of normalization, but the primary levels are the first, second, and third normal forms. Each level has a rule or two that you must follow. Following all the rules helps ensure that your database is well organized and flexible.To take an idea from inception through to fruition, you should follow a design process. This process essentially says "think before you act." Discuss rules, requirements, and objectives; then create the final version of your normalized tables.