Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado...

41
Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1 Modelo Relacional 3.1 Introducción al Modelo Relacional. 3.2 Conversión del Modelo E-R a Modelo Relacional. 3.3 Esquema de la Base de Datos. 3.4 Restricciones. 3.4.1 Integridad de Entidad. 3.4.2 Integridad Referencial. 3.4.3 Integridad de Dominio.

Transcript of Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado...

Page 1: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

Modelo Relacional

3.1 Introducción al Modelo Relacional.

3.2 Conversión del Modelo E-R

a Modelo Relacional.

3.3 Esquema de la Base de Datos.

3.4 Restricciones.

3.4.1 Integridad de Entidad.

3.4.2 Integridad Referencial.

3.4.3 Integridad de Dominio.

Page 2: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 2

Modelo Relacional

Modelo desarrollado durante los ochentas, muypopular porque permite rediseñar una base dedatos aún cuando ya esté en operación.

Con el tiempo se ha desarrollado una teoríaespecial para el diseño de las bases de datos y elprocesamiento eficiente de solicitudes deinformación.

La parte medular de esa teoría es lo que se conocecomo Normalización (la estudiaremos en laUnidad 5 de este curso).

Page 3: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 3

3.1 Introducción al Modelo Relacional

El esquema de una BD expresado en el Modelo Relacional se compone de una colección de tablas.

Las tablas pueden haber sido obtenidas de undiagrama E-R.

O pueden provenir de diseños propios de losusuarios apoyados en hojas electrónicas. Situación muy común, desde hace un tiempo, en

empresas de cualquier tamaño.

Cada tabla tiene un nombre único.

Cada renglón de una tabla representa datosrelativos a un evento, cosa u objeto.

Page 4: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 4

Para cada atributo hay un conjunto de valores permitidos llamado Dominio.

Dominio del atributo Control: Conjunto de los números de control de los alumnos inscritos en la

institución. Lo denominaremos D1. No puede ser el conjunto de todas las combinaciones de dígitos del 0

al 9, ya que para que haya un renglón en esta tabla, tiene que existir el alumno correspondiente (integridad referencial/restricción de existencia).

3.1 Introducción al Modelo Relacional

Page 5: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 5

Dominio del atributo Hora:

Conjunto de los inicios de hora de sesiones de clase en la Institución.

Lo denominaremos D3.

Dominio del atributo Motivo:

Conjunto { 'Actividad Cultural', 'Deportes', 'Enfermedad', 'Injustificada' }

Lo denominaremos D4.

Tabla INASISTALUM

Dominio del atributo Fecha:

Conjunto de todas las

fechas, presentes o

pasadas en que hubo

sesiones de clase.

Lo denominaremos D2.

3.1 Introducción al Modelo Relacional

Page 6: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 6

Cada una de las filas de la tabla INASISTALUM, seráuna tupla-4 (v1, v2, v3, v 4).

Tupla: Conjunto ordenado de valores que se usa para pasar una

cadena de parametros entre un programa y otro en loslenguajes de programación.

En matemáticas, una tupla es una secuencia finita deobjetos.

El concepto se extiende para indicar una lista de losvalores de las columnas de un renglón de una tabla.

Una tupla es análoga al registro de un archivo.

El término se originó a partir de la secuencia: single, double, triple, quadruple, quintuple, ... n-tuple.

3.1 Introducción al Modelo Relacional

Page 7: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 7

Cada uno de los valores que componen una tupla debe estar en su dominio correspondiente:

v1 es un numero de control válido.

v2 es una fecha válida.

v3 es una hora de clase válida.

v4 es un motivo válido.

La tabla INASISTALUM es un subconjunto detodas las filas (renglones) posibles.

D1 x D2 x D3 x D4

3.1 Introducción al Modelo Relacional

Page 8: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 8

En general, una tabla de n columnas debe serun subconjunto de

D1 x D2 x ...... x Dn-1 x Dn

En matemáticas, Relación es … Subconjunto del producto cartesiano de una

lista de dominios.

Por lo tanto,

Relación = tabla

Tupla = fila o renglón

3.1 Introducción al Modelo Relacional

Page 9: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 9

En una relación, los dominios de cada atributo deben ser atómicos.

Dominio Conjunto de Valores Válidos.

Dominio Atómico Todos sus elementos se consideran indivisibles.

Bajo este criterio, la relación ALUMNOS, podría quedar de lasiguiente forma:

3.1 Introducción al Modelo Relacional

Page 10: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 10

Para conocer algunos operadores del álgebra relacional, en

algunos ejemplos, los atributos correspondientes a fechas, losdescompondremos en sus 3 partes. Al implementar una BD eso no esnecesario (solo corresponderá a un atributo).

Por otro lado, en algunas relaciones usadas como ejemplo, no todos losatributos serán atómicos para no distraernos del estudio de otrosconceptos.

3.1 Introducción al Modelo Relacional

Page 11: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 11

Los diagramas E-R, producen tablas que contienen atributoscomunes.

Las relaciones de una base de datos relacional tienen tambiénatributos comunes.

Tales atributos nos permitirán "conectar" tuplas de dos o másrelaciones independientes.

Suponiendo que el Nombre de un alumno fuera llave única,¿Qué algoritmo se seguirá para responder a la pregunta:

¿Cuantas faltas tuvo Mickey Mouse?

3.1 Introducción al Modelo Relacional

Page 12: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 12

Si se esta diseñanado una B.D. a partir de datos generados por el usuario, lo más probable es que haya solo una relación en vez de dos.

Los usuarios usan hojas electrónicas y tienden a manipular los datos en una sola tabla por cuestiones de simplicidad.

3.1 Introducción al Modelo Relacional

Page 13: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 13

¿Cuál sería el proceso para responder a la misma pregunta:Cuantas inasistencias ha tenido Mickey Mouse?

¿Es más sencillo el proceso con una o con dos relaciones? Independientemente de la aparente facilidad de manejo de los

datos organizados en solo una tabla, hay una desventaja: datos duplicados.

3.1 Introducción al Modelo Relacional

Page 14: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 14

Llaves

Los conceptos estudiados previamente son válidos para elmodelo relacional.

Superllave

conjunto de uno o más atributos que unidos nos permitenidentificar de forma única a una tupla dentro de una relación.

Llave Candidata

Superllave para la cual ninguno de sus subconjuntos propios esuna superllave.

Llave Primaria

Llave identidad (auntoincremental) elegida por el diseñadorcomo medio principal para identificar tuplas dentro de unarelación.

3.1 Introducción al Modelo Relacional

Page 15: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 15

Convenciones de Nombres

• Ya que los objetos que componen las Bases de Datos deben ser fácilmente identificados por otras personas, no solo quien diseña, es indispensable adoptar convencionalismos aceptados por la mayoría.

• Aquí mencionaremos algunos de ellos.

3.1 Introducción al Modelo Relacional

Page 16: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 16

Denominación de objetos en general:

• Se debe limitar la longitud de los nombres a 20 y tratar de evitar dígitos como parte del nombre.

• Nunca use espacios (aunque el DBMS lo permita). • Trate de evitar guiones bajos (mejor use

NotacionPascal).• Evite abreviaciones, ya que se puede malinerpretar el

nombre. Por ejemplo, nunca use Nom en lugar de Nombre.

• Evite acrónimos, puede haber diferentes significados para algunos de ellos, por ejemplo: CP.

3.1 Introducción al Modelo Relacional

Page 17: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 17

Tablas

• Los nombres de las tablas deben ser mas cortos aún (sin que dejen de ser claros), ya que usan muy frecuentemente.

• El nombre de una tabla debe ser un plural o una palabra que implique una colección de objetos para que sea congruente con su contenido.

• Prefijos. Usados correctamente permiten organizar las tablas de acuerdo a grupos relacionados o distinguirlas de otras tablas no relacionadas. Por ejemplo las tablas de Control Escolar se podrían llamar:ceAlumnos, ceMaestros, ceGrupos, etc. Las de Contabilidad: ctbCargos, ctbAbonos, etc.

3.1 Introducción al Modelo Relacional

Page 18: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 18

Tablas

• Tablas que son asociaciones entre otras tablas (o conjuntos de relaciones desde el punto de vista del Modelo E-R), puede convenir asignarles nombres que indiquen la cardinalidad, por ejemplo: GruposMaestro, el nombre implica N:1

• Las tablas relacionadas deben llevar el nombre de la tabla principal al Inicio ya que el DBMS las ordena alfabéticamente y es importante para localizar fácilmente la información.• AlumnosPagos, AlumnosRelaciones, ClientesFacturas,

ClientesPagos, ClientesCondiciones.• De acuerdo a lo anterior, seria incorrecto:• PagosAlumnos, RelacionesAlumnos, FacturasClientes,

PagosClientes, CondicionesClientes.

3.1 Introducción al Modelo Relacional

Page 19: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 19

Columnas

• Cuando asigne los nombres, tenga siempre en mente que ya se sabe que son miembros de la tabla, por ejemplo: la tabla Alumnos, debe tener un atributo llamado Nombre pero nunca NombreAlumno.Hay una excepción a esta regla: las llaves PRIMARIAS, que generalmente se llevan a otras tablas conviene denominarlas IdAlumno o IdMaestro (siempre y cuando sean llaves Identidad como veremos en la página siguiente).Cuando en la misma tabla se encuentra más de una vez la misma llave foránea, por ejemplo, en AsesoriasAlum, es conveniente nombrarlas IdAlumnoInstructor, IdAlumnoAsistente, etc., o simplemente IdInstructor, etc.

3.1 Introducción al Modelo Relacional

Page 20: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 20

Columnas

• Las llaves PRIMARIAS y FORANEAS conviene que se llamen exactamente igual en todas las tablas (madres e hijas) para facilitar la escritura de las consultas SQL.

• Es una buena costumbre, usar el prefijo Id (Identificador) antepuesto al singular de la tabla para formar llaves primarias (IdAlumno, IdMateria), siempre y cuando se trate de un valor autoincremental o identidad, como se les conoce generalmente. • Las llaves Id deben establecerse siempre y cuando haya al

menos una llave candidata (unique).Cuando la(s) llave(s) candidata(s) de una tabla se compone(n) de varios atributos, con mayor razón hay que usar un atributo Identidad y la(s) llave(s) candidatas establecerlas como unique.

3.1 Introducción al Modelo Relacional

Page 21: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 21

Columnas

• Debe escribir los nombres de los atributos booleanos con nombres como: DadoDeBaja, TienePermiso, etc.

• Atributos que son fecha u hora deben llevar en el nombre la palabra fecha u hora, por ejemplo:FechaFinContrato, HoraSalida, etc.

• Si algún atributo representa tiempo debe añadirse la unidad de medida, por ejemplo:DiasCredito, MaxMinutosRetraso, DuracionSegundos, etc.

3.1 Introducción al Modelo Relacional

Page 22: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

• Esta es la representación que se usó para un conjunto de entidades y se parece mucho a una tabla.

• ¿Qué es una tabla?

• Una tabla es una colección organizada de datos en renglones y columnas, a manera de una hoja electrónica.

• Tiene gran parecido con los registros de un archivo plano.• Cada tabla debe tener un nombre único en una Base de

Datos.• Cada columna debe tener un nombre único en cada tabla.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 23: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

•El modelo E-R básicamente es una herramienta de diseño que se emplea para producir los esquemas de las tablas de una Base de Datos.

•A cada conjunto de entidades y de relaciones corresponderá una tabla, excepto cuando hay conjuntos débiles.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 24: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

Conjuntos de Entidades Fuertes

• El nombre de la tabla será el del conjunto deentidades.

• Cada atributo del conjunto ocasionará unacolumna de la tabla.

• El nombre de cada columna corresponderá con elnombre del atributo.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 25: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

Conjuntos de Entidades Fuertes

Una vez diseñado el esquema de la tabla, podrá ser creada usando DDL en el DBMS.

Mediante el DBMS y un programa en un lenguaje, se podrán añadir, eliminar o modificar renglones.

Cada renglón corresponderá a los datos de una entidad.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 26: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.2 Conversión Modelo E-R a Modelo Relacional

Tabla Alumnos

Page 27: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.2 Conversión Modelo E-R a Modelo Relacional

Page 28: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

La tabla deberá incluir una columna para cada llave primaria de las entidades involucradas.

Si cuenta con atributos

propios, cada uno de ellos

ocasionará una columna más

en la tabla.

Conjuntos de Relaciones

Page 29: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún
Page 30: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

MAESTROS

Sueldo

DomicilioTeléfono

Nombre

CURPCurso - - - - -

Instructor

Asistente

Inicio - - - - -

Término

DuraciónHs

CusosActualiz

*IdMaestro

En las tablas correspondientes a relaciones unitarias (o recursivas) el nombre del rolserá el nombre de la columna.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 31: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

La tabla resultante tendrá las características de lastablas de un conjunto fuerte, más una columna parala llave primaria de la entidad fuerte asociada.

MotivoFecha

MAESTROS

CURP

Domicilio TeléfonoNombre

Sueldo

*IdMaestro

• La llave es IdPermisoMaestro.• La llave única es IdMaestro+Fecha.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 32: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

Los conjuntos de relaciones entre un conjunto fuerte y unodébil no ocasionarán una tabla porque la relación vaimplícita en la tabla creada para el conjunto débil (la llaveprimaria del conjunto fuerte ya se incluyó).

MotivoFecha

MAESTROS

CURP

Domicilio TeléfonoNombre

Sueldo

*IdMaestro

3.2 Conversión Modelo E-R a Modelo Relacional

Page 33: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.2 Conversión Modelo E-R a Modelo Relacional

Page 34: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

Para convertir un diagrama con Generalización yEspecialización y evitar la redundancia en la Base de Datoscuando, como en el caso que se muestra, una personadesempeña diversos roles, se debe crear:

1. Una tabla para el conjunto general.• Columnas para cada uno de sus atributos.

2. Una tabla, para cada conjunto de entidades del nivelinferior.

• Columnas para cada uno de sus atributos.• Además incluirá una columna correspondiente a la

llave primaria del conjunto superior.

3.2 Conversión Modelo E-R a Modelo Relacional

Page 35: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.2 Conversión Modelo E-R a Modelo Relacional

Page 36: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

El esquema, como se estudió previamente, esla descripción lógica de la Base de Datos.

• Las tablas, sus atributos, tipos de datos desus atributos así como las diferentesrestricciones indispensables para mantener laintegridad.

3.3 Esquema de la Base de Datos

Page 37: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

Ejercicio 1

Convertir a tablas el diagrama E-R que se creóa lo largo de la Unidad 2.

• Revise y corrija, en caso necesario, losnombres de las tablas y sus atributos.

• Indique también los detalles de losatributos: tipo, tamaño, dominio, asícomo las llaves primaria y únicas.

3.3 Esquema de la Base de Datos

Page 38: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.4.1 Integridad de Entidad.

Todas las tablas deben tener al menos una llaveúnica para evitar tuplas duplicadas.

Si se da el caso en el que una tabla no tieneatributos suficientes para formar una llaveúnica, hay que cuestionarse si esa tabla estácorrectamente diseñada.

3.4 Restricciones

Page 39: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.4.2 Integridad Referencial.

Las tablas que incluyen llaves foráneas (llaves primariasde otra tabla) deben tener establecida integridadreferencial.

El mejor criterio es establecer la restricción de borrado yactualización en NO ACTION (o RESTRICT) para impedirel riesgo de borrado masivo involuntario (CASCADE).

Si se usa integridad referencial para integridad dedominio, se debe establecer ON DELETE RESTRICT y ONUPDATE CASCADE como se estudiará en otro momento.

3.4 Restricciones

Page 40: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

3.4.3 Integridad de Dominio.

Todos los atributos deben tener valorespertenecientes a un conjunto llamado Dominio.

En el DBMS debe establecerse el rango devalores o el conjunto de valores válidoscorrespondientes. La cláusula CHECK permitede manera sencilla establecer la restricción dedominio.

3.4 Restricciones

Page 41: Modelo Relacional - felipealanis.org ITD/Fundamentos de... · Modelo Relacional Modelo desarrollado durante los ochentas, muy popular porque permite rediseñar una base de datos aún

Fund. Bases de Datos Ing. Felipe Alanís González -ITD-

Ejercicio 2

Instalar SQL Server de Microsoft o MySQL, paracrear el esquema de la Base de Datos.

• Crear una base de datos llamada ITD.• Crear las tablas indicando todas las

restricciones.

3.3 Esquema de la Base de Datos