jueves, 16 de diciembre de 2010

SQL ORACLE

para ver las tablas creadas:

select table_name
from user_tables;

ejemplo de ejercicio:

CREATE TABLE Psicologos( -------------------------> crea la tabla
NIF        Varchar2(10),            
-------------------------> atributo y tipo de datos
Nombre        Varchar2(15) NOT NULL,
Apellido1    Varchar2(15) NOT NULL,
Apellido2    Varchar2(15),
Especialidad    Varchar2(15) NOT NULL,
Direccion    Varchar2(50),
 Constraint PK_Psicologos PRIMARY KEY (NIF)
-------------------------> clave primaria
);

CREATE TABLE Pacientes(
NIF        Varchar2(10),
Nombre        Varchar2(15) NOT NULL,
Apellido1    Varchar2(15) NOT NULL,
Apellido2    Varchar2(15),
Fec_Nacim    Date NOT NULL,
Telefono    Varchar2(10),

 Constraint PK_Pacientes PRIMARY KEY (NIF),
 Constraint CH_fec_nacim CHECK (Fec_Nacim >= TO_DATE('01/01/1900','DD/MM/YYYY'))
);
-------------------------> check de restricciones y  ");" es para terminar

CREATE TABLE Transtornos (
Cod_Transtorno    Number(5),
Nombre        Varchar2(25) NOT NULL,
Sintomas    Varchar2(250) NOT NULL,
 Constraint PK_Transtornos PRIMARY KEY (Cod_Transtornos),
 Constraint CH_Cod_trans CHECK (Cod_Transtornos >=0)
);

CREATE TABLE Terapias (
Cod_Terapia     Number(5),
Nombre        Varchar2(25) NOT NULL,
Observaciones     Varchar2(250) NOT NULL,
 Constraint PK_Terapias PRIMARY KEY (Cod_Terapia),
 Constraint CH_Cod_terap CHECK (Cod_Terapia >=0)
);

CREATE TABLE Sesiones(
NIF_PS        Varchar2(10),
NIF_PA        Varchar2(10),
Cod_Transtorno    Number(5),
Cod_Terapia    Number(5),
Fecha        Date,
 Constraint PK_Sesiones PRIMARY KEY (NIF_PS,NIF_PA,Cod_Transtornos,Cod_Terapia,Fecha),
 Constraint CH_Fecha CHECK (Fecha >= TO DATE('01/01/1990','DD/MM/YYYY')),
 Constraint FK_ses_psi     FOREIGN KEY (NIF_PS)
            REFERENCES Psicologos (NIF)
            ON DELETE CASCADE,
 Constraint FK_ses_pa    FOREIGN KEY (NIF_PA)
            REFERENCES Pacientes (NIF)
            ON DELETE CASCADE,
 Constraint FK_ses_pa    FOREIGN KEY (NIF_PA)
            REFERENCES Pacientes (NIF)
            ON DELETE CASCADE,
);
----------------------------------- Inserción de datos ------------------------------------
INSERT
INTO Psicologos --------> en la tabla
VALUES ('PS123456','JUAN,'PÉREZ',GARCÍA','CLÍNICA','C/REAL'); ----> valores

INSERT
INTO Pacientes
VALUES ('PA123444','MARÍA','GARCÍA','LÓPEZ',TO_DATE('12/12/1980','DD/MM/YYYY'),'666666');

INSERT
INTO Transtornos
VALUES (100,'JORCH','SINTOMAS');

INSERT
INTO Terapias
VALUES (1,'PSICOANÁLISIS','OBSERVACIÓN');

INSERT
INTO Sesiones
VALUES('PS123456','PA123444',100,1,SYSDATE);

COMMIT; --------------------------------> es para validar los cambios

3 comentarios:

  1. desc psicologos ---> para ver lo que hay

    ResponderEliminar
  2. desc user_constraints; ----> ver las constraints

    ResponderEliminar
  3. ejemplo:
    select constraint_name, constraint_type, table_name
    from user_constraints; ----> ver

    ResponderEliminar

simple tracker
Flowers Roses