SQL - Base de datos E-R

 
Vista:
sin imagen de perfil

Base de datos E-R

Publicado por Pablo (5 intervenciones) el 27/04/2023 23:13:28
Buenas tardes a todos, soy nuevo en SQL y me surgen varias dudas con el ejercicio de la figura.

E-R_ejer

No se como escribir en codigo SQL los límites de cardinalidad que existen en las relaciones.

Por ejemplo entre la entidad Medicamento y la entidad Cliente está la relación Compra con límite de cardinalidad 0..* en ambos lados, es decir un cliente puede comprar cero o mas medicamentos y un medicamento puede ser comprado por cero o mas clientes pero no se como poner eso en SQL, ¿Alguien sabe como hacerlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Base de datos E-R

Publicado por Isaias (1921 intervenciones) el 27/04/2023 23:29:00
Eso se hace con un JOIN, unir las tablas (entidades), mediante su llave primaria, ahora bien, analizando las entidades MEDICAMENTE - CLIENTE, es una relación de MUCHOS A MUCHOS (MANY TO MANY) por lo que debería existir una entidad entre estas dos entidades, algo como esto:


Modelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Base de datos E-R

Publicado por Pablo (5 intervenciones) el 28/04/2023 00:10:22
Gracias por tú respuestas.

¿Y eso en código SQL como se haría? Yo tengo esto:


CREATE TABLE Medicamento (
ID INT PRIMARY KEY,
Nombre VARCHAR(50) ,
Precio FLOAT ,
Descripcion VARCHAR(255)
);


CREATE TABLE Cliente (
ID INT PRIMARY KEY,
Nombre VARCHAR(50)
);


CREATE TABLE Compra (
ID_Cliente INT,
ID_Medicamento INT,
Fecha DATE,
Precio FLOAT,
PRIMARY KEY (ID_Cliente, ID_Medicamento),
FOREIGN KEY (ID_Cliente) REFERENCES Cliente(ID),
FOREIGN KEY (ID_Medicamento) REFERENCES Medicamento(ID)
);

¿Qué debo modificar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Base de datos E-R

Publicado por Isaias (1921 intervenciones) el 29/04/2023 01:18:11
Esta bien, ¿por que preguntas que debes modificar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Base de datos E-R

Publicado por Pablo (5 intervenciones) el 29/04/2023 18:26:59
Si te fijas en las distintas entidades y relaciones hay diferentes limites de cardinalidad; es decir hay de uno a muchos, de uno a uno, de cero a muchos. ¿Como se escribirían en lenguaje SQL para poder definir la base de datos de la imagen de mi primera publicación?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Base de datos E-R

Publicado por Isaias (1921 intervenciones) el 02/05/2023 16:26:19
Los constrains cuidarían la parte de integridad referencial, no se a que te refieras exactamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar