Contenido
Conceptos básicos y su aplicación
Entidades, Atributos
Descripción de relaciones
Tipos de relaciones
Modelo de datos
Modelo relacional
Llave foránea
La gente interactúa normalmente con Bases de Datos, y sus tecnologías asociadas. Para
dejar en claro estos términos y tecnologías, se definen a continuación, para aclarar los
temas principales que se cubren en este curso. Los términos a definir y que se usarán con
esta definición en el resto de curso son:
Datos.
Antes de definir que es una Base de Datos es primordial entender que es un dato. Los datos
son hechos, que sirven para describir a objetos, gente, o eventos. Son la materia prima
utilizada para producir información.
Base de Datos.
Para hablar de una definición de base de datos se debe primero entender algunos
requerimientos que deben ser resueltos:
• La necesidad de compartir datos, entre diferentes usuarios, y que los datos presenten
una relación entre ellos, y que estén diseñados para cumplir las necesidades de
información de la empresa, y de sus diferentes partes que la forman
• Una definición de los datos integrada, que ofrezca una definición de los mismos,
para poder tener la independencia requerida entre los datos de la empresa, y los
programas de aplicación que los van a utilizar
• Se requiere de un modelo que represente los datos de la empresa, compuesta
comúnmente por entidades, atributos, y relaciones
Datos relacionados.
– Esta característica implica el que los datos representan hechos, relacionados
lógicamente, acerca de aspectos del mundo real que son de interés para el
área que apoya una aplicación. Por ejemplo, los datos que se necesitan en
una Base de Datos orientada al área de administración de una empresa, en la
cual se manejan datos de: clientes, pedidos que los clientes realizan, los
artículos que los pedidos incluyen, el surtido de los pedidos, la facturación a
los clientes de sus pedidos entregados, los pagos que los clientes realizan
sobre sus facturas, etc. Lo mismo se puede hacer para describir los datos que
se manejan en el área de manufactura de una empresa.
Datos integrados.
– Esta característica implica que los datos para múltiples aplicaciones se
almacenan juntos, y pueden ser manipulados de igual forma por dichas
aplicaciones. Al estar almacenados juntos, los datos puedes compartirse,
permitiendo que múltiples aplicaciones las utilicen, sin hablar de fronteras,
que establecen normalmente barreras artificiales para este uso compartido.
Un buen ejemplo es la información que se genera cuando un área de la
empresa registra la información de una orden interna para compra de un
producto. Esta información es compartida y utilizada por el área interna de
compras, que genera una orden de compra al proveedor, quien surte la orden
que será recibida en el almacén, y cuya información comparte con
contabilidad, que la requiere para sus registros. Las cuentas por pagar
atienden las facturas de los proveedores, en base a la información de los
pedidos entregados. Esto ejemplifica la necesidad y la facilidad para
compartir estos datos.
Ventaja del enfoque de uso de una base de datos
Con la modelación de los datos requeridos por una base de datos se logra:
El modelo de Entidad Relación, fue propuesto por Peter Chen, en 1976. Usado como el
modelo sobre el cual se define el modelo de datos requerido por una aplicación.
Crea un modelo de datos en términos de: entidades, sus atributos y asociaciones entre
las ocurrencias de sus entidades, llamadas relaciones (Relationships).
• Entidades
• Atributos
• Relaciones
Entidades:
• Entidad Fuerte: Posee un identificador que determina de manera única a las ocurrencias
de la entidad. Tiene existencia propia, que no depende de la existencia de otras entidades.
Se representa:
• Entidad Débil: Deriva su existencia de los atributos que son identificadores de una o más
entidades padres.Su existencia está limitada o determinada por la existencia de las
entidades padres. Se representa:
Atributos:
• Se representan así:
Propósito:
Pregunta inicial:¿Cuáles son las entidades de interés acerca de las cuales se desea
almacenar datos ?
• Para un negocio comercial podrían ser:CLIENTES, PRODUCTOS, INVENTARIO,
PROVEEDORES, FACTURAS, ORDENES DE COMPRA.
Construcción:
• Dibujar un bloque para cada entidad identificada.
• Nombres de las entidades:
se recomienda que sean en singular
Ejemplo: CLIENTE en lugar de CLIENTES.
• Siguiente pregunta:
¿ Cuál relación existe entre cada par de entidades ?
Ejemplos:
Un CLIENTE se puede asociar con muchas FACTURAS, y cada FACTURA puede
ser sólo asociada a un CLIENTE.
Tomando PRODUCTO y FACTURA:
Un PRODUCTO puede asociarse con muchas FACTURAS, y una FACTURA
puede ser asociada a muchos PRODUCTOs.
Concepto importante acerca del análisis ER: una relación muchos-a-muchos puede ser
dividida en 2 relaciones uno-a-muchos, identificando la "entidad intersección".
Por ejemplo:
La relación muchos-a-muchos entre PRODUCTO y FACTURAs
Pregunta:
¿ Qué permite asociar a un PRODUCTO con muchas FACTURAS, o a una FACTURA con
muchos PRODUCTOs ?
Al analizar cada par de entidades, se pregunta por sus relaciones. Si existen, deben ser
clasificadas de acuerdo a los siguientes tipos de relaciones:
EJERCICIO:
¿ Es una FACTURA una entidad, o es una relación entre un CLIENTE y un PRODUCTO ?
Es posible encontrar argumentos para apoyar a ambos puntos de vista.
Condición clave para la diferenciación:
• Si se puede definir un atributo identificador, es una entidad
• Si no se le puede encontrar un atributo identificador y asocia otras entidades, es una
relación
Descripción de Relaciones
Relación obligatoria:
Tipos de relaciones
Relación opcional:
Relación Unitaria
Es jefe
de
Le reporta
a aaaaaaa
"Un empleado puede ser jefe de cero o más empleados" o
"Un empleado siempre reporta a otro empleado"
Sistema de Administración de Base de Datos.
El modelo de datos entonces define a los datos de tal forma que se organizan para ser
manipulados en la base de datos. Este módulo permite introducir el concepto de Bases
de Datos Relacionales, y la forma en la cual los datos se pueden definir para ser
representados en base a relaciones matemáticas, o relaciones, esencia del modelo
relacional. La forma natural de representar una relación es en base a una tabla, o
representación tabular de las relaciones.
El modelo relacional es el modelo de datos que soporta a la mayoría de los productos
de bases de datos en el mercado actual. Es un modelo formal, basada en las
matemáticas, en su concepto de relación matemática y en la teoría de conjuntos. El
contenido de este módulo y el siguiente presentan los conceptos y términos que se
presentan a continuación:
Para la creación de una base de datos es necesario contar primero con el modelo de
datos que permita crearla. (Modelo de Entidad – Relación)
Que es el modelo relacional
El modelo relacional fue propuesto por E.W. Codd en 1970. Es actualmente el modelo
que soporta a la gran mayoría de los sistemas de bases de datos de la actualidad. El
modelo provee características únicas de modelación, que permiten crear modelos de
datos relacionales, con relativa facilidad.
Nombre
Apellido
Ciudad
Estado
Carrera
Fecha de
Nacimien
to
45175
José
Pérez
Monterrey
NL
Ing. En
Electrónica
21/01/198
0
46550
Luis
Martínez
Hermosillo
SON
Ing. En
Computaci
ón
12/06/198
1
• Es un modelo formal de datos, característica que lo diferencia de los otros
modelos.
• Es un modelo basado en las matemáticas, en el concepto de relación
matemática y en teoría de conjuntos.
• La manera natural de representar una relación es en forma de tabla, que
permite una conceptualización y explicación sencilla de este concepto.
• Además, por ser un concepto matemático, las tablas que forman una base de
datos relacional son manipuladas con muchas ventajas por operadores
matemáticos muy sencillos y poderosos, el álgebra y el cálculo relacional. A
partir de estos operadores es muy sencillo resolver cualquier consulta que un
usuario requiera. Estos lenguajes, conjuntos de operadores, están presentes en
el SQL, lenguaje estándar para la manipulación de Bases de Datos relacionales
comerciales.
La teoría que soporta a las bases de datos relacionales es muy formal, matemática. Por
esta razón, es importante conocerla para tener un entendimiento que permita obtener
el máximo aprovechamiento de ésta. Los conceptos que se presentan en este apartado
deben permitir que se aproveche al máximo la tecnología, por lo que su entendimiento
es indispensable. Se presentan esos conceptos a continuación.
Relación R:
Por ejemplo, en la tabla relacional ALUMNO, cada renglón corresponde a los datos de
un alumno en particular. La tabla o relación contiene entonces los renglones que
representan los datos de los alumnos en una escuela.
Finalmente, cada columna de la tabla relacional, cada atributo, contiene los valores del
atributo para cada uno de los renglones u ocurrencias de la tabla. Los valores que un
atributo puede tomar se conocen como el dominio del atributo, y es muy importante
su definición, ya que permite cuidar las reglas de los valores válidos en un atributo.
• Nombre de la tabla
• Nombre para cada columna o atributo que forma la tabla
• El dominio sobre el cual está definido cada uno de los atributos que forman la
tabla.
Una tabla relacional es una tabla bidimensional que posee la siguientes características:
• Los renglones poseen datos acerca de una entidad, entendiendo como entidad a
algo acerca de lo cual se desea almacenar datos.
• Las columnas contienen datos acerca de los atributos de la entidad.
• Cada posición en la tabla almacena un valore simple, atómico, de un atributo
• Todos los valores almacenados en una columna son del mismo tipo, es decir,
están definidos sobre el mismo dominio
• Cada columna o atributo debe poseer un nombre único
• El orden de las columnas no es relevante
• El orden de los renglones no es relevante
• No pueden existir dos renglones idénticos en la tabla
• Se utiliza el nombre de tabla relacional, en lugar de relación, para evitar
confundir con el nombre que se le da a una relación en el sentido natural del
Español, es decir, la asociación entre elementos, aunque es importante aclarar
que no todas las tablas son relaciones
• Los siguientes términos se utilizan de manera equivalente, para referirse a
términos comunes en el área de Bases de Datos: Tabla/renglón/columna =
archivo/registro/campo = relación/tupla/atributo
• El grado de una relación es el número de columnas o atributos de la misma y no
puede ser cero, una tabla no puede existir sin columnas.
• La cardinalidad de una tabla es el número de renglones o tuplas en la tabla.
Una llave está formada por uno o más atributos que permiten identificar de forma única
a cada tupla o renglón en una tabla relacional. Una llave compuesta es una llave que
está formada por dos o más atributos.
Además:
Una tabla relacional puede tener solo una llave primaria, pero pueden tener llaves
adicionales, que son llamadas llaves candidatas o alternas
Una llave primaria se usa para
– Establecer relaciones entre diferentes tablas
– Permiten organizar la forma en que las tablas se almacenan
– Son usadas para generar índices, mecanismos usados para el acceso eficiente
a los datos
Llave primaria
En tablas en las cuales existe más de una llave, se selecciona a una de ellas, como la llave
con la cual se realizan búsquedas o con la cual se establecen relaciones entre las tablas. Este
es el caso de la llave primaria. Las llaves restantes son llamadas llaves alternas o
secundarias.
La selección de la llave primaria se considera normalmente sobre la base de ser la llave más
pequeña, aunque no es una condición absoluta. El caso de una llave compuesta, que
consiste de varios atributos, es mucho más compleja de manejar como llave primaria, por
ejemplo.
• Semánticas, que son específicas a la aplicación, impuestas por las reglas de negocio
que la aplicación misma pide cumplir. Un ejemplo puede ser las condiciones que
una empresa puede requerir para la contratación de un empleado, y que el sistema
debe cumplir, lo que impone reglas que los datos de la base de datos debe cumplir.
Por su importancia es indispensable que se conozca sobre las mismas, que se definan
en la creación de la base de datos, y que el acceso a la base de datos cumpla con ellas.
A continuación se presentan las bases del manejo de reglas de integridad, para que se
busque su cumplimiento.
1. Regla de Integridad de Dominio. Hace referencia a que los valores de los datos
deben ser atómicos. El dominio de cada atributo debe estar compuesto de
valores atómicos, por lo tanto no puede ser un valor compuesto de otros
valores más simples, como un arreglo, o un registro de valores. Si se requiere
almacenar una dirección por ejemplo, será necesario separar en diferentes
atributos, como Calle, número, colonia, ciudad.
2. Regla de Integridad de Llave. Establece que la llave de una entidad debe ser
única.
3. Regla De Integridad referencial: Las referencia de una tabla a otra tabla debe
ser con valores de llaves consistentes.
Las relaciones entre las tablas se establecen entre renglones de una tabla con
renglones en la segunda tabla. Estas relaciones se establecen mediante las llaves,
donde la llave primaria de una tabla se replica en otra tabla, para establecer la
relación. La replica de la llave primaria en otra tabla, recibe el nombre de llave
foránea (foreign key).
Una llave foránea (FK) es uno o mas atributos en una tabla, que son la llave primaria
en otroa tabla, inclusive la misma. La llave foránea debe cumplir con:
1. Los atributos que forma la FK deben estar definidos en los mismos dominios
que los atributos que forman la PK relacionada a la FK. La condición hace
referencia a que los valores deben coincidir entre la FK y la PK, no sobre los
nombres de los atributos, por lo cual los nombres en ambas llaves pueden ser
diferentes.
2. El valor de la FK en un renglón de la tabla, debe coincidir con un valor de la PK
en la otra tabla, o ser un valor NULO. Esto garantiza que la información es
consistente entre las tablas que mantienen una relación entre ellas.
En general, las reglas de integridad referencial pueden ser definidas entre dos tablas,
en cualquier dirección, e inclusive pueden ser definidas entre ocurrencias o renglones
de la misma tabla.
Un departamento académico se asocia con los diferentes profesores que trabajan en él.
Por otro lado un profesor es jefe o director de un departamento académico.
Diseño de un Sistema que utiliza una Base de Datos
La primera opción toma como base la observación del mundo real bajo estudio,
generando un conjunto de tablas, que contengan los atributos y las restricciones de
integridad sobre las mismas.
Aunque la normalización es una base muy importante para el diseño de una base de
datos, este diseño no puede limitarse a la aplicación exclusiva de la teoría de la
normalización.
El diseño de una base de datos, por otro lado, tiene múltiples puntos de vista, y formas
de desarrollarse, de acuerdo a esos puntos de vista. Para este curso, la idea del diseño
es que se convierta en un proceso práctico, que facilite el proceso de diseño.
En base a esos puntos de vista, un proceso de diseño práctico, incluye las siguientes
fases:
Esta fase corresponde a la definición del esquema conceptual, que es el esquema que
define el modelo de datos a alto nivel, independiente de cualquier sistema de
administración de bases de datos. Por ser un modelo abstracto, no puede utilizarse
para definir la estructura de la base de datos.
Estas fases son genéricas, por lo que deben revisarse para el caso particular de cada
empresa.