Download [FIX]trabajo base datos 2.2

Document related concepts

Integridad referencial wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Clave foránea wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Transcript
Sede: Santiago
Carrera: Ingeniería Informática para Técnicos
Dirección: República 517
Teléfono: 6753059
Asignatura: Bases de Datos
Profesor:
Hector Schulz Perez
Integrantes: Maximiliano Ureta Fioraso
Cristian Chaul Gallardo
Mauricio Alfredo Reyes Aguirre
Santiago, Agosto de 2011
Indice
Índice
2
Introducción
3
Definición de Base de Datos
4
Integridad: Definición
5
Reglas de Identidad
6
Reglas de Dominio
6
Reglas de Integridad – Relación
7
a) Integridad de Entidad
8
b) Integridad de Referencial
8
c) Integridad de Dominio
9
d) Integridad de Definidas por el usuario
10
Opinión Personal
11
Conclusión
12
Bibliografía
13
2
Introducción
El concepto de integridad, se refiere a la cualidad de aquello íntegro es algo
que no carece de ninguna de sus partes o, dicho de una persona, hace
referencia a alguien recto, honesto e intachable.
En nuestro diario vivir, siempre buscamos que es lo mejor para uno, como por
ejemplo, cual es la vía más corta para llegar al trabajo, que tienda es más
económica, etc. Y es así como vamos anotando
y tachando nuestra libreta
todos estos datos de utilidad.
En la informática sucede lo mismo, la integridad es una propiedad deseable
en las bases de datos que garantiza que una entidad (fila o registro) siempre
esté relacionado con otras entidades válidas, es decir, que existan en la misma
base. La integridad referencial supone que todos los datos sean correctos, sin
repeticiones, datos perdidos o relaciones mal resueltas.
Por último, podemos mencionar que la integridad de datos se refiere a la
corrección de los datos que presenta una base. Cuando se utilizan las
sentencias de inserción, borrado, actualización, la integridad de los datos
puede verse afectada. Por ejemplo, se pueden añadir datos no válidos o
modificarse datos existentes en forma incorrecta, con lo que la integridad no
se cumple.
Es por eso que la Integridad de datos juega un rol fundamental en esta área y
tanto nosotros como ustedes, esperamos
con el avance de este informe,
conocer su utilidad y su aplicación.
3
Definición de una base de datos
Una base de datos es una colección de datos relacionados. Con la palabra
"datos" nos referimos a los hechos conocidos que se pueden grabar y que
tienen un significado implícito. Por ejemplo, los nombres, números de teléfono
y direcciones de un grupo de personas. Esta colección de datos relacionados
con un significado implícito es una base de datos.
No obstante, esta definición carece de un enfoque, de una perspectiva técnica,
pare ello mencionaremos algunos aspectos que definen de mejor forma una
Base de Datos.

Una base de datos representa algún aspecto del mundo real, lo que en
ocasiones se denomina "micro-mundo". Los cambios introducidos en el
micro-mundo se reflejan en la base de datos.

Una base de datos es una colección de datos lógicamente coherente con
algún tipo de significado inherente. No es correcto denominar base de
datos a un surtido aleatorio de datos.

Una base de datos se diseña, construye y rellena con datos para un
propósito específico. Dispone de un grupo pretendido de usuarios y
algunas aplicaciones preconcebidas en las que esos usuarios están
interesados.
En otras palabras, una base de datos tiene algún principio del que se derivan
los datos, algún grado de interacción con eventos del mundo real y un público
que está activamente interesado en su contenido. Al objeto de que una base
de datos sea en todo momento precisa y fiable, debe ser un reflejo exacto del
micro-mundo que representa; por ende, en la base de datos deben reflejarse
los cambios tan pronto como sea posible.
Por último cabe destacar que una base de datos puede ser de cualquier
tamaño y complejidad. Y además esta puede mantenerse manualmente o de
forma automática.
4
Integridad
Definición
La integridad de datos se refiere a los valores reales que se almacenan y se
utilizan en las estructuras de datos de la aplicación. La aplicación debe ejercer
un control deliberado sobre todos los procesos que utilicen los datos para
garantizar la corrección permanente de la información.
Es posible garantizar la integridad de los datos mediante la implementación
escrupulosa
de
varios
conceptos
clave,
como
los
que
se
incluyen
a
continuación:

Normalizar datos: Explica el proceso que consiste en perfeccionar las
definiciones de datos para eliminar grupos repetidos y dependencias
innecesarias.

Definir reglas de empresa: Explica la forma en que las reglas de
empresa controlan la manipulación de los datos de la aplicación y
pueden ser reutilizadas por otras aplicaciones.

Proporcionar integridad referencial: Describe la forma en que la
integridad referencial evita que se dañen los datos.

Validar los datos: Explica la comprobación de intervalos, la validación de
campos y formas más complejas de validación de datos.
Una base de datos determinada podría estar sujeta a una cantidad variada de
restricciones de integridad (en general) de una complejidad arbitraria. En la
mayoría de los sistemas actuales, la verificación de la integridad se realiza
mediante códigos de procedimientos escritos por los usuarios.
5
Reglas de Integridad
Una vez que se determina el modelo conceptual pasamos a estudiar las reglas
de integridad que los datos almacenados en dicha estructura deben cumplir
para garantizar que son correctos.
Al definir cada atributo sobre un dominio se impone una restricción sobre el
conjunto de valores permitidos para cada atributo. A este tipo de restricciones
se les denomina restricciones de dominio. Existen además dos reglas de
integridad muy importantes que son restricciones que se deben cumplir en
todas las bases de datos relacionales y en todos sus estados o
instancias, que
son la de integridad de entidades y la de integridad
referencial. Antes de explicarla, vamos a definir los conceptos “nulo”
y
“dominio”.
Nulo: Es un indicador que le dice al usuario que el dato falta o no es aplicable.
Es decir, cuando
un dato
falta, normalmente se dice que tiene valor Nulo,
pero en realidad, no tiene valor de dato real. En síntesis, es una señal o
recordatorio de que el valor falta o es desconocido.
Dominio: El Dominio de un atributo define los valores posibles que puede
tomar este atributo (no es más que un tipo de dato.). Además de los Dominios
"naturales", usados como tipos de datos, el administrador del sistema puede
generar sus propios dominios definiendo el conjunto de valores permitidos.
Esta característica, usada en forma correcta, se convierte en mecanismo de
control, restricción y validación de los datos a ingresar.
Reglas de Integridad - Dominio
Un Dominio de valores posibles puede estar asociado a cada atributo. Los
límites de Dominio son la forma más elemental de restricciones de Integridad.
Son fáciles de probar en el sistema siempre que se introduce un nuevo dato en
el sistema.
6
Por ejemplo:
Tipos de datos en SQL
Dato
Longitud
Descripción
Bit
1 byte
Valores true/false
Byte
1 byte
Entero entre 0 y 255
Counter
4 bytes
Campo ID (long)
Currency
8 bytes
Numérico
Datetime
8 bytes
Fecha
Text
1 byte/caracter
De 0 a 255 caracteres
Una definición bien adecuada de restricciones de dominio no sólo nos permite
probar valores insertados en la base de datos. También nos permite probar
consultas para asegurarnos de que las comparaciones que se hacen tienen
sentido.
Reglas de Integridad – Relación
Son restricciones que deben cumplirse
en todas las bases de datos
relacionales y además en todos sus estados o instancias todo el tiempo.
Existen dos reglas de integridad que son asociadas al modelo relacional, vale
decir que ambas son generales y tienen relación con las llaves primarias y
foráneas, estas son:
a) Integridad de Entidad
7
b) Integridad Referencial
c) Integridad de Dominio
d) Integridad definida por el usuario
a) Integridad de Entidad
Las restricciones de entidades, aseguran la integridad de las entidades
que son modeladas por el sistema. Por ejemplo en el nivel más simple,
la existencia de una clave primaria, es una restricción de entidad que
impone la regla “cada entidad DEBE estar identificada en forma única.”
En este caso, no está permitido que algún componente
de la clave
acepte valores nulos.
Existen razones para esta regla, las cuales son:
• Las tuplas en las relaciones base representan entidades en la
realidad.
• Las entidades en la realidad son identificables por definición.
• Sus contrapartes en la base de datos también deben ser
identificables.
• Los valores de la clave primaria sirven como identificadores en la
base de datos.
• Los valores de clave primaria no pueden ser nulos
b) Integridad Referencial
La integridad referencial es una propiedad deseable en las bases de
datos. Gracias a la integridad referencial se garantiza que una entidad
(fila o registro) siempre se relaciona con otras entidades válidas, es
decir, que existen en la base de datos. Implica que en todo momento
dichos datos sean correctos, sin repeticiones innecesarias, datos
perdidos y relaciones mal resueltas.
8
Todas las bases de datos relacionales gozan de esta propiedad gracias a
que el software gestor de base de datos vela por su cumplimiento. En
cambio, las bases de datos jerárquicas requieren que los programadores
se aseguren de mantener tal propiedad en sus programas.
Ejemplo:
Cuando se exige la integridad referencial, SQL Server impide a los usuarios:

Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila
asociada en la tabla principal.

Cambiar valores en una tabla principal que crea filas huérfanas en una
tabla relacionada.

Eliminar filas de una tabla principal cuando hay filas relacionadas
coincidentes.
Por ejemplo, en las tablas Sales.SalesOrderDetail y Production.Product de
la base de datos AdventureWorks2008R2, la integridad referencial se basa en
la relación entre la clave externa (ProductID) de la tabla
Sales.SalesOrderDetail y la clave principal (ProductID) de la tabla
Production.Product. Esta relación garantiza que un pedido de ventas no
pueda nunca hacer referencia a un producto que no existe en la tabla
Production.Product.
9
c) Integridad de Dominio
La integridad de dominio viene dada por la validez de las entradas para
una columna determinada. Puede exigir la integridad de dominio para
restringir el tipo mediante tipos de datos, el formato mediante reglas y
restricciones CHECK, o el intervalo de valores posibles mediante
restricciones FOREIGN KEY, restricciones CHECK, definiciones DEFAULT,
definiciones NOT NULL y reglas.
Ejemplo
Si en la relación EMPLEADOS (RUT, nombre, apellido, edad_emp) hemos
declarado que dominio (RUT) es el dominio predefinido de los enteros,
entonces no podremos insertar, por ejemplo, ningún empleado que
tenga por RUT el valor “Luis”, que no es un entero.
Recordemos que los dominios pueden ser de dos tipos: predefinidos o
definidos por el usuario. Se observa que los dominios definidos por el
usuario resultan muy útiles, porque nos permiten determinar de
forma
más
específica cuáles serán los valores admitidos por los
atributos.
d) Integridad definida por el usuario
La integridad definida por el usuario permite definir reglas de empresa
específicas que no pertenecen a ninguna otra categoría de integridad.
Todas las categorías de integridad admiten la integridad definida por el
usuario. Esto incluye todas las restricciones de nivel de columna y nivel
de
tabla
en
CREATE
TABLE,
procedimientos
almacenados
y
desencadenadores.
10
Opinión Personal
Mauricio Reyes Aguirre: Al tomar este tema de integridad me dio la
posibilidad de poder comprender concepto que no manejaba a cabalidad lo que
en nuestra profesion es fundamental para poder realizar mi labor como
ingeniero dando soluciones realmente óptimas y por sobre todos informadas en
las futuras labores que cumpliré.
Cristian Chaul: La automatización de los procesos en lo que respecta a las
bases de datos, nos permiten, con una facilidad increíble, hacer consultas,
reportes, balances, etc. Solo se seleccionan campos y ya está. Es por eso que
este trabajo me permitió conocer el origen y parte de como se construyen
estas reglas antes de realizar la automatización como tal, conceptos que uno
considera, pero al comprenderlo, entrega una nueva visión de lo que uno hace
día a día.
Maximiliano Ureta Fioraso:
Durante la
indagación y
recolección de
información pude apreciar las dimensiones de este tema y de cuán importante
es en la Informática, y de la cantidad de herramientas que existen para
implementar una Base de Datos consistente (de más esta decir que si no
contamos con la capacidad de modelarla correctamente, poco nos servirán
estas herramientas). Ahora puedo decir, y con fundamentos, que no basta con
construir una aplicación robusta y bien planificada, sino que además se DEBE
contar con una arquitectura de Base de Datos que soporte el negocio, de esta
forma se podrá simplificar considerablemente las otras etapas que conllevan el
desarrollo de aplicaciones.
11
Conclusión
Durante el desarrollo del
informe hemos logrado conocer la importancia
que cumple la integridad de datos,
al definirlo en una sola palabra podemos
hablar de “calidad”, ya que está constantemente buscando corregir nuestros
datos, entregar exactitud, generar normas para que, cuando deseemos realizar
modificaciones en cualquiera de nuestros
datos,
podamos hacerlo con
tranquilidad. Esto mismo, lo vivimos día a día en nuestro entorno, todo está
normado,
lo cual nos facilita el actuar y nos permite comprender en una
primera instancia el porqué (como por ejemplo seguir una receta de cocina)
luego pasa a ser parte nuestra, de hecho a estas mismas vamos agregamos
nuevos ingredientes y estos pasan a ser parte de la receta original, es por
eso que hemos concluido que para que podamos seguir estas reglas o normas,
debe haber un estudio del ambiente, un proceso de conocimiento del entorno,
para poder definirlas, ya que estas
serán
el corazón de la Integridad de
Datos.
12
Bibliografía
 http://es.wikipedia.org/wiki/Administrador_de_base_de_datos
 http://www.aulaclic.es/sql/b_8_1_1.htm
 http://juanin.bligoo.com/content/view/606209/Integridad-en-las-Bases-deDatos.html
 http://www.aulaclic.es/sql/b_8_1_1.htm
13