Está en la página 1de 15

Tema 03_5 Reglas de Integridad (parte 1)

Tema 3.5 Reglas de


integridad
TEMA 3 MODELO RELACIONAL

Profe. Ma. de Llourdes Soto Cortes

3.5 Reglas de integridad


3.5.1 Manejo de valores nulos

Profa. Ma. de Lourdes Soto Cortés 1


Tema 03_5 Reglas de Integridad (parte 1)

Integridad
INSERT INTO libro VALUES
(12,”Biologia”,”John”,”Kimball”,”W.”,
“AAA”,”Libro de ciencias naturales”)

12 Derecho Constitucional Mexicano Ignacio Borgoa DER

14 Derecho Civil Jose Alfredo Dominguez DER

Profe. Ma. de Llourdes Soto Cortes

Cuando una tabla va a ser creada, es necesario considerar todos los restricciones
relacionados con cada una de las columnas involucradas, estas restricciones son llamadas
constraints.

El concepto integridad va muy ligado con el termino constraint, ya que a través de todas la
restricciones definidas en cada columna, se esta asegurando que la información que será
insertada, actualizada o eliminada debe ser coherente.

Profa. Ma. de Lourdes Soto Cortés 2


Tema 03_5 Reglas de Integridad (parte 1)

Nombres de atributos

Profe. Ma. de Llourdes Soto Cortes

Nombrar los atributos de una entidad es un proceso en el cual se deben involucrar todas las
personas que van a trabajar con la base de datos.

Para lograr mejores acuerdos se deben establecer reuniones de negociación para dar las
normas y/o criterios de los nombres a elegir; así mismo se deben validar las siguientes
cuestiones:

•Utilizar nombre únicos para cada atributo, y con un significado real de lo que están
representando. Esto también representa el echo de poner abreviaturas, guiones bajos, etc.
Ejemplo: no_empleado .VS. num_empledo .VS. numero_empledo

•Evitar sinónimos y antónimos, esto con la finalidad de no confundir conceptos entre las
diversas entidades. Cabe señalar que los únicos atributos que deben de llevar el mismo
nombre son aquellos que son PK y FK.

Profa. Ma. de Lourdes Soto Cortés 3


Tema 03_5 Reglas de Integridad (parte 1)

Valores nulos

Profe. Ma. de Llourdes Soto Cortes

Un valor nulo es un valor totalmente desconocido. Es un valor que jamás fue dado por el
usuario.

Un valor nulo no es un espacio(s) en blanco, ni tampoco un cero.

Cuando un atributo no permite valores NULOS, se debe indicar con la palabra NOT NULL.

Profa. Ma. de Lourdes Soto Cortés 4


Tema 03_5 Reglas de Integridad (parte 1)

Valores únicos

Ø Jamás se repiten

Ø Todos deben ser diferentes

Ø Pueden ser la combinación de dos o más atributos

Profe. Ma. de Llourdes Soto Cortes

Un atributo con la característica de único indica que cada uno de los valores a insertar o
modificar dentro de él deben ser distintos.

La diferencia de un atributo ÚNICO con respecto a las PK, es que las PK permiten manejar
relaciones con una correspondiente FK en otra entidad, mientras que los atributos ÚNICOS
solo se manejan con la característica de ser distintos los valores y jamás repetirse, así mimo
no permiten generar relaciones con otras entidades.

Así mismo se puede indicar que dos o más atributos pueden tener un valor único como
resultado de la suma de ellos, Ejemplo: Apellido Paterno y Apellido Materno dentro de una
entidad deben ser únicos, sin embargo, Apellido Paterno puede repetirse por sí solo, así como
Apellido Materno también se pudiera repetir.

Profa. Ma. de Lourdes Soto Cortés 5


Tema 03_5 Reglas de Integridad (parte 1)

Diagrama Entidad Relación


SISTEMA DE RENTA DE VIDEOS

tienda cliente
UNN Codigo tienda
UNN Num cliente
NN Nombre tienda
Nombre
Calle
NN Apellidos
Ciudad
Calle
Estado
Ciudad
Cp
Estado
Gerente
Cp
cambio de precio Teléfono
NN Tipo de TDC
NN Codigo tipo video NN Número de TDC
U { NN Fecha de cambio NN Fecha expiración TDC
NN Precio anterior

tipo de video empleado


UNN Codigo tipo video
Descripcion tipo video UNN Num empleado
NN Precio de renta Nombre
NN Apellidos
Numero de Seguro Soc
renta maestro Calle
UNN Num. Renta Ciudad
NN Num. Cliente Estado
NN Numero empleado Cp
NN Fecha renta Teléfono
video NN Fecha Contratación
NN Tienda

UNN Num. Inventario


NN Distribuidor
NN Título renta detalle
NN Fecha de recibido
NN Codigo Distribuidor
Num renta
Num inventario
NN
NN
}U
NN Codigo Tipo Video Precio renta NN
NN Codigo tienda
distribuidor

UNN Codigo distribuidor


NN Nombre distribuidor

Profa. Ma. de Lourdes Soto Cortés 6/11


Tema 03_5 Reglas de Integridad (parte 1)

Tipos de datos

Carácter Numérico Binario

Profe. Ma. de Llourdes Soto Cortes

Cuando los datos deben ser definidos, también es bueno basarse en documentos fuentes
existentes, ya que con ello puede quedar más claro que tipo de dato debe ir en cada atributo.

Con respecto a las PK y FK el tipo de dato debe ser el mismo, esto es, si la PK fue definida
como un numero entero, la FK debe ser definida exactamente igual, como un número enter.

Profa. Ma. de Lourdes Soto Cortés 7


Base de Datos febrero de 2023

TIPO DE LONGITUD VARIABLE/


BYTES
DATO MAXIMA FIJO
CHAR 255 Fijo 1 por carácter

VARCHAR 255-65,535 Variable 1 por carácter


+1

BINARY 255 Fijo 1 por carácter

VARBINARY 255-65,535 Variable 1 por carácter


+1

Carácter

Profa. Ma. de Lourdes Soto Cortés 8/14


Base de Datos febrero de 2023

TIPO DE LONGITUD BYTES


DATO MAXIMA
TEXT 2^64 2+TOTAL DE
BYTES
BLOB 2^64 2+TOTAL DE
BYTES

Binarios

Profa. Ma. de Lourdes Soto Cortés 9/14


Base de Datos febrero de 2023

TIPO BYTES VALOR MÍNIMO VALOR MÁXIMO


TYNYINT 1 -128 127
SMALLINT 2 -32,768 32,767
MEDIUMINT 3 -8,388,608 8,388,607
INT ó INTEGER 4 -2,147,483,648 2,147,483,647
BIGINT 8 -9.22234E+19 9.22234E+19

Numéricos: entero

Veamos un ejemplo para comprender mejor qué tipo de dato nos conviene elegir para cada campo.
Si necesitamos definir un campo para almacenar la "edad" de nuestros usuarios, sería suficiente con
asignar a ese campo un tipo de dato TINYINT, que permite almacenar como máximo el valor de 127 (es
decir, por mas que tenga tres dígitos, no nos dejará almacenar un 999, ni siquiera un 128, solo un
número hasta el número 127 inclusive).
Como la edad posible de las personas queda incluida en ese rango, es suficiente un TINYINT.
Ahora bien, si queremos definir el tipo de dato para el campo id(identificador) de la tabla de productos
de un gran mercado que vende varios miles de artículos diferentes, ya no séra suficiente con un
TINYINT, y deberemos conocer con mayor precisión la cantidad de artículos distintos que comercializa
(en la actualidad y la cantidad prevista en un futuro próximo, para que nuestro sistema de
almacenamiento no quede obsoleto rápidamente).
Suponiendo que SMALLINT, ya que nos permitirá numerar hasta algo más de 32,000 artículos (tal
como vimos en el cuadro anterior).
En el supuesto de que el campo id deba utilizarse para una tabla de clientes de una empresa telefónica
con 5 millones de usuarios, ya no nos servirá un SMALLINT, sino que deberíamos utilizar
un MEDIUMINT.
En el caso de que esa empresa tuviera 200 millones de clientes, deberíamos utilizar un campo de
tipo INT.
Asimismo, si quisiéramos definir un campo que identifique a cada uno de los seres humanos que
habitamos en el planeta, deberemos recurrir a un campo BIGINT, ya que el tipo INT sólo permite
hasta 2 mil millones de datos diferentes, lo cual no nos alcanzaría.

Profa. Ma. de Lourdes Soto Cortés 10/14


Base de Datos febrero de 2023

Tipo de Bytes Valor Mínimo Valor Máximo


Dato
Float 4 0 dígitos 24 dígitos
Double 8 25 dígitos 53 dígitos
Decimal (p,s) 4 bytes para 0 dígitos 64 dígitos
Donde p total hasta 9 dígitos
dígitos y s parte
decimal

Numéricos: decimal

La estructura con la que podemos declarar un campo FLOAT implica definir dos valores:
la longitud total (incluyendo los decimales y la coma), y cuántos de estos dígitos son la parte
decimal. Por ejemplo: FLOAT (6.2)
Esta definición permitirá almacenar como mínimo el valor -999.99 y como máximo 999.99 (el signo
menos no cuenta, pero el punto decimal sí, por eso son seis dígitos en total, y de ellos dos son los
decimales).
La cantidad de decimales (el segundo número entre los paréntesis) debe estar entre 0 y 24, ya que
ése es el rango de precisión simple.
En cambio, en el tipo de dato DOUBLE, al ser de doble precisión, sólo permite que la cantidad de
decimales se defina entre 25 y 53.
Debido a que los cálculos entre campos en MySQL se realizan con doble precisión (la utilizada por
DOUBLE) usar FLOAT, que es de simple precisión, puede traer problemas de redondeo y pérdida
de los decimales restantes.
Por último, DECIMAL es ideal para almacenar valores monetarios, donde se requiera menor
longitud, pero la "máxima exactitud" (sin redondeos).
Este tipo de dato le asigna un ancho fijo a la cifra que almacenará.
El máximo de dígitos totales para este tipo de dato es de 64, de los cuales 30 es el número de
decimales máximo permitido. Más que suficientes para almacenar precios, salarios y monedas.
Los valores para columnas DECIMAL no se representan como cadenas que requieren un byte por
dígito o carácter de signo. En su lugar, se usa un formato binario que empaqueta nueve dítigos
decimales en cuatro bytes. Este cambio del formato de almacenamiento de DECIMAL cambia los
requerimientos de almacenamiento también. El almacenamiento para las partes enteras y
fraccionales de cada valor se determinan por separado. Cada múltiple de nueve dígitos necesita
cuatro bytes, y los dígitos restantes necesitan una fracción de cuatro bytes. Por ejemplo, una
columna DECIMAL(18,9) tiene nueve dígitos en cada parte del punto decimal, así que la parte
entera y fraccional necesitan cuatro bytes cada una. Una columna DECIMAL(20,10) tiene 10
dígitos en cada lado del punto decimal. Cada parte requiere cuatro bytes para nueve de los dígitos,
y un byte para el dígito restante.

Profa. Ma. de Lourdes Soto Cortés 11/14


Base de Datos febrero de 2023

Fecha

Profa. Ma. de Lourdes Soto Cortés 12/14


Base de Datos febrero de 2023

Fecha

Profa. Ma. de Lourdes Soto Cortés 13/14


Tema 03_5 Reglas de Integridad (parte 1)

Diagrama Entidad Relación


SISTEMA DE RENTA DE VIDEOS
tienda
cliente
Codigo tienda Char(3)
Nombre tienda Char(20) Num cliente Integer
Calle Char(80) Nombre Char(20)
Ciudad Char(20) Apellidos Char(30)
Estado Char(2) Calle Char(80)
Cp Char(10) Ciudad Char(20)
Gerente integer Estado Char(2)
Cp Char(10)
Teléfono Char(12)
cambio de precio Tipo de TDC Char(15)
Número de TDC Char(20)
Codigo tipo video Char(3) Fecha expiración TDC date
Fecha de cambio datetime
Precio anterior decimal(4,2)

tipo de video
Codigo tipo video Char(2) empleado
Descripcion tipo video Char(20)
Precio de renta decimal(4,2)
Num empleado Integer
Nombre Char(20)
video Apellidos Char(30)
Numero de Seguro Soc Char(11)
renta maestro Calle Char(80)
Num. Inventario integer Num. Renta integer Ciudad Char(20)
Distribuidor Smallint Num. Cliente Integer Estado Char(2)
Título Char(60) Numero empleado Integer Cp Char(10)
Fecha de recibido Date Fecha renta date Teléfono Char(12)
Codigo Distribuidor Char(3) Fecha Contratación date
Codigo Tipo Video Char(2) Tienda Char(3)
Codigo tienda Char(3)

renta detalle
Num renta Integer
Num inventario integer
Precio renta decimal(4,2)

distribuidor

Codigo distribuidor Char(3)


Nombre distribuidor Char(20)

Profa. Ma. de Lourdes Soto Cortés 14/11


Tema 03_5 Reglas de Integridad (parte 1)

EJERCICIO

INSTRUCCIONES:

Deberás entregar las respuestas en un documento PDF, con cada uno de los puntos que se te
piden, al final de cada página debe aparecer tu nombre y la fecha con la cual lo estás
entregando.

Con base a la definición de características de atributos y tipos de datos realiza lo siguiente.


1. Con base al diagrama Entidad Relación que será publicado el próximo lunes a esta clase,
deberás identificar los atributos que son UNIQUE y los que son NOT NULL, como se
muestra en la página 6 de este material.
2. Indicar por cada entidad que tipo de dato corresponde a todos sus atributos. Como se
muestra en la página 11 de este material.
3. Por cada punto lo deberás referenciar a través de un diagrama entidad
relación, cada fase deberás ir puliendo y dejando a punto tu diagrama.

La entrega es INDIVIDUAL con nombre de archivo:


ApellidoPatApellidoMat_TipoDato.PDF

Profa. Ma. de Lourdes Soto Cortés 15/11

También podría gustarte