CONTENIDOS BASES DE DATOS.pdf

Embed Size (px)

Citation preview

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    1/23

     Unidad: Bases de Datos Pág. 1

    Especialidad: InformáticaSub-área: Manipulación de la InformaciónUnidad 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, juncon 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 interpretad

    Fuentes de Datos: En la actualidad el sistema de procesamiento de datos puede consistir en el métodtradicional donde un empleado archiva manualmente los datos en carpetas, o pueden ser un sistema modern

    que utilice la más rápida computadora y el hardware y el software más sofisticado. El objetivo básico proporcionar la información correcta en el momento oportuno a la persona indicada en el lugar apropiado y menor costo.

    Valor de los Datos: Es un dato único, contenido en el campo de datos. Los valores pueden ser cuantitativocualitativos o descriptivos, dependiendo de la manera en que los datos describan a la entidad. Los valores qutoman los campos se conocen como datos. Al conjunto de valores tomados por los campos de datos de unentidad 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ónicde cierta cantidad de personas.

    Registro:  Es un conjunto de uno o más campos que forman un grupo de datos de una persona o cosrelacionados 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 tabes actualmente más utilizado debido a la importancia del Modelo Relacional. Sin embargo, utilizar la palabarchivo es válido. Existen archivos uniformes en donde los registros son homogéneos, y también existen los archivcon registros heterogéneos. Por ejemplo, los registros que contienen los nombres y direcciones de muchas persona

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

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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    2/23

     Unidad: Bases de Datos Pág. 2

    Base de Datos:  Es  una colección de información o datos relacionados almacenados en un dispositivo almacenamiento masivo, el cual se encuentra disponible, en forma simultánea a un número de usuarautorizados y en un tiempo pertinente. Una base de datos puede estar en papel o en una computadora;sencillamente un conjunto de hechos o datos que se relacionan de alguna manera. Por ejemplo, las agendtelefó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 dun lenguaje de consultas y en donde se garantiza la integridad y la seguridad de los datos, así como 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 estructurasentidades, registros, etc.- y de un lenguaje de manipulación de datos (LMD) que permite la inserció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 consulta

    Funciones de un SABD:  Más allá de solo permitir el diálogo entre usuarios y la BD, mediante la definiciónmanipulación de los datos; el SABD debe brindar mecanismos que permitan controlar la concurrencia de var

    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 seapor hardware o por software.

    Control de la concurrencia: La BD debe estar disponible para que varios usuarios autorizados puedaaccesarla en forma simultánea. Este acceso puede ocasionar conflictos cuando dos o más usuarios se interesasimultáneamente en el mismo objeto (relación, dato,...). El SABD debe disponer de mecanismos que permitaarbitrar estas situaciones de manera que la BD quede en estado consistente después de la intervención de lusuarios.

      Descripción   Manipulación  

      Control de la concurrencia   Seguridad   Integridad   Recuperación después de una falla 

    SABD  BD 

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    3/23

     Unidad: Bases de Datos Pág. 3

    Seguridad: No todos los datos deben estar disponibles para cualquier usuario. El SABD debe brindar mecanismque permitan confidencialidad de la información mediante controles como login (para poderentrar a una red) , password, encriptamiento (código de mensajes solo receptor – emisor lo conocen) (traduclos datos en un criptograma por medio de un código) y el control de flujo de los datos (persigue que un usuarno 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

    sintáctica2 de los datos. Esto es una parte importante en todo el desarrollo de bases de datos. Debe buscarse uequilibrio pues dependiendo del número de reglas, el rendimiento del sistema se puede ver afectado. Un ejempde una regla de integridad es que el salario del empleado siempre sea superior a 50.000 colones, si no es así, nse permite el ingreso del dato.

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

    del usuario.

    Administrador de la BD:  Es una persona o grupo de ellas que debe mantener la BD en un estado consisteny que su utilización sea lo más eficiente posible. Es quien sirve de puente entre la BD y los usuarios finales. Debser 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 lobjetos, 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 elas estructuras de la BD, según las necesidades de los usuarios y el mejoramiento del rendimientde la BD.

    o  Asignar códigos de acceso, con el fin de mantener seguridad y confidencialidad de la BD.Implementar mecanismos de recuperación de la BD en caso de falla. o Si se trabaja en un ambiendistribuido, 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. Esmodelo de datos se compone de cinco conceptos que permiten establecer la estructura y manejar la complejidade los sistemas.

    1. Entidad 2. Asociación3. Atributo 4. Herencia

    5. Composición

    1.  Entidad:  Es un conjunto de objetos similares que son agrupados debido a que tienen característicasemejantes , según el contexto de la aplicación que se está modelando. El concepto objeto se refierecualquier cosa concreta o abstracta del mundo real. Por ejemplo, Pedro, María y Juan son objetos dla entidad PERSONA. Una entidad se representa gráficamente por un rectángulo con dos zonas, en

    1 Semántica: Se refiere al significado de las datos2 Sintáctica: Se refiere al formato a seguir según la definición de cada campo.

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    4/23

     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 loatributos se colocan en la parte inferior.

    Nombre de la Entidad

    Juan Pedro María

    Representación gráfica de una entidadPERSONA

    Ejemplo de una entidad

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

    entre mas de tres entidades.

    Asociaciones uno a uno (1-1) Asociaciones uno a muchos (1-N)

    Asociaciones muchos a uno (N -1) Asociaciones muchos a muchos (N-N)

    Por ejemplo, se tiene tres entidades:

    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 departamentcuenta con un solo director y cada director lo es de un solo departamento.

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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    5/23

     Unidad: Bases de Datos Pág. 5

    ESTUDIANTE (se matricula en) DEPARTAMENTO, es una asociación N-1, pues varios estudiantse matriculan en un departamento y cada uno de ellos lo hace en uno solo.

    PROFESOR (enseña a) ESTUDIANTE es una asociación M-N, ya que un profesor puede enseñarvarios estudiantes y un estudiante puede recibir la enseñanza de varios profesores.

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

    El tipo de asociación traduce una restricción del mundo real, que debe respetarse al interior del sistemase 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 qu  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).

    (0,n): un profesor puede no impartir lecciones, por tanto su cardinalidad mínima es 0. Tambié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 puedrecibir 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. Sirvepara representar ciertas características genéricas de una entidad. Un atributo es un conjunto de posiblvalores. No se debe confundir atributo con su valor.

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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    6/23

     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 nombrde atributos no ambiguos y algunos atributos pueden identificar de forma única los diferentes objetos dla 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 un

    de las llaves de una entidad se denominan llaves candidatas. De ellas la que se escoja como llave principse llamará llave primaria y las otras se llamarán alternas.

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

    Ejemplo de llaves primarias y alternas.

    4. 

    Herencia:  También llamada generalización-especialización. Consiste en afinar una entidad en otrmás específicas. O sea, una partición de una entidad que se hace para puntualizar aún más lcaracterísticas de los objetos. La herencia se materializa vía el predicado―es un‖ . 

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

    Los atributos adicionales --propios—de F, no pueden ser heredados por E. La llave primaria de la súperentidase 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 vari

    subentidades. Esto se denomina categoría.La herencia múltiple se da cuando una sub-entidad puede tener varias súper-entidades asociadas.

    Ejemplo de partición de una entidad.

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    7/23

     Unidad: Bases de Datos Pág. 7

    Ejemplo de herencia

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

    Trata de reunir varias entidades de un mismo nivel en una nueva entidad de un nivel superior. Esta última 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.

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

    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 unsolo fuselaje. La cardinalidad de motor dice que un motor puede no estar instalado en un avión y que alo 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.

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    8/23

     Unidad: Bases de Datos Pág. 8

    Conjunto de entidades débil: Es un conjunto de entidades que no tiene suficientes atributos paformar una clave primaria.

    Ejemplo

    El conjunto de entidades transacción que tiene tres atributos: num _ transacción, fecha y cuenta. Aunqucada entidad transacción es distinta, las transacciones en cuentas diferentes pueden compartir el mismo numerde 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 hagesa distinción. Por ejemplo, el discriminador del conjunto de entidades débil transacción es el atributnum_transaccion, ya que para cada cuenta un número de transacción idéntica de forma única una únictransacción.

    La clave primaria de un conjunto de entidades débil está formada por la clave primaria del conjunto dentidades fuerte de la que dependen su existencia y su discriminador. En el ejemplo del conjunto entidadtransacción, su clave primaria es {numero_cuenta, num_transaccion} donde numero_cuenta identifica la entidadominante 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/41-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 udiagrama 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 d

    relaciones.

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    9/23

     Unidad: Bases de Datos Pág. 9

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

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

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

    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.

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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    10/23

     Unidad: Bases de Datos Pág. 10

    Diagrama E-R con una entidad débil.

    Modelo E-R con una relación ternaria.

    El diagrama anterior consta de tres entidades: cliente, cuenta y sucursal, relacionados por medio de CABEste diagrama especifica que un cliente puede tener varias cuentas, cada una situada en una sucursal especificdel 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 dtablas. Para cada entidad y para cada relación, existe una tabla única a la que se le asigna el nombre de

    entidad o de la relación correspondiente. Cada tabla tiene un número de columnas que, a su vez, tienen nombrú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 est

    entidad por medio de una tabla llamada E con n columnas distintas cada una de las cuales corresponde a unode los atributos de E. cada fila de esta tabla corresponde a una entidad del conjunto de entidades E.

    Para la entidad cuenta

    la tabla será:

    Cuenta

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    11/23

     Unidad: Bases de Datos Pág. 11

    Num_Cuenta Saldo123 50.00591 500.00937 5.00562 435000.00

    888 761.50

    Para la entidad Cliente

    la tabla será:

    ClienteNombre 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 atributob1, b2, …, bs.

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

    { a1, a2, …, ar } { b1, b2, …, bs }

    Para la entidad Transacción

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    12/23

     Unidad: Bases de Datos Pág. 12

    la tabla será:

    TransacciónNum_Cuenta Num_Trans Fecha

    dCantida

    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 claveprimaria de la entidad Cuenta, de la que transacción es dependiente, es Num_Cuenta. Así, Transacción serepresenta 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 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).

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    13/23

     Unidad: Bases de Datos Pág. 13

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

    ¢3000,000.00).Descuento.

    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 especificanel 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 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 delas 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 llamadrelaciones 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 construsus 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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    14/23

     Unidad: Bases de Datos Pág. 14

    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 – dominidado.Las siguientes son las reglas a satisfacer cuando se llenan las celdas de un armazón, con el fin de definir el concepde 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 sobel cual se define el atributo.

    Los atributos y los dominios se designarán por palabras que inician con mayúscula.

    Los atributos deben ser diferentes, no así los dominios. Varios atributos pueden compartir re mismdominio.Cada celda c(i,j), se llama componente y toma sus valores del dominio D j.

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

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

    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, com, n ≥1. Primero: En la cual la fila 0, que se llamará encabezado de la relación y se denota por :

    R (( A1 ,D1 ), ( A2 ,D2 ), …, ( An ,Dn ))Segundo: El conjunto de las tuplas de la relación que se llamará contenido de la relación y se denota por {

    [ a11 , …, a1n], [ a21 , …, a2n], …, [ am1 , …, am n] }

    El encabezado se conoce también como esquema de la relación y se denota porR ( A1, A2 , …, An )

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

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

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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    15/23

     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ía2234 2302445 Juan Mora M.Sc. Asociado2356 1456989 Mario Coto Ph.D. Asociado2678 5435433 Ana Salas Dr. Catedrático

    ESTUDIANTE

    Carné Nombre Nombre-Carrera Número- Profesor878987 Astrid Mata Electrónica 2234

    852341 Julia Brenes Computación 2678912348 Pedro Sancho Computación 2678

    Número-Profesor en la relación PROFESOR se define como llave primaria y Cédula como llave alterna puestos dos atributos determina en forma única al resto de los atributos. En la relación ESTUDIANTE Carné es llavprimaria 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―

    date‖

     mm-dd-aaCiudad: 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úmeroNúm-Turista, definido sobre Número,Num-Sitio, definido sobre Número,

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    16/23

     Unidad: Bases de Datos Pág. 16

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

    2.  Integridad de relación

    Se refiere a los valores de los atributos que conforman la llave primaria. Cada valor de una llaveprimaria identifica la tupla en forma única. Por eso los valores de los atributos de la llave primaria debeidentificar 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 primade una relación primaria y los valores que estos atributos pueden tomar como llave externa en una relaciónsecundaria.

    Ejemplo:

    TURISTA SITIO

    Num_turista Nom_turista País

    300 Carlos C.R301 Pedro Perú302 Juan Túnez303 Ana Canadá304 María Chile

    Num_sitio Nom_sitio Tipo Continente

    125 Isla More Mar Oceanía126 Irazú Volcán América127 Valle azul Desierto Africa128 Bahìa Ery Mar América129 Rinesky Volcán Africa130 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 su

    existencias no dependen de ninguna otra relación. Sin embargo VIAJE depende de las relaciones anteriores. Pesa razón se dice que VIAJE es secundaria. Así, el conjunto de valores que toma el atributo Num_sitio en la relacióVIAJE, debe ser un subconjunto de los valores de Num_sitio en la relación SITIO. Asi mismo, el conjunto de valorde Num_turista en la relación VIAJE debe ser un subconjunto de los valores que aparecen en el atribuNum_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 qutenga el producto para brindar facilidades de establecer este tipo de reglas de integridad y la manipulación dlos datos contenidos en la BD.

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    17/23

     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.

    los lenguajes predicativos: que se basan en la lógica de primer orden o de predicados y que a su vez se divideen 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 un

    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 operadore

    conjuntistas.

    Operadores Conjuntistas

    Unión: R S = { t / t R tS}

    Intersección R S = { t / t Rt S}

    Diferencia R - S = { t / t R tS}

    Producto cartesiano R X S = {t,s / t R s S}

    R S R-S

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

    R S R S R S R SRepresentación gráfica de los operadores conjuntistas

    Proyección 

    Selección 

    Join

    División

    R Rx R

    X  - 

    Operadores Algebraicos 

    Conjuntistas 

    Binarios Unarios 

    les Relaciona OperadoresUnión Intersección Diferencia Producto Cartesiano 

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    18/23

     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éfono24 Juan Coto Alajuela 442786749 Ana Salas Heredia 237564367 Eva Mora Heredia 2379898

    No Nombre Dirección Teléfono124 Juan Coto Alajuela 4427867569 Eric Soto Limón 7679899

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

    DEPORTIVA CULTURALNo Nombre Dirección Teléfono124 Juan Coto Alajuela 4427867149 Ana Salas Heredia 2375643267 Eva Mora Heredia 2379898569 Eric Soto Limón 7679899

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

    DEPORTIVA CULTURAL

    No Nombre Dirección Teléfono124 Juan Coto Alajuela 4427867

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

    DEPORTIVA - CULTURALNo Nombre Dirección Teléfono149 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éfono124 Juan Coto Alajuela 4427867 124 Juan Coto Alajuela 4427867149 Ana Salas Heredia 2375643 569 Eric Soto Limón 7679899

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    19/23

     Unidad: Bases de Datos Pág. 19

    267 Eva Mora Heredia 2379898 124 Juan Coto Alajuela 4427867124 Juan Coto Alajuela 4427867 569 Eric Soto Limón 7679899149 Ana Salas Heredia 2375643 124 Juan Coto Alajuela 4427867267 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ó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 seencuentran en X, y se denota por t[X], se lee: tupla proyectada a X.

    Ejemplo

    Sea la relación PINTOR(Nombre, País, Movimiento, Epoca) yX= {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 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 conjun

    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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    20/23

     Unidad: Bases de Datos Pág. 20

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

    R

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

    La respuesta a esta consulta sería RESULTADO = TURISTA Nombre_Turista y el árbol asociado a dichconsulta

    RESULTADO

     Nombre   _Turista

    R

    La Selección

    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 ORporNOT por

    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 = ―  ― )

    A B C A B C

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    21/23

     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:

    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: RESULTAD= SITIO : (Tipo = `Volcán` AND Continente = África`).

    El árbol asociado a esta consulta será:

    RESULTADO

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

    SITIO

    El - Join

    Es el operador más importante del álgebra relacional, también llamado producto. Su papel 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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    22/23

     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 solose considera uno de los atributos comunes en la relación resultado se denomina join natural. El join entre dosrelaciones R y S se denota por: R * S.

    Ejemplo:

    R SA B C B C Da 1 x 1 x mb 2 y 4 y nc 3 z 3 t ñc 3 w 3 z l

    R * S

    A B C Da 1 x mc 3 z l

    La representación gráfica del -join y del join.

    A B

    R S R

    La División

    Permite recuperar las tuplas de una relación que se encuentran asociadas con todas las tuplas de la otr

    relación.La división de la relación R entre la relación S y denotada por R S.

    Ejemplo:

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

  • 8/18/2019 CONTENIDOS BASES DE DATOS.pdf

    23/23

     Unidad: Bases de Datos Pág. 23

    R S R S

    A

    Bibliografía

    González Alvarado, Carlos. Sistemas de Bases de Datos. Editorial Tecnológica de Costa Rica, CartagPrimera 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ñTomo 4.