100% encontró este documento útil (4 votos)
6K vistas29 páginas

Normalización de Base de Datos

Este documento describe los pasos para normalizar una base de datos para una empresa llamada "Alvisa". Inicialmente se identifican las entidades y sus relaciones. Luego, las entidades se transforman en tablas con campos relevantes. Finalmente, las tablas se normalizan para eliminar redundancias y anomalías a través de la identificación de claves primarias y foráneas. El resultado es un modelo relacional normalizado de la base de datos de la empresa.

Cargado por

juanasmal
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (4 votos)
6K vistas29 páginas

Normalización de Base de Datos

Este documento describe los pasos para normalizar una base de datos para una empresa llamada "Alvisa". Inicialmente se identifican las entidades y sus relaciones. Luego, las entidades se transforman en tablas con campos relevantes. Finalmente, las tablas se normalizan para eliminar redundancias y anomalías a través de la identificación de claves primarias y foráneas. El resultado es un modelo relacional normalizado de la base de datos de la empresa.

Cargado por

juanasmal
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INSTITUTO TECNOLOGICO

SUDAMERICANO
NOMBRES:

HUGO CHALCO

JUAN ASMAL

NIVEL:

2 DO DE SISTEMAS “A”

MATERIA:

BASE DE DATOS

TEMA

NORMALIZAR UNA EMPRESA

“ALVISA”

PROFESOR:

ESTEBAN ESCACERES

AÑO LECTIVO:

2009

1
INDICE

Pág.

Portada……………………………………...………………………………….…..1
Índice…………………………..…….….……………………………………......2
Introducción…………………….……………………………………………....4

Marco Teórico

Base de Datos……………............................................................................................5
Diseño Base de Datos……………………….……………………….……….….……...…8

Identificación de entidades…………………………………………………….7

Relación Entidades……………………………………………………………..7

Identificación de tablas…………………………………………………………8

Identificación claves………………………………………………………..…..8

Tipos de Datos………………………………………………………………………...8

Dependencia Funcional………………………………………………………………..9

Normalización………………………………………………………………………….10

Relación de Tablas Modelo Relacional…………………………………………….......11

DBDesigner 4…………………………………………………………………………..12

SQL…………………………………………………………………………………….14

2
Desarrollo

1. Identificación Entidades…………………………………………………….…16

2. Relación Entidades……………………………………………………….……16

3. Identificación de Tablas……………………………………………………..….17

4. Normalización…………………………………………………………………..20

4. Modelo Relacional……………………………………………………………..25

1. Conclusiones.…………………………………………………………………26

1. Recomendaciones………………………………………………………….….26

1. Glosario.…………………………………………………………………….….27

2. Bibliografía……………………………………………………………………..28

2. Anexos………………………………………………………………………….29

3
INTRODUCCION

En la actualidad la empresa maneja una gran cantidad de datos, al ser estos datos pieza clave
en el funcionamiento de la empresa debe tenerlos almacenados en una base de datos y
manejados de una forma automática para poder tratarlos y manejarlos en su totalidad de una
forma correcta en los aspectos que lleva a cabo la empresa y con esto evitar perdida un
tiempo y un dinero muy valiosos.
Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos
es el diseño de la base de datos.
Si las tablas no son definidas apropiadamente, podemos tener muchos inconvenientes al
momento de ejecutar consultas a la base de datos para tratar de obtener alguna información.
La funcionalidad de la base de datos no debe variar en forma considerable si por ejemplo
nuestra base de datos tiene sólo 20 registros, o 1000 registros, es importante asegurarnos que
nuestra base de datos está correctamente diseñada para que tenga eficiencia y que se pueda
seguir utilizando por largo del tiempo.
Este trabajo, dará los parámetros básicos para diseñar una base de datos.
La complejidad en el diseño de la base de datos, dependerá de cuanta y que información será
almacenada en la misma y es única para cada caso, pero todos se basaran en los mismos
principios que notaremos en el presente documento.

4
MARCO TEORICO

CONCETOS Y DEFINICIONES.

Base de datos.

Un conjunto de información relacionada entre sí, almacenada en memoria auxiliar que


permite acceso directo y un conjunto de programas que manipulan esos datos que están
estructurados y organizados independientemente de su utilización, y que es utilizada para que
el usuario con necesidad de información la consulte en tiempo real.

Ventajas de Base de Datos.

1. Independencia de datos y tratamiento. Cambio en datos no implica cambio en


programas y viceversa (Menor coste de mantenimiento).

2. Coherencia de resultados. Reduce redundancia.

3. Mejora en la disponibilidad de datos No hay dueño de datos (Pero no son


públicos), guardamos descripción.

4. Cumplimiento de ciertas normas. Restricciones de seguridad, accesos (Usuarios a


datos), operaciones (Operaciones sobre datos).
5. Otras ventajas: Más eficiente gestión de almacenamiento.

Tipos de Base de Datos.

Por variabilidad de los datos almacenados

Estáticos. Solo lectura, son históricos


Dinámicos. Se modifican con el tiempo.

Por Contenido.

Bibliográficos. Información sobre la fuente principal


Texto completo. Contenidos

Modelo de Administración de Datos.

Jerárquicas. Forma de árbol invertido, puede representar dos tipos de relaciones entre
los datos: relaciones de uno a uno y relaciones de uno a muchos, existe redundancia.
Red. Este modelo permite la representación de muchos a muchos, de tal forma que
cualquier registro dentro de la base de datos puede tener varias ocurrencias
superiores a él. El modelo de red evita redundancia en la información, a través de la
incorporación de un tipo de registro denominado el conector.
5
Relacional. Este modelo se está empleando con más frecuencia en la práctica, debido
a las ventajas que ofrece sobre los dos modelos anteriores, entre ellas, el rápido
entendimiento por parte de usuarios que no tienen conocimientos profundos sobre
Sistemas de Bases de Datos.
Multidimensional. Similar a la relacional, esta almacena estructuras de base de datos
Orientada a objetos. Relaciona el estado y comportamiento de datos
Documentales. Indexación a texto completo
Distribuidas. Almacenadas en varias computadoras
Deductivas. A través de inferencias (aplicadas al entorno científico)

Nos enfocaremos en la forma relacional que es la más utilizada.

Los DBMS (Sistemas Administradores de Bases de Datos)

El DBMS: es un conjunto de programas que se encargan de manejar la creación y todos los


accesos a las bases de datos, son un tipo de software muy específico, dedicado a servir de
interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan, está compuesto
por:

DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el
DBMS identifica las descripciones de los elementos de los esquemas y almacena la
descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS
especifica el esquema conceptual e interno (Base de datos Almacenada).

DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la


manipulación de las operaciones de Inserción, Eliminación y Modificación.

SQL: Lenguaje de Consulta.

Ejemplos: Oracle, Access, Informix, SQL Server.

La capacidad de los DBMS se define por su motor, es decir la cantidad de datos que puede
ser capaz de manejar.

Objetivos.

Independencia física y lógica de los datos. La independencia de los datos consiste en la


capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que
realizar cambios en las aplicaciones que se sirven de ella.

Redundancia mínima. En aquellos casos en los que no se ha logrado eliminar la


redundancia, será necesario vigilar que aquella información que aparece repetida

Integridad de los datos. Se trata de adoptar las medidas necesarias para garantizar la
validez de los datos almacenados.

Acceso concurrente por parte de múltiples usuarios. debe controlar este acceso
concurrente a la información, que podría derivar en inconsistencias.

6
Consultas completas optimizadas. Es deseable minimizar el tiempo que el SGBD tarda
en darnos la información solicitada y en almacenar los cambios realizados.

Seguridad de acceso y auditoria. Deben garantizar que esta información se encuentra


segura frente a usuarios malintencionados, que intenten leer información privilegiada.

Respaldo y recuperación. Deben proporcionar una forma eficiente de realizar copias


de respaldo de la información almacenada en ellos, y de restaurar a partir de estas
copias los datos que se hayan podido perder

Acceso a través de lenguaje estándar. Pueda ser accesible con lenguaje común.

Propósito

El propósito general de los sistemas de gestión de base de datos es el de manejar de


manera clara, sencilla y ordenada un conjunto de datos que posteriormente se
convertirán en información relevante, para un buen manejo de los datos.

Identificación de Entidades.

Alguna cosa acerca de la cual almacenamos datos.

Una persona, lugar, cosa o concepto que tiene características de interés para la
empresa.

Relación de Entidades.

Identificar que entidades se involucran en los procesos, y para la práctica se entrelazan


con una palabra que identifica el proceso y flechas de dirección. Ejemplo:

Cliente Recibe Factura

Identificación de tablas.

Es generar la tabla para cada entidad definiendo los campos o registros que sean
necesarios para cada uno de ellos.

Identificación de claves o Keys.

Una clave primaria es aquella columna (pueden ser también dos columnas o más) que
identifica únicamente a esa fila. La clave primaria es un identificador que va a ser único
para cada fila. En una tabla puede que tengamos más de una clave, en tal caso se

7
puede escoger una para ser la clave primaria, las demás claves son las claves
candidatas. Además es la posible clave primaria.
Una clave foránea es aquella columna que existiendo como dependiente en una tabla,
es a su vez clave primaria en otra tabla.
Una clave alternativa es aquella clave candidata que no ha sido seleccionada como
clave primaria, pero que también puede identificar de forma única a una fila dentro de
una tabla.
Ejemplo: Si en una tabla clientes definimos el número de documento (id cliente) como
clave primaria, el número de seguro social de ese cliente podría ser una clave
alternativa. En este caso no se usó como clave primaria porque es posible que no se
conozca ese dato en todos los clientes.
Una clave compuesta es una clave que está compuesta por más de una columna.

Pk = clave principal

Fk = clave foránea

Nn = no nulo

Uk = única

Ck = clave de chequeo

Tipo de datos, y longitud.

Esto define la clase de información que va a ser almacenada en cada campo.

Puede definirse de varios tipos como texto, numérico, monetario, fecha, etc.

También debemos definir la longitud del campo es decir que carga soportaría, por
ejemplo definimos el campo nombre de tipo texto de longitud 30, esto nos quiere
decir que el campo nombre almacenara datos de texto hasta 50 caracteres.

Dependencia funcional

Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si
conocemos el valor de FechaDeNacimiento podemos conocer el valor de Edad.

Se escribe utilizando una flecha:

FechaDeNacimiento Edad

Propiedades: Axiomas de Armstrong

8
Reflexiva. Nos sirve para obtener registros que están relacionados directamente con la
clave principal. Por ejemplo:

Nro. Cuenta

Nombre

Aumentativa. Para poder obtener registros adicionales a los relacionados directamente


a la clave principal. Por ejemplo:

Nro. Cuenta

Tipo cuenta

Estado cuenta

Saldo cuenta

Transitiva. Es la interpretación de que un atributo depende de otro y de este depende


otro. Por ejemplo:

Fecha_Nacim

Edad

Puede Conducir

Normalización.

El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a


las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Las bases de datos relacionales se normalizan para:

• Evitar la redundancia de los datos.

• Evitar problemas de actualización de los datos en las tablas.

• Proteger la integridad de los datos.

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una
tabla sea considerada como una relación tiene que cumplir con algunas restricciones:

• Cada columna debe tener su nombre único.


9
• No puede haber dos filas iguales. No se permiten los duplicados.

• Todos los datos en una columna deben ser del mismo tipo.

Seguiremos 4 Formas Normales:

1. Primera Forma Normal.


Busca campos multivaluados es decir que en un mismo campo guarda dos
datos distintos, y los separa en campos distintos. Por ejemplo:
El campo teléfono se puede dividir en Telefono1 y Teléfono2
2. Según Forma Normal.
Crear tablas separadas para aquellos grupos de datos que se aplican a varios
registros.
Relacionar estas tablas mediante una clave externa.
3. Tercera Forma Normal.
Análisis de tabla para distinguir los campos que no están asociados
directamente con la clave principal.
4. Forma Normal de Boyce- Codd (FNBC)
Se divide la tabla en dos:
CompVenta_maestro y CompVent_Detalle
Donde el criterio para separar la tabla es elegir los campos que se relacionen
entre si y a su vez sean multivaluados, esto se da mayormente en documentos
tales como comprobantes de venta/factura/recibo, etc.

Relación de tablas.

Relacionamos los datos de tres formas diferentes:


1a1
1 a varios
Varios a varios

1a1
Al introducir un registro en un campo introducimos simultáneamente uno en
otro campo (pero solo uno por vez)
1 a varios
Permiten a un campo tener relacionado, y puede introducir en un campo varios
registros.
Varios a varios
Establece que varios campos con varios registros, pueden tener asociados
varios campos también con varios registros.

10
DBDesigner 4

Necesitaba urgente una herramienta que me permita diseñar y modelar una


base de datos, para cumplir con una tarea académica creo que encontré la
mejor opción por las múltiples funcionalidades incorporadas, se llama:
DBDesigner 4.- Es un sistema de diseño de base de datos disponible libre que
integra el diseño de base de datos, el modelado, la creación y el mantenimiento
en un ambiente simple y perfecto.

Esta herramienta esta disponible o soporta los sistemas operativos Win2 XP y


GNU/Linux, se puede acceder a la descarga gratis bajo la licencia GNU GPL.
Para quienes utilizan mysql como motor de base de datos, DBDesigner 4 es la

11
mejor opción ya que ha sido desarrollado y optimizado para mysql.

Empezar con la creación de tablas, para ello seleccionar new Table en la barra
de herramientas. Seguidamente hacemos doble clic en la table, se podrá
agregar los campos que se desee.

Les recuerdo que para la relación entre tablas tenemos que selección en la
barra de herramientas, tendiendo en cuenta la cardinalidad de: 1:1 / 1: n / n:n.

El diseño completo queda de la siguiente manera el cual contiene claves


primarias, claves foráneas, relación (cardinalidad), entre
otros.

Algo importante que ofrece esta herramienta es que permite

12
exportar el código SQL de la base de datos esto lograríamos en el menú File >
Export > SQL Create Strip….Dejo los diferentes formatos que exporte de la
base de datos para explicación de DBDesigner 4.

13
SQL
Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos
tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el
cálculo relacional permitiendo lanzar consultas con el fin de recuperar información de interés de una
base de datos, de una forma sencilla.

MARCO CONCEPTUAL

CLAUSULAS UTILIZADAS EN SQL DE ORACLE

El lenguaje de Definición de datos, es el que se encarga de la modificación de la estructura de los


objetos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP y
TRUNCATE.

CREATE

Este crea un objeto dentro de la base de datos. Puede ser una tabla, vista, índice, función,
procedimiento o cualquier otro objeto que el motor de la base de datos soporte.

ALTER

Permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar
el tipo de un campo, agregar/quitar índices a una tabla, etc.

DROP

Elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, función, procedimiento o
cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia
ALTER.

14
TRUNCATE

Este comando trunca todo el contenido de una tabla.

La ventaja sobre el comando DELETE, es que si se quiere borrar todo el contenido de la tabla, es
mucho más rápido, especialmente si la tabla es muy grande, la desventaja es que TRUNCATE solo
sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula
WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de
Datos), es en realidad una DDL, ya que internamente, el comando truncate borra la tabla y la vuelve a
crear y no ejecuta transacción.+Ç

ARCHIVO PLANO

15
Desarrollo
Los Datos para el desarrollo de los siguientes puntos se hicieron en base a la información previamente
recolectada en análisis de la empresa DIPOR.

IDENTIFICACION DE ENTIDADES

Empresa
Cliente
Vendedor
trabajadores
Productos
Ventas

RELACION DE ENTIDADES

Factura Emite Vendedor

Recibe Describe

Clientes Solicita Producto Prepara

Entrega
vendedor

vendedor

Empresas Solicita Producto

Entrega
Contrata

trabajadores Proveedor

Recibe Rol Pago

16
IDENTIFICACION DE TABLAS, TIPOS DE DATO, LONGITUD, CLAVES

EMPRESA

CONSTRAINT CAMPO TIPO DE DATOS LONGITUD


CP RUC EMPRESA NUMERICO 12
NN NOM EMPRESA STRING 10
DIRECCION EMPRESA STRING 10
TELEFONO EMPRESA NUMERICO 9
NN MAIL EMPRESA STRING 20

VENTAS

CONSTRAINT CAMPO TIPO DE DATOS LONGITUD


CP RUC EMPRESA NUMERICO 12
NN NUM VENTA NUMERICO 10
NN FECHA VENTA DATE 10
NN CED CLIENTE NUMERICO 9
NN NOMBRE CLIENTE STRING 20
DIRECCION CLIENTE STRING 20
TELEFONO CLIENTE NUMERICO 9
NN DESC VENTA NUMERICO 2,2
NN VALOR TOTAL NUMERICO 5
NN SUBTOTAL NUMERICO 5
NN IVA NUMERICO 2,2
NN TOTAL NUMERICO 5

PRODUCTO

CONSTRAINT CAMPO TIPO DE DATOS LONGITUD


CP CODIGO NUMERICO 5
NN PRECIO COMPRA NUMERICO 5
NN PRECIO VENTA NUMERICO 5
NN CATEGORIA STRING 10
NN COLOR STRING 10
NN CANTIDAD NUMERICO 3

17
TRABAJADORES

CONSTRAINT CAMPO TIPO DE DATOS LONGITUD


CP CEDULA NUMERICO 9
NN NOMBRES STRING 20
NN APELLIDOS STRING 20
DIRECION STRING 20
TELEFONO NUMERICO 9
CARGA FAMILIAR NUMERICO 2
NN ESTADO CIVIL STRING 1
NN SUELDO NUMERICO 4
NN CARGO STRING 15
NN GENERO STRING 1
NN FECHA NACIMIENTO DATE 10
NN FECHA DE INGRESO DATE 10

VENDEDOR

CONSTRAINT CAMPO TIPO DE DATOS LONGITUD


CP CEDULA NUMERICO 9
NN NOMBRES STRING 20
NN APELLIDOS STRING 20
DIRECCION STRING 20
TELEFONO NUMERICO 9
NN CARGA FAMILIAR NUMERICO 2
NN ESTADO CIVIL STRING 1
NN FECHA DE NACIMIENTO DATE 10

CLIENTE

CONSTRAINT CAMPO TIPO DE DATOS LONGITUD


NN NOMBRES STRING 20
NN APELLIDOS STRING 20
DIRECCION STRING 20
TELEFONO NUMERICO 9
CP CEDULA NUMERICO 9

18
TABLA EMPRESA

RUC EMPR NOM EMPR DIR EMP TEL EMPR MAIL EMP
1561036111 ALVISA LA CATOLICA 2898289 ALVISA@[Link]

19
NORMALIZACION

4ta FORMA
20
21
22
23
MODELO RELACIONAL

24
25
CONCLUSIONES

una buena Base de Datos, depende de cómo esta se diseñe, para lo cual tenemos que seguir
los pasos esenciales que se nos presentan ya que lo demás dependerá del tipo de Base de
datos, o para que se aplicara la Base de Datos, pero al seguir los pasos podremos mejorar la
estabilidad y rapidez de consulta de la Base de Datos, pero también esto dependerá del
motor de la Base de Datos

Recomendaciones

Que para el desarrollo de la Base de Datos se vaya trabajando paulatinamente con datos y
ejemplos reales ya que lo cual nos dará una visión mejor para la toma de decisiones y saber
si es oportuno aplicar algún método.

26
GLOSARIO

Tupla = registro, fila o renglón

Atributo = columna o campo

Clave = llave o código de identificación

Clave Candidata = superclave mínima

Clave Primaria = clave candidata elegida

Clave Ajena = clave externa o clave foránea

Regla = tabla o archivo

Clave Alternativa = clave secundaria

Dependencia Multivaluada = dependencia multivalor

RDBMS = Del inglés Relational Data Base Manager System que significa, Sistema Gestor de Bases de
Datos Relacionales.

1FN = Significa, Primera Forma Normal o 1NF del inglés First Normal Form.
DBMS: Data Base Management System (SISTEMA DE MANEJO DE BASE DE DATOS).- Consiste de una
base de datos y un conjunto de aplicaciones (programas) para tener acceso a ellos.

Modelo de Datos.- es un conjunto de herramientas conceptuales para describir los datos, las
relaciones entre ellos, su semántica y sus limitantes.

Redundancia.- Esta se presenta cuando se repiten innecesariamente datos en los archivos que
conforman la base de datos.

Inconsistencia.- Ocurre cuando existe información contradictoria o incongruente en la base de


datos.

27
BIBLIOGRAFIA

[Link]

[Link]

[Link]

[Link]

[Link]

[Link]

[Link]/directorio/bases_de_datos/oracle/ - 30k

[Link]/.../db_pages.getpage?page_id=4&dc=D11297CS20&p_org_id=1000258&lang=ESA - 9k

[Link]/oracle9i_as.php - 15k

28
ANEXOS

29

También podría gustarte