Relational databases are simple but can have unexpected issues if the database isn’t
properly designed. Normalization is a way for organizing statistics in a database. One can
run into a myriad of issues, so it is important that a database is normalized to decrease
redundancy, for example, duplicate records and to make sure clean related records is saved
in all the table. It also prevents any issues stemming from database modifications together
with insertions, deletions, and updates. I personally haven’t had the pleasure of experienced
these types of consequences myself but doing some research I have read another example
how a poorly normalized database and poorly normalized tables can cause issues with
excessive disk usage and performance. An improperly normalized situation can bring about
massive facts redundancy, which places a burden on all programs that manipulate the data.
Normal forms also known as normalization is the process of organizing the data within the
database. It is widely used to minimize redundancy from a relation or set of relations. It is
also used to eliminate undesirable characteristics like Insertion, Update, and Deletion
Anomalies. Normalization divides the larger table into smaller ones and links them using
relationships. The normal form is used to reduce redundancy from the database table. The
main reason for normalizing the relations is to remove these anomalies. Failure to eliminate
anomalies leads to data redundancy and can cause data integrity and other problems as the
database grows. Normalization consists of a series of guidelines that helps to guide you in
creating a good database structure.
Advantages of Normalization
• Normalization helps to minimize data redundancy.
• Greater overall database organization.
• Data consistency within the database.
• Much more flexible database design.
• Enforces the concept of relational integrity.
Disadvantages of Normalization
• You cannot start building the database before knowing what the user needs.
• The performance degrades when normalizing the relations to higher normal forms,
i.e., 4NF, 5NF.
• It is very time-consuming and difficult to normalize relations of a higher degree.
• Careless decomposition may lead to a bad database design, leading to serious
problems.
Relational databases are commonly used in software engineering since they are easy to
build and use. It is a suitable type of database to use since it provides a decent mechanism
for searching, joining, and restricting data across a variety of tables. It also allows for
organizing those results.
Normal forms are used in software engineering to attempt to avoid problems called
anomalies. Anomalies can result in things such as duplication of the entered data and issues
with the deletion of data that may not be related to the data you need to delete.
The current system we use at work is a relational database. One of the things I regret most
is that we converted old data into the new system. While this can be helpful in some
instances, we imported over 80,000 duplicate name records that were not resolved ahead of
time. The saying "Garbage in, garbage out" certainly applies in this instance. Our old
system did not follow normal form rules and there was no way to ensure that two or more
rows were not identical. It also meant that since the part of the information tied to the name
record was being brought in as a text file, there may be involvements or other data not
related to that name record that could be deleted if the duplicate records were merged. Once
the records were merged it effectively deleted everything from the old record which was not
ideal.
When I think about this subject of normal forms and looking at databases, I must be honest,
its kind of boring to me. I think frankly it's because looking at data can and sometimes is a
very lifeless kind of thing, though I can see the importance of not only getting the
information done correctly but then also making sure that when you need the data to back a
claim or show a pattern, you want to be able to access it at any given notice.
This leads to the issue of getting data done correctly in the first place, and updation
anomalies. When one is input data into a table, the important thing to make happen is to
make it very simple for one to update that information as painlessly as possible. However,
what can happen is if no normal form is taken into consideration, it could mean a tedious
amount of updating the information that would have taken a matter of seconds to do if steps
were taken. Another issue is deletion anomalies as this could also have an impact on how
you track the data that connects to all the other. If you delete one thing that is vital it could
eradicate all other branches as well. The closest thing I had to an experience with this is
when I was making my budget using excel and trying to make my columns have data that
would be important to other rows. I would have to say that normal forms are used in
reducing and eliminating data redundancy in relational databases during software
engineering process. Normal forms also make it easy for software engineers to integrate the
designed software and the database created. It is also used to eliminate undesirable
characteristics like Insertion, Update, and Deletion Anomalies. Normalization divides the
larger table into smaller and links them using relationships. The normal form is used to
reduce redundancy from the database table. Without normalization, database systems can be
inaccurate, slow, and inefficient and they might not produce the data you expect.
Without Normalization, it becomes difficult to handle and update the database, without
facing data loss. Insertion, Updating and Deletion Anomalies are very frequent if database
is not Normalized. From a business perspective, the expense of bad normalization is poorly
operating systems and inaccurate, incorrect, or missing data says (Poolet, 1999). (Poolet,
1999) also states that Applying normalization techniques to OLTP database design helps
create efficient systems that produce accurate data and reliable information. I don’t have
any experience using database but, what I do know is that careless decomposition may lead
to a bad database design, leading to serious problems. You also cannot start building the
database before knowing what the user needs.
Data organization in a database is done by normalization. This entails building tables and
linking those tables together in accordance with principles intended to safeguard the data
and increase the database's adaptability by removing duplication and inconsistent reliance.
Disk space is wasted by redundant data, and maintenance issues result. If data that already
exists in multiple locations needs to be modified, it must be updated in the same manner
everywhere. If the information is kept solely in the Customers table and not elsewhere in
the database, changing a customer's address is significantly simpler to do.
Whereas it makes perfect sense for a user to search in the Customers database for a specific
customer's address, it might not sound right to do so for the worker who phones on that
customer's behalf. The wage of the employee must be transferred to the Employees table
because it is connected to or dependent upon the employee. Data might become difficult to
access as a result of inconsistent dependencies because the path to finding the data may be
incomplete or damaged.
First Normal Form
It has a meaning when placed in a relational database. It has a structure that is easy to
make. The 1NF rules will be forced upon automatically unless weird things are applied, so
doing extra work might be advised. The benefit of 1NF is allowing the creation of orders
for an individual without the need of inputting any columns.
Second Normal Form
A key is a collection of more than one area that exclusively recognizes a record. There must
be some sort of uniqueness to include every field. The benefits of 2NF are data isn't
redundant as it is reduced and it has flexibility when it comes to designing within a
database.
Third Normal Form
A habit when there is a non-key area's worth depends on a different non-key area's
importance. The problem with this form is that it would turn from one non-key field to
another of the same field. The benefits of this form are removing any redundancy so the
data becomes stable as well as the reliability of the data.
Higher Levels of Normalization
Higher levels like BCNF increases the validity of the data by coordinating the rows and
lists of a relational database by achieving database stabilization. One agreement that is often
helpful is to deliberately leave some of the data denormalized for routine purposes. An
example would be using ZIP codes. A benefit of BCNF is that it is more limited regulation
so that the archive does not end in unusual abnormalities.
When designing a database it makes sure that it includes all the data that is related to the
primary key and that there are no redundancies, it is nowhere to be seen. The task is to
remove any duplication and give a quick search when looking up information. Defining
tables and their relationships to create a workable database is what normalization is. It
needs to be functional where the data is stored logically and uniquely.