当前位置:网站首页>What is the database paradigm
What is the database paradigm
2020-11-08 12:11:00 【osc_6l5fg87g】
Preface :
About the database paradigm , I have often heard of , I haven't been able to understand in detail . A general database book or database course will introduce content related to the paradigm , Paradigms often appear in database exam questions . I don't know if you have a clear understanding of paradigms ? In this article, let's learn the database paradigm .
1. Introduction to database paradigm
In order to establish less redundancy 、 A well structured database , There are certain rules that must be followed when designing a database . In a relational database, such rules are called paradigms . A paradigm is a summary of a design requirement . To design a relational database with reasonable structure , Must meet certain paradigms .
The English name of the paradigm is Normal Form , abbreviation NF . It's English E.F.Codd In the last century 70 After the introduction of relational database model in the s . Paradigm is the basis of relational database theory , It is also the rules and guiding methods that we should follow in the process of designing database structure .
At present, there are six common paradigms of relational database : First normal form (1NF)、 Second normal form (2NF)、 Third normal form (3NF)、 buss - The COD paradigm (BCNF)、 Fourth normal form (4NF) And the fifth paradigm (5NF, Also called perfect paradigm ). The paradigm that meets the minimum requirements is the first paradigm (1NF). On the basis of the first paradigm, it is called the second paradigm (2NF), The other paradigms are analogies .
2. Common paradigms are explained in detail
When designing a database , Will refer to the paradigm requirements to do , But that's not to say that the higher the paradigm level, the better , The paradigm is too high, although it has better constraints on data relations , But it can also lead to more complicated relationships between tables , This results in more tables per operation , Database performance degradation . Usually , In relational database design , The highest is to follow BCNF , Generally speaking, it is still 3NF . That is, in general , We have enough of the first three paradigms . Let's take a closer look at the first three common paradigms .
First normal form (1NF)
The first paradigm is the most basic paradigm . If all field values in the database table are atomic values that cannot be decomposed , It shows that the database table satisfies the first paradigm . In short, the first paradigm is that the data in each row are indivisible , Cannot have more than one value in the same column , If there are duplicate attributes, you need to define a new entity .
Example : Suppose a company wants to store the names and contact information of its employees . It creates a table like this :
Two employees (Jon&Lester) Have two cell phone numbers , So the company stores them in the same form , As shown in the table above . Then the table doesn't match 1NF , Because the rules say “ Each attribute of a table must have atoms ( Single ) value ”,Jon&Lester Staff emp_mobile Value violates the rule . In order to make the table conform to 1NF , We should have the following table data :
Second normal form (2NF)
The second paradigm goes one step further than the first . The second paradigm needs to ensure that every column in the database table is related to the primary key , You can't just relate to a part of the primary key ( Mainly for the union primary key ). That is to say, in a database table , Only one kind of data can be saved in a table , It is not allowed to save multiple data in the same database table .
+----------+-------------+-------+
| employee | department | head |
+----------+-------------+-------+
| Jones | Accountint | Jones |
| Smith | Engineering | Smith |
| Brown | Accounting | Jones |
| Green | Engineering | Smith |
+----------+-------------+-------+
The table above describes the employed , The relationship between the work department and the leader . We use data that uniquely represents a row of a table in the database as the primary key of the table . In the table head Columns are not related to primary keys . therefore , The table does not conform to the second normal form , To make the table above conform to the second normal form , You need to split it into two tables :
-- employee Primary key
+----------+-------------+
| employee | department |
+----------+-------------+
| Brown | Accounting |
| Green | Engineering |
| Jones | Accounting |
| Smith | Engineering |
+----------+-------------+
-- department Primary key
+-------------+-------+
| department | head |
+-------------+-------+
| Accounting | Jones |
| Engineering | Smith |
+-------------+-------+
Third normal form (3NF)
Satisfy 2NF Under the premise of , All fields other than the primary key must be independent of each other , That is, you need to make sure that every column in the data table is directly related to the primary key , Not indirectly .
In short , Third normal form (3NF) It is required that a relationship does not contain non primary key information that has been included in other relationships . for example , There is a department information table , Each of these departments has a department number (dept_id)、 Department name 、 Department profile and other information . Then after the department number is listed in the employee information table, the Department name can no longer be 、 Department profile and other information related to the Department will be added to the employee information form . If there is no department information table , According to the third paradigm (3NF) It should also be built , Otherwise, there will be a lot of data redundancy .
3. About the anti paradigm
The advantages of paradigms are obvious , It avoids a lot of data redundancy , Save storage space , Keep the data consistent . The normalized table is usually smaller , Can be better placed in memory , So it's faster . So is it necessary to normalize all tables as 3NF after , Database design is the best ? It doesn't have to be . The higher the paradigm, the finer the table partition , The more tables you need in a database , The user has to spread the data that was originally associated to multiple tables . A slightly more complex query statement may require at least one Association on a normal database , Maybe more , It's not only expensive , It may also invalidate some indexing strategies .
So when we design a database , It doesn't exactly follow the paradigm , Sometimes there's anti paradigm design . Improve database read performance by adding redundant or duplicate data , Reduce the number of associated queries ,join Times of table .
Reference resources :
版权声明
本文为[osc_6l5fg87g]所创,转载请带上原文链接,感谢
边栏推荐
- python基本语法 变量
- Rust: performance test criteria Library
- next.js实现服务端缓存
- YGC问题排查,又让我涨姿势了!
- When kubernetes encounters confidential computing, see how Alibaba protects the data in the container! (Internet disk link attached)
- Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
- VC + + specified directory file output by time
- Flink的sink实战之一:初探
- Ubuntu20.04 access FTP server garbled problem + upload files
- On monotonous stack
猜你喜欢
一文剖析2020年最火十大物联网应用|IoT Analytics 年度重磅报告出炉!
Why is Schnorr Signature known as the biggest technology update after bitcoin segwit
用 Python 写出来的进度条,竟如此美妙~
211考研失败后,熬夜了两个月拿下字节offer!【面经分享】
Tencent, which is good at to C, how to take advantage of Tencent's cloud market share in these industries?
笔试面试题目:求缺失的最小正整数
最全!阿里巴巴经济体云原生实践!(附网盘链接)
Introduction to mongodb foundation of distributed document storage database
Xamarin deploys IOS from scratch Walterlv.CloudKeyboard application
Flink从入门到真香(10、Sink数据输出-Elasticsearch)
随机推荐
Entry level! Teach you how to develop small programs without asking for help (with internet disk link)
We interviewed the product manager of SQL server of Alibaba cloud database, and he said that it is enough to understand these four problems
How to deploy pytorch lightning model to production
漫画|讲解一下如何写简历&项目
原创 | 数据资产确权浅议
Windows下快递投递柜、寄存柜的软件初探
蘑菇街电商交易平台服务架构及改造优化历程(含PPT)
Web novice problem of attacking and defending the world
211 postgraduate entrance examination failed, stay up for two months, get the byte offer! [face to face sharing]
解析Istio访问控制
Flink's sink: a preliminary study
2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
阿里出品!视觉计算开发者系列手册(附网盘链接)
Istio流量管理--Ingress Gateway
后端程序员必备:分布式事务基础篇
2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
一文剖析2020年最火十大物联网应用|IoT Analytics 年度重磅报告出炉!
OR Talk NO.19 | Facebook田渊栋博士:基于蒙特卡洛树搜索的隐动作集黑盒优化 - 知乎
Flink的sink实战之一:初探
Can you do it with only six characters?