Bases de Datos
Una base de datos es una entidad en la cual se pueden almacenar un conjunto de datos de manera estructurada, con la menor redundancia posible. Diferentes programas y diferentes usuarios deben poder utilizar estos datos, y almacenados en algún soporte magnético
VENTAJAS DE UTILIZAR BASES DE DATOS
Mayor coherencia de los resultados
Seguridad de datos
Flexibilidad en cuanto a modificaciones y ampliaciones en caso de crecimiento en el sistema de información
Independencia entre los datos y los tratamientos
Accesibilidad
Comprensibilidad, que el diseño sea controlable y revisable
Mayor valor informativo
facilidad para compartir los datos
Almacenamiento optimo
Rendimiento, máximo numero de transacciones por unidad de tiempo y mínimo de proceso
MODELO ENTIDAD RELACIONAL
Es una herramienta gráfica que nos permite crear un modelo del mundo real
CARACTERÍSTICAS DEL MER
Refleja solo la existencia de los datos y no lo que se hace con ellos
Se incluyen todos los datos del sitema informativos y por lo tanto no esta orientado a ninguna aplicación en particular
Es independiente al modelo fisico de datos y al sisstema operativo
No tiene en cuenta restricciones de espacio, almacenamiento, ni tiempo de ejecución
Esta abierto a la evolución del sistema
MODELO DE DATOS RELACIONAL
Es un grupo de herramientas conceptuales para describir los datos, sus relaciones, su semántica y sus limitaciones, de tal forma que facilite la interpretación de nuestro mundo real y su representación en forma de datos en nuestro sistema informativo.
Consta de dos partes:
PARTE ESTATICA. Es la estructura del Modelo que va a estar compuesto por los objetos (relación, tupla, entidad, atributo) y las restricciones (restricciones inherentes o compuestas por el usuario), esto es el lenguaje de Definición de datos (DDL)
PARTE DINÁMICA. Son operaciones del modelo que van a ser las ocurrencias que forman parte de la base de datos, esto es el Lenguaje de manipulación de Datos (DML)
RELACION. Dada una serie de conjuntos R{D1,D2,...Dn}, R es una relación de esos conjuntos, si es un conjunto ordenado de n ocurrencias d1, d2, .. dn, tal que d1ЄD1, d2ЄD2, dnЄDn, siendo D1, D2, Dn dominios de R
CAMPO. Es una característica o un atributo del Modelo Entidad Relación (Campo = Atributo)
DOMINIO. Conjunto de valores a partir el cual los campos van a tomar valores, existen dos clases de dominios:
Dominios Continuos: El dominio de los números enteros, valores que tienen continuidad.
Dominios Discretos: Conjunto de valores finitos. Ejemplo: verdadero-falso, colores, etc.
TUPLA. Son ocurrencias de la relación (Tupla = Fila)
GRADO. Cantidad de campos que forman parte de la relación.
CARDINALIDAD DE LA RELACION. Cantidad de tuplas que forman parte de la relación.
CLAVES. Es el(los) campo(s) que van a permitir identificar de manera única y mínima a una tupla dentro de la relación.
CLAVE AGENA. Es un campo que es clave de otra relación, utiliza para establecer una interrelación.
INTERRELACION. Un vínculo entre dos tablas, el cual se establece entre la clave primaria de una relación y la clave agena (1-1, 1-n).
VISTA. Es una tabla virtual, que no existe en la realidad, solamente se almacena su definición, se obtienen a partir de las tablas bases, mediante una asociación de operación y tienen las siguientes características:
Ø Sus columnas se pueden obtener a partir de múltiples tablas bases
Ø Pueden ser definidas a partir de otras vistas
Ø Sus datos, se obtienen como resultado de operaciones de recuperación
Ø Se puede almacenar su definición para su uso posterior.
Rectricciones del Modelo:
Ø No puede aparecer dos filas iguales en una misma relación
Ø Que el(los) atributo(s) que forman parte de la clave no pueden tomar valores nulos
Características que debe cumplir:
Ø Cada columna debe estar identificado por un nombre específico que debe ser único
Ø El valor de una columna para una fila debe ser único
Propiedades:
Ø Las filas pueden estar en diferente orden
Ø Una fila hace referencia mediante todos los valores que la forma
Ø Las columnas pueden estar en cualquier orden
Ø Se hace referencia a una columna mediante el nombre que la identifica
REDUCCIÓN DEL MER AL MDR
El objetivo del diseño lógico es conseguir a partir del modelo conceptual un modelo lógico, en nuestro caso formando por un conjunto de relaciones, que sea fácilmente implementable, fácil de usar, independiente de las estructuras lógicas y físicas de los datos y que limite la posibilidad de tener datos incoherentes. Para ello debemos seguir las siguientes reglas:
1. Grado 1-1 entre dos entidades: se obtendrá una relación que tendrá como atributos la clave principal de una de las entidades y el resto de sus atributos de las dos entidades. Ejm: VENDEDORES(CodVendedor, NombreVendedor, Telefono, NombreZona) ó ZONAS(CodZona, NombreZona, NombreVendedor, Telefono)
2. Se puede crear dos tablas una para cada identidad y crear una clave agena de la otra entidad. Ejm:
VENDEDORES(CodVendedor, NombreVendedor, Telefono)
ZONAS(CodZona, NombreZona)
3. Crear 3 tablas, dos relaciones para cada identidad y una tercera con las claves principales de las dos entidades. Ejm.
VENDEDORES(CodVendedor, NombreVendedor, Telefono)
VENDEDORESXZONAS(CodVendedor, CodZona)
ZONAS(CodZona, NombreZona)
4. Grado 1-m entre dos entidades regulares: se obtendrá dos relaciones con los mismos atributos de la primera entidad y otra con los mismos atributos de la segunda entidad, añadiéndole la clave principal de la primera entidad y como clave ajena para la otra entidad.
5. Crear 3 tablas: dos para cada entidad y una tercera para las claves principales de las dos entidades y estas dos son claves principales.
6. Grado M-N entre dos entidades, se obtendrán tres entidades, los mismos atributos en la primera entidad, los mismos atributos en la segunda entidad y una tercera con las claves principales de las dos entidades, donde serían claves principales en la tercera tabla.
Consiste en un conjunto de operaciones con las relaciones. Esto es Procedural (obtener resultados)
El Algebra Relacional es una notación algebraica, en la cual las consultas se expresan aplicando operadores especializados a las relaciones.
El Cálculo Relacional es una notación lógica, donde las consultas se expresan formulando algunas restricciones lógicas que las tuplas de la respuesta deban satisfacer.
Sean R, S, T, Q relaciones
SELECCIÓN.
Es una operación básica del Álgebra relacional con un solo operando, forma una relación como operando y selecciona las tuplas que cumplan la condición y el resultado es otra relación con el mismo grado y con una cardinalidad menor o igual a la relación original.
Tabla’ = S( Tabla ( Condición ))
S(R(C<2)) =
PROYECCION.
Es una operación Unaria del Álgebra Relacional, se obtiene una nueva relación con la misma cardinalidad o menor que la inicial y todas las tuplas, pero se descartan las tuplas repetidas y solo aparece una, cuando exista tuplas repetidas.
Tabla’ = P ( Tabla ( A1, A2, .. An ) )
P ( R ( A, C ) ) =
Utiliza dos relaciones como operando, se tiene como parámetro dos tablas y se obtiene una tabla, con las columnas de las dos tablas. Donde las tablas deben tener el mismo número de columnas, además que estas columnas sean del mismo tipo, sin repetir las filas que sean duplicas. (Tienen el mismo grado e igual dominio)
TablaR = Tabla1 U Tabla2
R U T =
Contiene las tuplas de la primera tabla que no se encuentran en la segunda tabla. Esto da como resultado una tercera tabla, donde tendrá el mismo grado y de igual dominio.
TablaR = Tabla1 – Tabla2
R – T =
Toma la primera relación, fila por fila y la multiplica por las filas de la segunda tabla. El grado de la tabla resultante es la suma de las columnas de las dos tablas, y la cardinalidad es la multiplicación de la cardinalidad de la primera tabla por la cardinalidad de la segunda tabla.
TablaR = Tabla1 X Tabla2
R X S =
INTERSECCIÓN.
Es una operación binaria, utiliza dos relaciones como operandos que genera una tercera. Las dos tablas deben tener el mismo grado, y los atributos deben pertenecer al mismo dominio.
TablaR = Tabla ∩ Tabla2
R ∩ T = R – ( R – T)
R – T =
R – ( R – T) =
COCIENTE.
Es una operación que simula la división entre dos relaciones, para esto las tablas deben tener:
Su grado de la primera tabla debe ser mayor que la seguna
Los grados de la primera deben estar en la segunda
El grado de la segunda debe contener al menos una tupla
La tercecra tabla va a estar formado por las columnas de la primera tabla que no estan en la seguna tabla
TablaR = Tabla1 / Tabla2
Q / S = W – S
W = P ( Q (atributos no comunes a S ) )
Z = P ( W x S ) – Q – (atributos no comunes a S ) )
W = P ( Q ( E ) ) =
WXS = S x W =
Q’ = (S x W ) – Q =
Z = (Q’ ( E ) ) =
W – Z =
Es la operación mas utilizada en los SGBDR, es una operación binaria, esto es mediante dos relaciones, se basa en el plano cartesiano.
Es decir realiza el plano cartesiano entre dos relaciones y el resultado se le aplica una condición, las tuplas que cumplan esa relación estarán formando la tabla. Cuando la condición es igual se llama EQUIJOIN o JOIN NATURAL.
TablaR = Tabla1 ∏ Tabla2 (condición)
R x S (R.B = S.B ) =