First Normal Form (1NF)


Normalization

It is a process by which we can ensure that the data structures in a relational database are efficient. A relational database can be described as efficient when it has the following characteristics:
  • Absence of redundancy. A system with redundancy is one where the same data can appear in more than one place. As well as wasting storage space, this gives potential fo the data to be inconsistent and ambiguous.
  • Minimal use of null values. It is possible to have a number of valid representations of a database, some of which may result in an extensive number of tuples taking null values. Null values are a problem in relational databases because we cannot determine their precise meaning.
  • Prevention of loss of information. Tables can be consistently and correctly modified.
  • Attributes with proper data types . Each column in a table must have a data type based on the data that will be stored. For instance, if the cost of an item will be stored the data type MONEY or DECIMAL must be used.

Es el proceso por el cual se asegura que la estructura de los datos en una base de datos relacional es eficiente. Esto es:
  • Ausencia de redundancia. Un sistema con redundancia es aquel en el que el mismo dato puede almacenarse en más de un lugar. Esto a parte de desperdiciar espacio, incurre en el riesgo de que los datos almacenados sean inconsistentes.
  • Uso mínimo de valores NULL. Los valores NULL son un problema porque no se puede determinar su significado preciso. En general, estos deben de evitarse en lo posible.
  • Prevención de la pérdida de información. Las tabla deben ser modificadas en forma consistente y correcta.
  • Tipo de atributos apropiados. Las columnas de una tabla deben tener un tipo de datos de acuerdo al dato que se va a almacenar, por ejemplo si se va almacenar el precio de un artículo no se debe usar VARCHAR sino DOUBLE, DECIMAL, MONEY, etc.

Problem 1
Describe some of the problems in the student_p table
  1. When rows are modified
  2. When rows are inserted
  3. Due to NULL values
  4. When rows are deleted

Describa algunos de los problemas en la tabla student_p
  1. Cuando se modifican los renglones
  2. Cuando se insertan renglones
  3. Debido a valores nulos
  4. Cuando los renglones son eliminados

student_p

Normal Forms

In 1970, Dr. Edgar Codd wrote the paper: A relational Model of Data for Large Shared Data Banks. In this paper, some theoretical rules about database design are proposed, they are known as Normal Forms (NF). There are twelve normal forms proposed by Dr. Codd, these forms have the inclusion shown in the diagram. The higher the normal form, the better the design of the database.
En 1970, Dr. Edgar Codd escribió la publicación: A relational model of data for large shared data banks. En esta publicación se presentan las reglas teóricas que deben mantener las tablas de una base de datos, las cuales se conocen como Normal Forms (NF). Existen doce Normal Forms diseñadas por el Dr. Codd, las cuales exhiben la inclusión mostrada en el diagrama. Entre más grande sea el NF, mejor será el diseño de la base de datos.

NormalFormDiagram

Problem 2
Implemente la base de datos city_bank usando un script en SQL. No se olvide de insertar los datos apropiados a las tablas. (a) Use Microsoft SQL Server, (b) Oracle, (c) MySQL.

First Normal Form (1NF)

It requires that all attribute domains in a relational database must include only simple, non-dividable values and that every attribute value in every tuple must be a single value from its domain. That is, each column has one atomic value in each row. For instance in a skill table, an atomic value is "Programming"; on the other hand, a non atomic value is: "Programming, Cleaning".
Esta requiere que todos los dominios de los atributos en la base de datos relacional incluyan solamente valores simples, que no se puedan dividir. Esto es, cada columna tiene un valor atómico en cada renglón. Por ejemplo en una tabla de habilidades, un valor atómico es "Programación"; por otro lado, un valor no atómico es: "Programar, Limpiar".

Tip
1NF does not require creating new tables. 1NF requires creating new rows in the tables until only atomic values for all attributes are in the table.
La primera forma normal no requiere la creación de nuevas tablas. La primera forma normal exige la creación de nuevos renglones en las tablas hasta que todos los atributos tengan valores atómicos.

Problem 3
The Wells Fargo bank has its accounts as shown in the tables. The accounts may be shared by one or several clients. The account_id identifies each account. Each branch manages some specific accounts. The name of the branch is unique.
  1. Is the client_d table in 1NF?
  2. Is the bank_d table in 1NF?

El banco Wells Fargo tiene sus cuentas como se muestra en las tablas client_d y bank_d. Las cuentas pueden ser compartidas por uno ó varios clientes. Los números de cuenta identifican en forma única cada cuenta. Cada cuenta es manejada por una sucursal específica. No hay dos sucursales con el mismo nombre.
  1. Cumple la tabla client_d con 1NF?
  2. Cumple la tabla bank_d con 1NF?

wells_fargo

Problem 4
(a) Modify the client_d table so that it can be in 1NF. (b) What is the primary key in the new table?
(a) Modifique la tabla client_d para que esta cumpla con 1NF. (b) ¿Cuál es la llave primaria en la tabla nueva?

Problem 5
(a) Modify the bank_d table so that it can be in 1NF. (b) What is the primary key in the new table?
(a) Modifique la tabla bank_d para que esta cumpla con 1NF. (b) ¿Cuál es la llave primaria en la tabla nueva?

Problem 6
Suppose that each dependent can depend on one or more people. For instance, a child may depend on his dad and his mom.
  1. What are the candidate keys in the dependent table?
  2. Which is the primary keys in the dependent table?
  3. Is the dependent table in 1NF? If not, modify the table so that it is in 1NF.

Suponga que cada dependiente puede depender de una o más personas. Por ejemplo, un niño puede depender de su papá y su mamá.
  1. Indique las llaves candidato en la tabla dependiente.
  2. Indique la llave primaria en la tabla dependiente.
  3. Indique si la tabla dependiente cumple 1NF. Si no cumple, modifique la tabla para cumplir con 1NF.

dependent

Tip
Steps for 1NF
  1. Identify non-atomic values
  2. Replicate rows until you get atomic values
  3. Choose a new Primary Key

Steps for 1NF
  1. Idefincar los valores no atómicos
  2. Duplicar los renglones hasta que usted consiga valores atómicos
  3. Escoger una nueva Llave Primaria

© Copyright 2000-2019 Wintempla selo. All Rights Reserved. Sep 05 2019. Home