DISEÑO DE UNA BASE DE DATOS
1. CONTENIDO:
Normalización: Consiste en
designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso
del modelo entidad-relacional modelo relación.
Las bases de datos relacionales se
normalizan para:
· Evitar la
redundancia de los datos.
· Disminuir problemas
de actualización de los datos en las tablas.
· Proteger la
integridad de los datos.
EJEMPLOS
A través del siguiente ejercicio se intenta afirmar los conocimientos de
normalización con un ejemplo simplificado de una base de datos para una pequeña
biblioteca.
CodLibro
|
Titulo
|
Autor
|
Editorial
|
NombreLector
|
FechaDev
|
1001
|
Variable
compleja
|
Murray Spiegel
|
McGraw Hill
|
Pérez
Gómez, Juan
|
15/04/2005
|
1004
|
Visual
Basic 5
|
E. Petroustsos
|
Anaya
|
Ríos
Terán, Ana
|
17/04/2005
|
1005
|
Estadística
|
Murray Spiegel
|
McGraw Hill
|
Roca,
René
|
16/04/2005
|
1006
|
Oracle University
|
Nancy Greenberg y Priya Nathan
|
Oracle Corp.
|
García
Roque, Luis
|
20/04/2005
|
1007
|
Clipper 5.01
|
Ramalho
|
McGraw Hill
|
Pérez
Gómez, Juan
|
18/04/2005
|
Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de
sólo tener campos atómicos, pues el nombre del lector es un campo que puede (y
conviene) descomponerse en apellido paterno, apellido materno y nombres. Tal
como se muestra en la siguiente tabla.
1NF
CodLibro
|
Titulo
|
Autor
|
Editorial
|
Paterno
|
Materno
|
Nombres
|
FechaDev
|
1001
|
Variable
compleja
|
Murray Spiegel
|
McGrawHill
|
Pérez
|
Gómez
|
Juan
|
15/04/2005
|
1004
|
Visual
Basic 5
|
E. Petroustsos
|
Anaya
|
Ríos
|
Terán
|
Ana
|
17/04/2005
|
1005
|
Estadística
|
Murray Spiegel
|
McGrawHill
|
Roca
|
René
|
16/04/2005
|
|
1006
|
OracleUniversity
|
NancyGreenberg
|
OracleCorp.
|
García
|
Roque
|
Luis
|
20/04/2005
|
1006
|
OracleUniversity
|
Priya Nathan
|
OracleCorp.
|
García
|
Roque
|
Luis
|
20/04/2005
|
1007
|
Clipper 5.01
|
Ramalho
|
McGrawHill
|
Pérez
|
Gómez
|
Juan
|
18/04/2005
|
Como se puede ver, hay cierta redundancia característica de 1NF.
La Segunda Forma Normal (2NF) pide que no existan dependencias parciales
o dicho de otra manera, todos los atributos no clave deben depender por
completo de la clave primaria. Actualmente en nuestra tabla tenemos varias
dependencias parciales si consideramos como atributo clave el código del libro.
Por ejemplo, el título es completamente identificado por el código del
libro, pero el nombre del lector en realidad no tiene dependencia de este
código, por tanto estos datos deben ser trasladados a otra tabla.
2NF
CodLibro
|
Titulo
|
Autor
|
Editorial
|
1001
|
Variable
compleja
|
Murray Spiegel
|
McGrawHill
|
1004
|
Visual
Basic 5
|
E. Petroustsos
|
Anaya
|
1005
|
Estadística
|
Murray Spiegel
|
McGrawHill
|
1006
|
Oracle University
|
NancyGreenberg
|
Oracle Corp.
|
1006
|
Oracle University
|
Priya Nathan
|
Oracle Corp.
|
1007
|
Clipper 5.01
|
Ramalho
|
McGrawHill
|
La nueva tabla sólo contendrá datos del lector.
CodLector
|
Paterno
|
Materno
|
Nombres
|
501
|
Pérez
|
Gómez
|
Juan
|
502
|
Ríos
|
Terán
|
Ana
|
503
|
Roca
|
René
|
|
504
|
García
|
Roque
|
Luis
|
Hemos creado una tabla para contener los datos del lector y también
tuvimos que crear la columna CodLector para identificar unívocamente
a cada uno. Sin embargo, esta nueva disposición de la base de datos necesita
que exista otra tabla para mantener la información de qué libros están
prestados a qué lectores. Esta tabla se muestra a continuación:
CodLibro
|
CodLector
|
FechaDev
|
1001
|
501
|
15/04/2005
|
1004
|
502
|
17/04/2005
|
1005
|
503
|
16/04/2005
|
1006
|
504
|
20/04/2005
|
1007
|
501
|
18/04/2005
|
Integridad-Seguridad y Rendimiento de la Base de Datos.
El tema de la seguridad de la información ha
cobrado visibilidad en distintos ámbitos: en el trabajo, en el hogar y durante
el traslado de un lugar a otro. Se trata, principalmente, de prevenir los
ataques destinados a restringir la disponibilidad (por ejemplo, la denegación
del servicio) y a introducir software malintencionado (malware) que permita a
un tercero manipular datos e información sin autorización (por ejemplo, para
robar, divulgar, modificar o destruir datos).
- Para
un encargado de seguridad, la “integridad de los datos” puede definirse
como la imposibilidad de que alguien modifique datos sin ser descubierto.
Desde la perspectiva de la seguridad de datos y redes, la integridad de
los datos es la garantía de que nadie pueda acceder a la información ni
modificarla sin contar con la autorización necesaria. Si examinamos el
concepto de “integridad”, podríamos concluir que no solo alude a la
integridad de los sistemas (protección mediante antivirus, ciclos de vida
del desarrollo de sistemas estructurados [SDLC], revisión de códigos
fuente por expertos, pruebas exhaustivas, etc.), sino también a la
integridad personal (responsabilidad, confianza, fiabilidad, etc.).
- Para
un administrador de bases de datos, la “integridad de los datos” puede
depender de que los datos introducidos en una base de datos sean precisos,
válidos y coherentes. Es muy probable que los administradores de bases de
datos también analicen la integridad de las entidades, la integridad de
los dominios y la integridad referencial —conceptos que podría desconocer
un experto en infraestructuras instruido en normas ISO 27000 o en la serie
800 de publicaciones especiales (SP 800) del Instituto Nacional de Normas
y Tecnología (NIST, National Institute of Standards and Technology) de los
EE. UU.
- Para
un arquitecto o modelador de datos, la “integridad de los datos” puede estar
relacionada con el mantenimiento de entidades primarias únicas y no nulas.
La unicidad de las entidades que integran un conjunto de datos se define
por la ausencia de duplicados en el conjunto de datos y por la presencia
de una clave que permite acceder de forma exclusiva a cada una de las
entidades del conjunto.
Mantenimiento.
Después de crear una Base de Datos es necesario hacer mantenimiento de
la misma.
Al momento de diseñar una Base de Datos es necesario hacerla lo más
pequeña posible y excluir información redundante.
Diseñar particiones de tablas en vez de tablas únicas.
Estimar el tamaño de una Base de Datos.
Es necesario una estimación de cada tabla por separado y sume todos los
valores obtenidos.
2. RESUMEN
En otras unidades didácticas se
estudian las bases de datos relacionales y un lenguaje relacional, SQL, que nos
proporciona mecanismos para crear, actualizar y consultar estas bases de datos.
Es necesario complementar estos
conocimientos con un aspecto que es fundamental para poder utilizar
adecuadamente la tecnología de las bases de datos relacionales: el diseño. Éste
será el objeto de estudio de esta unidad, que tratará el diseño de bases de
datos para el caso específico del modelo relacional.
TENER EN CUENTA AL MOMENTO DE DISEÑAR:
Reglas de Normalización de la base de datos para evitar errores en el
diseño.
Protección de la integridad de datos.
Mantenimiento.
La estimación del tamaño de la base de datos.
3. SUMMARY
In other teaching units the relational databases
and relational language SQL, which provides mechanisms to create, update and
query these databases are studied.
It is necessary to complement this knowledge with
an aspect that is critical to properly use the technology of relational
databases: design. This will be the object of study of this unit, which will
address the design of databases for the specific case of the relational model.
CONSIDER WHEN DESIGNING:
Normalization rules database to avoid design
errors.
Protection of data integrity.
Maintenance.
Estimating the size of the database.
4. RECOMENDACIONES:
Diseñar una base de datos no es algo sencillo y sí muy importante, ya
que un mal diseño conlleva dificultades para desarrollar la aplicación o una
aplicación compleja. Unos consejos que realmente son muy necesarios y muchas
veces no se llevan a cabo.
5. CONCLUSIONES:
Para saber más a fondo todo sobre el diseño de una base de
datos es necesario saber lo básico que es y cómo funciona una base de datos,
entendiendo eso podremos saber cómo utilizarla.
Finalmente el propósito de una base de datos es responder a consultas y
ejecutar transacciones de datos.
6. APRECIACION CRITICA
Para este trabajo de investigación fue sencillo ya que conté con
material específicamente sobre el tema e investigue un poco más en Internet,
espero te ayude.
7. GLOSARIO O TÉRMINOS
- Redundancia: La redundancia de datos es
la copia (o re-escritura) de los datos, que se produce cuando algunas
piezas o porciones de datos se almacenan dos veces. La redundancia de
datos también tiene lugar si ciertos datos se pueden derivar directamente
de otros.
8.BIBLIOGRAFIA O LINCOGRAFIA
Link para ver las Diapositivas
https://www.slideshare.net/secret/1nt5e9oCwbUVvO
Link para ver las Diapositivas
https://www.slideshare.net/secret/1nt5e9oCwbUVvO
Muy buen trabajo así como su PRESENTACIÓN. Agregar VIDEOS sobre el TEMA. Gracias por su investigación. Saludos
ResponderEliminar