When people refer to database normalization, what they mean is that there are a set of tables for the database which are interrelated. The main goal of this process is to de-normalize the information stored by a database and increase the management capacities of the database. The types of phases your friend has access to divide vast tables into smaller tables while still ensuring the relationship that links the data points seems logical.
The Importance of Normalization
With large set of databases having plenty of information comes a number of challenges one of which is data redundancy which is duplicate of the same information in two or more locations and such situations not only consume more space but create a problem when the data gets modified in one location but revision of that data hasn’t occurred in the other. Other problems which might arise are anomalies which quite simply are errors caused when basic editing tasks such as inserting, deleting or updating data is performed. A straightforward example can be if required, data is in duplication – A single update only revises one of the instances, making all the rest unchanged.These issues are to a great extent handled by normalization through placing structure in the data that reasonable duplication is reduced and integrity is preserved or enhanced. Another main impact of normalization of databases is to make the database system less rigid by requiring that such duplication of related data be kept in different tables.
The Process of Normalization
Establishing a relationship between two tables and subsequently arranging them in hierarchical order can be viewed as a basic form of normalization. Normalization in its essence means re-arranging a table in order according to normal relationships, which involves splitting large complex tables into simpler and smaller ones, and this is where issues of normal forms arise. This also dictates that certain conditions are to be met in normalizing tables which can be carried out in several steps. Several formalized conditions that facilitate the restructuring of a tabulated. Relationships between complex tables such as the Three main forms required Understanding the change brought about does not only involve the tables but all of their surrounding complexities, structures forms that are most understood and carried out in practice.First Normal Form (1NF)
Many researchers consider the first normal form to imply only concentrating on atomicity. The first normal form applies when each table only contains atomic attributes which means no column within that table may violate this norm by containing more than one non-divisible value per row so that the order of the column is equal for all rows. In any case, a column which has such a violation requires every value within such columns to have their own unique value separated either in rows or columns otherwise known as table cell structures.As with First normal form, 1NF also helps eliminate repetitions that are group or array based within the table. Two concepts regarding database structure help define 1NF that is every component of the database structure must be distinguishable from others and every key within the relational data base management systems must serve a unique purpose such that such a key could be used to individually identify a specific record or entire row and therefore guarantee non-recurrence of that specific row in the table. It is therefore possible to state that while a table is being defined in 1NF, it is freed from repetitions in columns or rather row redundancy in the outer form of the table structure.
Second Normal Form (2NF)
The second normal form (2NF) builds on the rules of section 1NF. To put it more accurately: It is stated that the second normal form can be achieved from a normalised table that is in the first normal form and subsequently removing one or more partial dependencies. That's something I've been told about, on a couple of occasions. This does sound very intriguing.What this implies is that in that particular table, there is no dependency between every non-key attribute and some part of the said primary key. This inclusion looks unnecessary and hence the distinction is made through the establishment of tables. Such a move reduces redundancy and boosts the usefulness of the table.
Third Normal Form (3NF)
The third normal form (3NF) advances this by further restricting the structure via eliminating transitive dependencies. Whenever a non-key attribute relies on another non-key attribute, a transitive dependency exists. In simplifying a pre-existing model, there exists some considerable constraints where one is the fact that one manipulates the third normal form directly. So for instance, for n-dimensional data such as in the vase example, a model may be initialized in the second normal form and then pushed to the third normal form.This stage guarantees that every non-key attribute is fully functional dependent on the primary key. Therefore, 3rd normal form achieves a fairly high degree of data integrity by the restriction of unnecessary associative relationships among the non-key attributes.
Boyce-Codd Normal Form (BCNF)
Boyce-Codd normal form (BCNF) is just an enhancement of 3NF. A table is in BCNF if, for every functional dependency, the left side is a superkey. To put it in other words, superkey is simply a set of attributes which can uniquely distinguish any single record in a table. Most of the time, BCNF will be able to solve any problems of dependencies that may arise due to the fact that most if not all functional dependencies are or will be candidate keys.Even if the case can be made for BCNF in other cases, implementing it is not always necessary particularly when there are no concerns with issues of functional dependencies that should be resolved. The BCNF is to help effect further changes to the structures especially in cases of complicated databases where the dependencies could be much more complicated.