UNIVERSIDAD TÉCNICA DE MACHALA FACULTAD DE CIENCIAS EMPRESARIALES Daniela Fernanda Guartán Molina

Anuncio
UNIVERSIDAD TÉCNICA
DE MACHALA
FACULTAD DE CIENCIAS EMPRESARIALES
DEBER DE COMPUTACIÓN APLICADA:
Bases de Datos
-
Normalización de datos.
NOMBRE:
Daniela Fernanda Guartán Molina.
CURSO:
Tercero “E” Diurno.
ESPECIALIDAD:
Contabilidad Y Auditoría
PROFESOR:
Ing. Luis Lojan.
AÑO LECTIVO:
2010-2011
¿Qué son las Bases de Datos?
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar
fácilmente. A continuación te presentamos una guía que te explicará el concepto y
características de las bases de datos.
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio
celebrado en California, USA. Una base de datos se puede definir como un conjunto de
información relacionada que se encuentra agrupada ó estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos.
Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la tabla, cada fila de la
tabla conforma un registro.
Definición de base de datos
Se define una base de datos como una serie de datos organizados y relacionados entre
sí, los cuales son recolectados y explotados por los sistemas de información de una
empresa o negocio en particular.
Características
Entre las principales características de los sistemas de base de datos podemos
mencionar:

Independencia lógica y física de los datos.

Redundancia mínima.

Acceso concurrente por parte de múltiples usuarios.

Integridad de los datos.

Consultas complejas optimizadas.

Seguridad de acceso y auditoría.

Respaldo y recuperación.

Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD)
Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System)
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. Se compone de un lenguaje de
definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de
consulta.
Ventajas de las bases de datos
Control sobre la redundancia de datos:
Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros
distintos. Esto hace que se desperdicie espacio de almacenamiento, además de
provocar la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no
se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no
se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria
para modelar las relaciones entre los datos.
Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce en gran medida el
riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier
actualización se debe realizar sólo una vez, y está disponible para todos los usuarios
inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el
propio sistema puede encargarse de garantizar que todas las copias se mantienen
consistentes.
Compartición de datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los
departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de
datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén
autorizados.
Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los
establecidos a nivel de la empresa como los nacionales e internacionales.
Estos estándares pueden establecerse sobre el formato de los datos para facilitar su
intercambio, pueden ser estándares de documentación, procedimientos de
actualización y también reglas de acceso.
Mejora en la integridad de datos:
La integridad de la base de datos se refiere a la validez y la consistencia de los datos
almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas
que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como
a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.
Mejora en la seguridad:
La seguridad de la base de datos es la protección de la base de datos frente a usuarios
no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los
sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas
de ficheros.
Mejora en la accesibilidad a los datos:
Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que
permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea
necesario que un programador escriba una aplicación que realice tal tarea.
Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el programador necesita
escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas
de manejo de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la
función específica requerida por los usuarios, sin tener que preocuparse de los detalles
de implementación de bajo nivel.
Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en
los programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio
en su estructura, o un cambio en el modo en que se almacena en disco, requiere
cambios importantes en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto
es lo que se conoce como independencia de datos, gracias a la cual se simplifica el
mantenimiento de las aplicaciones que acceden a la base de datos.
Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder
simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de
modo que se pierda información o se pierda la integridad. La mayoría de los SGBD
gestionan el acceso concurrente a la base de datos y garantizan que no ocurran
problemas de este tipo.
Mejora en los servicios de copias de seguridad:
Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas
necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los
usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo,
utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última
copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD
actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se
produce un fallo.
Desventajas de las bases de datos
Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar
un buen uso de ellos.
Coste del equipamiento adicional:
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir
más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es
posible que sea necesario adquirir una máquina más grande o una máquina que se
dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de
bases de datos sea más cara.
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más
vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias
de seguridad (Backup).
Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o
diferentes. Entre los más comunes podemos nombrar:

Numérico: entre los diferentes tipos de campos numéricos podemos encontrar
enteros “sin decimales” y reales “decimales”.

Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.

Memos: son campos alfanuméricos de longitud ilimitada. Presentan el
inconveniente de no poder ser indexados.

Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar
fechas de esta forma posibilita ordenar los registros por fechas o calcular los días
entre una fecha y otra.

Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255
caracteres).

Autoincrementables: son campos numéricos enteros que incrementan en una
unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de
identificador ya que resultan exclusivos de un registro.
Tipos de Base de Datos
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:

MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza
por su rapidez. No es recomendable usar para grandes volúmenes de datos.


PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy
bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de
gran calibre.

Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe
ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura
ya explicada.

Microsoft SQL Server: es una base de datos más potente que access desarrollada
por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.
Modelo entidad-relación
Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram
Entity relationship”) son una herramienta para el modelado de datos de un sistema de
información. Estos modelos expresan entidades relevantes para un sistema de
información, sus inter-relaciones y propiedades.
Cardinalidad de las Relaciones
El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:

Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y
solamente una de la entidad B.

Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias
instancias de la entidad B.

Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona
con cualquier instancia de la entidad B.
Estructura de una Base de Datos
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden
que debe ser cumplido para acceder a la información de manera coherente. Cada base
de datos contiene una o más tablas, que cumplen la función de contener los campos.
En el siguiente ejemplo mostramos una tabla “comentarios” que contiene 4 campos.
Los datos quedarían organizados como mostramos en siguiente ejemplo:
Por consiguiente una base de datos posee el siguiente orden jerárquico:

Tablas

Campos

Registros

Lenguaje SQL
El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos
permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y
borrar datos.
A continuación veremos un ejemplo de ellos:

Mostrar: para mostrar los registros se utiliza la instrucción Select. Select *
From comentarios.

Insertar: los registros pueden ser introducidos a partir de sentencias que emplean
la instrucción Insert. Insert Into comentarios (titulo, texto,
fecha) Values ('saludos', 'como esta', '22-10-2007')

Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso
debemos especificar cual o cuales son los registros que queremos borrar. Es por
ello necesario establecer una selección que se llevara a cabo mediante la cláusula
Where. Delete From comentarios Where id='1'.

Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para
el caso de Delete, necesitamos especificar por medio de Where cuáles son los
registros en los que queremos hacer efectivas nuestras modificaciones. Además,
tendremos que especificar cuáles son los nuevos valores de los campos que
deseamos actualizar. Update comentarios Set titulo='Mi Primer
Comentario' Where id='1'.1
NORMALIZACIÓN DE UNA BASE DE DATOS
1
http://www.maestrosdelweb.com/principiantes/%C2%BFque-son-las-bases-de-datos/
De todos es conocido que la calidad de los datos es un factor imprescindible en la
consecución de nuestros objetivos, por ello, Gupost ofrece a sus clientes procesos de
normalizacion que ayudan a la mejora de dicha calidad. El objetivo de la normalización
es la homogeneización de la información tanto en estructuras como en contenidos.
El hecho de contar con una o más bases de datos cuyas estructuras cumplen un
estándar facilitará cualquierproceso de depuración, cruce o asociación que deba
realizarse sobre las mismas.
El proceso de normalizacion desglosa los datos en unidades más pequeñas que
aportan más información, sustituye parte del contenido de la misma en base a unos
estándares y codifica los registros aportando información de ubicación geográfica. El
sistema de normalizacion debe de estar debidamente actualizado para garantizar un
buen resultado.
Deben de ponerse al día las reorganizaciones de vías, números y códigos postales que
se dan a nivel urbanístico en los diferentes núcleos de población. Además de combinar
una serie de variantes sobre las mismas acepciones.
El sistema de Gupost maneja ficheros con diferentes versiones de los nombres de las
vías teniendo en cuenta las distintas lenguas y las diferentes denominaciones que a lo
largo de la vida haya podido tener una determinada vía o población.
Se distinguen dos tipos de normalizacion:
 Normalización Geográfica
 Normalización de Nombres
Normalizacion Geográfica.- es un proceso automático que se asienta en los
ficheros maestros de localidades, códigos postales y callejeros.
Estos ficheros maestros contienen además de los nombres oficiales que serán las
acepciones utilizadas como resultado de la normalización, una serie de variantes
(diferentes formas de escribir las calles, localidades y provincias), así como el registro
de denominaciones antiguas que en el tiempo han variado y que nos llevarán de forma
unívoca a la acepción oficial.
Independientemente de cuál sea la estructura original de la bases de datos a tratar el
proceso de normalización realizará un desglose de los datos con el objetivo de tener
más información, ya que la disociación de datos aporta más información que los datos
registrados en un solo campo.
Por ejemplo se debe de tener identificado (separado) el número de portal, ya que es
una de las variables que en localidades con callejero nos van a determinar el valor del
código postal. Existen vías en las que según el valor del portal varía el valor del código
postal.
El proceso analiza las direcciones de los registros de la base de datos y la contrasta la
información contenida en el sistema de normalización de Gupost, sustituyendo los
datos de la base de datos original por los datos correctos que el sistema de
información geográfica de Gupost determina.
Este proceso garantiza entre otros la actualización de los nombres de la vía y la
concordancia del código postal con el resto de dirección.
El resultado de la Normalización Geográfica es:
Asignación del código de provincia
Codificación automática de las poblaciones 11 dígitos INE, compuesto por:




2 dígitos de provincia
3 dígitos de municipio
2 dígitos de entidad colectiva
2 dígitos de entidad singular
Codifica automáticamente la dirección. Obteniendo los literales unificados y
actualizados de los nombres de las vías. Asigna el código INE de 14 dígitos, 11 de la
población y 3 de la vía dentro de esa población.
Asignación automática de los códigos postales
Campifica la información en:




Tipo vía
Nombre Vía
Número
Resto de dirección....
La normalizacion de nombres.- es un proceso que desglosa la información en
nombre, primer apellido y segundo apellido, basándose en análisis semánticos y
contrastes con bases de datos estadísticas de nombres y apellidos.
Contrasta la información contenida en el fichero a normalizar contra un fichero
maestro de nombres en cualquier idioma cooficial con su traducción al
castellano.
Asigna un identificador de sexo o forma jurídica.
Separa la información en los siguientes campos (neutralizando partículas de
enlace) Nombre | Apellido 1 Apellido 2 …
En el caso de tener una base de datos con DNI verifica la letra del DNI y en
ausencia la asigna.
Expande abreviaturas.
El hecho de contener la información desglosada en nombre y apellidos, además de
contener el sexo del registro permitirá realizar acciones personalizadas del tipo
“Estimada Sra. María” o “Estimado Sr. López”, extremo que sería imposible de alcanzar
si la información no estuviese desglosada y no se tuvirse el dato del sexo.2
Formas Normales
Las formas normales son aplicadas a las tablas de una base de datos. Decir que una
base de datos está en la forma normal N es decir que todas sus tablas están en la
forma normal N.
Diagrama de inclusión de todas las formas normales.
En general, las primeras tres formas normales son suficientes para cubrir las
necesidades de la mayoría de las bases de datos. El creador de estas 3 primeras formas
normales (o reglas) fue Edgar F. Codd.1
2
http://www.gupostonline.com/bases-de-datos/normalizacion-de-nombres.aspx
Primera Forma Normal (1FN)
Una tabla está en Primera Forma Normal si:






Todos los atributos son atómicos. Un atributo es atómico si los elementos del
dominio son indivisibles, mínimos.
La tabla contiene una llave primaria única.
La llave primaria no contiene atributos nulos.
No debe existir variación en el número de columnas.
Los Campos no llave deben identificarse por la llave (Dependencia Funcional)
Debe Existir una independencia del orden tanto de las filas como de las
columnas, es decir, si los datos cambian de orden no deben cambiar sus
significados
Una tabla no puede tener múltiples valores en cada columna. Los datos son atómicos.
(Si a cada valor de X le pertenece un valor de Y y viceversa)
Esta forma normal elimina los valores repetidos dentro de una BD
Segunda Forma Normal (2FN)
Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que
no forman parte de ninguna clave dependen de forma completa de la clave principal.
Es decir que no existen dependencias parciales. (Todos los atributos que no son clave
principal deben depender únicamente de la clave principal).
En otras palabras podríamos decir que la segunda forma normal está basada en el
concepto de dependencia completamente funcional. Una dependencia
funcional
es completamente funcional si al eliminar los atributos A de X
significa
que
la
dependencia
no
es
mantenida,
esto
es
que
.
Una dependencia funcional
es una
dependencia parcial si hay algunos atributos
que pueden ser eliminados de X
y la dependencia todavía se mantiene, esto es
.
Por ejemplo {DNI, ID_PROYECTO}
HORAS_TRABAJO (con el DNI de un empleado y el
ID de un proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado
en dicho proyecto) es completamente dependiente dado que ni DNI
HORAS_TRABAJO
ni ID_PROYECTO
HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI,
ID_PROYECTO}
NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI
NOMBRE_EMPLEADO mantiene la dependencia.
Tercera Forma Normal (3FN)
La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional
transitiva entre los atributos que no son clave.
Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un
esquema de relación R es una dependencia transitiva si hay un conjunto de atributos Z
que no es un subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.
Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en
EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el
atributo clave SSN es transitiva vía DNUMBER porque las dependencias
SSN→DNUMBER y DNUMBER→DMGRSSN son mantenidas, y DNUMBER no es un
subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la
dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que
DNUMBER no es una clave de EMP_DEPT.
Formalmente, un esquema de relacion R está en 3 Forma Normal Elmasri-Navathe, si
para toda dependencia funcional
, se cumple al menos una de las siguientes
condiciones:
1. X es superllave o clave.
2. A es atributo primo de R; esto es, si es miembro de alguna clave en R.
Además el esquema debe cumplir necesariamente, con las condiciones de segunda
forma normal.
Forma normal de Boyce-Codd (FNBC)
La tabla se encuentra en FNBC si cada determinante, atributo que determina
completamente a otro, es clave candidata. Deberá registrarse de forma anillada ante la
presencia de un intervalo seguido de una formalizacion perpetua, es decir las variantes
creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir.
Formalmente, un esquema de relación R está en FNBC, si y sólo si, para toda
dependencia funcional
válida en R, se cumple que
1. X es superllave o clave.
De esta forma, todo esquema R que cumple FNBC, está además en 3FN; sin embargo,
no todo esquema R que cumple con 3FN, está en FNBC.
Cuarta Forma Normal (4FN)
Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias
múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave
candidata o un conjunto de claves primarias.
Quinta Forma Normal (5FN)
Una tabla se encuentra en 5FN si:


La tabla está en 4FN
No existen relaciones de dependencias no triviales que no siguen los criterios de las
claves. Una tabla que se encuentra en la 4FN se dice que está en la 5FN si, y sólo si,
cada relación de dependencia se encuentra definida por las claves candidatas.3
WEBGRAFÍA:
www.grupostonline.com
3
http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
Descargar