1 UNIDAD
Diseño,
manejo y explotación de Bases de Datos
1.1.
Modelos de bases de datos
Un modelo de datos es básicamente una
"descripción" de algo conocido como contenedor de datos (algo en
donde se guarda la información), así como de los métodos para almacenar y
recuperar información de esos contenedores. Los modelos de datos no son cosas
físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y
conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:Bases de datos jerárquicas
En este modelo los datos se organizan en una forma similar a un árbol, en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este
modelo es su incapacidad de representar
eficientemente la redundancia de datos.
Base de datos de red
Éste es un modelo ligeramente distinto del jerárquico; su
diferencia fundamental es la modificación del concepto de nodo: se permite que
un mismo nodo tenga varios padres.
Fue una gran mejora con respecto al modelo jerárquico, ya
que ofrecía una solución eficiente al problema de redundancia de datos; pero,
aun así, la dificultad que significa administrar la información en una base de
datos de red ha significado que sea un modelo utilizado en su mayoría por
programadores más que por usuarios finales.
Son
bases de datos cuyo único fin es el envío y recepción de datos a grandes
velocidades, estas bases son muy poco comunes y están dirigidas por lo general
al entorno de análisis de calidad, datos de producción e industrial, es
importante entender que su fin único es recolectar y recuperar los datos a la
mayor velocidad posible, por lo tanto la redundancia y duplicación de
información no es un problema como con las demás bases de datos, por lo general
para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases
de datos relacionales. Un ejemplo habitual de
transacción es el traspaso de una cantidad de dinero entre cuentas bancarias.
Normalmente se realiza mediante dos operaciones distintas, una en la que se
decremento el saldo de la cuenta origen y otra en la que incrementamos el saldo
de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para
que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas,
es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso
una caída del sistema), el resultado final es que, o bien se han realizado las
dos operaciones, o bien no se ha realizado ninguna.
Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para modelar
problemas reales y administrar datos dinámicamente.
Su idea fundamental es el uso de "relaciones".
Estas relaciones podrían considerarse en forma lógica como conjuntos de datos
llamados "tuplas".
Pese
a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la
mayoría de las veces se conceptualiza de una manera más fácil de imaginar.
Esto es pensando en cada relación como si fuese una tabla
que está compuesta por registros (las filas de una tabla), que representarían
las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen
los datos no tienen relevancia (a diferencia de otros modelos como el
jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil
de entender y de utilizar para un usuario esporádico de la base de datos. La
información puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a
bases de datos relacionales es SQL, Structured Query Language o Lenguaje
Estructurado de Consultas, un estándar implementado por los principales motores
o sistemas de gestión de bases de datos relacionales.
Modelo Entidad-Relación
En el modelo E/R se parte de una situación real a partir
de la cual se definen entidades y relaciones entre dichas entidades:
Entidad: Objeto del mundo real sobre el que queremos
almacenar información (Ejemplo: una persona).
Entidades: están compuestas de atributos que son los
datos que definen el objeto (para la entidad persona serían DNI, nombre,
apellidos, dirección,). De entre los atributos habrá uno o un conjunto de ellos
que no se repite; a este atributo o conjunto de atributos se le llama clave de
la entidad, (para la entidad persona una clave seria DNI).
En toda entidad siempre hay al menos una clave que en el
peor de los casos estará formada por todos los atributos de la tabla. Ya que
puede haber varias claves y necesitamos elegir una, lo haremos atendiendo a
estas normas:
- Que sea única.
- Que se tenga pleno
conocimiento de ella.
- Que sea mínima, ya
que será muy utilizada por el gestor de base de datos.
Relación: Asociación entre entidades, sin existencia
propia en el mundo real que estamos modelando, pero necesaria para reflejar las
interacciones existentes entre entidades. Las relaciones pueden ser de tres
tipos:Relaciones 1-1.- Las entidades que intervienen en la relación se asocian una
a una (Ejemplo: la entidad HOMBRE, la entidad MUJER y entre ellos la relación
MATRIMONIO).Relaciones 1-n.- Una ocurrencia de una entidad está asociada con muchas (n)
de otra (Ejemplo: la entidad EMPRESA, la entidad TRABAJADOR y entre ellos la
relación TRABAJAR-EN).
Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades de la
relación, puede estar asociada con muchas (n) de la otra y viceversa (Ejemplo:
la entidad ALUMNO, la entidad EMPRESA y entre ellos la relación MATRÍCULA).
1.2.
Consideraciones de diseño
Tipo de almacenamiento: Debemos pensar en qué tipo de
base de datos vamos a tener, puede ser OLTP O OLAP los cuales tiene diferentes
propósitos y por lo mismo un diferente diseño.
Nivel de transaccional: La base de datos OLTP en lo
general requiere de un alto número de transacciones por minuto. Un diseño
eficiente, con un apropiado nivel de normalización, índices y participación nos
pueden dar un nivel transaccional muy alto.
Crecimiento de las bases de datos: Que el crecimiento de
base de datos debe ser optimo y lo más exacto posible al requerimiento del
campo para evitar generar espacio en las aplicaciones.
Archivos de datos: (Alojamos los archivos) el archivo del
dato debe estar en un lugar óptimo para su manejo.
Integridad de dato.
Establecer sedes donde se instalaran las bases de datos.
1.3.
Normalizaciones
La normalización es la secuencia de las medidas por las
que un modelo de base de datos relacional es creado y mejorado. La secuencia de
etapas implicadas en el proceso de normalización se llama formas normales.
Básicamente, la forma normal aplicada durante un proceso de normalización
permitirá la creación de una base de datos relacional como un modelo paso a
paso de progresión.
La normalización es la redacción y aprobación de normas
que se establecen para garantizar el acoplamiento de elementos construidos
independientemente, así como garantizar el repuesto en caso de ser necesario,
garantizar la calidad de los elementos fabricados y la seguridad de
funcionamiento. La normalización persigue fundamentalmente tres objetivos:
1. Simplificación:
Se trata de reducir los modelos quedándose únicamente con
los más necesarios.
2. Unificación: Para permitir la intercambiabilidad a nivel internacional.
3. Especificación:
Se persigue evitar errores de identificación creando un
lenguaje claro y preciso.
Primera Forma Normal (1FN)
Incluye la eliminación de todos los grupos repetidos.
La regla de la Primera Forma Normal establece que las
columnas repetidas deben eliminarse y colocarse en tablas separadas.
Poner la base de datos en la Primera Forma Normal
resuelve el problema de los encabezados de columna múltiples. Muy a menudo, los
diseñadores de bases de datos inexpertos harán algo similar a la tabla no
normalizada.
Una y otra vez, crearán columnas que representen los
mismos datos. La normalización ayuda a clarificar la base de datos y a
organizarla en partes más pequeñas y más fáciles de entender. En lugar de tener
que entender una tabla gigantesca y monolítica que tiene muchos diferentes
aspectos, sólo tenemos que entender los objetos pequeños y más tangibles, así
como las relaciones que guardan con otros objetos también pequeños.
Si una relación no está en 1FN, hay que eliminar de ella
los grupos repetitivos. Un grupo repetitivo será el atributo o grupo de
atributos que tiene múltiples valores para cada tupla de la relación.
Por Ejemplo: En la siguiente tabla se encuentran los datos
del alquiler de diferentes películas. Esta tabla se encuentra en Forma Normal 0.
Para que esta tabla pase a 1FN se debe eliminar los
grupos repetitivos de las tablas individuales. Es decir la columna que contiene
múltiples valores, que es Nom_Cli contiene el nombre y el apellido del cliente,
esta columna se debe dividir en columnas individuales que guarden valores
indivisibles, como Nom_Cli, y Ape_Cli. Se puede hacer lo mismo con la columna
Nom_Ren.
La tabla en 1FN será:
Segunda Forma Normal (2FN)
Asegura que todas las columnas que no son llave sean
completamente dependientes de la llave primaria (PK).
Una tabla se dice que está en 2FN si y sólo si cumple dos
condiciones:
1. Se encuentra en 1 FN
2. Todo atributo secundario (aquéllos que no pertenecen a la
clave principal, los que se encuentran fuera de la caja) depende totalmente
(tiene una dependencia funcional total) de la clave completa y, por tanto, no
de una parte de ella.
Esta forma normal sólo se considera si la clave principal
es compuesta y, por tanto, está formada por varios atributos. Si la clave
principal de la tabla está formada por un único atributo, entonces la tabla ya
se encuentra en 2FN.
Si una tabla T tiene como atributos A, B, C, D y la clave
es A.B cumpliéndose las dependencias:
A.B——> C
B——> D
Se observa que la tabla no se encuentra en 2FN puesto que
el atributo D no tiene una dependencia funcional total con la clave entera A.B,
sino con una parte de la clave (B).
Para convertir una tabla que no está en segunda forma
normal a 2FN, se realiza una proyección y se crea:
1. Una tabla con la clave y todas sus dependencias totales con
los atributos secundarios afectados
2. Otra tabla con la parte de la clave que tiene dependencias,
junto con los atributos secundarios implicados
La clave de la nueva tabla será la antigua parte de la
clave.
En nuestro ejemplo, tendremos que se va a crear una tabla
con los datos de las Películas:
Otra tabla con los datos de los préstamos de esas películas.
Tercera Forma Normal (3FN)
Elimina cualquier dependencia transitiva. Una dependencia
transitiva es aquella en la cual las columnas que no son llave son dependientes
de otras columnas que tampoco son llave.
Una tabla se dice que está en tercera forma normal si y
sólo si se cumplen dos condiciones:
1. Se encuentra en 2FN
2. No existen atributos no primarios que son transitivamente
dependientes de cada posible clave de la tabla.
Esto quiere decir que un atributo secundario sólo se debe
conocer a través de la clave principal o claves secundarias de la tabla y no
por medio de otro atributo no primario.
Por tanto, para pasar una tabla que no cumple la tercera
forma normal a 3FN, se realiza una proyección y se genera:
1. Una tabla con la clave y todos los atributos no primarios
que no son transitivos
2. Otra tabla con los atributos transitivos y el atributo no
primario (que será la clave de la nueva tabla) por medio del cual mantienen la
transitividad)
Lógicamente, en la primera tabla TI, el atributo C es
clave ajena con respecto de T2 y de ese modo todos los atributos quedan
relacionados entre sí. Es lo que se denomina interrelación entre la tabla TI y
T2.
En nuestro ejemplo tendremos que se van a generar las
siguientes tablas:
Tabla Clientes para contener los datos de la persona que
rento la película agregando en su cedula de identidad como clave.
Clientes
Tabla Rentadores para contener los datos de la persona
que renta la película agregando un su cedula de identidad como clave.
Rentadores
Tabla Películas con los datos de las películas, con el
código de la película como clave.
Películas
Tabla Prestamos con el código de la película, cedula del
cliente y la cedula de la persona que rento, la fecha devolución y fecha de
rento
Prestamos
Hasta esta 3FN se considera un esquema de base de datos
normalizado.
Cuarta Forma Normal (4FN)
La 4FN la generó Fagin tras el teorema que demostró y que
dice: "Una tabla T con atributos A, B y C se puede descomponer sin
pérdidas en sus dos proyecciones T1(A, B) y T2(A, C) si y solo si la
Dependencia Multivaluada A B | C se cumple en T" De ese modo,
se define la 4FN de la siguiente forma: Una tabla T se dice que está en 4FN si
cumple dos condiciones:
1. Está en FNBC.
2. Las únicas Dependencias Multivariadas existentes son las
dependencias Funcionales de la clave con los atributos secundarios.
Quinta Forma Normal (5FN)
Para que una tabla se encuentra en 5FN se deben cumplir
dos condiciones:
1. Se encuentra en 4FN
2. Toda Dependencia de Join viene implicada por las claves
(principales o secundarias) de la tabla.
Es decir, que la tabla estará en 5FN si es posible
generar unas proyecciones y al realizar su Join, los atributos comunes que
realizan la operación (atributos de Join) están formados por claves
(principales o secundarias) de la tabla.
1.4.
Integridad Referencial
La integridad referencia es un conjunto de reglas o un
sistema de reglas que utiliza la mayoría de la base de datos relacionales para
asegurarse que los registros de tablas, en cierta forma ayudan a proteger la
integridad de los datos implicando y tonificando los datos.
La integridad referencial requiere que dos tablas que
estén sincronizadas. En integridad referencia existen 3 tipos de relación las
cuales son:
·
Uno a uno este solo se puede
relacionar con un único registrado de la otra tabla y viceversa
·
Uno a varios consiste en
relacionar con un único registro y otra tabla tener varios registros
·
Vario a varios se relacionan con
varios y la otra tabla se relaciona también con varios, en si se puede decir
que se pueden relacionar entre todos.
Entre ella también existe una clave foránea que es un
campo de una tabla que contiene una referencia a un registro de otra tabla. El
actualizar y/o eliminar registros en cascada, son opciones que se definen
cuando definimos la clave foránea.
La integridad referencial hace que el sistema gestor de
la base de datos se asegure de que no haya en las claves foráneas valores que
no estén en la tabla principal. La integridad referencial se activa en cuanto
creamos una clave foránea y a partir de ese momento se comprueba cada vez que
se modifiquen datos que puedan alterarla.
SQL Server, por otro lado, admite algunas opciones
adicionales de integridad referencial. En SQL Server puede establecer opciones
para desactivar la restricción FOREIGN KEY bajo las siguientes condiciones:
·
Tras la creación, para comprobar
los datos existentes.
·
Durante transacciones INSERTA
·
Durante la duplicación.
1.5.
Restricción
La restricción en una base de datos importante porque
tiene la seguridad y la confiablidad de que la información este sin acceso para
otras personas y es personal hacer modificaciones a mi información, este igual
ayuda a la integridad de los datos, como en los temas anteriores menciones
sobre la integración de los datos, esto es necesario para tener los datos en
organización, y para los temas mencionados también es importante.
La restricción son las que determina la limitación que
cumple ciertas reglas en la base de datos algunos son determinados por los
usuarios y otro por la modificación de información.
La restricción nos hace tener seguros la información
almacena en cierto lugar.
Las restricciones restringen los datos que pueden ser
almacenados en las tablas. Usualmente se definen usando expresiones que dan
como resultado un valor booleano, indicando si los datos satisfacen la
restricción o no.
1.6.
Seguridad de base de datos
La información de base de datos mayormente está
almacenada en sistema de gestores por lo que se requiere que se tenga seguridad
ante la información con la que se cuenta.
La seguridad en la base de datos es importante ya que
evita los intrusos ingresen (usuarios) sin requerirlo o sin autorización.
En la seguridad de base de datos se tiene principios
básicos de las cuales son:
1.
Identificar su sensibilidad
2.
Evaluación de vulnerabilidad y la
configuración
3.
Endurecimiento
4.
Audite
5.
Monitoreo
6.
Pista de auditoria
7.
Audiencia y control de acceso y
gestión de derecho.
Esos son algunos principios básicos de la seguridad de
base de datos.
Principios básicos
Suponer que el diseño del sistema es público:
·
El defecto debe ser: sin acceso.
·
Chequear permanentemente.
·
Los mecanismos de protección
deben ser simples, uniformes y construidos en las capas más básicas del sistema.
Medidas de seguridad
·
FÍSICAS: Controlar el acceso al
equipo. mediante tarjetas de acceso
·
PERSONAL: Acceso solo de personal
autorizado. identificación directa de personal.
Tipos
Hay dos tipos de seguridad:
·
Direccional: Se usa para otorgar
y revocar privilegios a los usuarios a nivel de archivos, registros o campos en
un modo determinado (consulta o modificación).
·
Obligatoria: Sirve para imponer
seguridad de varios niveles tanto para los usuarios como para los datos. Para
eso se utilizan mecanismos de protección.
Requisitos para la seguridad del BD
·
La base de datos debe ser
protegida contra el fuego, el robo y otras formas de destrucción.
·
Los datos deben ser reconstruirles,
ya que siempre pueden ocurrir accidentes.
·
Los datos deben poder ser
sometidos a procesos de auditoria.
·
El sistema debe diseñarse a
prueba de intromisiones, no deben poder pasar por alto los controles.
·
Ningún sistema puede evitar las
intromisiones malintencionadas, pero es posible hacer que resulte muy difícil
eludir los controles.
·
El sistema debe tener capacidad
para verificar que sus acciones han sido autorizadas.
·
Las acciones de los usuarios
deben ser supervisadas, de modo talque pueda descubrirse cualquier acción
indebida o errónea.
Las 3 principales características de la seguridad en una
base de datos son:
·
La Confidencialidad de la
información
·
La Integridad de la información
·
la Disponibilidad de la
información.
1.7.
Reportes de base de datos
Un reporte permite presentar la información de una base
de datos de forma organizada y estética en una hoja impresa, esta información
es extraída o calculada a partir de los datos almacenados en la tabla.
Un reporte presenta la siguiente estructura:
·
Cabecera de página
·
Encabezado del reporte
·
Encabezado de página
·
Encabezado de grupo
Son muy útiles porque permiten presentar tus datos en un
formato que es fácil de leer. Incluso, puedes personalizar la apariencia de los
reportes para que sean visualmente agradables y así imprimirlos para una junta
o reunión. En Access puedes crear reportes de tablas o consultas.
Los informes también permiten:
1.
Preparar facturas.
2.
Crear etiquetas postales.
3.
Crear un directorio, como una
lista alfabética de empleados con su información de contacto.
4.
Permiten presentar un resumen de
los datos, como las ventas agrupadas por región.
5.
Los informes pueden resumir y
agrupar los datos para proporcionar una introducción.
1.8.
Gestores de base de datos
Los Sistemas Gestores de Bases de Datos (SGBD, por sus
siglas en inglés), también conocidos como sistemas manejadores de bases de
datos o DBMS (Data Base Management System), son un conjunto de programas que
manejan todo acceso a la base de datos, con el objetivo de servir de interfaz
entre ésta, el usuario y las aplicaciones utilizadas.
Gracias a este sistema de software específico el usuario
puede gestionar la base de datos (almacenar, modificar y acceder a la
información contenida en ésta) mediante el uso de distintas herramientas para
su análisis, con las que puede realizar consultas y generar.
1.8.1.
Gestores de licencia
Microsoft SQL Server:
Posee una compresión de Datos que permite que los datos
se almacenen de una manera más eficiente, y reduzca los requisitos de
almacenamiento para sus datos. La Compresión de Datos también ofrece mejoras
significativas en el rendimiento para grandes cargas de trabajo
Oracle:
Es una herramienta de administración gráfica que es muy
intuitiva y cómoda de utilizar. Ayuda a analizar datos y efectuar recomendaciones
para mejorar el rendimiento y la eficiencia en el manejo de aquellos datos que
se encuentran almacenados. También apoya en el diseño y optimización de modelos
de datos.
Microsoft Access:
Dentro del archivo, puede utilizar: Tablas para almacenar
los datos, consultas para buscar y recuperar únicamente los datos que necesita.
Formularios para ver, agregar y actualizar los datos de las tablas e informes
para analizar o imprimir los datos con un diseño específico
Visual fox proo:
Ofrece a los desarrolladores un conjunto de herramientas
para crear aplicaciones de bases de datos para el escritorio, entornos
cliente/servidor, Tablet PC o para la Web.
1.8.2.
Gestores de base de datos libre
PostgreSQL:
Sus características técnicas la hacen una de las bases de
datos más potentes y robustos del mercado. Diseñado para ambientes de alto
volumen y nadie puede demandarlo por violar acuerdos de licencia, puesto que no
hay costo asociado a la licencia del software.
APACHE DERBY
El tamaño del programa es muy reducido, ocupando 2.6
megabytes entre el motor base y controlador integrado JDBC, utilizando muy poco
espacio en el computador donde se instalará el programa.
SQQULITE
Squlite se caracteriza por ser un motor de base de datos
ágil y robusto diseñado para ambientes de alto volumen.
DB2 Express C
Ofrece a los desarrolladores un conjunto de herramientas
para crear aplicaciones de bases de datos para el escritorio, entornos
cliente/servidor, Tablet PC o para la Web.
1 UNIDAD
Diseño, manejo y explotación de Bases de Datos
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales. Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decremento el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.
Diseño, manejo y explotación de Bases de Datos
1.1.
Modelos de bases de datos
Un modelo de datos es básicamente una
"descripción" de algo conocido como contenedor de datos (algo en
donde se guarda la información), así como de los métodos para almacenar y
recuperar información de esos contenedores. Los modelos de datos no son cosas
físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y
conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:Bases de datos jerárquicas
En este modelo los datos se organizan en una forma similar a un árbol, en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este
modelo es su incapacidad de representar
eficientemente la redundancia de datos.
Base de datos de red
Éste es un modelo ligeramente distinto del jerárquico; su
diferencia fundamental es la modificación del concepto de nodo: se permite que
un mismo nodo tenga varios padres.
Fue una gran mejora con respecto al modelo jerárquico, ya
que ofrecía una solución eficiente al problema de redundancia de datos; pero,
aun así, la dificultad que significa administrar la información en una base de
datos de red ha significado que sea un modelo utilizado en su mayoría por
programadores más que por usuarios finales.
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales. Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decremento el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.
Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para modelar
problemas reales y administrar datos dinámicamente.
Su idea fundamental es el uso de "relaciones".
Estas relaciones podrían considerarse en forma lógica como conjuntos de datos
llamados "tuplas".
Pese
a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la
mayoría de las veces se conceptualiza de una manera más fácil de imaginar.
Esto es pensando en cada relación como si fuese una tabla
que está compuesta por registros (las filas de una tabla), que representarían
las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen
los datos no tienen relevancia (a diferencia de otros modelos como el
jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil
de entender y de utilizar para un usuario esporádico de la base de datos. La
información puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a
bases de datos relacionales es SQL, Structured Query Language o Lenguaje
Estructurado de Consultas, un estándar implementado por los principales motores
o sistemas de gestión de bases de datos relacionales.
Modelo Entidad-Relación
En el modelo E/R se parte de una situación real a partir
de la cual se definen entidades y relaciones entre dichas entidades:
Entidad: Objeto del mundo real sobre el que queremos
almacenar información (Ejemplo: una persona).
Entidades: están compuestas de atributos que son los
datos que definen el objeto (para la entidad persona serían DNI, nombre,
apellidos, dirección,). De entre los atributos habrá uno o un conjunto de ellos
que no se repite; a este atributo o conjunto de atributos se le llama clave de
la entidad, (para la entidad persona una clave seria DNI).
En toda entidad siempre hay al menos una clave que en el
peor de los casos estará formada por todos los atributos de la tabla. Ya que
puede haber varias claves y necesitamos elegir una, lo haremos atendiendo a
estas normas:
- Que sea única.
- Que se tenga pleno conocimiento de ella.
- Que sea mínima, ya que será muy utilizada por el gestor de base de datos.
Relación: Asociación entre entidades, sin existencia
propia en el mundo real que estamos modelando, pero necesaria para reflejar las
interacciones existentes entre entidades. Las relaciones pueden ser de tres
tipos:Relaciones 1-1.- Las entidades que intervienen en la relación se asocian una
a una (Ejemplo: la entidad HOMBRE, la entidad MUJER y entre ellos la relación
MATRIMONIO).Relaciones 1-n.- Una ocurrencia de una entidad está asociada con muchas (n)
de otra (Ejemplo: la entidad EMPRESA, la entidad TRABAJADOR y entre ellos la
relación TRABAJAR-EN).
1.3. Normalizaciones
2. Otra tabla con los atributos transitivos y el atributo no
primario (que será la clave de la nueva tabla) por medio del cual mantienen la
transitividad)
1.7. Reportes de base de datos
1.8. Gestores de base de datos
1.8.1. Gestores de licencia
1.8.2. Gestores de base de datos libre
Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa (Ejemplo: la entidad ALUMNO, la entidad EMPRESA y entre ellos la relación MATRÍCULA).
1.2.
Consideraciones de diseño
Tipo de almacenamiento: Debemos pensar en qué tipo de
base de datos vamos a tener, puede ser OLTP O OLAP los cuales tiene diferentes
propósitos y por lo mismo un diferente diseño.
Nivel de transaccional: La base de datos OLTP en lo
general requiere de un alto número de transacciones por minuto. Un diseño
eficiente, con un apropiado nivel de normalización, índices y participación nos
pueden dar un nivel transaccional muy alto.
Crecimiento de las bases de datos: Que el crecimiento de
base de datos debe ser optimo y lo más exacto posible al requerimiento del
campo para evitar generar espacio en las aplicaciones.
Archivos de datos: (Alojamos los archivos) el archivo del
dato debe estar en un lugar óptimo para su manejo.
Integridad de dato.
Establecer sedes donde se instalaran las bases de datos.
1.3. Normalizaciones
La normalización es la secuencia de las medidas por las
que un modelo de base de datos relacional es creado y mejorado. La secuencia de
etapas implicadas en el proceso de normalización se llama formas normales.
Básicamente, la forma normal aplicada durante un proceso de normalización
permitirá la creación de una base de datos relacional como un modelo paso a
paso de progresión.
La normalización es la redacción y aprobación de normas
que se establecen para garantizar el acoplamiento de elementos construidos
independientemente, así como garantizar el repuesto en caso de ser necesario,
garantizar la calidad de los elementos fabricados y la seguridad de
funcionamiento. La normalización persigue fundamentalmente tres objetivos:
1. Simplificación: Se trata de reducir los modelos quedándose únicamente con los más necesarios.
2. Unificación: Para permitir la intercambiabilidad a nivel internacional.
3. Especificación: Se persigue evitar errores de identificación creando un lenguaje claro y preciso.
Primera Forma Normal (1FN)
Incluye la eliminación de todos los grupos repetidos.
La regla de la Primera Forma Normal establece que las
columnas repetidas deben eliminarse y colocarse en tablas separadas.
Poner la base de datos en la Primera Forma Normal
resuelve el problema de los encabezados de columna múltiples. Muy a menudo, los
diseñadores de bases de datos inexpertos harán algo similar a la tabla no
normalizada.
Una y otra vez, crearán columnas que representen los
mismos datos. La normalización ayuda a clarificar la base de datos y a
organizarla en partes más pequeñas y más fáciles de entender. En lugar de tener
que entender una tabla gigantesca y monolítica que tiene muchos diferentes
aspectos, sólo tenemos que entender los objetos pequeños y más tangibles, así
como las relaciones que guardan con otros objetos también pequeños.
Si una relación no está en 1FN, hay que eliminar de ella
los grupos repetitivos. Un grupo repetitivo será el atributo o grupo de
atributos que tiene múltiples valores para cada tupla de la relación.
Por Ejemplo: En la siguiente tabla se encuentran los datos
del alquiler de diferentes películas. Esta tabla se encuentra en Forma Normal 0.
Para que esta tabla pase a 1FN se debe eliminar los
grupos repetitivos de las tablas individuales. Es decir la columna que contiene
múltiples valores, que es Nom_Cli contiene el nombre y el apellido del cliente,
esta columna se debe dividir en columnas individuales que guarden valores
indivisibles, como Nom_Cli, y Ape_Cli. Se puede hacer lo mismo con la columna
Nom_Ren.
La tabla en 1FN será:
Segunda Forma Normal (2FN)
Asegura que todas las columnas que no son llave sean
completamente dependientes de la llave primaria (PK).
Una tabla se dice que está en 2FN si y sólo si cumple dos
condiciones:
1. Se encuentra en 1 FN
2. Todo atributo secundario (aquéllos que no pertenecen a la clave principal, los que se encuentran fuera de la caja) depende totalmente (tiene una dependencia funcional total) de la clave completa y, por tanto, no de una parte de ella.
Esta forma normal sólo se considera si la clave principal
es compuesta y, por tanto, está formada por varios atributos. Si la clave
principal de la tabla está formada por un único atributo, entonces la tabla ya
se encuentra en 2FN.
Si una tabla T tiene como atributos A, B, C, D y la clave
es A.B cumpliéndose las dependencias:
A.B——> C
B——> D
Se observa que la tabla no se encuentra en 2FN puesto que
el atributo D no tiene una dependencia funcional total con la clave entera A.B,
sino con una parte de la clave (B).
Para convertir una tabla que no está en segunda forma
normal a 2FN, se realiza una proyección y se crea:
1. Una tabla con la clave y todas sus dependencias totales con los atributos secundarios afectados
2. Otra tabla con la parte de la clave que tiene dependencias, junto con los atributos secundarios implicados
La clave de la nueva tabla será la antigua parte de la
clave.
En nuestro ejemplo, tendremos que se va a crear una tabla
con los datos de las Películas:
Otra tabla con los datos de los préstamos de esas películas.
Tercera Forma Normal (3FN)
Elimina cualquier dependencia transitiva. Una dependencia
transitiva es aquella en la cual las columnas que no son llave son dependientes
de otras columnas que tampoco son llave.
Una tabla se dice que está en tercera forma normal si y
sólo si se cumplen dos condiciones:
1. Se encuentra en 2FN
2. No existen atributos no primarios que son transitivamente dependientes de cada posible clave de la tabla.
Esto quiere decir que un atributo secundario sólo se debe
conocer a través de la clave principal o claves secundarias de la tabla y no
por medio de otro atributo no primario.
Por tanto, para pasar una tabla que no cumple la tercera
forma normal a 3FN, se realiza una proyección y se genera:
1. Una tabla con la clave y todos los atributos no primarios que no son transitivos
2. Otra tabla con los atributos transitivos y el atributo no
primario (que será la clave de la nueva tabla) por medio del cual mantienen la
transitividad)
Lógicamente, en la primera tabla TI, el atributo C es
clave ajena con respecto de T2 y de ese modo todos los atributos quedan
relacionados entre sí. Es lo que se denomina interrelación entre la tabla TI y
T2.
En nuestro ejemplo tendremos que se van a generar las
siguientes tablas:
Tabla Clientes para contener los datos de la persona que
rento la película agregando en su cedula de identidad como clave.
Clientes
Tabla Rentadores para contener los datos de la persona
que renta la película agregando un su cedula de identidad como clave.
Rentadores
Tabla Películas con los datos de las películas, con el
código de la película como clave.
Películas
Tabla Prestamos con el código de la película, cedula del
cliente y la cedula de la persona que rento, la fecha devolución y fecha de
rento
Prestamos
Hasta esta 3FN se considera un esquema de base de datos
normalizado.
Cuarta Forma Normal (4FN)
La 4FN la generó Fagin tras el teorema que demostró y que
dice: "Una tabla T con atributos A, B y C se puede descomponer sin
pérdidas en sus dos proyecciones T1(A, B) y T2(A, C) si y solo si la
Dependencia Multivaluada A B | C se cumple en T" De ese modo,
se define la 4FN de la siguiente forma: Una tabla T se dice que está en 4FN si
cumple dos condiciones:
1. Está en FNBC.
2. Las únicas Dependencias Multivariadas existentes son las
dependencias Funcionales de la clave con los atributos secundarios.
Quinta Forma Normal (5FN)
Para que una tabla se encuentra en 5FN se deben cumplir
dos condiciones:
1. Se encuentra en 4FN
2. Toda Dependencia de Join viene implicada por las claves
(principales o secundarias) de la tabla.
Es decir, que la tabla estará en 5FN si es posible
generar unas proyecciones y al realizar su Join, los atributos comunes que
realizan la operación (atributos de Join) están formados por claves
(principales o secundarias) de la tabla.
1.4.
Integridad Referencial
La integridad referencia es un conjunto de reglas o un
sistema de reglas que utiliza la mayoría de la base de datos relacionales para
asegurarse que los registros de tablas, en cierta forma ayudan a proteger la
integridad de los datos implicando y tonificando los datos.
La integridad referencial requiere que dos tablas que
estén sincronizadas. En integridad referencia existen 3 tipos de relación las
cuales son:
·
Uno a uno este solo se puede
relacionar con un único registrado de la otra tabla y viceversa
·
Uno a varios consiste en
relacionar con un único registro y otra tabla tener varios registros
·
Vario a varios se relacionan con
varios y la otra tabla se relaciona también con varios, en si se puede decir
que se pueden relacionar entre todos.
Entre ella también existe una clave foránea que es un
campo de una tabla que contiene una referencia a un registro de otra tabla. El
actualizar y/o eliminar registros en cascada, son opciones que se definen
cuando definimos la clave foránea.
La integridad referencial hace que el sistema gestor de
la base de datos se asegure de que no haya en las claves foráneas valores que
no estén en la tabla principal. La integridad referencial se activa en cuanto
creamos una clave foránea y a partir de ese momento se comprueba cada vez que
se modifiquen datos que puedan alterarla.
SQL Server, por otro lado, admite algunas opciones
adicionales de integridad referencial. En SQL Server puede establecer opciones
para desactivar la restricción FOREIGN KEY bajo las siguientes condiciones:
·
Tras la creación, para comprobar
los datos existentes.
·
Durante transacciones INSERTA
·
Durante la duplicación.
1.5.
Restricción
La restricción en una base de datos importante porque
tiene la seguridad y la confiablidad de que la información este sin acceso para
otras personas y es personal hacer modificaciones a mi información, este igual
ayuda a la integridad de los datos, como en los temas anteriores menciones
sobre la integración de los datos, esto es necesario para tener los datos en
organización, y para los temas mencionados también es importante.
La restricción son las que determina la limitación que
cumple ciertas reglas en la base de datos algunos son determinados por los
usuarios y otro por la modificación de información.
La restricción nos hace tener seguros la información
almacena en cierto lugar.
Las restricciones restringen los datos que pueden ser
almacenados en las tablas. Usualmente se definen usando expresiones que dan
como resultado un valor booleano, indicando si los datos satisfacen la
restricción o no.
1.6.
Seguridad de base de datos
La información de base de datos mayormente está
almacenada en sistema de gestores por lo que se requiere que se tenga seguridad
ante la información con la que se cuenta.
La seguridad en la base de datos es importante ya que
evita los intrusos ingresen (usuarios) sin requerirlo o sin autorización.
En la seguridad de base de datos se tiene principios
básicos de las cuales son:
1.
Identificar su sensibilidad
2.
Evaluación de vulnerabilidad y la
configuración
3.
Endurecimiento
4.
Audite
5.
Monitoreo
6.
Pista de auditoria
7.
Audiencia y control de acceso y
gestión de derecho.
Esos son algunos principios básicos de la seguridad de
base de datos.
Principios básicos
Suponer que el diseño del sistema es público:
·
El defecto debe ser: sin acceso.
·
Chequear permanentemente.
·
Los mecanismos de protección
deben ser simples, uniformes y construidos en las capas más básicas del sistema.
Medidas de seguridad
·
FÍSICAS: Controlar el acceso al
equipo. mediante tarjetas de acceso
·
PERSONAL: Acceso solo de personal
autorizado. identificación directa de personal.
Tipos
Hay dos tipos de seguridad:
·
Direccional: Se usa para otorgar
y revocar privilegios a los usuarios a nivel de archivos, registros o campos en
un modo determinado (consulta o modificación).
·
Obligatoria: Sirve para imponer
seguridad de varios niveles tanto para los usuarios como para los datos. Para
eso se utilizan mecanismos de protección.
Requisitos para la seguridad del BD
·
La base de datos debe ser
protegida contra el fuego, el robo y otras formas de destrucción.
·
Los datos deben ser reconstruirles,
ya que siempre pueden ocurrir accidentes.
·
Los datos deben poder ser
sometidos a procesos de auditoria.
·
El sistema debe diseñarse a
prueba de intromisiones, no deben poder pasar por alto los controles.
·
Ningún sistema puede evitar las
intromisiones malintencionadas, pero es posible hacer que resulte muy difícil
eludir los controles.
·
El sistema debe tener capacidad
para verificar que sus acciones han sido autorizadas.
·
Las acciones de los usuarios
deben ser supervisadas, de modo talque pueda descubrirse cualquier acción
indebida o errónea.
Las 3 principales características de la seguridad en una
base de datos son:
·
La Confidencialidad de la
información
·
La Integridad de la información
·
la Disponibilidad de la
información.
1.7. Reportes de base de datos
Un reporte permite presentar la información de una base
de datos de forma organizada y estética en una hoja impresa, esta información
es extraída o calculada a partir de los datos almacenados en la tabla.
Un reporte presenta la siguiente estructura:
·
Cabecera de página
·
Encabezado del reporte
·
Encabezado de página
·
Encabezado de grupo
Son muy útiles porque permiten presentar tus datos en un
formato que es fácil de leer. Incluso, puedes personalizar la apariencia de los
reportes para que sean visualmente agradables y así imprimirlos para una junta
o reunión. En Access puedes crear reportes de tablas o consultas.
Los informes también permiten:
1.
Preparar facturas.
2.
Crear etiquetas postales.
3.
Crear un directorio, como una
lista alfabética de empleados con su información de contacto.
4.
Permiten presentar un resumen de
los datos, como las ventas agrupadas por región.
5.
Los informes pueden resumir y
agrupar los datos para proporcionar una introducción.
1.8. Gestores de base de datos
Los Sistemas Gestores de Bases de Datos (SGBD, por sus
siglas en inglés), también conocidos como sistemas manejadores de bases de
datos o DBMS (Data Base Management System), son un conjunto de programas que
manejan todo acceso a la base de datos, con el objetivo de servir de interfaz
entre ésta, el usuario y las aplicaciones utilizadas.
Gracias a este sistema de software específico el usuario
puede gestionar la base de datos (almacenar, modificar y acceder a la
información contenida en ésta) mediante el uso de distintas herramientas para
su análisis, con las que puede realizar consultas y generar.
1.8.1. Gestores de licencia
Microsoft SQL Server:
Posee una compresión de Datos que permite que los datos
se almacenen de una manera más eficiente, y reduzca los requisitos de
almacenamiento para sus datos. La Compresión de Datos también ofrece mejoras
significativas en el rendimiento para grandes cargas de trabajo
Oracle:
Es una herramienta de administración gráfica que es muy
intuitiva y cómoda de utilizar. Ayuda a analizar datos y efectuar recomendaciones
para mejorar el rendimiento y la eficiencia en el manejo de aquellos datos que
se encuentran almacenados. También apoya en el diseño y optimización de modelos
de datos.
Microsoft Access:
Dentro del archivo, puede utilizar: Tablas para almacenar
los datos, consultas para buscar y recuperar únicamente los datos que necesita.
Formularios para ver, agregar y actualizar los datos de las tablas e informes
para analizar o imprimir los datos con un diseño específico
Visual fox proo:
Ofrece a los desarrolladores un conjunto de herramientas
para crear aplicaciones de bases de datos para el escritorio, entornos
cliente/servidor, Tablet PC o para la Web.
1.8.2. Gestores de base de datos libre
PostgreSQL:
Sus características técnicas la hacen una de las bases de
datos más potentes y robustos del mercado. Diseñado para ambientes de alto
volumen y nadie puede demandarlo por violar acuerdos de licencia, puesto que no
hay costo asociado a la licencia del software.
APACHE DERBY
El tamaño del programa es muy reducido, ocupando 2.6
megabytes entre el motor base y controlador integrado JDBC, utilizando muy poco
espacio en el computador donde se instalará el programa.
SQQULITE
Squlite se caracteriza por ser un motor de base de datos
ágil y robusto diseñado para ambientes de alto volumen.
DB2 Express C
Ofrece a los desarrolladores un conjunto de herramientas
para crear aplicaciones de bases de datos para el escritorio, entornos
cliente/servidor, Tablet PC o para la Web.
hola, buenos dias chic@s, los felicito quedo muy padre el diseño del blogs, al igual que la informaciòn de las unidades esta correcta, el unico detalle que deberian de checar es que la informaciòn contenga un mismo formato para todo y deben de agregar imagenes en las unidades....:) buen dia y gracias
ResponderEliminarBuenas noches buen trabajo ya ven que si se puede
ResponderEliminarBuenas noches buen trabajo ya ven que si se puede
ResponderEliminaresta genial todo solo que hay algunos párrafos mas grandes que otros
ResponderEliminary las imágenes a mi no me aparecen :(
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarMuy buenos días, por mi parte aprendí algunas cosas de cada unidad dentro de ello aprendi a usar varios programas para realizar base de dato como MYSQL, visual foxpro
ResponderEliminar, asi como a relacionar las tablas, a detectar error del porque no puedo relacionar, es decir, cuando no hubo integridad de dato la verdad fue una hermosa experiencia ya que con esto podre hacer mejor mis trabajos
en esta unidad aprendí a relacionar tablas para la realización de bases de datos que nos pueden servir mas adelante en mi vida, al igual que nos dimos cuenta de algunos gestores como mysql, Microsoft Access, Visual fox proo que nos sirvió para diferenciar cada uno. al igual que vimos las primera, segunda y tercera normalizacion. En si todo esto me sirvió para reforzar mas mis conocimientos en la hora de elaborar bases de datos.
ResponderEliminarmuy bueno días pues un punto de viste es cambiar e formato y que se vea ordenado.
ResponderEliminaren esta unidad aprendi la base de datos que existen y la manera de como utilizarlas y la manera de de aprenderlas mas sencila
ResponderEliminarBasándonos en lo visto en esta unidad aprendí sobre el uso y manejo de las diferentes bases de datos, lo cual me sera de utilidad mas adelante en mi vida
ResponderEliminarEn esta unidad mi función fue el brindar la información necesaria para la elaboración de esta pagina.
ResponderEliminarbueno pues yo aprendi a manejar estos programas como fox proo y son eficaces para manejar datos
ResponderEliminarEn esta unidad aprendi sobre el diseño y tipos de bases de datos asi como por ejemplo bases de datos jeraruicas, transaccionales, relacionales,etc, y tambien hay normalizaciones que nos indican como lograr la calidad y confiabilidad de informaciòn en una base de datos
ResponderEliminar