当前位置:网站首页>[three paradigms of database] you can understand it at a glance

[three paradigms of database] you can understand it at a glance

2022-07-06 13:53:00 No baldness

Three paradigms

First normal form (1NF)

Make sure the database The atomicity of a field ( That is, indivisibility );

* example : Judge whether the following table conforms to First normal form

Number full name Telephone
1 Xue Baochai 10076
2 Jia Baoyu 10086
3 Lin daiyu 10096

  First of all, we need to Business needs To judge Atomic properties of fields , The only thing that can be split in the above table is the name , If the business thinks that the name is a field , Then the table satisfies the first normal form ; But if the business requires our name to be written in two fields ( Last name and first name ), It does not satisfy the first paradigm , Split the name to meet ( Here's the picture ).

Number surname name Telephone
1 Xue Bao Chai

10076

2 Jia The treasure jade 10086
3 Lin Daiyu 10096

Second normal form (2NF)

In the meet 1NF On the basis of , It also contains two contents :

(1) The watch must have A primary key

(2) Non primary key columns must Completely dependent on Primary key , You can't rely on only part of the primary key ( Not partially dependent );

* example : Judge whether the following table conforms to Second normal form ?( Set up : The business requirements of this table meet the first paradigm )

full name Gender Telephone Department name Department floor
Xue Baochai Woman 10076 Public relations 5 layer
Jia Baoyu male 10086 Publicity Department 3 layer
Lin daiyu Woman 10096 Public relations 5 layer

         First, on the basis of the first paradigm , We can see that the primary key of this table is Composite primary key .( full name + Department name ), Content satisfied (1) The watch must have A primary key

         secondly , We found that non primary key columns are partially dependent on primary keys Instead of relying entirely on primary keys : Gender of non primary key column 、 The phone depends on the name , The non primary key column Department floor depends on the Department name

Not satisfied with the content (2) Non primary key columns must Completely dependent on Primary key , You can't rely on only part of the primary key

In order to conform to the second paradigm , We will proceed with the table Split and optimize

The employee table
Job number full name Gender Telephone
101 Xue Baochai Woman 10076
102 Jia Baoyu male 10086
103 Lin daiyu Woman 10096
Departmental table
Department number Department name Department floor
1 Public relations 5 layer
2 Publicity Department 3 layer
1 Public relations 5 layer

Total table
Department number Job number full name Gender Telephone
1101 Xue Baochai Woman 10076
2102 Jia Baoyu male 10086
1103 Lin daiyu Woman 10096


We put Set the department number as the primary key of the Department table ( The foreign key of the master table ) The job number is set as the primary key of the master table , Because they have no practical business significance , So when we modify the data ( For example, change your name 、 Department name ), You don't have to change it line by line .

Third normal form (3NF)

In the meet 2NF On the basis of , In addition, non primary key columns must Directly dependent on Primary key ( Cannot rely on non primary keys ), There can be no delivery dependency ,

That is, it cannot exist A Depend on B,B Depend on C;

( among A、B Is a non primary key column ,C Primary key )

* example : Judge whether the following table conforms to Third normal form ?( The business requirements of this table have met the second paradigm )

Department number Job number full name Gender Telephone Position Wages
1101 Xue Baochai Woman 10076 formal 8000
2102 Jia Baoyu male 10086 Internship 4000
1103 Lin daiyu Woman 10096 formal 8000


In order to conform to the third paradigm , We will proceed with the table Split and optimize

First, on the basis of the first paradigm , We can see that the salary in the non primary key column of the table depends on the position in the non primary key column , There are transitive dependencies , That is, it does not meet the requirements of the third paradigm

The employee table
Job number full name Gender Telephone
101 Xue Baochai Woman 10076
102 Jia Baoyu male 10086
103 Lin daiyu Woman 10096
Departmental table
Department number Department name Department floor
1 Public relations 5 layer
2 Publicity Department 3 layer
1 Public relations 5 layer
Job list
Job number Position Wages
01 formal 8000
02 Internship 4000
01 formal 8000

Total table
Department number Job number full name Gender Telephone Job number
1101 Xue Baochai Woman 1007601
2102 Jia Baoyu male 1008602
1103 Lin daiyu Woman 1009601

For explanation, please refer to the end of the second paradigm

ps: We must start from the business needs ( That's the scene ) Set out to judge whether it conforms to the paradigm

Why learn paradigm ?

         When we communicate business needs with customers Or is it To complete a project , We need to design a suitable data model . here , The importance of standardized design is highlighted .

What is the paradigm ?

A paradigm is a collection of relational patterns that conform to a certain level . The construction of database must follow certain rules ( In a relational database , This rule refers to the paradigm )). The relationship in relational database must meet certain requirements , That is to meet different paradigms .

What problems can learning paradigm solve ?

         Learning standardized design can solve the following problems :

1. data redundancy

2. Abnormal problems

         Update exception

         Insertion exception

         Delete exception

原网站

版权声明
本文为[No baldness]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060917124658.html