AYUDA con ejercicios de SQL Server

Alejandro23s Seguir

Alfa
Verificación en dos pasos desactivada
Desde
11 Ene 2016
Mensajes
16
Hola betas,
Estoy realizando una serie de ejercicios que obtuve en Internet para practicar pero tengo problema con alguno de ellos porque no logro tener resultados favorables. Se les dejare por acá por si alguno puede ayudarme a resolverlos.

Dado el siguiente esquema de base de datos relacional:

Almacén (Cod-alm, Responsable)
Artículo (Cod-art, Descripcion, Precio)
Material (Cod-mat, Descripcion)
Proveedor (Cod_prov, Nombre, Domicilio, Ciudad)
Tiene (Cod-alm, Cod-art, Cantidad)
Compuesto-por (Cod-art, Cod_mat)
Provisto_por (Cod-mat, Cod_prov)

Realizar las siguientes consultas en SQL:
1.- Hallar los nombres de los proveedores de la ciudad de Sevilla.
2.- Hallar los materiales, código y descripción, provistos por proveedores de la ciudad de Madrid.
3.- Hallar códigos y descripciones de los artículos compuestos por al menos un material provisto por el proveedor TodoAlimentos.
4.- Hallar los códigos y nombres de proveedores que proveen al menos un material que se usa en algún artículo cuyo precio es mayor que 200.
5.- Hallar el o los códigos de los artículos de mayor precio.
6.- Hallar los números de almacenes que tienen todos los artículos que incluyen el material con código 123.
7.- Hallar los nombres de los proveedores de todos los materiales que componen el artículo A303.
8.- Hallar los proveedores (código) que proveen al menos un material para todo artículo.
9.- Hallar los códigos y descripciones de los artículos que tienen al menos un material que no provee ningún proveedor.
10.- Hallar para cada almacén el precio mínimo, máximo y promedio de los artículos que tiene.

Agradecería mucho sus aportes.
 

pandroso

Zeta
Verificación en dos pasos desactivada
Desde
13 Ene 2011
Mensajes
1.705
1. SELECT * FROM Proveedor WHERE Ciudad='Sevilla'; pero no entiendo para q quieres que te hagamos los ejercicios si el q esta aprendiendo eres tu :(
 

Vittey

VIP
Ómicron
Social Media
Verificado
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
13 Abr 2013
Mensajes
4.963
Hola.
Deberas hacer tu los ejercicios, por aqui en el foro no hacen las tares.
Ahora, si tienes alguna pregunta en concreto, puedes hacerlo, seguro te ayudaran.
 

Andres128

Iota
Programador
Verificación en dos pasos activada
Desde
17 Feb 2012
Mensajes
2.391
Yo sufrí bastante con este tema de las consultas, pero al final de mucha practica aprendí bastante de este apasionante tema de las bases de datos relacional.

Lo primero que te recomiendo es.

Buscar el siguiente programa en google: Navicat Premum 11

Luego crea una base de datos de lo que te piden, puede ser una en sqlite,msql a tu preferencia en este caso usare sqlite con ayuda del Sqlite Studio es decir, bajas el programa, lo instalas....blabla:

Crea una base de datos nueva y agrega la tabla y finalmente adiciona algunos datos:

ayduda1-4ee2344.jpg

ayduda2-4ee2346.jpg


Y listo ahora abre el Navicat Premum 11 y crea una nueva conexión sqlite, selecciona la base que creaste en el anterior paso con el sqlstudio.

Abre la conexión, luego click en main, luego dirígete a query, luego a query builder y arrastra la tabla que creaste en sqlstudio.

Ahora nos piden seleccionar el nombre del proveedor, donde la ciudad sea sevilla, entonces quedaría así:

ayduda3-4ee234b.jpg


Le das en run y ves el resultado.

ayduda4-4ee235a.jpg


Y así con cada preguntas, creas la base final con todo lo que te piden, luego la abres con el Navicat Premum 11 y creas las consultas, todo automático :D

Aprendelos a usar y ya me contaras, en el query builder esta también para elegir el max o min de los valores.... En fin con esto que te doy ya tienes resueltos esos ejercicios. (ojala yo lo viera sabido antes.... muy tarde :()

Saludos bro...
 

Pompinchu

VIP
Pi
Verificado
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
2 Jul 2013
Mensajes
5.219
Yo sufrí bastante con este tema de las consultas, pero al final de mucha practica aprendí bastante de este apasionante tema de las bases de datos relacional.

Lo primero que te recomiendo es.

Buscar el siguiente programa en google: Navicat Premum 11

Luego crea una base de datos de lo que te piden, puede ser una en sqlite,msql a tu preferencia en este caso usare sqlite con ayuda del Sqlite Studio es decir, bajas el programa, lo instalas....blabla:

Crea una base de datos nueva y agrega la tabla y finalmente adiciona algunos datos:

ayduda1-4ee2344.jpg

ayduda2-4ee2346.jpg


Y listo ahora abre el Navicat Premum 11 y crea una nueva conexión sqlite, selecciona la base que creaste en el anterior paso con el sqlstudio.

Abre la conexión, luego click en main, luego dirígete a query, luego a query builder y arrastra la tabla que creaste en sqlstudio.

Ahora nos piden seleccionar el nombre del proveedor, donde la ciudad sea sevilla, entonces quedaría así:

ayduda3-4ee234b.jpg


Le das en run y ves el resultado.

ayduda4-4ee235a.jpg


Y así con cada preguntas, creas la base final con todo lo que te piden, luego la abres con el Navicat Premum 11 y creas las consultas, todo automático :D

Aprendelos a usar y ya me contaras, en el query builder esta también para elegir el max o min de los valores.... En fin con esto que te doy ya tienes resueltos esos ejercicios. (ojala yo lo viera sabido antes.... muy tarde :()

Saludos bro...
¿El mismo SQLite no arroja la consulta?
 

Andres128

Iota
Programador
Verificación en dos pasos activada
Desde
17 Feb 2012
Mensajes
2.391
¿El mismo SQLite no arroja la consulta?

si desde el sqlStudio se pueden hacer las consultas manuales, pero la ventaja que tiene Navicat Premum 11 es su query builder para ahorrarte tiempo si no se conoce mucho de la sintaxis del lenguaje sql. En realidad yo lo uso para ahorrarme tiempo y para aprender.
 

kj2

Iota
Verificación en dos pasos activada
¡Ha verificado su Paypal!
Verificado por Binance
Desde
1 Abr 2011
Mensajes
2.487
Si los obtuviste para practicar... pues no se que haces pidiendo que te los resuelvan.

Tareas aquí no se hacen xD.

Este tipo de post antes lo veía muy a menudo en foros de programación/hacking hace años, que recuerditos :sorrow:.

Ahí [MENTION=21382]Andres128[/MENTION] the ha dado algo para ayudarte con las consultas, aunque, como siempre mejor si entiendes bien como funciona antes de meterte con IDE's que te hagan todo el trabajo.

Por cierto, SQL server tiene pequeñas diferencias respecto a Mysql, sqlite, etc. a pesar de que todos usan el mismo lenguaje.

kj
 

Andres128

Iota
Programador
Verificación en dos pasos activada
Desde
17 Feb 2012
Mensajes
2.391
Si los obtuviste para practicar... pues no se que haces pidiendo que te los resuelvan.

Tareas aquí no se hacen xD.

Este tipo de post antes lo veía muy a menudo en foros de programación/hacking hace años, que recuerditos :sorrow:.

Ahí [MENTION=21382]Andres128[/MENTION] the ha dado algo para ayudarte con las consultas, aunque, como siempre mejor si entiendes bien como funciona antes de meterte con IDE's que te hagan todo el trabajo.

Por cierto, SQL server tiene pequeñas diferencias respecto a Mysql, sqlite, etc. a pesar de que todos usan el mismo lenguaje.

kj

Es verdad lo que comentas bro, estas consultas que te piden están muy fáciles, sin embargo hace falta la ayuda de un programa como estos cuando te toca analizar bases de datos como esta y eso que le hace falta otro pedazo, es como tres veces mas grande, la verdad a mi casi me vuelve loco la consulta que nos pedían.

db-4ee2449.jpg
 

belial9826

Dseda
Redactor
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
5 Dic 2012
Mensajes
1.164
Yo de tu caso usaria una herramienta para crear las tablas de forma visual, y que me brinde el codigo para aprender de ello. Te recomiendo usar MySQL Workbench, con esta crear las tablas y las relaciones.

Por ejemplo:

Almacén (Cod-alm, Responsable)
Artículo (Cod-art, Descripcion, Precio)
Tiene (Cod-alm, Cod-art, Cantidad)

Digamos, almacén supongo que es igual que una bodega, por lo tanto una bodega puede tener 1 o muchos articulos, y 1 articulo puede estar en 1 o muchas bodegas, por lo tanto la relacion es m:n o m:m. Asi que en Workbench, te creas dos tablas, le asignas la relacion y generas el codigo sql para que veas como son las sentencias para crear tablas con relaciones, etc etc.

Para la parte de las consultas, te recomiendo usar HeidiSQL -> https://www.youtube.com/watch?v=-_Y6sc-5t2U

Saludos :D
 

Alejandro23s

Alfa
Verificación en dos pasos desactivada
Desde
11 Ene 2016
Mensajes
16
Hola nuevamente a todos y gracias por sus respuestas.
Quizas mi forma de redactar se ha prestado para confundir un poco el fin de la apertura del tema.

2.- Hallar los materiales, código y descripción, provistos por proveedores de la ciudad de Madrid.
SELECT Material.Cod-mat, Material.Descripcion
FROM Material INNER JOIN Provisto_por
ON Material.Cod-mat = Provisto_por.Cod-mat
INNER JOIN Proveedor
ON Provisto_por.Cod_prov = Proveedor.Cod_prov
WHERE Proveedor.Ciudad = "Madrid"

6.- Hallar los números de almacenes que tienen todos los artículos que incluyen el material con código 123.
SELECT Almacen.Cod-alm, Tiene.Cantidad
FROM Almacen INNER JOIN Tiene
ON Almacen.Cod-alm = Tiene.Cod-alm
INNER JOIN Articulo
ON Tiene.Cod-art = Articulo.Cod-art
INNER JOIN Compuesto_por
ON Articulo.Cod-art = Compuesto_por.Cod-art
INNER JOIN Material
ON Compuesto_por.Cod-mat = Material.Cod-mat
WHERE Material.Cod-mat = 123;

7.- Hallar los nombres de los proveedores de todos los materiales que componen el artículo A303.

SELECT Proveedor.Nombre FROM Proveedor
INNER JOIN Provisto_por
ON Proveedor.Cod-prov = Provisto_por.Cod-prov
INNER JOIN Material
ON Provisto_por.Cod-mat = Material.Cod-mat
INNER JOIN Compuesto_por
ON Material.Cod-mat = Compuesto_por.Cod-mat
INNER JOIN Articulo
ON Compuesto_por.Cod-art = Articulo.Cod-art
WHERE Articulo.Cod-art = "A303";

Estas son algunas de las que ya he logrado hacer pero tengo dudas si estan bien estructuradas o por lo menos puedes ser mejoradas, podrían ayudarme en verificar eso? Gracias.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí


Arriba