Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DATOS
APRENDIZAJES ESPERADOS
DATOS
INFORMACION
SISTEMA DE INFORMACION
DATAWAREHOUSE
FUNCIONES DBMS
FUNCIONES DBMS
FUNCIONES DBMS
FUNCIONES DBMS
FUNCIONES DBMS
Componentes de un DBMS.
El conjunto de todas las personas que tienen una cuenta en el banco, por
ejemplo, puede definirse como el conjunto de entidades clientes.
MODELO ENTIDAD RELACION
TUPLA
Una tupla se define como una función finita que asocia unívocamente los nombres de los
atributos de una relación con los valores de una instanciación de la misma. En términos
simplistas, es una fila de una tabla relacional.
MODELO ENTIDAD RELACION
Relaciones
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 (Ej: 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 (Ej: la entidad EMPERSA, 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 (Ej: la
entidad ALUMNO, la entidad EMPRESA y entre ellos la relación MATRÍCULA).
MODELO ENTIDAD RELACION
Dominio
Se define dominio como un conjunto de valores que puede tomar un determinado atributo
dentro de una entidad. Por ejemplo:
MODELO ENTIDAD RELACION
TIPOS DE LLAVES
TIPOS DE LLAVES
– Súper Llave : Atributo o conjunto de atributos que identifica de manera única una
relación
– Llaves candidatas: llaves que posee una relación, número mínimo de atributos
– Llave primaria: llave escogida de entre las llaves candidatas para trabajar con ella en
la relación. Se selecciona buscando que posea el menor número de atributos, y que no
pueda tener valores nulos
– Llaves secundarias: llaves candidatas que no fueron seleccionadas como llave
primaria
MODELO ENTIDAD RELACION
Reglas de Codd para considerar un DBMS relacional.
- Los cambios al esquema no deben afectar a las aplicaciones que no utilicen la porción
de la BD afectada por dichos cambios no utilicen la porción de la BD afectada por
dichos cambios.
- Debe soportar la definición de reglas de integridad. Las reglas deberán estar definidas
en el catálogo. El SMBD deberá comprobar que estas reglas se cumplan.
- Si la BD es distribuida, deberá aparecer a los usuarios como si estuviera centralizada.
- NO debe haber forma de violar las reglas de integridad especificadas en el catálogo.
MODELO ENTIDAD RELACION
Algebra Relacional
Los operadores:
- Unión, diferencia, intersección. Con el significado usual en conjuntos, aplicado a
relaciones.
- Selección. Selecciona ciertas tuplas de una relación.
- Proyección. Selecciona ciertas columnas de una relación.
- Productos y joins. Composición de relaciones.
- Renombrado de relaciones y atributos.
MODELO ENTIDAD RELACION
Calculo Relacional de tuplas
Caracteristicas:
- Lenguaje de Consulta para bases de datos relacionales.
- Se utiliza para manipulación de datos a partir de las relaciones
- Basado en el Cálculo de Predicados de Primer Orden (refleja las relaciones
que existen entre los elementos de un dominio)
- Variantes: de tuplas y de dominio.
LENGUAJES COMERCIALES
QBE
Fue el primer lenguaje de consulta gráfico, que utiliza tablas visuales donde el
usuario puede insertar comandos, elementos de ejemplos y condiciones.
Durante esta fase, se plasmaran nuestras entidades y las relaciones que existirán
entre ellas. Por lo general se hace a mano, es mucho más sencillo. Cada entidad
se identificará con un rectángulo y dentro de este se colocará su nombre. A
cada entidad se colocarán sus respectivos atributos y se resaltara el atributo
principal, aquél atributo que identificará cada registro de manera única. Y por
último se crearan las relaciones que existen entre dichas entidades.
DISEÑO DE BASE DE DATOS RELACIONALES
Diseño Lógico
Aquí podemos tabular el diseño conceptual. Este proceso es más utilizado que el
anterior, ya que cuando se lleva bastante tiempo trabajando en bases de datos,
el proceso tabular es más rápido de realizar y vemos resultados más
rápidamente. En esta fase, se debe pensar en cómo normalizar nuestras tablas
para evitar duplicidad de información y para ahorrar espacio de
almacenamiento. Esto último (ahorrar espacio) ya no es tan importante como
hace algunos años, incluso hoy en día se habla de inteligencia de negocios,
minería de datos, entre otros términos que exigen eliminar la normalización. Para
este proceso, las herramientas de modelado ayudan bastante a ver las
relaciones de las tablas.
DISEÑO DE BASE DE DATOS RELACIONALES
Diseño Lógico
DISEÑO DE BASE DE DATOS RELACIONALES
Diseño físico
En esta última fase ya se debe revisar con detalle los tipos de datos que se
utilizaran, sus dominios (qué valores va a permitir), cuales índices se deben crear
para optimizar las consultas, entre otros. Aquí ya se escribe nuestro SQL para
plasmar todo nuestro diseño en el motor de bases de datos elegido.
DISEÑO DE BASE DE DATOS RELACIONALES
Normalización de la base de datos
Primera forma normal. En esta forma normal se debe disponer de una tabla
independiente para cada conjunto de datos relacionados, identificando cada
conjunto de datos relacionados con una clave principal. Además, los datos de
significado similar no deben estar en una misma tabla. Por ejemplo, los stocks de
un artículo, si tenemos multialmacén, no deben ser varios campos en una misma
tabla del tipo “Stock almacen1”, “Stock almacen2”, etc… sino que debería
estructurarse en una o más tablas donde se registre, por cada almacén y
artículo, el stock.
DISEÑO DE BASE DE DATOS RELACIONALES
Normalización de la base de datos
Tercera forma normal. Para cumplir esta forma normal debemos diseñar los datos
de manera que en un mismo registro de una tabla, todos sus campos dependen
de la clave primaria. Por ejemplo, en un registro de una venta, no debería
almacenarse el stock del artículo ya que no tiene una dependencia directa con
la venta. También se verían afectados campos calculados, como el stock de un
producto concreto. Puede ser interesante aplicar la tercera forma normal sólo a
los datos que cambian con frecuencia ya que, de lo contrario, se podría ver
afectado el rendimiento de la base de datos al tener que desglosar, en
numerosas tablas de menor tamaño, toda la información.
DISEÑO DE BASE DE DATOS RELACIONALES
Normalización de la base de datos
Una tabla está en 4NF si y solo si esta en Tercera forma normal y no posee
dependencias multivaluadas no triviales. La definición de la 4NF confía en la
noción de una dependencia multivaluada. Una tabla con una dependencia
multivaluada es una donde la existencia de dos o más relaciones
independientes muchos a muchos causa redundancia; y es esta redundancia la
que es suprimida por la cuarta forma normal.
DISEÑO DE BASE DE DATOS RELACIONALES
Diccionario de Datos:
Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida
del desarrollo de sistemas de información, completamente o en alguna de sus fases.
La sigla genérica para una serie de programas y una filosofía de desarrollo de software que
ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.
• Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
• Los DML que permiten generar consultas para ordenar, filtrar y extraer datos
de la base de datos.
Comandos DLL
ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición
de los campos
Comandos DML
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio
determinado
INSERT Utilizado para cargar lotes de datos en la base de datos en una única
operación.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos
Cláusulas
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros
WHERE Utilizada para especificar las condiciones que deben reunir los registros que
se van a seleccionar
HAVING Utilizada para expresar la condición que debe satisfacer cada grupo
ORDERBY Utilizada para ordenar los registros seleccionados de acuerdo con un orden
específico
Operadores Lógicos
AND Es el “y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si
ambas son ciertas.
<> Distinto de
SUM Utilizada para devolver la suma de todos los valores de un campo determinado
Las consultas de selección se utilizan para indicar al motor de datos que devuelva
información de las bases de datos, esta información es devuelta en forma de conjunto de
registros que se pueden almacenar en un objeto recordset.
En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los
mismos, por ejemplo:
Esta consulta devuelve un recordset con el campo nombre y teléfono de la tabla clientes.
Ordenar los registros
Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las
tablas mediante la claúsula ORDER BY Lista de Campos. En donde Lista de campos
representa los campos a ordenar.
Ejemplo:
Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de la tabla Clientes
ordenados por el campo Nombre.
Ordenar los registros
Se pueden ordenar los registros por mas de un campo, como por ejemplo:
Ejemplo:
Ordenar los registros
Incluso se puede especificar el orden de los registros: ascendente mediante la clausula (ASC
-se toma este valor por defecto) ó descendente (DESC)
Consultas con Predicado
El Motor de base de datos selecciona todos los registros que cumplen las condiciones
de la instrucción SQL. No se conveniente abusar de este predicado ya que obligamos al
motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que
contiene, es mucho más rápido indicar el listado de campos deseados.
TOP
Devuelve un cierto número de registros que entran entre al principio o al final de un rango
especificado por una cláusula ORDER BY.
Supongamos que queremos recuperar los nombres de los 25 primeros estudiantes del curso
1994:
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para
que los valores de cada campo listado en la instrucción SELECT se incluyan en la consulta
deben ser únicos.
Por ejemplo, varios empleados listados en la tabla Empleados pueden tener el mismo
apellido. Si dos registros contienen López en el campo Apellido, la siguiente instrucción SQL
devuelve un único registro:
DISTINCT
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos
indicados en la cláusula SELECT posean un contenido diferente. El resultado de una consulta
que utiliza DISTINCT no es actualizable y no refleja los cambios subsiguientes realizados por
otros usuarios.
DISTINCTROW
Devuelve los registros diferentes de una tabla; a diferencia del predicado anterior que sólo se
fijaba en el contenido de los campos seleccionados, éste lo hace en el contenido
del registro completo independientemente de los campo indicados en la cláusula SELECT.
Antonio López y Marta López el ejemplo del predicado DISTINCT devuelve un único registro
con el valor López en el campo Apellido ya que busca no duplicados en dicho campo.
Este último ejemplo devuelve dos registros con el valor López en el apellido ya que se buscan
no duplicados en el registro completo.
Alias
En determinadas circunstancias es necesario asignar un nombre a alguna columna
determinada de un conjunto devuelto, otras veces por simple capricho o por otras
circunstancias.
Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el
nombre que deseamos a la columna deseada.
Tomado como referencia el ejemplo anterior podemos hacer que la columna devuelta por
la consulta, en lugar de llamarse apellido (igual que el campo devuelto) se llame Empleado.