Unidad I
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
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
Bases de datos transaccionales
É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.
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.
- 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 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:
·
Simplificación:
Se trata de reducir los modelos quedándose únicamente con los más necesarios.
·
Unificación:
Para permitir la intercambiabilidad a nivel internacional.
·
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.
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.
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.
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:
- Identificar
su sensibilidad
- Evaluación
de vulnerabilidad y la configuración
- Endurecimiento
- Audite
- Monitoreo
- Pista
de auditoria
- 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:
- Preparar facturas.
- Crear etiquetas postales.
- Crear un directorio, como una lista alfabética de empleados
con su información de contacto.
- Permiten presentar un resumen de los datos, como las ventas
agrupadas por región.
- 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
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 muy bien solo el fondo se puede cambiar
ResponderEliminarsoy israel el q comento
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola buen dìa jòvenes es importante sus comentarios sobre el contenido y la presentación de la información. se les asignará por unidad 2 lectores/auditores para reaizar esta tarea. La
ResponderEliminarSe asiExcelente día.
Gracias ; )
chicos porfa hagan sus labores por eso cada quien tiene un rol. esto no es regaño es una forma de mejorar el trabajo
ResponderEliminarchicos las imagenes.
ResponderEliminar