none
Problema para realizar este ejercicio en SQL AYUDA RRS feed

  • Pregunta

  •  Tengo una tarea y el profesor nos pide que hagamos una consulta en SQL pero hay una parte que no se como realizar, el ejercicio es este:

    El servicio de información 1113 le ha solicitado a usted diseñar una aplicación para la consulta de números telefónicos. Debe almacenar el nombre del abonado y el número telefónico. Debe crear el mantenimiento de datos (Borrar y Modificar) y la consulta por nombre. Tome en cuenta que un abonado puede tener más de un número telefónico.

    la parte de no se como hacer es la que dice: "Tome en cuenta que un abonado puede tener más de un número telefónico"

    ayuda por favor es urgente, no se como realizar esa parte, Gracias de antemano


    lunes, 16 de marzo de 2015 8:13

Respuestas

  • Es un poco mucho que explicar pero te puedo dar una pista... Se trata de dos tablas:

    ABONADOS

    AbonadoCodigo
            AbonadoNombre
    ...

    TELEFONOSDEABONADOS

    AbonadoCodigo
    TlfNumero

    Los campos en negrita son las claves principales de cada tabla

    Para seleccionar los telefonos de cada abonado

    "Select AbonadoNombre, TlfNumero From Abonados Left Join TelefonosDeAbonados ON Abonados.AbonadoCodigo=TelefonosDeAbonados.AbonadoCodigo"


    Saludos, Javier J

    • Marcado como respuesta Hayrom lunes, 16 de marzo de 2015 18:43
    lunes, 16 de marzo de 2015 17:02

Todas las respuestas

  • Ese punto simplemente te indica que tienes que almacenar la información en dos tablas:

    - Tabla de abonados

    - Tabla de números de cada abonado

    A la hora de crear tu aplicación tendrás que tener en cuenta este punto definiendo un formulario con los datos del abonado y una lista (puede ser un grid) con los números de dicho abonado.

    lunes, 16 de marzo de 2015 10:35
  • Se trata de dos tablas (Abonados y TelefonosDeAbonados) con una relación de uno a varios registros.

    La tabla de abonados deberá tener una clave única que servirá para enlazar los registros correspondientes de la tabla TelefonosDeAbonados.


    Saludos, Javier J

    lunes, 16 de marzo de 2015 11:03
  • Ese punto simplemente te indica que tienes que almacenar la información en dos tablas:

    - Tabla de abonados

    - Tabla de números de cada abonado

    A la hora de crear tu aplicación tendrás que tener en cuenta este punto definiendo un formulario con los datos del abonado y una lista (puede ser un grid) con los números de dicho abonado.

    mmmm Ok pero me podria indicar como es codigo en esta parte, es que soy principiante y no se mucho de SQL por favor y Gracias
    • Editado Hayrom lunes, 16 de marzo de 2015 15:48
    lunes, 16 de marzo de 2015 15:46
  • Se trata de dos tablas (Abonados y TelefonosDeAbonados) con una relación de uno a varios registros.

    La tabla de abonados deberá tener una clave única que servirá para enlazar los registros correspondientes de la tabla TelefonosDeAbonados.


    Saludos, Javier J

    Ok me puedes indicar como iria el codigo mas o menos en SQL como señale arriba soy principiante y no se mucho del tema por fa y gracias 
    lunes, 16 de marzo de 2015 15:48
  • Es un poco mucho que explicar pero te puedo dar una pista... Se trata de dos tablas:

    ABONADOS

    AbonadoCodigo
            AbonadoNombre
    ...

    TELEFONOSDEABONADOS

    AbonadoCodigo
    TlfNumero

    Los campos en negrita son las claves principales de cada tabla

    Para seleccionar los telefonos de cada abonado

    "Select AbonadoNombre, TlfNumero From Abonados Left Join TelefonosDeAbonados ON Abonados.AbonadoCodigo=TelefonosDeAbonados.AbonadoCodigo"


    Saludos, Javier J

    • Marcado como respuesta Hayrom lunes, 16 de marzo de 2015 18:43
    lunes, 16 de marzo de 2015 17:02
  • Es un poco mucho que explicar pero te puedo dar una pista... Se trata de dos tablas:

    ABONADOS

    AbonadoCodigo
            AbonadoNombre
    ...

    TELEFONOSDEABONADOS

    AbonadoCodigo
    TlfNumero

    Los campos en negrita son las claves principales de cada tabla

    Para seleccionar los telefonos de cada abonado

    "Select AbonadoNombre, TlfNumero From Abonados Left Join TelefonosDeAbonados ON Abonados.AbonadoCodigo=TelefonosDeAbonados.AbonadoCodigo"


    Saludos, Javier J

    Si Ya lo hice, Muchas gracias me sirvio mucho


    CREATE TABLE Abonados
    (
    Cedula      INT PRIMARY KEY,
    Nombre      VARCHAR(30),

    )

    CREATE TABLE NumerosDeAbonados 
    (
    Numero           INT,
    CedulaAbonado    INT FOREIGN KEY REFERENCES Abonados (Cedula)
    )


    INSERT INTO NumerosDeAbonados VALUES( 86617471, 2222)
    INSERT INTO Abonados VALUES (2222, 'LOL')


    INSERT INTO NumerosDeAbonados VALUES( 86617472, 3222)
    INSERT INTO Abonados VALUES (3222, 'OL')


    SELECT  Abonados.Nombre, NumerosDeAbonados.Numero, Abonados.Cedula
    FROM Abonados
    INNER JOIN NumerosDeAbonados
    ON Abonados.Cedula = NumerosDeAbonados.CedulaAbonado

    lunes, 16 de marzo de 2015 18:43