Vous êtes sur la page 1sur 23

Unidad: Bases de Datos

Pág.

1

Especialidad: Informática Sub-área: Manipulación de la Información

Unidad de Estudio: Bases de Datos

Objetivo # 1. Sintetizar los diferentes elementos relacionados con el manejo de datos.

Dato: Esta palabra proviene del latín datum y significa hecho. Es una unidad lógica de información que, junto con muchas otras, se suministra a un equipo para la resolución de una aplicación.

Información: es cuando un dato esta siendo utilizado por una aplicación o simplemente un dato interpretado.

Fuentes de Datos: En la actualidad el sistema de procesamiento de datos puede consistir en el método tradicional donde un empleado archiva manualmente los datos en carpetas, o pueden ser un sistema moderno que utilice la más rápida computadora y el hardware y el software más sofisticado. El objetivo básico es proporcionar la información correcta en el momento oportuno a la persona indicada en el lugar apropiado y al menor costo.

Valor de los Datos: Es un dato único, contenido en el campo de datos. Los valores pueden ser cuantitativos, cualitativos o descriptivos, dependiendo de la manera en que los datos describan a la entidad. Los valores que toman los campos se conocen como datos. Al conjunto de valores tomados por los campos de datos de una entidad se le llama ocurrencia de la entidad. Por ejemplo, el número de teléfono de una persona X.

Campo: Es una categoría de información pertinente a todos los registros. Por ejemplo, los números telefónicos de cierta cantidad de personas.

Registro: Es un conjunto de uno o más campos que forman un grupo de datos de una persona o cosa relacionados entre sí. Por ejemplo, el nombre y dirección de una persona.

Archivo: También se llama tabla. Es un grupo de registros almacenados en filas y columnas. El término tabla es actualmente más utilizado debido a la importancia del Modelo Relacional. Sin embargo, utilizar la palabra archivo es válido. Existen archivos uniformes en donde los registros son homogéneos, y también existen los archivos con registros heterogéneos. Por ejemplo, los registros que contienen los nombres y direcciones de muchas personas.

Atributo: Toda entidad tiene algunos atributos básicos que la caracterizan. Una casa se puede describir por su tamaño, color, antigüedad y alrededores. Un cliente de un banco se puede identificar por su nombre, cédula, dirección.

Objetivo # 2. Analizar los elementos fundamentales para el trabajo con bases de datos.

Unidad: Bases de Datos

Pág. 2

Base de Datos: Es una colección de información o datos relacionados almacenados en un dispositivo de almacenamiento masivo, el cual se encuentra disponible, en forma simultánea a un número de usuarios

autorizados y en un tiempo pertinente. Una base de datos puede estar en papel o en una computadora; es sencillamente un conjunto de hechos o datos que se relacionan de alguna manera. Por ejemplo, las agendas telefónicas, los registros médicos y financieros, la información personal, las listas de correo y los diccionarios.

Sistema de Bases de Datos: Es el sistema que soporta una BD y su SABD.

Objetivos de los Sistemas de BD:

La consulta a la BD se puede hacer en forma directa. Acceso simultáneo donde diferentes usuarios pueden tener acceso a la BD. Reducir la redundancia de los datos. Minimizar las inconsistencias de los datos (datos incorrectos) mediante un buen diseño. Mantener la privacidad, integridad y seguridad de los datos mediante controles centralizados.

Sistema Administrador de Base de Datos (SABD):

Proviene del inglés Database Management System

(DBMS). Es el software que se encarga de facilitar la comunicación de los usuarios con la BD, por medio de

un lenguaje de consultas y en donde se garantiza la integridad y la seguridad de los datos, así como la recuperación de la BD en caso de fallas. El SABD dispone de un lenguaje de definición de datos (LDD) que permite la definición de las estructuras entidades, registros, etc.- y de un lenguaje de manipulación de datos (LMD) que permite la inserción, modificación o supresión de datos de la BD. En un SABD relacional estos dos lenguajes se encuentran integrados y se llama simplemente lenguaje de consultas.

Funciones de un SABD:

Más allá de solo permitir el diálogo entre usuarios y la BD, mediante la definición y

manipulación de los datos; el SABD debe brindar mecanismos que permitan controlar la concurrencia de varios usuarios que deseen accesar la BD en forma simultánea; mantener la seguridad y la integridad de la BD; recuperar la BD y dejarla en estado consistente incluso después de una falla del sistema, provocada ya sea por hardware o por software.

 Descripción  Manipulación SABD BD  Control de la concurrencia  Seguridad  Integridad
 Descripción
 Manipulación
SABD
BD
 Control de la concurrencia
 Seguridad
 Integridad
 Recuperación después de una falla

Control de la concurrencia: La BD debe estar disponible para que varios usuarios autorizados puedan

accesarla en forma simultánea. Este acceso puede ocasionar conflictos cuando dos o más usuarios se interesan

).

simultáneamente en el mismo objeto (relación, dato,

El SABD debe disponer de mecanismos que permitan

arbitrar estas situaciones de manera que la BD quede en estado consistente después de la intervención de los

usuarios.

Unidad: Bases de Datos

Pág. 3

Seguridad: No todos los datos deben estar disponibles para cualquier usuario. El SABD debe brindar mecanismos que permitan confidencialidad de la información mediante controles como login (para poder

entrar a una red), password, encriptamiento (código de mensajes solo receptor emisor lo conocen) (traducir

los datos en un criptograma por medio de un código) y el control de flujo de los datos (persigue que un usuario no pueda inferir los datos privados a partir de los datos que si tiene acceso).

Integridad: Un SABD debe establecer las reglas de integridad que ayuden a la verificación semántica 1 y sintáctica 2 de los datos. Esto es una parte importante en todo el desarrollo de bases de datos. Debe buscarse un equilibrio pues dependiendo del número de reglas, el rendimiento del sistema se puede ver afectado. Un ejemplo de una regla de integridad es que el salario del empleado siempre sea superior a 50.000 colones, si no es así, no se permite el ingreso del dato.

Recuperación después de una falla: Con el fin de tener una BD consistente, se debe manejar las transacciones como una ejecución atómica, o sea, se realiza toda la transacción o no se realiza del todo, borrando todo el trabajo que una transacción de usuarios haya podido hacer si ésta aun no ha llegado a su punto de validación. Para ello, el SABD invoca a una bitácora para hacer, rehacer o deshacer los cambios generados por la transacción del usuario.

Administrador de la BD: Es una persona o grupo de ellas que debe mantener la BD en un estado consistente

y que su utilización sea lo más eficiente posible. Es quien sirve de puente entre la BD y los usuarios finales. Debe ser una persona con un alto conocimiento de la tecnología de BDs y del SABD que está utilizando. También debe tener conocimientos de redes de computadoras. Sus funciones son:

o

Dar mantenimiento al diccionario de datos, de manera que refleje claramente el significado de los objetos, las asociaciones entre ellos y las reglas de integridad.

o

Establecer y afinar la estructura física de la BD. o Realizar cambios en los métodos de acceso o en las estructuras de la BD, según las necesidades de los usuarios y el mejoramiento del rendimiento de la BD.

o

Asignar códigos de acceso, con el fin de mantener seguridad y confidencialidad de la BD. o Implementar mecanismos de recuperación de la BD en caso de falla. o Si se trabaja en un ambiente distribuido, verificar el acceso desde diferentes sitios. MODELO ENTIDAD-RELACIÓN

El modelo de los datos permite representar la información del mundo real en una forma cada vez más fiel. Este modelo de datos se compone de cinco conceptos que permiten establecer la estructura y manejar la complejidad de los sistemas.

1. Entidad

2. Asociación

3.

Atributo

4. Herencia

5.

Composición

1. Entidad: Es un conjunto de objetos similares que son agrupados debido a que tienen características

semejantes, según el contexto de la aplicación que se está modelando. El concepto objeto se refiere a

cualquier cosa concreta o abstracta del mundo real. Por ejemplo, Pedro, María y Juan son objetos de

la entidad PERSONA. Una entidad se representa gráficamente por un rectángulo con dos zonas, en la

1 Se refiere al significado de las datos

2 Se refiere al formato a seguir según la definición de cada campo.

Semántica:

Sintáctica:

Unidad: Bases de Datos

Pág. 4

parte superior se colocarán los atributos que conforman la llave primaria de la entidad y el resto de los atributos se colocan en la parte inferior.

Juan Pedro María
Juan
Pedro
María

PERSONA Ejemplo de una entidad

Nombre de la Entidad

María PERSONA Ejemplo de una entidad Nombre de la Entidad Representación gráfica de una entidad 2.

Representación gráfica de una entidad

2. Asociación: Sirve para establecer relaciones entre las entidades. Si una asociación es entre dos unidades es binaria. Si involucra a n unidades, se llama n-aria. Por lo general las situaciones ameritan asociaciones entre mas de tres entidades.

ameritan asociaciones entre mas de tres entidades. Asociaciones uno a uno (1-1) Asociaciones muchos a uno

Asociaciones uno a uno (1-1)

entre mas de tres entidades. Asociaciones uno a uno (1-1) Asociaciones muchos a uno (N -1)

Asociaciones muchos a uno (N -1)

Por ejemplo, se tiene tres entidades:

muchos a uno (N -1) Por ejemplo, se tiene tres entidades: Asociaciones uno a muchos (1-N)

Asociaciones uno a muchos (1-N)

se tiene tres entidades: Asociaciones uno a muchos (1-N) Asociaciones muchos a muchos (N-N) PROFESOR, ESTUDIANTE,

Asociaciones muchos a muchos (N-N)

PROFESOR, ESTUDIANTE, y DEPARTAMENTO.

Entre las asociaciones que se pueden establecer están:

PROFESOR (es director de) DEPARTAMENTO, es una asociación 1-1 pues cada departamento cuenta con un solo director y cada director lo es de un solo departamento.Entre las asociaciones que se pueden establecer están: DEPARTAMENTO (cuenta con) PROFESOR, es una asociación 1-N,

DEPARTAMENTO (cuenta con) PROFESOR, es una asociación 1-N, pues un departamento puede tener varios profesores y, en principio se supone que cada profesor trabaja en un solo departamento.es una asociación 1-1 pues cada departamento cuenta con un solo director y cada director lo

Unidad: Bases de Datos

Pág. 5

ESTUDIANTE (se matricula en) DEPARTAMENTO, es una asociación N-1, pues varios estudiantes se matriculan en un departamento y cada uno de ellos lo hace en uno solo.Unidad: Bases de Datos Pág. 5 PROFESOR (enseña a) ESTUDIANTE es una asociación M-N, ya que

PROFESOR (enseña a) ESTUDIANTE es una asociación M-N, ya que un profesor puede enseñar a varios estudiantes y un estudiante puede recibir la enseñanza de varios profesores.en un departamento y cada uno de ellos lo hace en uno solo. La representación gráfica

La representación gráfica de las cuatro asociaciones binarias es la siguiente:

de las cuatro asociaciones binarias es la siguiente: El tipo de asociación traduce una restricción del

El tipo de asociación traduce una restricción del mundo real, que debe respetarse al interior del sistema y se considera una regla de integridad.

La cardinalidad de una asociación con respecto a una entidad se puede definir como un par (x,y) tal que:

x representa el número mínimo de objetos asociados con un objeto dado de la entidad.

y representa el número máximo de objetos asociados con un objeto dado de la entidad.

Un ejemplo de lo anterior utiliza las entidades PROFESOR y ESTUDIANTE y la asociación (enseña).

entidades PROFESOR y ESTUDIANTE y la asociación (enseña). (0,n): un profesor puede no impartir lecciones, por

(0,n): un profesor puede no impartir lecciones, por tanto su cardinalidad mínima es 0. También puede impartir lecciones a varios estudiantes, por lo que su cardinalidad máxima es n.

(1,m): Para ser considerado estudiante debe estar matriculado al menos con un profesor y puede recibir la enseñanza de varios profesores. Por ello, la mínima es 1 y máxima m.

3. Atributo: El atributo es uno de los principales medios usados para reunir y caracterizar objetos. Sirven para representar ciertas características genéricas de una entidad. Un atributo es un conjunto de posibles valores. No se debe confundir atributo con su valor.

Para que una entidad exista debe tener al menos un atributo. Una asociación puede tener atributos ligados a ella.

Unidad: Bases de Datos

Pág. 6

Los atributos que se asignen a una entidad dependen del contexto de la aplicación y se deben usar nombres de atributos no ambiguos y algunos atributos pueden identificar de forma única los diferentes objetos de la entidad. Este conjunto mínimo se denomina llave.

Una entidad puede tener varias llaves asociadas y las llaves pueden tener más de un atributo. Cada una de las llaves de una entidad se denominan llaves candidatas. De ellas la que se escoja como llave principal se llamará llave primaria y las otras se llamarán alternas.

llamará llave primaria y las otras se llamarán alternas. En la figura anterior se muestra la

En la figura anterior se muestra la ubicación de las llaves primarias, un atributo como el número de cédula puede ser una llave de la entidad PROPIETARIO pues se sabe que cada persona tiene un único número de cédula que lo identifica. El nombre de un propietario no puede ser llave pues existen personas diferentes con el mismo nombre. Por su parte, para la entidad VEHÍCULO una llave puede ser la placa del vehículo.

VEHÍCULO una llave puede ser la placa del vehículo. Ejemplo de llaves primarias y alternas. 4.

Ejemplo de llaves primarias y alternas.

4. Herencia:

Consiste en afinar una entidad en otras

más específicas. O sea, una partición de una entidad que se hace para puntualizar aún más las características de los objetos. La herencia se materializa vía el predicado es un.

También llamada generalización-especialización.

Sea E una súper-entidad y F una sub-entidad de E. Entonces, F hereda todas las propiedades de E; es decir, si F es un E, entonces hereda todos los atributos de E.

Los atributos adicionales --propiosde F, no pueden ser heredados por E. La llave primaria de la súperentidad se hereda a las sub-entidades y será la llave primaria de las mismas. Sin embargo, una herencia no siempre es una partición, por tanto, hay objetos que pertenecen a varias subentidades. Esto se denomina categoría.

La herencia múltiple se da cuando una sub-entidad puede tener varias súper-entidades asociadas.

se da cuando una sub-entidad puede tener varias súper-entidades asociadas. Ejemplo de partición de una entidad.

Ejemplo de partición de una entidad.

Unidad: Bases de Datos

Pág. 7

Unidad: Bases de Datos Pág. 7 Ejemplo de herencia 5. Composición : Se utiliza para administrar

Ejemplo de herencia

5. Composición: Se utiliza para administrar la abstracción y la complejidad en los sistemas. También se llama agregación.

Trata de reunir varias entidades de un mismo nivel en una nueva entidad de un nivel superior. Esta última se llama el compuesto y se determina por medio de las entidades del nivel inferior, llamadas los componentes.

Así una entidad compuesta de otras entidades se define como el producto cartesiano de estas entidades.

se define como el producto cartesiano de estas entidades. Representación gráfica de una composición. Ejemplo de

Representación gráfica de una composición.

entidades. Representación gráfica de una composición. Ejemplo de una composición de la entidad AVION. AVION está

Ejemplo de una composición de la entidad AVION.

AVION está compuesto de otras entidades: MOTOR, ASIENTO y FUSELAJE. La cardinalidad de avión:

puede tener al menos un motor y a lo sumo cuatro, al menos 150 asientos y a lo sumo 300 asientos y un solo fuselaje. La cardinalidad de motor dice que un motor puede no estar instalado en un avión y que a lo sumo estará en un avión. Lo mismo ocurre con asiento y fuselaje.

Conjunto de entidades fuerte: Es un conjunto de entidades que tiene clave primaria.

Unidad: Bases de Datos

Pág. 8

Conjunto de entidades débil:

formar una clave primaria.

Ejemplo

Es un conjunto de entidades que no tiene suficientes atributos para

El conjunto de entidades transacción que tiene tres atributos: num _ transacción, fecha y cuenta. Aunque cada entidad transacción es distinta, las transacciones en cuentas diferentes pueden compartir el mismo numero de transacción. Así, este conjunto de entidades no tiene clave primaria, por lo tanto es débil.

Para que un conjunto débil sea significativo, debe ser parte de un conjunto de relaciones a muchos.

El discriminador de un conjunto de entidades débil es un conjunto de atributos que permite que se haga esa distinción. Por ejemplo, el discriminador del conjunto de entidades débil transacción es el atributo num_transaccion, ya que para cada cuenta un número de transacción idéntica de forma única una única transacción.

La clave primaria de un conjunto de entidades débil está formada por la clave primaria del conjunto de entidades fuerte de la que dependen su existencia y su discriminador. En el ejemplo del conjunto entidades transacción, su clave primaria es {numero_cuenta, num_transaccion} donde numero_cuenta identifica la entidad dominante de una transacción, y num_transaccion distingue entidades transacción dentro de la misma cuenta.

Transacción

{num _ Transacción, num_ cuenta}

Fecha

1-1-111-1111

13/4

2-1-111-1111

13/4

1-2-222-2222

13/4

Diagrama Entidad-Relación (E-R)

La estructura lógica global de una Base de Datos puede representarse gráficamente por medio de un diagrama E-R.

El diagrama E-R se compone de:

Rectángulos: representan conjuntos de entidades. Eclipses: representan atributos. Rombos: representan conjuntos de relaciones. Líneas: enlazan atributos a conjuntos de atributos entidades y conjuntos de entidades a conjuntos de relaciones.

Unidad: Bases de Datos

Pág. 9

Unidad: Bases de Datos Pág. 9 Modelo E-R de muchos a muchos: muchos clientes pueden tener

Modelo E-R de muchos a muchos: muchos clientes pueden tener muchas cuentas.

a muchos: muchos clientes pueden tener muchas cuentas. Modelo E-R de uno a muchos: un cliente

Modelo E-R de uno a muchos: un cliente puede tener muchas cuentas.

E-R de uno a muchos: un cliente puede tener muchas cuentas. Modelo E-R de muchos a

Modelo E-R de muchos a uno: muchos clientes pueden tener una cuenta.

de muchos a uno: muchos clientes pueden tener una cuenta. Modelo E-R de uno a uno:

Modelo E-R de uno a uno: un cliente puede tener una cuenta.

Uno se representa con una flecha.

Muchos se representa con una línea.

representa con una flecha. Muchos se representa con una línea. Una entidad débil se representa con

Una entidad débil se representa con un doble rectángulo.

Unidad: Bases de Datos

Pág. 10

Unidad: Bases de Datos Pág. 10 Diagrama E-R con una entidad débil. Modelo E-R con una

Diagrama E-R con una entidad débil.

de Datos Pág. 10 Diagrama E-R con una entidad débil. Modelo E-R con una relación ternaria.

Modelo E-R con una relación ternaria.

El diagrama anterior consta de tres entidades: cliente, cuenta y sucursal, relacionados por medio de CAB. Este diagrama especifica que un cliente puede tener varias cuentas, cada una situada en una sucursal especifica del banco, y que una cuenta puede pertenecer a varios clientes distintos.

Reducción de los diagramas E-R a tablas

Una base de datos que se ajusta a un diagrama E-R puede representarse por medio de una colección de tablas. Para cada entidad y para cada relación, existe una tabla única a la que se le asigna el nombre de la entidad o de la relación correspondiente. Cada tabla tiene un número de columnas que, a su vez, tienen nombres únicos y corresponden a los atributos de cada relación o entidad.

Representación de entidades fuertes

Sea E un conjunto de entidades fuerte con los atributos descriptivos a1, a2, a3, …, an. Representamos esta entidad por medio de una tabla llamada E con n columnas distintas cada una de las cuales corresponde a uno de los atributos de E. cada fila de esta tabla corresponde a una entidad del conjunto de entidades E.

Para la entidad cuenta

fila de esta tabla corresponde a una entidad del conjunto de entidades E. Para la entidad

la tabla será:

Cuenta

Unidad: Bases de Datos

Pág. 11

Num_Cuenta

Saldo

123

50.00

591

500.00

937

5.00

562

435000.00

888

761.50

Para la entidad Cliente

562 435000.00 888 761.50 Para la entidad Cliente la tabla será: Cliente Nombre SS   Calle

la tabla será:

Cliente

Nombre

SS

 

Calle

Ciudad

Julio Brenes

1-3544-4874

15

av. 5

San José

Marlene Vindas

1-7982-4781

13

av. 4

San José

Juan Perez

1-5646-6113

5

av. 5

San José

Ana Fernández

1-4468-6888

6

av. 5

San José

Marco Gutiérrez

1-8646-4564

5

av 12

San José

Representación de entidades débiles

Sea A un conjunto de entidades débil con atributos a1, a2, …, ar.

Sea B el conjunto de entidades fuerte del que depende A. La clave primaria de B consta de los atributos b1, b2, …, bs.

Representamos el conjunto de entidades A mediante una tabla llamada A con una columna para cada atributo del conjunto:

{ a1, a2, …, ar }

A con una columna para cada atributo del conjunto: { a1, a2, …, ar } {

{ b1, b2, …, bs }

Para la entidad Transacción

Unidad: Bases de Datos

Pág. 12

Unidad: Bases de Datos Pág. 12 la tabla será: Transacción Num_Cuenta Num_Trans Fecha d Cantida

la tabla será:

Transacción

Num_Cuenta

Num_Trans

Fecha

d

Cantida

123

5

05/05/01

 

+100

591

203

11/11/01

 

-256

937

11

20/12/01

 

+524

562

75

09/05/01

 

-1000

888

12

30/05/01

 

+300

Este conjunto de entidades (Transacción) tiene tres atributos: Num_Trans, Fecha, Cantidad. La clave primaria de la entidad Cuenta, de la que transacción es dependiente, es Num_Cuenta. Así, Transacción se representa mediante una tabla con 4 columnas etiquetadas: Num_Cuenta, Num_Trans, Fecha y Cantidad.

Práctica

Haga el diagrama E-R para:

Artículos y Encargos.

Una base de datos para una pequeña empresa debe contener información acerca de clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en documentos varios:

Para cada cliente:

Número de cliente (único). Direcciones de envío (varias por cliente).

Unidad: Bases de Datos

Pág. 13

Saldo. Límite de crédito (depende del cliente, pero en ningún caso debe superar

Descuento.

¢3000,000.00).

Para cada artículo:

Número de artículo (único). Fábricas que lo distribuyen. Existencias de ese artículo en cada fábrica. Descripción del artículo.

Para cada pedido:

Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está formada por el número de cliente, dirección de envío y fecha de pedido. El cuerpo del pedido son varias líneas, en cada línea se especifican el número del artículo pedido y la cantidad.

Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el uso de distribuidores, se usará:

Número de la fábrica (único). Teléfono de contacto. Y se desean ver cuántos artículos (en total) provee la fábrica.

También por información estratégica se podría incluir información de fábricas alternativas respecto de las que ya fabrican artículos para esta empresa.

Nota:

Una dirección se entenderá como número, calle, comunidad y ciudad. Una fecha se incluye hora.

MODELO RELACIONAL DE CODD

Según E.Codd, en su artículo publicado en 1970, una BD se puede ver como un conjunto de estructuras llamadas relaciones y en donde los datos se organizan en forma tabular.

Una de sus ventajas es la facilidad de uso, tanto así que personas no profesionales en informática pueden construir sus BDs y hacerlas utilizando lenguajes no procedimientales; esto sin dejar de ser poderoso y confiable. Según S. Miranda en 1988 para otros profesionales el modelo de Codd ofrece:

Simplicidad de los conceptos de base. Operadores de manipulación muy poderosos. Sustentada sobre una sólida teoría matemática.

El eje principal del modelo relacional reposa en el concepto de relación. Un armazón (m x n) se define como un arreglo de M + 1 filas por n columnas.

1

j

n

Unidad: Bases de Datos

Pág. 14

Unidad: Bases de Datos Pág. 14 Un dominio es un tipo de dato, por ejemplo, integer,

Un dominio es un tipo de dato, por ejemplo, integer, float,… Un atributo es la identificación que se le da a un conjunto de valores pertenecientes a un tipo de dato dominio- dado. Las siguientes son las reglas a satisfacer cuando se llenan las celdas de un armazón, con el fin de definir el concepto de relación:

Cada celda c(0,j) estará constituida de un par (Aj,Dj), en donde Aj es un atributo y Dj es un dominio sobre el cual se define el atributo.un armazón, con el fin de definir el concepto de relación: Los atributos y los dominios

Los atributos y los dominios se designarán por palabras que inician con mayúscula.y Dj es un dominio sobre el cual se define el atributo. Los atributos deben ser

se designarán por palabras que inician con mayúscula. Los atributos deben ser diferentes, no así los

Los atributos deben ser diferentes, no así los dominios.

Varios atributos pueden compartir re mismo

dominio. Cada celda c(i,j), se llama componente y toma sus valores del dominio D j .

[ c(i,1), c(i,2), … , c(i,n) ], 1≤ I ≤m, se denomina tupla.

Cada fila

Las tuplas en una armazón deben ser diferentes, esto significa que deben diferenciarse

al menos en los valores de un mismo atributo.w

Con estas reglas se define una relación R de grado n, como una armazón de m x n completamente utilizada, con

m, n 1. Primero: En la cual la fila 0, que se llamará encabezado de la relación y se denota por :

R (( A 1 ,D 1 ), ( A 2 ,D 2 ), …, ( A n ,D n )) Segundo: El conjunto de las tuplas de la relación que se llamará contenido de la relación y se denota por {

[ a 11 , …, a 1n ],

[ a 21 , …, a 2n ], …,

[ a m1 , …, a m n ] }

El encabezado se conoce también como esquema de la relación y se denota por R ( A 1, A 2 , …, A n )

Un conjunto mínimo de atributos que determinan al resto de atributos se denomina llave candidata. La que se escoja como llave principal se denomina llave primaria y al resto de llaves candidatas de les llamará llaves alternas.

Un dominio es primario si sobre él se ha definido una llave primaria. Una llave externa es un atributo definido sobre un dominio primario y que no es llave primaria.

Ejemplo. Sean las relaciones PROFESOR Y ESTUDIANTE, que traducen la lista de profesores de una universidad que imparten cursos a los estudiantes que se han matriculado en el año lectivo.

Unidad: Bases de Datos

Pág. 15

PROFESOR(Número-Profesor, Cédula, Nombre-Profesor, Título, Categoría) y ESTUDIANTE(Carné, Nombre , Nombre-Carrera, Número-Profesor),

PROFESOR

Número-Profesor

Cédula

Nombre-Profesor

Título

Categoría

2234

2302445

Juan Mora

M.Sc.

Asociado

2356

1456989

Mario Coto

Ph.D.

Asociado

2678

5435433

Ana Salas

Dr.

Catedrático

ESTUDIANTE

Carné

Nombre

Nombre-Carrera

Número- Profesor

878987

Astrid Mata

Electrónica

2234

852341

Julia Brenes

Computación

2678

912348

Pedro Sancho

Computación

2678

Número-Profesor en la relación PROFESOR se define como llave primaria y Cédula como llave alterna pues estos dos atributos determina en forma única al resto de los atributos. En la relación ESTUDIANTE Carné es llave primaria y el atributo Número-Profesor es llave externa. Las llaves primarias se subrayan.

REGLAS DE INTEGRIDAD

1. Integridad de dominio

Permite controlar la sintaxis y la semántica de un dato cualquiera y concierne al tipo de definición del dominio.

Ejemplo: Si se considera la relación

VIAJE( Núm-Viaje, Núm-Turista, Num-Sitio, Fecha-Salida, Fecha-Llegada, C-Salida) podría describirse así:

Definición de dominios:

Número: Número de 5 dígitos Fecha: Fecha definida con un formato datemm-dd-aa Ciudad: Ciudad en un país y establecida como un string de 20 caracteres.

Definición de la relación:

VIAJE(Núm-Viaje, definido sobre Número Núm-Turista, definido sobre Número, Num-Sitio, definido sobre Número,

Unidad: Bases de Datos

Pág. 16

Fecha-Salida, definido sobre Fecha, Fecha- Llegada, definido sobre Fecha, C-Salida definido sobre Ciudad).

2. Integridad de relación

Se refiere a los valores de los atributos que conforman la llave primaria. Cada valor de una llave

primaria identifica la tupla en forma única. Por eso los valores de los atributos de la llave primaria debe identificar de manera única y sin valores nulos. Es aconsejable que la llave primaria de cada relación esté compuesta por sólo un atributo.

3. Integridad Referencial

Se refiere a la restricción que debe darse entre los valores de los atributos que conforman la llave primaria

de una relación primaria y los valores que estos atributos pueden tomar como llave externa en una relación secundaria.

Ejemplo:

TURISTA

 

SITIO

Num_turista

Nom_turista

 

País

Num_sitio

 

Nom_sitio

Tipo

Continente

 

300 Carlos

   

C.R

125

 

Isla More

Mar

Oceanía

301 Pedro

   

Perú

126

 

Irazú

Volcán

América

302 Juan

   

Túnez

127

 

Valle azul

Desierto

Africa

303 Ana

   

Canadá

128

 

Bahìa Ery

Mar

América

304 María

   

129

Chile

 

Rinesky

Volcán

Africa

 

130

Ging Jo

Desierto

Asia

 

VIAJE

Num_viaje

Num_turista

Num_sitio

Fecha_salida

Fecha_llegada

Ciudad_salida

03-96

301

125

 

3/3/96

3/10/96

París

04-96

303

129

 

7/4/96

7/14/96

Las Vegas

05-96

301

128

 

7/5/96

7/12/96

Dar-es-Salam

06-96

304

127

 

7/6/96

7/14/96

San José

07-96

302

128

 

7/28/96

8/13/96

Mombasa

Si se consideran las tablas anteriores, se diría que las relaciones SITIO y TURISTA son primarias, pues sus

existencias no dependen de ninguna otra relación. Sin embargo VIAJE depende de las relaciones anteriores. Por esa razón se dice que VIAJE es secundaria. Así, el conjunto de valores que toma el atributo Num_sitio en la relación VIAJE, debe ser un subconjunto de los valores de Num_sitio en la relación SITIO. Asi mismo, el conjunto de valores de Num_turista en la relación VIAJE debe ser un subconjunto de los valores que aparecen en el atributo

Num_turista de la relación TURISTA.

A la hora de escoger un SABD relacional un factor importante en la decisión final es la capacidad que

tenga el producto para brindar facilidades de establecer este tipo de reglas de integridad y la manipulación de

los datos contenidos en la BD.

Unidad: Bases de Datos

Pág. 17

Existen dos grandes tipos de lenguajes de manipulación de datos:

El lenguaje algebraico: basado en expresiones algebraicas cuyos elementos son relaciones y operadores. Y los lenguajes predicativos: que se basan en la lógica de primer orden o de predicados y que a su vez se dividen en predicativos de tuplas y predicativos de dominios.

ALGEBRA RELACIONAL

Está constituida por una serie de operadores que se aplican a las relaciones de la BD. Una consulta de usuario que se haga por medio de un lenguaje de este tipo, se interpreta como una expresión algebraica constituida por relaciones de base, vista y operadores. Son ocho los operadores del álgebra relacional y se clasifican en operadores relacionales y operadores conjuntistas.

S}

t

S}

S}

Operadores Conjuntistas Operadores Algebraicos Unión: R S = { t / t R t Intersección
Operadores Conjuntistas
Operadores Algebraicos
Unión:
R
S = { t / t
R
t
Intersección
R
S = { t / t
R
Conjuntistas
Operadores Relacionales
Diferencia
R
-
S = { t / t
R
t
Producto cartesiano R X S = {
t,s / t
R
s
S}
Unión
Intersección
Diferencia
Producto Cartesiano
Unarios
Binarios
Proyección
Join
División
Selección
R
Rx
R
R
S
R-S

Efecto de aplicar estos operadores conjuntistas a dos relaciones R y S.

X
X
estos operadores conjuntistas a dos relaciones R y S. X S Representación gráfica de los operadores
estos operadores conjuntistas a dos relaciones R y S. X S Representación gráfica de los operadores

S

Representación gráfica de los operadores conjuntistas

R

S

R

S

R

-
-

R

S

Unidad: Bases de Datos

Pág. 18

Ejemplo. Sean las relaciones

DEPORTIVA (Número, Nombre, Dirección, Teléfono) CULTURAL(Código, Nombre, Dirección, Teléfono)

DEPORTIVA

 

CULTURAL

 

No

Nombre

Dirección

Teléfono

No

Nombre

Dirección

Teléfono

24

Juan Coto

Alajuela

4427867

124

Juan Coto

Alajuela

4427867

49

Ana Salas

Heredia

2375643

569

Eric Soto

Limón

7679899

67

Eva Mora

Heredia

2379898

 

Si se desea tener la lista de los estudiantes que se encuentran matriculados en al menos una actividad, se puede hacer la unión entre las dos relaciones DEPORTIVA y CULTURAL, como sigue:

DEPORTIVA

dos relaciones DEPORTIVA y CULTURAL, como sigue: DEPORTIVA CULTURAL No Nombre Dirección Teléfono 124

CULTURAL

No

Nombre

Dirección

Teléfono

124

Juan Coto

Alajuela

4427867

149

Ana Salas

Heredia

2375643

267

Eva Mora

Heredia

2379898

569

Eric Soto

Limón

7679899

Si se desea la lista de los estudiantes que se encuentren matriculados en ambas actividades, se podría conseguir haciendo una intersección entre ambas relaciones DEPORTIVA CULTURAL.

DEPORTIVA

entre ambas relaciones DEPORTIVA ∩ CULTURAL. DEPORTIVA CULTURAL No Nombre Dirección Teléfono 124

CULTURAL

No

Nombre

Dirección

Teléfono

124

Juan Coto

Alajuela

4427867

La diferencia DEPORTIVA CULTURAL daría la lista de los estudiantes que llevan solo actividades deportivas, independientemente de si se encuentran matriculados o no en actividades culturales.

DEPORTIVA - CULTURAL

No

Nombre

Dirección

Teléfono

149

Ana Salas

Heredia

2375643

267

Eva Mora

Heredia

2379898

El producto cartesiano dará todas las posibles combinaciones de tuplas de las dos relaciones.

DEPORTIVA X

CULTURAL

No

Nombre

Dirección

Teléfono

No

Nombre

Dirección

Teléfono

124

Juan Coto

Alajuela

4427867

124

Juan Coto

Alajuela

4427867

149

Ana Salas

Heredia

2375643

569

Eric Soto

Limón

7679899

Unidad: Bases de Datos

Pág. 19

267

Eva Mora

Heredia

2379898

124

Juan Coto

Alajuela

4427867

124

Juan Coto

Alajuela

4427867

569

Eric Soto

Limón

7679899

149

Ana Salas

Heredia

2375643

124

Juan Coto

Alajuela

4427867

267

Eva Mora

Heredia

2379898

569

Eric Soto

Limón

7679899

Operadores Relacionales

La Proyección

Es un operador unario, es decir, se aplica sobre una sola relación a la vez y permite una descomposición de tipo vertical de la relación involucrada.

En primer lugar, La tupla proyectada es la tupla resultante al eliminar los valores cuyos atributos no se

encuentran en X, y se denota por

Ejemplo

t[X], se lee: tupla proyectada a X.

Sea la relación PINTOR(Nombre, País, Movimiento, Epoca) y X= {Nombre, Epoca} un subconjunto de atributos de esta realción.

Sea la tupla t = [Diego de Rivera, México, Precolombino, 1886-1957], entonces la tupla t proyectada a X es la siguiente

t[X] = [Diego de Rivera, 1886-1957]

En segundo lugar, la proyección de la relación R sobre X se denota por R[X] y se define como el conjunto de tuplas de R proyectadas a X, es decir, R[X] = { t[X] / t es una tupla de R}

Ejemplo

La relación R(A,B,C) sobre X = {A,C}, es decir, R[A,C].

R(A,B,C)

R[A,C]

A

B

C

A

C

R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C
R(A,B,C) R[A,C] A B C A C

Unidad: Bases de Datos

Pág. 20

Al efectuar una proyección las tuplas duplicadas se eliminan.

X R
X
R

Ejemplo. Dar los nombres de los turistas del Club de Ecoturismo.

. Dar los nombres de los turistas del Club de Ecoturismo. La respuesta a esta consulta

La respuesta a esta consulta sería RESULTADO = TURISTA Nombre_Turista consulta

RESULTADO

sería RESULTADO = TURISTA Nombre_Turista consulta RESULTADO Nombre _Turista La Selección R y el árbol asociado

sería RESULTADO = TURISTA Nombre_Turista consulta RESULTADO Nombre _Turista La Selección R y el árbol asociado

Nombre

_Turista

La Selección

R

consulta RESULTADO Nombre _Turista La Selección R y el árbol asociado a dicha Es un operador

y el árbol asociado a dicha

Es un operador unario, brinda una descomposición horizontal de una relación. El resultado de una

selección es el conjunto de tuplas que satisface una condición. Se utilizarán las siguientes equivalencias:

AND por

por

NOT por

las siguientes equivalencias: AND por por NOT por OR Ejemplo : A la relación R(A,B,C) se

OR

Ejemplo: A la relación R(A,B,C) se le hará una selección sobre el atributo B.

R(A,B,C)

R : (B =

relación R(A,B,C) se le hará una selección sobre el atributo B. R(A,B,C) R : (B =

)

A

B

C

A

B

C

A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C
A B C A B C

Unidad: Bases de Datos

Pág. 21

La representación gráfica de R:E, donde E es la condición de selección.

R

Ejemplo:

E :
E
:

Para la consulta: Dar la información sobre los sitios que son volcanes y que se encuentran en Africa.

Entonces se puede aplicar el operador de selección a la relación SITIO, de la siguiente forma: RESULTADO = SITIO : (Tipo = `Volcán` AND Continente = África`).

El árbol asociado a esta consulta será:

RESULTADO

El árbol asociado a esta consulta será: RESULTADO Tipo = `Volcán` AND Continente = Àfrica` :

Tipo = `Volcán` AND Continente = Àfrica`

:
:

SITIO

El

Tipo = `Volcán` AND Continente = Àfrica` : SITIO El - Join Es el operador más

- Join

Es el operador más importante del álgebra relacional, también llamado

más importante del álgebra relacional, también llamado producto. Su papel es fusionar en una sola relación

producto.

Su papel

es

fusionar en una sola relación dos relaciones que tengan al menos un atributo en común.

Ejemplo:

R

S

R(B =B)

A

B

A

B

A

B

B

C

A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C
A B A B A B B C

Unidad: Bases de Datos

Pág. 22

Cuando en un -join, la operación es la igualdad, se le llama equi-join. En el caso de un equi-join, si solo se considera uno de los atributos comunes en la relación resultado se denomina join natural. El join entre dos

relaciones R y S se denota por:

natural. El join entre dos relaciones R y S se denota por: R * S. Ejemplo:
natural. El join entre dos relaciones R y S se denota por: R * S. Ejemplo:

R * S.

Ejemplo:

R

S

A

B

C

B

C

D

a

1

x

1

x

m

b

2

y

4

y

n

c

3

z

3

t

ñ

c

3

w

3

z

l

R

*

S

 

A

B C

 

D

 

a

1 x

 

m

 

c

3

z

l

La representación gráfica del -join y del join. A B * S
La representación gráfica del -join y del join.
A
B
*
S

R

S

R

La División

Permite recuperar las tuplas de una relación que se encuentran asociadas con todas las tuplas de la otra relación. La división de la relación R entre la relación S y denotada por R S.

de la relación R entre la relación S y denotada por R S. Ejemplo : Se

Ejemplo:

Se tiene dos relaciones R y S, en donde R da una lista de personas que comen frutas y S las frutas disponibles. La división entre estas dos relaciones puede dar la lista de personas que comen todas las frutas.

Unidad: Bases de Datos

Pág. 23

R

S

Unidad: Bases de Datos Pág. 23 R S A S R Bibliografía Editorial Tecnológica de Costa
A
A
S
S

R

Bibliografía

Editorial Tecnológica de Costa Rica, Cartago,

Primera Edición, 1996. 491 páginas. El Mundo de la Computación. Curso Teórico Práctico de Informática. Editorial Océano, Barcelona España, Tomo 4.

González Alvarado, Carlos.

Sistemas de Bases de Datos.