6. Restricciones SQL Server

download 6. Restricciones SQL Server

of 14

Transcript of 6. Restricciones SQL Server

  • 8/18/2019 6. Restricciones SQL Server

    1/14

    B D C I 2

    I . C 1/14

    .

    .

    :

    DEFAE

    I EE

    I A E I

    F EIG EE

    CHECE

    , .

    , ,

    .

    .

    .

    A , , E , :

    D

    D 25

    E D 0

    D 1

  • 8/18/2019 6. Restricciones SQL Server

    2/14

    B D C I 2

    I . C 2/14

    35

    15

    1 'E' ' ',' ','E'

    D

    I F

    F

    180

    A :

    CREATE DATABASE Proyectos

    go

    USE Proyectos

    go

    CREATE TABLE Departamento (

    numero_Dep tinyint NOT NULL , nombre_Dep char ( 25 ) NOT NULL , numeroEmp_Dep tinyint NOT NULL , vigencia_Dep bit NOT NULL

    );

    CREATE TABLE Proyecto

    ( numero_Pro tinyint NOT NULL , nombre_Pro char ( 35 ) NOT NULL , lugar_Pro char ( 15 ) NOT NULL , estado_Pro char ( 1 ) NOT NULL , numero_Dep tinyint NOT NULL ,fechaIni_Pro smalldatetime NOT NULL ,fechaFin_Pro smalldatetime NOT NULL

    );

  • 8/18/2019 6. Restricciones SQL Server

    3/14

    B D C I 2

    I . C 3/14

    G ,

    G

    .

    . ( ) .

    A :

    • ALTER TABLE Proyecto

    ADD CONSTRAINT PK_Proyecto PRIMARY KEY ( numero_Pro ) ;

    • D :

    ALTER TABLE Departamento ADD CONSTRAINT PK_Departamento PRIMARY KEY ( numero_Dep ) ;

    ( ).

    . ( )

    .

    .

    A :

    • :

    ALTER TABLE Proyecto ADD CONSTRAINT UQ_Proyecto_nombre UNIQUE ( nombre_Pro ) ;

    • D D :

    ALTER TABLE Departamento ADD CONSTRAINT UQ_Departamento_nombre UNIQUE ( nombre_Dep ) ;

    ( ) ( ).

  • 8/18/2019 6. Restricciones SQL Server

    4/14

    B D C I 2

    I . C 4/14

    . ( )

    .

    , .

    D :

    ALTER TABLE Proyecto ADD CONSTRAINT FK_Proyecto_Departamento FOREIGN KEY (

    numero_Dep)

    REFERENCES Departamento (

    numero_Dep

    );

    ,

    ( ) , .

    .

    .

    :

    • AC I• CA CADE• E

    ( ) D E D D

    ( ) ( ) I

    D

  • 8/18/2019 6. Restricciones SQL Server

    5/14

    B D C I 2

    I . C 5/14

    • E DEFA

    DE E E DA E.

    DE E E DA E

    ,

    , .

    , ( )

    , .

    , ( )

    , .

    DEFA ,

    , .

    DEFA ,

  • 8/18/2019 6. Restricciones SQL Server

    6/14

    B D C I 2

    I . C 6/14

    , , D

    , :

    ALTER TABLE Proyecto ADD CONSTRAINT FK_Proyecto_Departamento FOREIGN KEY (

    numero_Dep)

    REFERENCES Departamento (

    numero_Dep) ON UPDATE CASCADE ON DELETE NO ACTION ;

    . ( ) . C

    , CHEC .

    A :

    • ' ', ' ' 'E', :

    ALTER TABLE ProyectoADD CONSTRAINT CK_Proyecto_estadoCHECK ( estado_Pro IN ( 'T' , 'S' , 'E' ));

    • 180 6

    , :

    ALTER TABLE ProyectoADD CONSTRAINT CK_Proyecto_fechaFin CHECK ( fechaFin_Pro >= fechaIni_Pro +180 );

    • CE :

    ALTER TABLE Departamento ADD CONSTRAINT CK_Departamento_numeroEmp CHECK ( numeroEmp_Dep >= 0 ) ;

    ( ) ( ).

  • 8/18/2019 6. Restricciones SQL Server

    7/14

    B D C I 2

    I . C 7/14

    . ( ) ,

    .A :•

    'E' :

    ALTER TABLE ProyectoADD CONSTRAINT DF_Proyecto_estado

    DEFAULT 'E' FOR estado_Pro ;

    • :

    ALTER TABLE ProyectoADD CONSTRAINT DF_Proyecto_fechaIni

    DEFAULT getdate () FOR fechaIni_Pro ;

    • 180 :

    ALTER TABLE ProyectoADD CONSTRAINT DF_Proyecto_fechaFin

    DEFAULT getdate ()+ 180 FOR fechaFin_Pro ;

    . :

  • 8/18/2019 6. Restricciones SQL Server

    8/14

    B D C I 2

    I . C 8/14

    • D 1 ( ), :

    ALTER TABLE DepartamentoADD CONSTRAINT DF_Departamento_vigencia

    DEFAULT 1 FOR vigencia_Dep ;

    ( ( ).

    .

    , .

    :

    1. E EC ,

  • 8/18/2019 6. Restricciones SQL Server

    9/14

    B D C I 2

    I . C 9/14

    2. H

  • 8/18/2019 6. Restricciones SQL Server

    10/14

    B D C I 2

    I . C 10/14

    :

    D . .

    3. .

  • 8/18/2019 6. Restricciones SQL Server

    11/14

    B D C I 2

    I . C 11/14

    4.

    , ,

    .

    5. .

    F D E .

  • 8/18/2019 6. Restricciones SQL Server

    12/14

    B D C I 2

    I . C 12/14

    .

    :

  • 8/18/2019 6. Restricciones SQL Server

    13/14

    B D C I 2

    I . C 13/14

    . E . D

    .

    , .

    A :

    • CHEC F , :

    ALTER TABLE Proyecto NOCHECK CONSTRAINT DF_Proyecto_fechaFin ;

    • D :

    ALTER TABLE Proyecto NOCHECK CONSTRAINT FK_Proyecto_Departamento ;

    E :

    ALTER TABLE ProyectoCHECK CONSTRAINT DF_Proyecto_fechaFin ;

    ALTER TABLE Proyecto CHECK CONSTRAINT FK_Proyecto_Departamento ;

    . ,

    . .

    A :

    • F , :

    ALTER TABLE ProyectoDROP CONSTRAINT DF_Proyecto_fechaFin ;

    • CHEC F :

    ALTER TABLE ProyectoDROP CONSTRAINT CK_Proyecto_fechaFin ;

  • 8/18/2019 6. Restricciones SQL Server

    14/14

    B D C I 2

    I . C 14/14

    • D D , :

    ALTER TABLE DepartamentoDROP CONSTRAINT UQ_Departamento_nombre ;

    D , ,

    D , I A , :

    ALTER TABLE ProyectoDROP CONSTRAINT FK_Proyecto_Departamento ;

    ALTER TABLE DepartamentoDROP CONSTRAINT PK_Departamento ;