1. BASE DE DATOS
Esperanza Pescador Espitia
MODULO II
DISEÑA Y ADMINISTRA BASE DE DATOS AVANZADA
Cuevas Aguilar Arlette
2. Índice
1.- Modelo Entidad - Relación
¿Qué es?
Tipos de relación
Clasificación por modalidad
Pasos para la construcción del diagrama E-R
2.- Enunciado
3.- Diagrama
BETA
Entidad-Relación
Relaciones
4.- Diseño de tablas
5.- Tablas
6.- Querys
7.- Fuentes
de consulta
3. 1.- Modelo Entidad - Relación
El modelo Entidad Relación como lo muestran los autores (Storti Guillermo, Ríos
Starti y Campodónico Gabriel 2007) es un modelo de datos basado en una
percepción del mundo real que consiste en un conjunto de objetos básicos llamados
entidades y relaciones entre estos objetos, implementándose en forma gráfica a
través del Diagrama Entidad Relación.
Entidades
Se puede definir cono Entidad
a cualquier objeto, real o
abstracto, que existe en un
contexto determinado o puede
llegar a existir y del cual
deseamos guardar información.
Atributos
Los Atributos son características o propiedades
asociadas a la entidad que toman valor en una
instancia particular.
Clave principal
Se denomina Clave principal o primaria al atributo o
conjunto mínimo de atributos (uno o más campos) que
permiten identificar en forma única cada instancia de la
entidad, es decir, a cada registro de la tabla. Las claves
principales se utilizan cuando se necesita hacer
referencia a registros específicos de una tabla desde otra
tabla. En un principio se puede identificar más de un
atributo que cumpla las condiciones para ser clave, los
mismos se denominan Claves candidatas.
Si la clave primaria se determina mediante un solo
atributo de la entidad, entonces se dice que la misma es
una Clave simple. En caso de estar conformada por más
de un atributo, la misma se conoce como Clave
compuesta.
La Clave foránea (también llamada externa o
secundaria) es un atributo que es clave primaria en otra
entidad con la cual se relaciona.
4. Tipos de Relaciones
Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado
con un único registro de la otra tabla y viceversa. En este caso la clave foránea se
ubica en alguna de las 2 tablas.
La Relación Uno a Uno se da cuando un registro de una tabla sólo puede estar
relacionado con un único registro de la otra tabla y viceversa.
Relación Uno a Muchos: Cuando un registro de una tabla (tabla secundaria) sólo
puede estar relacionado con un único registro de la otra tabla (tabla principal) y un
registro de la tabla principal puede tener más de un registro relacionado en la tabla
secundaria. En este caso la clave foránea se ubica en la tabla secundaria.
La Relación Uno a Muchos se establece cuando un registro de una tabla (tabla
secundaria) sólo puede estar relacionado con un único registro de la otra tabla
(tabla principal) y un registro de la tabla principal puede tener más de un registro
relacionado en la tabla secundaria.
Relación Muchos a Muchos: Cuando un registro de una tabla puede estar
relacionado con más de un registro de la otra tabla y viceversa. En este caso las
dos tablas no pueden estar relacionadas directamente, se tiene que añadir una tabla
entre las dos (Tabla débil o de vinculación) que incluya los pares de valores
relacionados entre sí. El nombre de tabla débil deviene que con sus atributos
propios no se puede encontrar la clave, por estar asociada a otra entidad. La clave
de esta tabla se conforma por la unión de los campos claves de las tablas que
relaciona.
Clasificación por Modalidad.
Dadas las tablas A y B, que se encuentran relacionadas:
Si para todo registro de A debe existir siempre al menos un registro de B asociado,
se dice que la relación en sentido A->B es Obligatoria.
Si para todo registro de A, pueden existir o no, uno o varios registros de B asociados,
se dice que la relación en sentido A->B es Optativa. La modalidad de las relaciones
se debe analizar en ambos sentidos.
Pasos para la construcción del Diagrama Entidad Relación.
1. Identificar las entidades
2. Determinar las claves primarias
3. Describir los atributos de las entidades.
4. Establecer relaciones entre las entidades.
5. Dibujar el modelo de datos.
6. Realizar comprobaciones.
Regresar
5. 2.- Enunciado BETA
Ventas de equipo de cómputo matriz en Guanajuato, distribuye solo a la república.
Beta es el negocio, Genera ventas para las que necesitamos clientes y proveedores.
Cuando el pedido es por e-mail llevara una orden (hora y fecha). Un vendedor
atiende al cliente y para que se pueda sustituir necesita al proveedor.
Relaciones
Cliente
Cliente
Estado
Artículo
Cliente
Refacción
Refacción
Orden
Refacción
Vendedor
Articulo
Orden
Articulo
Vendedor
10. 6.- Querys
1. Obtener los nombres de los clientes.
SELECT NomCliente
From cliente
2. Obtener los nombres de los clientes y los estados.
select IdEdo,NomCliente
from cliente
3. Obtener los estado de los clientes
select IdEdo
from cliente
11. 4. Obtener los nombres de los clientes que son del estado de Sinaloa
Select estado,NomCliente
From cliente,estado
where cliente.IdEdo=Estado.IdEdo and estado='Sinaloa’
5. Obtener Id de cliente y cliente.
SELECT IdCliente,NomCliente
from cliente
6. Obtener los nombres de los clientes que son del estado de Morelia.
SELECT NomCliente,estado
from cliente,estado
where cliente.IdEdo=estado.IdEdo and estado='Morelia'
7. Obtener los Id de cliente que son de Querétaro.
SELECT IdCliente,estado
from cliente,estado
where cliente.IdEdo=estado.IdEdo and estado='Queretaro'
12. 8. Obtener los Id de Articulo, Cliente que ordenaron cantidades mayores a 4
SELECT IdArt,IdCliente
From orden
Where CantArt>'4'
9. Obtener los nombres de los artículos que fueron ordenados
por el cliente Cuenca Bravo J osé.
SELECT NomArt
from orden, cliente, articulo
where articulo.IdArt=orden.IdArt and
orden.IdCliente=cliente.IdCliente and
NomCliente='Cuenca Bravo Jose'
10. Obtener los nombres de los Artículos que fueron ordenados en
el estado de Veracruz.
SELECT NomArt
FROM articulo,estado,orden
where articulo.IdArt=orden.IdArt and estado='Veracruz'
13. 11. Obtener los datos de la taba cliente.
SELECT *
FROM cliente
12. Obtener los nombres de los clientes que empiezan con ‘v’.
SELECT NomCliente
FROM cliente
WHERE NomCliente like 'V%'
13. Obtener los nombres de los productos que fueron ordenado entre cantidades
de ocho a trece.
SELECT NomArt
FROM orden,articulo
WHERE articulo.IdArt= orden.IdArt AND CantArt >= 8 AND CantArt <=13
14. 14. Obtener la cantidad máxima de producto ordenado.
SELECT MAX(CantArt)
FROM orden
15. Obtener las cantidades de los productos ordenadas de mayor a menor.
SELECT CantArt
FROM orden
ORDER BY CantArt DESC
16. Obtener el Id de artículos que fueron ordenados más de 7 veces
SELECT IdArt
FROM orden
WHERE CantArt>7
17. Acomodar el nombre de los vendedores por orden alfabetico.
SELECT NomVend
FROM vendedor
ORDER BY NomVend ASC
15. 18. Obtener el id de los clientes del estado de Querétaro
SELECT IdCliente
from cliente
where IdEdo like 'Qro.'
19. Obtener todos los datos de la tabla cliente
SELECT *
from cliente
20. Obtener la suma de la cantidad de refacciones que fueron ordenadas.
SELECT SUM(CantRef)
FROM orden
16. 21. Obtener el nombre de los vendedores que empiecen con la letra R, el nombre
de los clientes que empiecen con V, el nombre de los articulos que empiecen con
la letra C, la cantidad de los articulos ordenados de menor a mayor.
SELECT DISTINCT NomVend,NomCliente,NomArt,CantArt
FROM vendedor,cliente,orden,articulo
WHERE NomVend LIKE 'R%' AND orden.IdARt=articulo;IdArt
AND NomCliente LIKE "v%" AND NomArt LIKE "c%"
ORDER BY CantArt ASC
22. Obtener el nombre y la cantidad de refacciones que estén entre cantidades de
compras de 1 a 7
SELECT CantRef,NomRef
FROM orden,refaccion
WHERE refaccion.IdRef=orden.IdRef AND
CantRef BETWEEN 1 and 7;
23.-Obtener los números telefónicos de los clientes que su lada sea (411)
SELECT DISTINCT Tel
FROM cliente
17. WHERE cliente.Tel REGEXP BINARY 411
24.- Obtener el precio máximo de articulo
SELECT MAX(precio)
FROM articulo
25.- Obtener la cantidad de artículos y su nombre que estén entre 6 y 9 y ordenar
la cantidad de artículos acendentemente
SELECT CantArt,NomArt
FROM orden,articulo
WHERE articulo.IdArt=orden.IdArt AND CantArt BETWEEN 6 AND 9
ORDER BY CantArt ASC;
26.-Obtener los nombres de los estados donde hay clientes
SELECT DISTINCT estado
FROM cliente , estado
where cliente.IdEdo=Estado.IdEdo
27.-Obtener los nombre de los productos que fueron ordenados en el estado de
michoacan
SELECT DISTINCT NomArt, NomRef
FROM orden, articulo, estado, refaccion
WHERE IdEdo='Mor.'
Regresar
18. 7.- Fuentes de consulta
Campodónico G. , Sorti G. y Ríos G. (2007) Modelo EntidadRelación. (PP,3-14)