Ejercicio sql server

Resuelto/Cerrado
hola
¿podría obtener ejercicios sobre sql server gracias ...

23 respuestas

  1. SELECT titre_représentation FROM REPRESENTATION ;

    SELECT titre_représentation FROM REPRESENTATION
    WHERE lieu="Opéra Bastille" ;

    SELECT nom, titre_représentation
    FROM MUSICIEN, REPRESENTATION
    WHERE MUSICIEN.n°représentation = REPRESENTATION.n°représentation ;

    SELECT titre_représentation, lieu, tarif
    FROM REPRESENTATION, PROGRAMMER
    WHERE PROGRAMMER.n°représentation = REPRESENTATION.n°représentation
    AND date='14/06/96' ;
    52
    1. Tengo necesidad de ejercicios de SQL con sus correcciones, es obligatorio, gracias de antemano.
      0
    2. Aquí está la corrección de su ejercicio y buena suerte
      0
  2. hola
    si alguna vez encontraste direcciones interesantes, ¡máidamelas llegar!
    gracias de antemano
    2
    1. Gracias, essadouq, por tus ejercicios; te viene perfecto porque estoy repasando SQL para un examen y no soy muy bueno en SQL... ^^

      Tendré una pregunta sobre la corrección del punto 4.

      4- ¿Cuáles son las medias por materia?
      SELECT LibelléMat, AVG(MoyEtuMat)
      FROM MOYETUMAT
      GROUP BY LibelléMat;

      ¿ pourquoi après FROM, essadouq a écrit MOYETUMAT sachant que esta tabla no existe ?!

      Merci bien, répondre sería muy amable. :D
      0
      1. Puedo responder a la pregunta de Box:
        ¿Por qué después de FROM, essadouq puso MOYETUMAT sabiendo que esa tabla no existe? ¡Porque se basó en la pregunta 3 y además el nombre MOYETUMAT no es el nombre de una tabla; es un nombre de vistas 3 y también el campo MoyEtuMat es un campo en la vista3.
        quiero asegurarme de haber entendido bien mi respuesta y buena suerte...
        0
    2. Gracias, Essadouq. Pasé mi examen de SQL y lo aprobé :) pero voy a trabajar esta serie.
      dime si podrás ayudarme si no supiera responder :d:d:d
      6
      1. Hola, estoy buscando ejercicios de triggers.
        0
        1. Bonjour, voici comment télécharger SQL Server étape par étape :

          1) Choisir lédition
          - SQL Server Express (gratuite, limitée)
          - SQL Server Developer (fonctionnalités complètes, non destinée à la production)
          - SQL Server Standard/Enterprise (payantes)

          2) Accéder au site officiel
          - Rendez-vous sur le site de Microsoft: https://www.microsoft.com/fr-fr/sql-server
          - Cliquez sur l’onglet Éditions ou Téléchargement.

          3) Télécharger
          - Pour Express: sélectionnez Express et cliquez sur Téléchargement.
          - Pour Developer: sélectionnez Developer et cliquez sur Téléchargement.
          - Pour Standard/Enterprise: contactez votre représentant Microsoft ou passez par le portail d’achat si vous avez une licence.

          4) Installation (vue d’ensemble)
          - Lancez le fichier téléchargé (généralement un installateur nommé something like SQLServer×××.exe).
          - Choisissez « Nouvelle installation SQL Server… ».
          - Acceptez les clauses et sélectionnez les editions souhaitées si demandé.
          - Configurez les options de base:
          - Instance: par défaut (MSSQLSERVER) ou nommée.
          - Comptes de service: éventuellement les comptes locaux (ou utilisent les valeurs par défaut).
          - Authentification: Mixed Mode (Windows + SQL Server) recommandé, créez un mot de passe pour l’administrateur (sa) et notez-le.
          - Ajouter les règles de pare-feu si nécessaire.
          - Installer les composants souhaités (Serveur SQL, SQL Server Agent, SSMS, etc.).
          - Terminer l’installation et redémarrer si demandé.

          5) Installer SQL Server Management Studio (SSMS)
          - SSMS est nécessaire pour gérer SQL Server. Téléchargez-le séparément sur le lien dédié de Microsoft.
          - Installez SSMS après téléchargement et ouvrez-le.

          6) Se connecter
          - Ouvrez SSMS.
          - Dans « Nom du serveur », entrez:
          - . (pour l’instance locale par défaut) ou localhost
          - NOM_PC\INSTANCE si vous avez une instance nommée
          - Mode d’authentification: Utilisateur Windows ou authentification SQL (si vous avez activé le Mixed Mode).
          - Connectez-vous.

          7) Vérifications
          - Vérifiez que le service SQL Server est en cours d’exécution dans les services Windows.
          - Dans SSMS, créez une base de données factice pour tester.

          Conseils utiles
          - Si vous débutez, commencez par SQL Server Express + SSMS.
          - Assurez-vous d’avoir suffisamment d’espace disque et des droits d’administrateur sur votre machine.
          - Activez les sauvegardes régulières si vous stockez des données importantes.

          Souhaitez-vous des instructions plus détaillées adaptées à Windows ou à macOS/Linux, ou bien des liens directs vers les pages de téléchargement?
          0
          1. Hola, estoy buscando ejercicios sobre procedimientos almacenados, funciones, cursores y disparadores (triggers) junto con sus soluciones.
            -1
            1. Gracias, señor Boko. Si tienes otros ejercicios, envíalos a esta dirección:
              talal1029@hotmail.com
              -1
              1. Quiero ejercicios sobre SQL Server, por favor.
                4
                1. Hola a todos

                  Aquí tenéis algunos ejercicios +corrigidos en SQL Server y yo también estoy empezando el curso de SQL, no lo domino muy bien pero con ejercicios, ¡inshallah lo conseguiremos!

                  - Mostrar la lista de empleados (nombre y apellido) contratados entre 1993 y 1995
                  select nom, prenom
                  from employes
                  where year(date_embauche) between 1993 and 1995
                  order by nom

                  - Mostrar el número total de productos diferentes que pertenecen a la categoría 2, 3, 4, 5 o 8. (el código_catégorie está en formato texto).
                  select count(*) as "total categorías 2,3,4,5,8"
                  from produits
                  where code_categorie in ('2','3','4','5','8')

                  - Mostrar la lista de empleados (nombre, apellido, función) cuyo puesto es "responsable" de algo (por ejemplo, "responsable de ventas", "responsable de personal", ...)
                  select nom, prenom, fonction
                  from employes
                  where fonction like 'responsable%'
                  order by fonction

                  - Mostrar el importe total pedido (sin contar el descuento) para todos los pedidos cuyo número sea mayor que 150 (también mostraremos el número de pedido)
                  select n_commande, sum(prix_unitaire*quantite) as total
                  from details_commandes
                  where n_commande > 150
                  group by n_commande
                  order by n_commande

                  - Para cada cliente (code_client) mostrar el mayor plazo observado entre la realización de la orden y el envío de los productos, esto para los clientes entregados en Francia. Solo mostrar aquellos clientes con un plazo > 20 días.
                  select code_client, max(date_envoi-date_commande) as delai
                  from commandes
                  where pays_livraison = 'france'
                  group by code_client
                  having delai > 20
                  order by delai, code_client

                  - Listar las órdenes (número de pedido, fecha de la orden) realizadas entre 1992 y 1994.
                  select n_commande, date_commande
                  from commandes
                  where year(date_commande) between 1992 and 1994
                  order by date_commande

                  - Listar los productos (referencia, nombre, precio unitario) cuyo nombre empieza por "C"
                  select ref_produit, nom_du_produit, prix_unitaire
                  from produits
                  where nom_du_produit like 'C%'
                  order by ref_produit

                  - Número total de proveedores que viven en Francia, USA o Alemania.
                  select count(*)
                  from fournisseurs
                  where pays in ('france', 'usa', 'allemagne')

                  - Monto total pedido para todas las órdenes cuyo número sea menor o igual a 10270 (NB: también mostraremos el número de pedido).
                  select n_commande, sum(prix_unitaire * quantite) as total
                  from details_commandes
                  where n_commande <= 10270
                  group by n_commande

                  - Para cada categoría de producto (code_categorie) el número total de unidades pedidas (se usará el campo unites_commandees de la tabla produits). Limitamos a códigos de categorías menores que 5 y al total de unidades pedidas mayor a 100.
                  select code_categorie, sum(unites_commandees) as total
                  from produits
                  where code_categorie < 5
                  group by code_categorie
                  having total > 100

                  - Lista de commandes (número de pedido, fecha de la orden, fecha de envío) para las que el envío debe ocurrir a más tardar 2 semanas después de la orden y cuyo departamento de entrega es 75.
                  select n_commande, date_commande, date_envoi
                  from commandes
                  where left(code_postal_livraison,2) = '75'
                  and date_envoi - date_commande < 14

                  - Precio del producto más barato para todas las categorías 2, 4 y 5.
                  select min(prix_unitaire)
                  from produits
                  where code_categorie in (2,4,5)

                  - Lista de productos (referencia, nombre y precio unitario) cuyo precio esté entre 50 y 80, ordenados por precio y por nombre de producto.
                  select ref_produit, nom_du_produit, prix_unitaire
                  from produits
                  where prix_unitaire between 50 and 80
                  order by prix_unitaire, nom_du_produit

                  - Promedio de edad de los empleados según su función.
                  select fonction, avg(year(current date) - year(date_naissance))
                  from employes
                  group by fonction

                  - Encontrar los países para los que tenemos 3 o más clientes que son "proprietaire" (propietario), "acheteur" (comprador) o "chef des ventes" (jefe de ventas)
                  select count(*) as "nbre clients", pays
                  from clients
                  where fonction in ('proprietaire', 'acheteur', 'chef des ventes')
                  group by pays
                  having "nbre clients" >= 3

                  - Seleccionar todas las órdenes (número de pedido, fecha de la orden, nombre del cliente) pasadas por el cliente cuyo código es "ALFKI".
                  SELECT n_commande, date_commande, societe FROM commandes cd, clients c WHERE c.code_client = cd.code_client AND c.code_client = 'ALFKI'

                  - Mostrar para cada cliente (code_client) el número de pedidos realizados a un empleado francés.
                  SELECT code_client, count(*) FROM commandes cd
                  JOIN employes e on cd.n_employe = e.n_employe
                  WHERE e.pays = 'France'
                  GROUP BY code_client

                  - El número de artículos por pedido (con el número de pedido) para los pedidos que contengan más de 5 artículos.
                  SELECT n_commande, count(*) as nb
                  FROM details_commandes
                  GROUP BY n_commande
                  HAVING nb > 5

                  - Importe total pedido (sin contar el descuento) para cada producto cuyo PU es igual a 90. Se mostrará la referencia del producto, su nombre y el importe total pedido.
                  SELECT p.ref_produit, p.nom_du_produit, sum(quantité * p.prix_unitaire)
                  FROM details_commandes d, produits p
                  WHERE d.ref_produit = p.ref_produit
                  AND p.prix_unitaire = 90
                  GROUP BY ref_produit, p.nom_du_produit

                  - Para cada producto (referencia del producto, nombre del producto) de la categoría "2" (usar code_categorie en formato texto) el número total de productos pedidas (nota: usaremos la cantidad de details_commandes). No mostrar productos para los que no se haya pedido más de 100 unidades.
                  SELECT nom_du_produit, sum(quantite)
                  FROM produits p, details_commandes d
                  WHERE p.ref_produit = d.ref_produit
                  AND p.code_categorie = '2'
                  GROUP BY p.ref_produit, p.nom_du_produit
                  HAVING sum(quantite) > 100

                  - Seleccionar todos los productos (referencia del producto, nombre del producto, nombre de la categoria) cuyo code_categorie es 3 (NB: el código de categoría está en formato texto).
                  SELECT ref_produit, nom_du_produit, nom_de_categorie
                  FROM produits, categorie
                  WHERE produits.ref_produit = categorie.code_categorie
                  AND categorie.code_categorie = '3'

                  - Mostrar para cada empleado (n° de empleado) el número de pedidos realizados.
                  SELECT n_employe, count(*)
                  FROM commandes
                  GROUP BY n_employe

                  - Mostrar el número de productos por categoría (con code_categorie y nombre de la catégorie) para categorías que tienen más de 5 productos.
                  SELECT c.code_categorie, c.nom_de_categorie, count(p.ref_produit) as tot
                  FROM Categories c, produits p
                  WHERE p.code_categorie = c.code_categorie
                  GROUP BY c.code_categorie, c.nom_de_categorie
                  HAVING tot > 5

                  - Valoración del stock (en francos) para cada producto cuyo proveedor viva en Estados Unidos. Se mostrará la referencia del producto, su nombre y el monto de la valoración.
                  SELECT p.ref_produit, p.nom_du_produit, p.prix_unitaire*unites_en_stock
                  FROM produits p, fournisseurs f
                  WHERE f.n_fournisseur = p.n_fournisseur
                  AND f.pays = 'Etats-unis'

                  - Mostrar para todas las órdenes (número de pedido, fecha de la orden) entregadas en la ciudad de Aarhus el monto total facturado (sin contar el descuento). NB: no se desean órdenes cuyo monto total facturado sea inferior a 5000.
                  SELECT c.n_commande, c.date_commande, sum(prix_unitaire * quantite) as tot
                  FROM commandes c, details_commandes d
                  WHERE d.n_commande = c.n_commande
                  AND ville_livraison = 'arhus'
                  GROUP BY c.n_commande, c.date_commande
                  HAVING tot > 5000

                  - Listar la lista de proveedores (nombre sociedad) que ofrecen al menos un producto cuyo precio es <= 25. NB: no mostrar el número de productos ofrecidos por cada proveedor.
                  SELECT societe
                  FROM Fournisseurs f, produits p
                  WHERE f.n_fournisseur = p.n_fournisseur
                  AND p.prix_unitaire <= 25
                  GROUP BY societe

                  - Para cada cliente (nombre de sociedad) el número total de unidades pedidas para el producto cuyo ref_produit es 1 (ref_produit en formato texto). Presentar los resultados en orden alfabético por nombre de la sociedad.
                  SELECT societe, sum(quantite)
                  FROM clients c, commandes cd, details_commandes d
                  WHERE cd.code_client = c.code_client AND d.n_commande = cd.n_commande
                  AND ref_produit = 1
                  GROUP BY societe
                  ORDER BY societe

                  - Para cada cliente (nombre de sociedad) el número total de pedidos a entregar después del 31 mayo 1994 (usar el campo a_livrer_avant). Si este número es menor que 10, no se mostrará el cliente.
                  SELECT societe, count(n_commande) as nb
                  FROM clients c, commandes cd
                  WHERE cd.code_client = c.code_client
                  AND a_livrer_avant >= '1994-05-31'
                  GROUP BY societe
                  HAVING nb >= 10

                  - Número total de unidades pedidas (usar el campo unites_commandees) para cada proveedor (también mostraremos el número de proveedor y el nombre de la sociedad).
                  NB: no mostrar proveedores que no hayan pedido nada.
                  SELECT p.n_fournisseur, societe, sum(unites_commandees) as total
                  FROM Fournisseurs f, produits p
                  WHERE f.n_fournisseur = p.n_fournisseur
                  GROUP BY p.n_fournisseur, societe
                  HAVING total <> 0

                  - Contar el número de empleados contratados entre 1993 y 1999 y que no viven en Brasil, Argentina, Paraguay, Chile o Cuba. Nota: solo se quiere un único número.
                  SELECT count(*)
                  FROM employes
                  WHERE year(date_embauche) between 1993 and 1999
                  and pays NOT IN ('bresil', 'argentine', 'paraguay', 'chili', 'cuba')

                  - Para cada pedido (número de pedido, fecha de la orden) el número de productos diferentes pedidos cuyo precio unitario es >= 150
                  SELECT c.n_commande, date_commande, count(ref_produit)
                  FROM commandes c, details_commandes d
                  WHERE c.n_commande = d.n_commande
                  AND d.prix_unitaire >= 150
                  GROUP BY c.n_commande, date_commande

                  - Para cada mensajero (número de mensajero, nombre del mensajero) el número de pedidos realizado.
                  SELECT m.n_messager, nom_du_messager, count(n_commande)
                  FROM messagers m, commandes c
                  WHERE c.n_messager = m.n_messager
                  GROUP BY m.n_messager, nom_du_messager

                  - Listar las categorías (nombre de la categoría, código de la categoría, número total de unidades en stock) para las que el total de unidades en stock es inferior a 200
                  SELECT c.code_categorie, nom_de_categorie, sum(unites_en_stock) as stock
                  FROM categories c, produits p
                  WHERE p.code_categorie = c.code_categorie
                  GROUP BY c.code_categorie, nom_de_categorie
                  HAVING stock <= 200

                  - Para cada destinatario (nombre del destinatario) el número total de productos pedidos que tengan la referencia 2. Presentaremos los resultados en orden alfabético por nombre del destinatario.
                  SELECT destinataire, sum(quantite)
                  FROM commandes cd, details_commandes d
                  WHERE d.n_commande = cd.n_commande
                  AND ref_produit = 2
                  GROUP BY destinataire
                  ORDER BY destinataire

                  - Para las categorías 1, 3, 5, 7 y 8 el número total de unidades pedidas (usar el campo "unites_commandees" de la tabla produits). Se mostrará el código de la categoría y el nombre de la categoría si el total de unidades pedidas es diferente de 0.
                  SELECT c.code_categorie, nom_de_categorie, sum(unites_commandees) as tot
                  FROM produits p, categories c
                  WHERE c.code_categorie = p.code_categorie
                  AND c.code_categorie IN (1,3,5,7,8)
                  GROUP BY c.code_categorie, nom_de_categorie
                  HAVING tot <> 0

                  - Lista de empleados que viven en una ciudad donde hay al menos 1 proveedor
                  SELECT DISTINCT f.Ville, e.Nom
                  FROM Fournisseurs f, Employes e
                  WHERE f.Ville = e.Ville

                  - Mostrar para cada ciudad de mis proveedores el número de empleados que trabajan en esa ciudad
                  SELECT f.Ville, count(N_employe)
                  from Fournisseurs f, Employes
                  GROUP BY f.Ville
                  15
                  1. soit le modele rela tionnel suivant:
                    DEPT</gras>(DNO, DNOM,DIR,VILLE)
                    EMP(ENO,ENOM,PROF,DATEEMB,SAL,COMM,DNO)

                    1°aficher le nom du département de chaque employé
                    2°donner les emplois ayant le salaire moyen le plus bas;donnez aussi leur salaire moyen
                    3°donner la liste des employés ayant une commission
                    4°donner le nombre d'employés du departement PRODUCTION
                    5°les numeros de departement et leur salaire maximum
                    6°les professions et leurs salaires moyen
                    7°donner les departements qui n'ont pas d'employés
                    1
                    1. Qu’est-ce que tu veux que je fasse exactement ? Si tu demandes une traduction en espagnol, je peux le faire. Voici la traduction fidèle du texte donné:

                      Hola Ana, quiero leer en la carrera de desarrollo informático y tengo problemas con SQL, por favor envíame los ejercicios y si hay algo para el examen de ese año, que te lo agradezca.
                      2
                      1. Filiera: TSDI Examen: Práctica
                        Nivel: Técnico Especializado
                        Duración: 4 h 00 Barómetro: 40 Pts

                        Variante n° 1

                        Se quiere desarrollar una aplicación que gestione los encuentros de los torneos de tenis de una temporada dada.

                        Cada jugador tiene un nombre y un sexo. Dos jugadores pueden formar un equipo. Un torneo se identifica por su nombre y se celebra en un país dado en una fecha prevista. Al finalizar un torneo, un jugador o un equipo participante en ese torneo obtiene una puntuación que representa el número de rondas pasadas en el torneo (1ª ronda vale 1 punto, 2ª ronda vale 2 puntos, etc.). A cada torneo se le asigna un coeficiente según su importancia.
                        La puntuación final de un jugador (o de un equipo) se obtiene de la siguiente manera:
                        puntuación × coeficiente
                        Para los n torneos del año. Los jugadores (o equipos) se clasifican por orden decreciente de su puntuación final.

                        Para asegurar esta gestión, se ha establecido el siguiente esquema relacional:

                        Jugador (NoJugador, NombreJugador, Sexo, NoEquipo)
                        Equipo (NoEquipo)
                        Torneo (NoTorneo, NombreTorneo, Fecha, Coef, País)
                        Juego_Simple (NoJugador, NoTorneo, Score_Jugador)
                        Juego_Doble (NoEquipo, NoTorneo, Score_Equipo)

                        TRABAJO A REALIZAR

                        I Creación de la base de datos

                        1. Crear la base de datos en SQL SERVER 2 pts
                        2. Crear tres registros por tabla

                        II Aplicación

                        1. Crear una aplicación MDI con menú que permita ejecutar los siguientes tratamientos: 1 Pt

                        2. Actualización de la tabla Jugador. Prever los botones: Añadir, Modificar, Guardar, Eliminar, Cerrar y botones de movimiento entre los registros. 2 pts

                        3. Actualización de la tabla Torneo. Prever los botones: Añadir, Modificar, Guardar, Eliminar, Cerrar y botones de movimiento entre los registros. 2 pts

                        4. Formar equipos constituidos de dos jugadores; el usuario introduce el número de equipo y selecciona a los dos jugadores en dos listas de selección 2 pts

                        5. Registrar la puntuación de un juego sencillo. 2 pts
                        Todos los campos son obligatorios, el NoJugador y el NoTorneo deben escogerse en zonas de listas; todos los datos del jugador escogido y del torneo escogido se muestran.

                        6. Registrar la puntuación de un juego de dobles. 2 pts
                        al elegir el equipo, se muestran los nombres de los dos jugadores.

                        7. Crear un formulario que muestre para un país dado, todos los torneos que se celebran allí. Ordenar el resultado por importancia del torneo (coeficiente) de forma decreciente. 2 pts

                        8. Calcular para un jugador dado, o un equipo, la puntuación total (suma de puntuaciones ponderadas). 2 pts

                        9. Imprimir la lista de jugadores masculinos participantes en un torneo dado 2 pts

                        10. Imprimir las diez primeras jugadoras clasificadas en orden decreciente (según la puntuación final) 2 pts

                        11. Crear un gráfico que represente el número de participantes por país del torneo 3 pts

                        12. Crear un programa de instalación de su aplicación 3 pts
                        El programa de instalación debe crear la base de datos si no existe.

                        III Web

                        13. Crear una página Web que retorne todos los torneos del año (NombreTorneo, Fecha, Coef) 2 pts

                        14. al hacer clic en el nombre de un torneo el usuario puede mostrar la lista de jugadores que participan 2 pts

                        15. Al hacer clic en el nombre de un jugador, mostrar la lista de torneos en los que ha participado ordenados por fecha 2 pts

                        16. Prever un formulario de registro de un jugador vía una interfaz Web. El jugador debe completar toda la información relativa a los campos de las tablas Jugador, Equipo y Torneo. (El control de entrada es obligatorio) 2 pts

                        17. En la validación de un registro, debe generarse un código de seis caracteres; ese código permitirá al jugador conectarse para realizar una actualización de los datos introducidos vía la interfaz Web.
                        • El código generado debe ser único para cada jugador y debe registrarse en la base de datos (realizar las modificaciones necesarias) 2 Pts
                        18. Prever una interfaz de autenticación de los jugadores registrados. El jugador debe introducir su Nombre y su Código (Código generado) y una vez que los datos sean correctos, solo se mostrarán en una página web las informaciones relativas al jugador 3 Pts
                        0
                      2. Filière: TSDI Prueba: Práctica
                        Nivel: Técnico Especializado
                        Duración: 4 h 00 Barómetro: 40 Pts

                        Variante n° 1

                        Se quiere desarrollar una aplicación que gestione los encuentros de los torneos de tenis de una temporada dada.

                        Cada jugador tiene un nombre y un sexo. Dos jugadores pueden formar un equipo. Un torneo se identifica por su nombre y se celebra en un país dado en una fecha prevista. Al finalizar un torneo, un jugador o un equipo participante en ese torneo obtiene una puntuación que representa el número de rondas superadas en el torneo (1ª ronda vale 1 punto, 2ª ronda vale 2 puntos, etc.). A cada torneo se le asigna un coeficiente según su importancia.
                        La puntuación final de un jugador (o de un equipo) se obtiene de la siguiente manera:
                        puntuación × coeficiente
                        Para los n torneos del año. Los jugadores (o equipos) se clasifican por orden descendente de su puntuación final.

                        Para asegurar esta gestión, se ha establecido el siguiente esquema relacional:

                        Jugador (NoJoueur, NomJoueur, Sexe, NoEquipe)
                        Equipe (NoEquipe)
                        Tournoi (NoTournoi, NomTournoi, Date, Coef, Pays)
                        Jeu_Simple (NoJoueur, NoTournoi, Score_Joueur)
                        Jeu_Double (NoEquipe, NoTournoi, Score_Equipe)

                        TRABAJO A REALIZAR

                        I Creación de la base de datos

                        1. Crear la base de datos en SQL SERVER 2 pts
                        2. Crear tres registros por tabla

                        II Aplicación

                        1. Crear una aplicación MDI con menú que permita ejecutar los tratamientos siguientes: 1 Pt

                        2. Actualización de la tabla Jugador. Prever los botones: Añadir, Modificar, Guardar, Eliminar, Cerrar y botones de desplazamiento entre los registros. 2 pts

                        3. Actualización de la tabla Tournoi. Prever los botones: Añadir, Modificar, Guardar, Eliminar, Cerrar y botones de desplazamiento entre los registros. 2 pts

                        4. Formar equipos constituídos de dos jugadores; el usuario introduce el número de equipo y selecciona los dos jugadores en dos listas de selección 2 pts

                        5. Registrar la puntuación de un juego sencillo. 2 pts
                        Todos los campos son obligatorios, el NoJoueur y el NoTournoi deben elegirse en zonas de listas; todos los datos del jugador elegido y del torneo elegido se muestran.

                        6. Registrar la puntuación de un juego de dobles. 2 pts
                        a elección del equipo, se muestran los nombres de los dos jugadores.

                        7. Crear un formulario que muestre para un país dado todos los torneos que se disputan allí. Ordenar el resultado por importancia del torneo (coeficiente) de forma descendente. 2 pts

                        8. Calcular para un jugador dado, o un equipo, la puntuación total (suma de puntuaciones ponderadas). 2 pts

                        9. Imprimir la lista de jugadores masculinos participantes en un torneo dado 2 pts

                        10. Imprimir las diez primeras jugadoras clasificadas en orden descendente (según la puntuación final) 2 pts

                        11. Crear un gráfico que represente el número de participantes por país de torneo 3 pts

                        12. Crear un programa de instalación de su aplicación 3 pts
                        El programa de instalación debe crear la base de datos si no existe.

                        III Web

                        13. Crear una página Web que devuelva todos los torneos del año (NomTournoi, Date, Coef) 2 pts

                        14. al hacer clic en el nombre de un torneo el usuario puede mostrar la lista de jugadores que participan 2 pts

                        15. Al hacer clic en el nombre de un jugador, mostrar la lista de torneos en los que ha participado ordenados por fecha 2 pts

                        16. Prever un formulario de registro de un jugador a través de una interfaz Web. El jugador debe completar toda la información relativa a las tablas Jugador, Equipe y Tournoi. (El control de introducción es obligatorio) 2 pts

                        17. En la validación de un registro, debe generarse un código de seis caracteres; este código permitirá al jugador conectarse para realizar una actualización de los datos ingresados a través de la interfaz Web.
                        • El código generado es único para cada jugador y debe registrarse en la base de datos (Hacer las modificaciones necesarias) 2 Pts
                        18. Prever una interfaz de autenticación de los jugadores registrados. El jugador debe introducir su Nombre y su Código (Código generado) y una vez que los datos son correctos, solo se mostrarán las informaciones relativas al jugador en una página web 3 Pts
                        0
                      3. stttttttttp Siham pronto EFF si has recibido la corrección de esta variante pásamela lo antes posible, especialmente la parte de WEB.
                        0
                    2. Hola a todos,
                      Acabo de ver los ejercicios que publicó essadouq, el sábado 12 de mayo de 2007 (un poco de tiempo :-) ). Para el tercer ejercicio (el del Tour de Francia), creo que la sexta consulta no responde a la pregunta solicitada, ya que buscamos la clasificación general de los corredores al final de las 13 primeras etapas, por lo que los corredores deben haber recorrido las 13 primeras etapas para poder hacer luego su clasificación, mientras que la consulta no respondió a este requisito con la condición 'NuméroEtape<=13'.
                      Creo que la respuesta correcta es la siguiente:
                      SELECT NomCoureur, codeEquipe, CodePays, Sum(TempRéalisé) as TempCoureur FROM Coureur C, Participer P
                      WHERE C.NuméroCoureur = P.NuméroCoureur AND NuméroEtape between (1,13) AND count(distinct NuméroEtape) = 13
                      GROUP BY NomCoureur

                      Se exige un filtrado sobre NuméroEtape: solo aquellos entre 1 y 13
                      0
                      1. ejercicios resueltos sobre las consultas sql con una interfaz de línea de comandos
                        http://nte-socio.univ-lyon2.fr/Marc_Grange/SQL6.htm

                        --
                        ===========
                        Dos cosas son infinitas: el Universo y la estupidez humana. Pero no estoy seguro de cuál llegó primero.
                        3
                        1. por favor tengo una pregunta:
                          ¿es obligatorio usar siempre:

                          select A.num1 , B.num2
                          from table1 A , table2 B
                          where A.num1 = B.num2


                          ¿mismo si los nombres de los campos son diferentes

                          o se puede escribir así:

                          select num1 , num2
                          from table1 , table2
                          where num1 = num2


                          --
                          ===========
                          Dos cosas son infinitas: el Universo y la estupidez de Albert Einstein. Pero no sé cuál llegó primero.
                          1
                          1. si a veces es obligatorio cuando se trata de una unión y que tenemos el mismo nombre en ambos tableaux
                            0
                        • 1
                        • 2