Doc. Base de Datos

Embed Size (px)

Citation preview

  • 7/24/2019 Doc. Base de Datos

    1/11

    Bases de Datos y el Modelo Entidad-Relacin

    Todo buen curso necesita empezar con algunos conceptos bsicos para el mejor entendimiento del mismo,por lo tanto empezaremos con las definiciones que involucran a las bases de datos.

    Dato:

    Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos.

    Informacin:

    Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que unconjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debeguardar lgicamente en arc!ivos.

    Conceptos bsicos de archivos computacionales

    Campo:

    Es la unidad ms peque"a a la cual uno puede referirse en un programa. #esde el punto de vista delprogramador representa una caracter$stica de un individuo u objeto.

    Re!istro:

    Coleccin de campos de iguales o de diferentes tipos.

    "rchivo:

    Coleccin de registros almacenados siguiendo una estructura !omognea.

    Base de datos:

    Es una coleccin de arc!ivos interrelacionados, son creados con un #%&'. El contenido de una base dedatos engloba a la informacin concerniente(almacenadas en arc!ivos) de una organizacin, de tal maneraque los datos estn disponibles para los usuarios, una finalidad de la base de datos es eliminar la

    redundancia o al menos minimizarla. *os tres componentes principales de un sistema de base de datos sonel !ard+are, el soft+are #%&' y los datos a manejar, as$ como el personal encargado del manejo del

    sistema.

    #istema Mane$ador de Base de Datos %DBM#&

    n #%&' es una coleccin de numerosas rutinas de soft+are interrelacionadas, cada una de las cuales esresponsable de una tarea espec$fica. El objetivo primordial de un sistema manejador base de datos es

    proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al e-traer, almacenary manipular informacin de la base de datos. Todas las peticiones de acceso a la base, se manejancentralizadamente por medio del #%&', por lo que este paquete funciona como interfase entre losusuarios y la base de datos.

    'b$etivos de la Base de Datos

    *os sistemas de base de datos se dise"an para manejar grandes cantidades de informacin, lamanipulacin de los datos involucra tanto la definicin de estructuras para el almacenamiento de lainformacin como la provisin de mecanismos para la manipulacin de la informacin, adems unsistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen laintegridad de la informacin, a pesar de ca$das del sistema o intentos de accesos no autorizados.

    n objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una visinabstracta de los datos, esto se logra escondiendo ciertos detalles de como se almacenan y mantienen losdatos.

  • 7/24/2019 Doc. Base de Datos

    2/11

    'b$etivos de los sistemas de bases de datos

    *os objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos

    Redundancia e inconsistencia de datos

    /uesto que los arc!ivos que mantienen almacenada la informacin son creados por diferentes tipos deprogramas de aplicacin e-iste la posibilidad de que si no se controla detalladamente el almacenamiento,se pueda originar un duplicado de informacin, es decir que la misma informacin sea ms de una vez enun dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos,adems de que puede originar la inconsistencia de los datos 0 es decir diversas copias de un mismo dato

    no concuerdan entre si 0, por ejemplo que se actualiza la direccin de un cliente en un arc!ivo y que enotros arc!ivos permanezca la anterior.

    Dificultad para tener acceso a los datos

    n sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de

    los mismos. 'upngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos losclientes que viven dentro del cdigo postal 12133 de la ciudad. El gerente pide al departamento de

    procesamiento de datos que genere la lista correspondiente. /uesto que esta situacin no fue prevista en eldise"o del sistema, no e-iste ninguna aplicacin de consulta que permita este tipo de solicitud, estoocasiona una deficiencia del sistema.

    "islamiento de los datos

    /uesto que los datos estn repartidos en varios arc!ivos, y estos no pueden tener diferentes formatos, esdif$cil escribir nuevos programas de aplicacin para obtener los datos apropiados.

    "nomal(as del acceso concurrente

    /ara mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muc!ossistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un entorno as$ la

    interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes. /ara preveniresta posibilidad debe mantenerse alguna forma de supervisin en el sistema.

    )roblemas de se!uridad

    *a informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo sedebe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar algunainformacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un gradode seguridad que garantice la autentificacin y proteccin de los datos. En un banco por ejemplo, el

    personal de nminas slo necesita ver la parte de la base de datos que tiene informacin acerca de losdistintos empleados del banco y no a otro tipo de informacin.

    )roblemas de inte!ridad

    *os valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de

    consistencia. Estas restricciones se !acen cumplir en el sistema a"adiendo cdigos apropiados en losdiversos programas de aplicacin.

    Modelos de datos

    /ara introducirnos en este tema, empezaremos definiendo que es un modelo.

  • 7/24/2019 Doc. Base de Datos

    3/11

    modelo:

    Es una representacin de la realidad que contiene las caracter$sticas generales de algo que se va a realizar.En base de datos, esta representacin la elaboramos de forma grfica.

    *+u, es modelo de datos

    Es una coleccin de !erramientas conceptuales para describir los datos, las relaciones que e-isten entreellos, semntica asociada a los datos y restricciones de consistencia.

    *os modelos de datos se dividen en tres grupos

    &odelos lgicos basados en objetos.

    &odelos lgicos basados en registros.

    &odelos f$sicos de datos.

    Modelos l!icos basados en ob$etos

    'e usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo

    representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidadde estructuracin bastante fle-ible y permiten especificar restricciones de datos e-pl$citamente. E-istendiferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad04elacin.

    . Modelo Entidad-Relacin

    #enominado por sus siglas como E045 Este modelo representa a la realidad a travs de entidades, queson objetos que e-isten y que se distinguen de otros por sus caracter$sticas, por ejemplo un alumno sedistingue de otro por sus caracter$sticas particulares como lo es el nombre, o el numero de controlasignado al entrar a una institucin educativa, as$ mismo, un empleado, una materia, etc. *as entidades

    pueden ser de dos tipos

    Tangibles

    'on todos aquellos objetos f$sicos que podemos ver, tocar o sentir.

    6ntangibles

    Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que e-isten,por ejemplo la entidad materia, sabemos que e-iste, sin embargo, no la podemos visualizar otocar.

    *as caracter$sticas de las entidades en base de datos se llaman atributos, por ejemplo el nombre, direccintelfono, grado, grupo, etc. son atributos de la entidad alumno5 Clave, nmero de seguro social,departamento, etc., son atributos de la entidad empleado. 7 su vez una entidad se puede asociar orelacionar con ms entidades a travs de relaciones.

    Entidades

    na entidad es un objeto que tiene significado o importancia, cuya informacin necesito conocer.

    8tras definicionesn objeto de inters al negocio

    na entidad es una clase o categor$a de algona entidad es el nombre de una cosa

    /or ejemplo, para identificar las entidades en el conte-to de una administracin de personal en unaempresa, las entidades podr$an ser

    Empleado

    #epartamento/royecto

  • 7/24/2019 Doc. Base de Datos

    4/11

    "tributos

    *os atributos describen las entidades y son las piezas espec$ficas de informacin que necesitamosconocer. /or ejemplo, posibles atributos para la entidad empleado ser$an9ombre:ec!a nacimiento

    'ueldo

    4ut

    /ara la entidad #epartamento, ser$an9ombre #epto*ocalizacin

    7breviacin

    na entidad deber tener atributos que necesiten ser conocidos desde el punto de vista de losrequerimientos, o no es una entidad dentro del alcance de los requerimientos planteados.

    Instancias

    Cada entidad debe tener mltiples ocurrencias o instancias. /or ejemplo, la entidad Empleado, tiene unaocurrencia (o instancia) por cada empleado en la empresa. Cada instancia de la entidad, tiene valoresespec$ficos para los atributos de la entidad.

    8bservaciones

    *as instancias a menudo son confundidas con las entidades.na entidad es una clase o categor$a de algo, por ejemplo E&/*E7#8na instancia es una ;cosa; espec$fica, por ejemplo, el empleado

  • 7/24/2019 Doc. Base de Datos

    5/11

    Cada C4'8 puede ser impartido por slo un 69'T4CT84.Cada 69'T4CT84 puede ser asignado a uno a ms cursos.

    =rado de opcionalidad8pcional /uede ser.

    8bligatorio #ebe ser

    =rado de cardinalidaduno o msuno y solo uno

    Ejemplos,

    >) Empleado0#epartamento

    0 cada E&/*E7#8 debe ser asignado a uno y slo un #E/74T7&E9T80 cada #E/74T7&E9T8 puede ser responsabilidad de uno o ms E&/*E7#8s

    0 cada E&/*E7#8 puede ser asignado a una o ms 7CT6?6#7#E'0 cada 7CT6?6#7# debe ser desarrollada por uno o ms E&/*E7#8s

    A , i g n a d o

    D e , a r r o l l a

    E M P L E A D O A - . 0 D A D

    D E P A 1 . A M E N . O

    N M

    N

    +

  • 7/24/2019 Doc. Base de Datos

    6/11

    @) Cursos en niversidad

    0 'e dictan cursos semestrales (llaves primarias semestre, a"o)0 *os curso los dicta slo un profesor (llave primaria 9ombre/ )0 *os profesores pueden dictar mas de un curso (distinto) por semestre

    0 *os profesores potencialmente pueden dictar varios cursos.

    )ero para entender me$or esto0 veamos un e$emplo:

    Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan5 de esteproblema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) yel art$culo (que es el producto en venta), y las caracter$sticas que los identifican son

    Empleado 7rt$culo

    9ombre #escripcin /uesto Costo

    'alario Clave 4.:.C.

    *a relacin entre ambas entidades la podemos establecer como ?enta.

    P u e d e m 3 a r t i r

    O 4 r e c e

    N o m b r e P

    S e o 4 r e c e d u r a n t e

    S e m 5 a 6 o

    S e m e , t r e A 6 o

    - o d - u r , o

    N

    M

    +

    N

    N

    M

    P r o 4 e , o r

    - u r , o

    S e m e , t r e

  • 7/24/2019 Doc. Base de Datos

    7/11

    %ueno, a!ora nos falta describir como se representa un modelo E04 grficamente, la representacin esmuy sencilla, se emplean s$mbolos, los cuales son

    #(mbolo Representa

    E9T6#7#

    4E*7C689

    7T46%T8'

    *6=7'

    7s$ nuestro ejemplo anterior quedar$a representado de la siguiente forma

    E$ercicios

    4ealizar un diagrama Entidad04elacin para las siguientes situaciones.

    >) Compa"$a de capacitacin

    ;'oy el administrador de una compa"$a de capacitacin que provee cursos en tcnicas deadministracin. Ense"amos muc!os cursos, cada uno de los cuales tiene un cdigo, un nombre yun precio. 6ntroduccin a 6nternet y /rogramacin

  • 7/24/2019 Doc. Base de Datos

    8/11

    @) ?endedores con e-periencia

    ;Tenemos estos vendedores en terreno, tratando de vender nuestros productos a la gente de suregin. El problema es que algunas de nuestras cuentas nuevas son firmas realmente muyespecializadas, y algunos de los vendedores que tenemos no estn capacitados para atenderlos

    adecuadamente.

    7s$ que necesitamos alguna manera de clasificar a estos clientes, y mantener un registro decuales empleados tienen capacitacin en esas reas, para poder mandar a alguien donde el clienteque tenga un mayor grado de conocimiento en ese negocio, as$ evitaremos que l trasmita unamala imagen y nosotros como empresa.;

    3) Compa"$a de ?ideos

    ;'oy el propietario de una peque"a tienda de videos. Tenemos alrededor de 3.AAA cintas de lascuales necesitamos mantener su estado.

    Cada uno de nuestras cintas tiene un nmero de identificacin. /ara cada pel$cula, necesitamos

    conocer su t$tulo y categor$a (comedia, suspenso, drama, accin, guerra, etc.)Tenemos mltiplescopias de muc!as de nuestras pel$culas. 7 cada pel$cula le asignamos un identificador y le

    asociamos la cinta que la contiene. na cinta puede ser formato %eta o ?B'. 'iempre tenemos almenos una cinta para cada pel$cula que nosotros rastreamos, y cada cinta es siempre una copia deuna nica pel$cula. 9uestras cintas son de larga duracin y no tenemos pel$culas que requieranmltiples cintas.

    :recuentemente nos preguntan por pel$culas con actores populares espec$ficos. 7s$ que deseamosregistrar las pel$culas donde estn los actores de moda. 9o todas nuestras pel$culas tienen actoresfamosos o de moda. Clientes desean conocer de cada actor su nombre real y fec!a de cumplea"os.'lo registramos los actores que aparecen en pel$culas de nuestro inventario.

    Tenemos cientos de clientes. 'lo arrendamos videos a gente asociada a nuestro video0club. /aracada socio, registramos su nombre, apellido, telfono, direccin. , por supuesto cada socio tiene

    su nmero de socio.*uego, necesitamos conocer que cinta !a retirado cada cliente. n cliente puede retirar varias

    cintas al mismo tiempo. 'lo registramos los arriendos actuales, no los !istricos.;

    D) 'ervicio de 4adiota-is

    ;El usuario es el gerente de un servicio de ta-is de gran escala.Bay setecientos ta-is que manejan alrededor de mil cuatrocientos c!oferes en dos turnos.*a ciudad donde operan est dividida en novecientas reas cuadradas, cada una consistente de

    un nmero de calles. Todas las calles son rectas y van de este a oeste o de norte a sur. na callepuede estar en ms de una rea. *os nombres de las calles son nicos.

    7 cada c!ofer se le asigna un ta-i y un rea espec$fica cuando llega a trabajar. El c!ofer sereporta a la Central de Control de Ta-is por radio cuando toma un pasajero (;ta-i D1, en uso;) ycuando deja un pasajero (;ta-i D1, disponible;) El c!ofer tambin informa cambios de rea de estamanera (;ta-i D1, rea >3;)

    El sistema es responsable de las siguientes operaciones- bicar el rea, dados los nombre de dos calles que se interceptan5

    - bicar un ta-i disponible en una rea en particular5- #eterminar cuntos ta-is estn en cada rea, el promedio de ta-is por rea, el rea con

    mayor nmero de ta-is y el rea con el menor nmero de ta-is5- &antener un registro del nmero total de ta-is ;en uso; y disponibles;- bicar un c!ofer dado su nombre5 y- Calcular el porcentaje actual de ta-is ;disponibles;

  • 7/24/2019 Doc. Base de Datos

    9/11

    ) Cadena de negociosF&ire, !ace cinco a"os que &am y yo empezamos esta peque"a tienda de alimentos naturales, y a!oravea Gtenemos cincoH G en tres estados diferentesHF%ueno, como se puede imaginar, se nos est !aciendo un gran problema el controlar las cosas. 'iempreocurre que en una de las tiendas se acaba algn $tem, mientras que en la otra rebalsamos del mismo $tem.

    FG los empleadosH. 7ntes ramos &am y yo, 7!ora tenemos otros seis, y ni siquiera podemos recordar

    quien trabaja donde.Fna cosa que definitivamente necesitamos saber es la cantidad disponible de cada $tem en cada tienda.*a cantidad que se !a perdido tambin ser$a til. Tambin tenemos que imprimir una lista de precios contodos los $tems que cada tienda vende, para saber por cuanto venderlos 0 nos gusta mantener los preciosiguales en todas las tiendas.

    FTenemos que mantener un registro de los nombres y nmeros de telfono de los empleados, tambin, ynecesitamos saber en que estado viven para poder calcular sus impuestos correctamente. (ejemplo de'7, con impuestos diferentes por estado)Fy tenemos que mantener un registro del numero total de losdiferentes $tems, el numero de tiendas en cada estado, el numero de empleados en cada tienda, y elnumero total de empleados, para as$ poder imprimir todo esto en el informe anual.

    Modelos l!icos basados en re!istros

    'e utilizan para describir datos en los niveles conceptual y f$sico. Este modelo utiliza registros einstancias para representar la realidad, as$ como las relaciones que e-isten entre estos registros (ligas) oapuntadores. 7 diferencia de los modelos de datos basados en objetos, se usan para especificar laestructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la

    implementacin.

    *os tres modelos de datos ms ampliamente aceptados son

    &odelo 4elacional

    &odelo de 4ed

    &odelo

  • 7/24/2019 Doc. Base de Datos

    10/11

    7!ora te preguntaras Icmo se representan las relaciones entre las entidades en este modeloJ

    E-isten dos formas de representarla5 pero para ello necesitamos definir que es una llave primaria Es unatributo el cual definimos como atributo principal, es una forma nica de identificar a una entidad. /orejemplo, el 4:C de un empleado se distingue de otro por que los 4:C no pueden ser iguales.

    7!ora si, las formas de representar las relaciones en este modelo son

    1 2aciendo una tabla 3ue conten!a cada una de las llaves primarias de las entidades involucradas

    en la relacin

    Tomando en cuenta que la llave primaria del empleado es su 4:C, y la llave primaria del articulo es laClave.

    *a relacin de nuestro modelo resulta

    R4C Clave

    /EC

    &E791N>A>D7%C %3AA

    5 Incluyendo en al!una de las tablas de las entidades involucradas0 la llave de la otra tabla6ncrustamos la llave primaria del art$culo en la tabla del empleado

    6ombre )uesto #alario R4C ClaveA>D7%C CAA>

    O Modelo de red

    Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan pormedio de ligas o enlaces, los cuales pueden verse como punteros. *os registros se organizan en un

    conjunto de grficas arbitrarias.

    Ejemplo

  • 7/24/2019 Doc. Base de Datos

    11/11

    . Modelo $err3uico

    Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio

    de registros y sus ligas. *a diferencia radica en que estn organizados por conjuntos de arboles en lugar

    de grficas arbitrarias.

    Modelos f(sicos de datos

    'e usan para describir a los datos en el nivel ms bajo, aunque e-isten muy pocos modelos de este tipo,bsicamente capturan aspectos de la implementacin de los sistemas de base de datos. E-isten dosclasificaciones de este tipo que son

    &odelo unificador

    &emoria de elementos.