Unidad v  integridad relacional
Upcoming SlideShare
Loading in...5
×
 

Unidad v integridad relacional

on

  • 1,789 views

 

Statistics

Views

Total Views
1,789
Views on SlideShare
1,789
Embed Views
0

Actions

Likes
1
Downloads
30
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Unidad v  integridad relacional Unidad v integridad relacional Presentation Transcript

  • Unidad V :- Integridad de datos.Se analizará el sublenguaje DDL (DataDefinition Language) para la creaciónde la integridad entre las tablas de unabase de datos. 1
  • 3.- Integridad referencialCuando examinamos la integridad de los datosestamos tratando de asegurar de que los datosde la BD sean correctos, tanto de un punto devista literal ( sin errores ), como desde un puntode vista del negocio por ejemplo teléfonoscorrectas, precios mayores a cero, domicilios condatos.M.C. Daniel Esparza Soto 2
  • 3.- Integridad referencialExisten los siguientes mecanismos para hacer cumplir laintegridad de datos:a.- Integridad por procedimientos: Significa que sepuede usar estructuras programáticas y objetosseparados para hacer cumplir la integridad de los datos.Frecuentemente esto se realiza a nivel del programa deaplicaciones. Sin embargo, esto significa que si realizacualquier modificiación fuera de ese progama, la regla deintegridad no se puede cumplir.b.- Integridad declarativa: Los mecanismos para hacercumplir la integridad estan declarados como parte de ladefinición de las tablas en la BD y se convierten en parteintegral de estos objetos.M.C. Daniel Esparza Soto 3
  • DDL(Data Definition Language)3.- Integridad referencial: - Llave primaria (Primary Key). - Propiedad de identidad (Identity) - Llave externa (Foreign Key). - Llave única (Unique Constraint). - Restricción de comprobación (Check Constraint). - Restricción de valor predefinido (Default Constraint). M.C. Daniel Esparza Soto 4
  • 3.- Integridad referencial: Llaveprimaria.Se usa para validar que no se repitan campos enuna tabla. Cada una de las columnas que se usandeben estar definidas con el atributo NOT NULL ysolamente puede existir una restricción de llaveprimaria en una tabla. Se le conoce comoPRIMARY KEY.- Al crear la tabla:NomColumna TipoDato NOT NULL,CONSTRAINT ‘Nom_PK’ PRIMARY KEY ( Col1, Col2,... N )- Modificando la tabla:ALTER TABLE nomTabla ADDCONSTRAINT ‘Nom_PK’ PRIMARY KEY ( Col1, Col2,... N )M.C. Daniel Esparza Soto 5
  • 3.- Integridad referencial: Llaveprimaria.Ejemplo:Create table Empleados (Emp int not null ,Nombre Char(50)not null ,CONSTRAINT pk_empleados PRIMARY KEY (Emp) )Create Table ESTADOS(EDO int not null ,Nombre Char(50)not null)Alter Table Estados AddCONSTRAINT pk_Estados PRIMARY KEY ( edo ) 6M.C. Daniel Esparza Soto
  • Propiedad IdentidadLa propiedad identidad en una columna permiteque su valor sea incrementado automaticamentepor el servidor. Las columnas tipo Integer sonlas unicas que pueden tener definida estapropiedad. Al momento de insertar un registro ,esta columna debe de omitir su valor.Declaración:CREATE TABLE nomtabla(Columna TipoDato Not NullIDENTITY( ValorInicial, Incremento ) ,.... )M.C. Daniel Esparza Soto 7
  • Propiedad IdentidadEjemplo:CREATE TABLE EMPRESAS (CLAVE INT IDENTITY(1,2) NOT NULL ,NOMBRE VARCHAR(2))Al momento de insertar se omite la columnaidentidad:INSERT EMPRESAS (NOMBRE)VALUES(‘CASA’)M.C. Daniel Esparza Soto 8
  • 3.- Integridad referencial: Llave Externa.Esta restricción protege la integridad referencialentre tablas. Se crea una llave externa en unatabla para hacer referencia a la llave primaria o auna llave unica de otra tabla.Esto restringe la modificación de datos contra latabla que contiene la llave primaria siempre ycuando haya filas relacionadas en las tablas quetienen la llave externa.También impide que se añadan o actualicendatos en la tabla que contiene la llave externacon datos no validados en la tabla que hacereferencia.M.C. Daniel Esparza Soto 9
  • 3.- Integridad referencial: Llave Externa.- Al crear la tabla:NomColumna TipoDato NOT NULL,CONSTRAINT ‘Nom_FK’ FOREIGN KEY (Col1)REFERENCES NomTablaExterna ( ColExt1, ColExt2,... N )- Modificando la tabla:ALTER TABLE nomTabla ADDCONSTRAINT ‘Nom_FK’ FOREIGN KEY (Col1)REFERENCES NomTablaExterna ( ColExt1, ColExt2,... N )M.C. Daniel Esparza Soto 10
  • |M.C. Daniel Esparza Soto 11
  • 3.- Integridad referencial: Llave Externa.Create table MUNICIPIOS(MPIO int not null ,Nombre Char(50)not null ,EDO int not null ,CONSTRAINT FK_Municipios_Estados FOREIGN KEY(EDO) REFERENCES ESTADOS ( edo ) )M.C. Daniel Esparza Soto 12
  • 3.- Integridad referencial: Llave única.Esta restricción permite crear índices únicos igualque con las llaves primarias, pero con un pocomas de flexibilidad:a.- Una tabla puede contener mas de una llaveúnica a diferencia de la llave primaria quesolamente soporta una sola.b.- Las columnas que contenga esta restricciónpuede tener el atributo NOT NULL.M.C. Daniel Esparza Soto 13
  • 3.- Integridad referencial: Llave única.- Al crear la tabla:NomColumna TipoDato NOT NULL,CONSTRAINT Nom_UC UNIQUE( Col1, Col2,... N )- Modificando la tabla:ALTER TABLE nomTabla ADDCONSTRAINT Nom_UC UNIQUE( Col1, Col2,... N )M.C. Daniel Esparza Soto 14
  • 3.- Integridad referencial: Llave única.Ejemplo:Create Table Clientes(Emp int not null,Nombre Char(50) not null ,RFC Char(13) null,Curp Char(20) null,SEXO CHAR(1) )Alter Table ClientesAdd CONSTRAINT Clientes_UC UNIQUE ( RFC ),Add CONSTRAINT Clientes2_UC UNIQUE ( curp )M.C. Daniel Esparza Soto 15
  • 3.- Integridad referencial: Restricción decomprobación.Esta restricción proporciona un mecanismo parahacer cumplir la integridad de dominio de lascolumnas, teniendo más de una restricción decomprobación en una misma columna. Estasrestricciones se realizan durante las insercionesy actualizaciones. Dentro de la restricción sepuede hacer referencia a otras columnas comoparte del cumplimiento de las condiciones.M.C. Daniel Esparza Soto 16
  • 3.- Integridad referencial: Restricción decomprobación.- Al crear la tabla:NomColumna TipoDato NOT NULL,CONSTRAINT Nom_CC CHECK( Condición )- Modificando la tabla:ALTER TABLE nomTabla ADDCONSTRAINT Nom_CC CHECK( Condición )M.C. Daniel Esparza Soto 17
  • 3.- Integridad referencial: Restricción decomprobación.- Al crear la tabla:NomColumna TipoDato NOT NULL,CONSTRAINT Nom_CC CHECK( Condición )- Modificando la tabla:ALTER TABLE nomTabla ADDCONSTRAINT Nom_CC CHECK( Condición )- Ejemplo:Alter Table Clientes AddCONSTRAINT Clientes_Sexo_CC CHECK ( SEXO IN (F,M) )M.C. Daniel Esparza Soto 18
  • 3.- Integridad referencial: Restricción devalor predefinido.Inserta un valor predefinido en las tablas almomento de insertarse un valor nulo en uncampo con esta restricción.- Al crear la tabla:NomColumna TipoDato NOT NULL,CONSTRAINT Nom_DC DEFAULT ( Valor ) FOR Col1- Modificando la tabla:ALTER TABLE nomTabla ADDCONSTRAINT Nom_DC DEFAULT ( Valor ) FOR Col1M.C. Daniel Esparza Soto 19
  • 3.- Integridad referencial: Restricción devalor predefinido.Alter Table Clientes AddCONSTRAINT Clientes_Sexo_DC DEFAULT ( F )FOR SEXOM.C. Daniel Esparza Soto 20
  • Eliminaciones-- crear la tablacreate table prueba( clave int , nombre varchar(10) )-- agregar un campoalter table prueba add domicilio varchar(20)-- modificar el tipo de datoalter table prueba alter column domicilio varchar(200)-- eliminar la columnaalter table prueba drop column domicilio-- eliminar a tabladrop table prueba-- eliminar una restricciónAlter table nombre_tabla drop constraint nombre_restricc.M.C. Daniel Esparza Soto 21