none
Hola necesito ayuda RRS feed

  • Pregunta

  • Hola necesito ayuda con esto, tengo que hacer una tarea y en ella esta este ejercicio básico que lo debo desarrollar

    en código en el cual debo agregar 2 primary key y el software me tira un error por que no puede tener 2 PK. Gracias

    CREATE TABLE NOTA_ALUMNO
    (
    NUMRUT_ALUMNO NUMBER(10)CONSTRAINT PK_NOTA_ALUMNO PRIMARY KEY,
    SIGLA_ASIGNATURA VARCHAR2(10)CONSTRAINT PK_SIGLA_ASIGNATURA PRIMARY KEY,
    NOTA1 NUMBER(1,1)NOT NULL,
    NOTA2 NUMBER(1,1)NOT NULL,
    NOTA3 NUMBER.....

    viernes, 9 de junio de 2017 3:12

Respuestas

  • Sólo se puede crear una restricción de tipo PRIMARY KEY por tabla.

    Nota que lo que intentas hacer es incorrecto porque infringes el enunciado que menciono en el primer párrafo. Lo que sí puedes hacer es que ambas columnas definan una única restricción PRIMARY KEY lo que se conoce como clave primaria compuesta.

    CREATE TABLE NOTA_ALUMNO
    (
        NUMRUT_ALUMNO INT NOT NULL,
        SIGLA_ASIGNATURA VARCHAR(10) NOT NULL,
        NOTA1 NUMBER(1,1) NOT NULL,
        NOTA2 NUMBER(1,1) NOT NULL,
    
        CONSTRAINT PK_Nombre PRIMARY KEY CLUSTERED (NUMRUT_ALUMNO, SIGLA_ASIGNATURA)
    )

    El ejemplo se basa únicamente en componer una restricción PRIMARY KEY compuesta, con independencia de cuan correcto son las columnas o los tipos que componen la tabla.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 9 de junio de 2017 3:27

Todas las respuestas

  • Sólo se puede crear una restricción de tipo PRIMARY KEY por tabla.

    Nota que lo que intentas hacer es incorrecto porque infringes el enunciado que menciono en el primer párrafo. Lo que sí puedes hacer es que ambas columnas definan una única restricción PRIMARY KEY lo que se conoce como clave primaria compuesta.

    CREATE TABLE NOTA_ALUMNO
    (
        NUMRUT_ALUMNO INT NOT NULL,
        SIGLA_ASIGNATURA VARCHAR(10) NOT NULL,
        NOTA1 NUMBER(1,1) NOT NULL,
        NOTA2 NUMBER(1,1) NOT NULL,
    
        CONSTRAINT PK_Nombre PRIMARY KEY CLUSTERED (NUMRUT_ALUMNO, SIGLA_ASIGNATURA)
    )

    El ejemplo se basa únicamente en componer una restricción PRIMARY KEY compuesta, con independencia de cuan correcto son las columnas o los tipos que componen la tabla.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 9 de junio de 2017 3:27
  • Ok muchas gracias.

    si me fije que el programa lo restringía, supongo que el ejercicio va orientado en que nos demos cuenta de esto.

    viernes, 9 de junio de 2017 3:29