8/18/2019 8.- restricciones.pptx
1/18
8/18/2019 8.- restricciones.pptx
2/18
Elaborado por :Luz Alondra Katt Morales
Definición
Ayudan a mantener laconsistencia
semántica en la BD
Aseguran que losusuarios autorizados
no provoquen lapérdida de
consistencia de datos.
TIPOS DE RESTRICCIONES DE INTEGRIDAD
8/18/2019 8.- restricciones.pptx
3/18
Elaborado por :Luz Alondra Katt Morales
Definición
Entidad
Dominio
Referencial
Definida por el usuario
TIPOS DE RESTRICCIONES DE INTEGRIDAD
8/18/2019 8.- restricciones.pptx
4/18
Elaborado por :Luz Alondra Katt Morales
Integridad de Entidad
TIPOS DE RESTRICCIONES DE INTEGRIDAD
La integridad de entidad define una fila como entidad única para una taladeterminada. La integridad de entidad e!ige la integridad de las columnas delos identificadores o la clave principal de una tala" mediante #ndices yrestricciones $%&'$E" o restricciones (R&)AR* +E*.
En esta no está permitido que algún componente de la clave primaria aceptevalores nulos.Las razones de esta regla son,
Las tuplas en las relaciones base representan entidades en la realidad.
Las entidades en la realidad son identifcables por defnición.
Sus contrapartes en la base de datos también deben ser identifcables.
Los valores de la clave primaria sirven como identifcadores en la base dedatos.
Los valores de clave primaria no pueden ser nulos.
8/18/2019 8.- restricciones.pptx
5/18
Elaborado por :Luz Alondra Katt Morales
Integridad de Entidad - unicidad
TIPOS DE RESTRICCIONES DE INTEGRIDAD
La restricci-n $%&'$E asegura que todos los valores en una columna seandistintos.
(or eemplo" en la siguiente instrucci-n"CREATE TABLE Customer
(SID integer Unique,Last!ame "arc#ar ($%&,
'irst!ame "arc#ar($%&& DLa columna /0&D1 no puede incluir valores duplicados" mientras dic2arestricci-n no se aplica para columnas /Last3%ame1 y /4irst3%ame1.
8/18/2019 8.- restricciones.pptx
6/18
Elaborado por :Luz Alondra Katt Morales
Integridad de Entidad ) C*a"e +rimaria
TIPOS DE RESTRICCIONES DE INTEGRIDAD
S.L,5REA6E 6ABLE 5ustomer70&D integer"Last3%ame varc2ar789:"4irst3%ame varc2ar789:"
(R&)AR* +E* 70&D::; /rac*e,5REA6E 6ABLE 5ustomer
70&D integer (R&)AR* +E*"Last3%ame varc2ar789:"4irst3%ame varc2ar789::;
S.L Ser"er ,5REA6E 6ABLE 5ustomer70&D integer (R&)AR* +E*"
Last3%ame varc2ar789:"4irst3%ame varc2ar789::;
8/18/2019 8.- restricciones.pptx
7/18
Elaborado por :Luz Alondra Katt Morales
TIPOS DE RESTRICCIONES DE INTEGRIDAD
Integridad de Dominio
La integridad de dominio viene dada por la validez de las entradas para unacolumna determinada. (uede e!igir la integridad de dominio para restringir eltipo mediante tipos de datos" el formato mediante reglas y restricciones5
8/18/2019 8.- restricciones.pptx
8/18
Elaborado por :Luz Alondra Katt Morales
TIPOS DE RESTRICCIONES DE INTEGRIDAD
Integridad de Dominio ) !o nu*o
!/T !ULL En forma predeterminada" una columna puede ser %$LL. 0i no desea permitirun valor %$LL en una columna" querrá colocar una restricci-n en esta columnaespecificando que %$LL no es a2ora un valor permitido.
(or eemplo" en la siguiente instrucci-n"
CREATE TABLE Customer
70&D integer %=6 %$LL"Last3%ame varc2ar 789: %=6 %$LL"4irst3%ame varc2ar789::;
Las columnas /0&D1 y /Last3%ame1 no incluyen %$LL" mientras que/4irst3%ame1 puede incluir %$LL.
http://ads.us.e-planning.net/ei/3/336e/ea6f211f0e83a22b?rnd=0.6245396151595113&pb=2ba9c8b47730c120&fi=6f049b1ea7aebfa7&kw=columnahttp://ads.us.e-planning.net/ei/3/336e/ea6f211f0e83a22b?rnd=0.8421962327443029&pb=4a440190ee000708&fi=6f049b1ea7aebfa7&kw=valorhttp://ads.us.e-planning.net/ei/3/336e/ea6f211f0e83a22b?rnd=0.8421962327443029&pb=4a440190ee000708&fi=6f049b1ea7aebfa7&kw=valorhttp://ads.us.e-planning.net/ei/3/336e/ea6f211f0e83a22b?rnd=0.6245396151595113&pb=2ba9c8b47730c120&fi=6f049b1ea7aebfa7&kw=columna
8/18/2019 8.- restricciones.pptx
9/18
Elaborado por :Luz Alondra Katt Morales
TIPOS DE RESTRICCIONES DE INTEGRIDAD
Integridad de Dominio ) C#ec0
La restricci-n 5
8/18/2019 8.- restricciones.pptx
10/18
Elaborado por :Luz Alondra Katt Morales
TIPOS DE RESTRICCIONES DE INTEGRIDAD
Integridad de Dominio ) L*a"e 'oranea
S.L,5REA6E 6ABLE =RDER0(=rder3&D integer"=rder3Date date"5ustomer30&D integer"
Amount doule"(rimary +ey 7=rder3&D:"4oreign +ey 75ustomer30&D: references 5$06=)ER70&D::;
/rac*e,5REA6E 6ABLE =RDER0
(=rder3&D integer primary @ey"=rder3Date date"
5ustomer30&D integer references 5$06=)ER70&D:"
Amount doule:;S.L Ser"er ,
5REA6E 6ABLE =RDER07=rder3&D integer primary @ey"
=rder3Date datetime"5ustomer30&D integer references 5$06=)ER70&D:"
Amount doule:;
8/18/2019 8.- restricciones.pptx
11/18
Elaborado por :Luz Alondra Katt Morales
Integridad Referencia*
TIPOS DE RESTRICCIONES DE INTEGRIDAD
protege las relaciones definidas entre las talas cuando se crean o se eliminanfilas. La integridad referencial garantiza que los valores de clave seanco2erentes en las distintas talas. (ara conseguir esa co2erencia" es precisoque no 2aya referencias a valores ine!istentes y que" si camia el valor de unaclave" todas las referencias a ella se camien en consecuencia en toda la ase
de datos. %o se podrá introducir un valor en la talarelacionada si antes no 2a sido introducida en latala principal.
%o se puede eliminar un registro de una talaprincipal si e!isten registros coincidentes en la
tala relacionada.
%o se puede camiar un valor de la claveprimaria en la tala principal si el registro tieneregistros relacionados.
8/18/2019 8.- restricciones.pptx
12/18
Elaborado por :Luz Alondra Katt Morales
Integridad Referencia*
TIPOS DE RESTRICCIONES DE INTEGRIDAD
(or eemplo" en las talas Sa*es1Sa*es/rderDetai* y +roduction1+roduct de laase de datos Adventureor@s99CR" la integridad referencial se asa en larelaci-n entre la clave e!terna 7+roductID: de la tala Sa*es1Sa*es/rderDetai* yla clave principal 7+roductID: de la tala +roduction1+roduct. Esta relaci-ngarantiza que un pedido de ventas no pueda nunca 2acer referencia a un
producto que no e!iste en la tala +roduction1+roduct.
8/18/2019 8.- restricciones.pptx
13/18
Elaborado por :Luz Alondra Katt Morales
Integridad definida 2or e* usuario
TIPOS DE RESTRICCIONES DE INTEGRIDAD
La integridad definida por el usuario permite definir reglas de empresa espec#ficasque no pertenecen a ninguna otra categor#a de integridad. 6odas las categor#asde integridad admiten la integridad definida por el usuario. Esto incluye todas lasrestricciones de nivel de columna y nivel de tala en 5REA6E 6ABLE"procedimientos almacenados y desencadenadores.
8/18/2019 8.- restricciones.pptx
14/18
Elaborado por :Luz Alondra Katt Morales
Constraints
USO DE RESTRICIONES
5REA6E 6ABLE parent7 id &%6 %=6 %$LL" (R&)AR* +E* 7id: : E%>&%E&%%=DB;
5REA6E 6ABLE c2ild7 id &%6" parent3id &%6" &%DE par3ind 7parent3id:"
4=RE&>% +E* 7parent3id: RE4ERE%5E0 parent7id: =% DELE6E 5A05ADE :E%>&%E&%%=DB;
AL6ER 6ABLE yourtalename ADD F5=%06RA&%6 symbol G 4=RE&>%
+E* Fid G 7index_col_name" ...: RE4ERE%5E0 tbl_name 7index_col_name" ...: F=% DELE6E HRE06R&56 I 5A05ADE I 0E6%$LL I %= A56&=%JG F=% $(DA6E HRE06R&56 I 5A05ADE I 0E6%$LL I %= A56&=%JG
8/18/2019 8.- restricciones.pptx
15/18
Elaborado por :Luz Alondra Katt Morales
Constraints ) !/T !ULL
CASOS DE PRUEBA
!ame !u** T2e
5A6E>=R&A&D %=6 %$LL 5=R&A&D %=6 %$LL 5
8/18/2019 8.- restricciones.pptx
16/18
Elaborado por :Luz Alondra Katt Morales
Constraints
CASOS DE PRUEBA
&nsertamos valores a nuestra tala.I!SERT I!T/ 5A6E>=R&ANAL$E0 7OALKO" "OAL&)E%6=0O:;
ERR=R,Error starting at line K in command,&%0ER6 &%6= 5A6E>=R&ANAL$E0 7OALKO""OAL&)E%6=0O:
Error at 5ommand Line,5olumn,KPError report,0'LError, =RAQ998S, falta una e!presi-n998S. 99999 Q Tmissinge!pressionTU5ause,UAction,
8/18/2019 8.- restricciones.pptx
17/18
Elaborado por :Luz Alondra Katt Morales
Constraints - U!I.UE
CASOS DE PRUEBA
!ame !u** T2e
R$5D%&56E %=6 %$LL 5
8/18/2019 8.- restricciones.pptx
18/18
Elaborado por :Luz Alondra Katt Morales
Constraints - U!I.UE
CASOS DE PRUEBA
I!SERT I!T/ 5L&E%6ENAL$E07OW8CYW8O"OEL 0=L KO" OarzameXya2oo.esO" OCYCYKO" OArmando0anc2ezO"OYSCYS8CO:;
ERR=R,Error starting at line K in command,&%0ER6 &%6=
5L&E%6ENAL$E07OW8CYW8O"OEL 0=L[KO"OarzameXya2oo.esO"OCYCYKO"OArmando0anc2ezO"OYSCYS8CO:
Error report,0'L Error, =RAQ9999K, restricci-n única 70*06E).(+5L&E%6E:violada9999K. 99999 Q Tunique constraint 7\s.\s: violatedTU5ause, An$(DA6E or &%0ER6 statement attempted to insert a duplicate@ey.
4or 6rusted =racle configured in DB)0 )A5 mode" you may seet2is message ifa duplicate entry e!ists at a different level.UAction, Eit2er remove t2e uniquerestriction or do not insert t2e @ey