Bd Relaciones

21
 Introducción a Base de Datos Tener datos no es tener información, a su vez información no es conocimiento. Una empresa no podrá ganarle a la competencia solamente contando con grandes volúmenes de datos, sino que debe poder generar conocimiento sobre la base de la información que es generada a partir de esos datos que posee y debe emplear esta información adecuadamente. Insertadas en un ambiente de competencia global, sólo aquellas organizaciones capaces de detectar, evaluar y responder rápida y acertadamente a cambios y tendencias en el mercado, tendrán éxito; usando tecnología de punta, utilizando en forma eficiente sus recursos y teniendo a la información como ventaja competitiva. La mayoría de las empresas actúan en un ambiente de negocios que ha sufrido, y continua sufriendo, cada vez a mayor velocidad, cambios sustanciales en determinados aspectos. Los aspectos más importantes del ambiente actual a ser mencionados son: - globalización de los mercados - manejos de enormes volúmenes de información - cambios tecnológicos constantes y veloces - uso exhaustivo de procesamiento electrónico de datos - utilización de mayor cantidad de información extra-empresa.. - competencia más agresiva. - mayor exigencia por parte de los clientes En una primera etapa las organizaciones eran capaces de generar información a partir de los datos que obtenían. Estos datos se encontraban organizados con el esquema de archivos tradicionales lo que limitaba enormemente el cumplimiento de ese fin. El nacimiento del concepto de bases de datos, y su posterior evolución permitió solucionar este problema, cumpliendo una excelente tarea en el soporte de las operaciones de los negocios. Sin embargo cuando se planteaba un soporte tecnológico similar para los procesos de gestión, administrativo y control de la estrategia de esas organizaciones, se requería información que alimente adecuadamente el proceso decisorio, por lo que debe ser: exacta, oportuna, completa o suficiente, y relevante. Estas características que en el pasado podrían haber sido simplemente deseables, son hoy vitales para cualquier negocio en procura de cumplir sus objetivos. Adicionalmente las empresas deben poder utilizado el conocimiento acumulado que ha sido generado a través del uso de esa información. Para lograr cumplir con esta segunda meta, aún más ambiciosa que la anterior, es que se han desarrollado distintas nuevas tecnologías (que a su vez conllevan nuevas herramientas informáticas).

description

relaciones entre bas e de datos

Transcript of Bd Relaciones

  • Introduccin a Base de Datos Tener datos no es tener informacin, a su vez informacin no es conocimiento. Una empresa no podr ganarle a la competencia solamente contando con grandes volmenes de datos, sino que debe poder generar conocimiento sobre la base de la informacin que es generada a partir de esos datos que posee y debe emplear esta informacin adecuadamente. Insertadas en un ambiente de competencia global, slo aquellas organizaciones capaces de detectar, evaluar y responder rpida y acertadamente a cambios y tendencias en el mercado, tendrn xito; usando tecnologa de punta, utilizando en forma eficiente sus recursos y teniendo a la informacin como ventaja competitiva. La mayora de las empresas actan en un ambiente de negocios que ha sufrido, y continua sufriendo, cada vez a mayor velocidad, cambios sustanciales en determinados aspectos.

    Los aspectos ms importantes del ambiente actual a ser mencionados son: - globalizacin de los mercados

    - manejos de enormes volmenes de informacin

    - cambios tecnolgicos constantes y veloces

    - uso exhaustivo de procesamiento electrnico de datos

    - utilizacin de mayor cantidad de informacin extra-empresa..

    - competencia ms agresiva.

    - mayor exigencia por parte de los clientes

    En una primera etapa las organizaciones eran capaces de generar informacin a partir de los datos que obtenan. Estos datos se encontraban organizados con el esquema de archivos tradicionales lo que limitaba enormemente el cumplimiento de ese fin. El nacimiento del concepto de bases de datos, y su posterior evolucin permiti solucionar este problema, cumpliendo una excelente tarea en el soporte de las operaciones de los negocios. Sin embargo cuando se planteaba un soporte tecnolgico similar para los procesos de gestin, administrativo y control de la estrategia de esas organizaciones, se requera informacin que alimente adecuadamente el proceso decisorio, por lo que debe ser: exacta, oportuna, completa o suficiente, y relevante. Estas caractersticas que en el pasado podran haber sido simplemente deseables, son hoy vitales para cualquier negocio en procura de cumplir sus objetivos. Adicionalmente las empresas deben poder utilizado el conocimiento acumulado que ha sido generado a travs del uso de esa informacin. Para lograr cumplir con esta segunda meta, an ms ambiciosa que la anterior, es que se han desarrollado distintas nuevas tecnologas (que a su vez conllevan nuevas herramientas informticas).

  • El propsito de este documento es desarrollar de manera simple y entendible la evolucin en el concepto de manejo de informacin, en el sentido amplio.

    Nos hemos propuesto partir desde el concepto de dato, avanzando hasta las ltimas herramientas informticas aplicables al manejo masivo de datos.

    La premisa fundamental es la de transmitir concepto bsicos dentro de la temtica, de manera adecuada, y con la finalidad de construir una base slida para el anlisis cuando estos conceptos sean aplicados en el mbito profesional, principalmente en lo relacionado con sistemas de informacin dentro de las organizaciones. DATOS

    El dato es considerado la unidad bsica de informacin. Es la mnima expresin a la cual puede reducirse la informacin, para poder reconstruirla posteriormente. Por datos entendemos hechos conocidos que pueden registrarse y que tienen un significado implcito. Por ejemplo, consideremos los nombres, nmeros telefnicos y direcciones de personas que conocemos. As tendremos el siguiente conjunto: Ana, 2235624, Libertad, 1254.

    Por si solos, como puede verse no son capaces de trasmitir ningn tipo de informacin.

    Para lograr ese fin deben estructurarse u organizarse de manera adecuada, conociendo de antemano las reglas que se aplican para poder convertir informacin en datos y viceversa.

    Generalmente los datos representan los atributos o estados de una entidad. Por ejemplo para la cualidad nombre, Ana es el dato que me trasmite su condicin.

    Los datos pueden ser externos a la organizacin, o internos. Dependiendo si han sido procesado por la propia empresa o por terceros. Los datos externos a su vez pueden ser accesibles o no accesibles, dependiendo de la capacidad de la organizacin para poder contar con los mismos, o no.

    Para que los datos sean de utilidad para la empresa necesitamos que cumplan ciertas caractersticas, a saber:

    No efmeros, en el sentido que permanecen en el tiempo Estructurados, para facilitar compartirlos por aquellos que lo necesiten Que sea posible manipularlos aplicando operadores para obtener resultados Sentido semntico (se interpretan sobre la base de reglas que predefinen su interrelacin

    otorgndoles sentido)

    ntegros, en el sentido que refleja una realidad existente y la comunican de manera completa

    Tipos de datos

    Las posibles clases de datos son las cuatro siguientes:

  • - Numrico: Su contenido es un nmero, de una o ms cifras, con o sin decimales. Se utiliza en operaciones matemticas (sumar, restar, multiplicar, calcular porcentaje, promedio, etc.). Puede tener signo negativo.

    - Alfabtico: Su contenido es slo letras y el smbolo espacio.

    - Alfanumrico: Su contenido son letras, cifras y smbolos especiales combinados. Los smbolos especiales son: + - , : ? > < , etc. En algunos equipos de computacin, la letra es considerada un smbolo especial.

    - Lgico: Su contenido representa solamente dos valores, verdadero (true) o falso (false).

    La forma clsica de organizar los datos desde el punto de vista informtico, es a travs de los llamados sistemas tradicionales de archivos.

    Este sistema fue el primero desarrollado, y todava es ampliamente utilizado.

    El mismo consiste en estructurar los datos en distintos archivos, donde cada archivo representa una unidad operacional.

    Los usuarios definen e implementa los archivos requeridos para una aplicacin especfica. Por ejemplo en Bedelia se podra mantener un archivo de estudiantes y sus respectivas notas, y se escribiran programas para imprimir la escolaridad de un estudiante y para introducir las nuevas notas en el archivo. Un segundo usuario, la Biblioteca, podra llevar el control de las prestamos a los estudiantes. Aunque ambos usuarios estn interesados en datos relativos a los estudiantes, cada uno mantiene archivos separados y programas para manipular dichos archivos porque requieren datos que no pueden obtener de los archivos del otro. Esta redundancia al definir y almacenar los datos implica espacio de almacenamiento desperdiciado y esfuerzos redundantes para mantener actualizados los datos comunes.

    Desventajas de sistemas tradicionales.-

    Redundancia de datos (copia innecesaria). Implica desperdicio de almacenamiento. Dificultad de mantenimiento (Actualizacin). Consistencia e integridad de los datos (Actualizacin). Excesiva dependencia del soporte (un cambio sutil en los datos acarrear el cambio total del

    programa)

    Imposibilidad de procesar peticiones inesperadas de manera adecuada Aumento del tiempo de CPU

    Estos problemas anteriores justifican la utilizacin de un sistema diferente.

    El sistema tradicional se define como un esquema horizontal y en cada estrato se encuentra cada aplicacin con todos los ficheros que necesita, aunque estos estarn duplicados.

    El error del enfoque tradicional consista en un enfoque al programa o a las operaciones. El enfoque nuevo debera estar orientado a los datos.

  • Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicacin (programa informtico de uso especfico), sino de una Organizacin entera que los va a utilizar. Se tiende a integrar las aplicaciones, evitando aplicaciones aisladas.

    Se diferencian las estructuras lgicas (software) y fsicas (hardware), de manera que el usuario final solo se vincule con las estructuras lgicas. La descripcin de la estructura lgica se separa de los lenguajes de programacin. El concepto de relacin cobra importancia, de modo que se requiere de herramientas que permitan definirlas y almacenarlas. Originalmente las aplicaciones que se desarrollaban para las organizaciones estaban orientadas a cubrir necesidades muy especficas de procesamiento, por lo cual tanto los lenguajes de programacin como las estructuras de datos se centraban en realizar de manera ms eficiente una tarea especfica. As, surge el concepto de bases de datos, las cuales buscan resolver principalmente aquel problema, evitando las inconsistencias que se producan por la utilizacin de los mismos datos lgicos desde distintas plataformas fsicas (archivos) a travs de procesos independientes.

    El anlisis entonces comienza por formular la lgica de los datos organizacionales como un todo, para despus vincular aquellos con los procesos que los utilizan. Es en este anlisis en que las Bases de Datos como una unidad tanto terica como conceptual y fsica cobran importancia. Y el mecanismo sobre el cual esto se articula es el de disminuir la redundancia a travs del establecimiento de relaciones entre los datos de una organizacin. Qu es una base de datos?

    Un gestor de base de datos es un programa que permite introducir y almacenar datos, ordenarlos y manipularlos. Organizarlos de manera significativa para que se pueda obtener informacin no visible como totales, tendencias o relaciones de otro tipo. Debe permitir en principio:

    -Introducir datos

    -Almacenar datos

    -Recuperar datos y trabajar con ellos

    Todo esto se puede hacer con lpiz y papel; pero a medida que la cantidad de datos aumenta, han de cambiar las herramientas. Se pueden usar carpetas, archivadores, pero en un momento dado es conveniente acudir a los ordenadores, aunque las operaciones siguen siendo las mismas.

    Tabla , registro y campo

    Un programa de base de datos almacena la informacin que introducimos en forma de tablas como las que podemos ver, por ejemplo, en una agenda telefnica:

  • Agenda

    Nombre Direccin Telfono

    Cabrera Ortiz, Pedro Avenida Italia 12354 123457

    Garca Garca, Ana Eduardo Acevedo 34 54 405566

    Santos Gemio, Luis 18 de Julio 2556 4081234

    En este listado nos interesa tener almacenados de modo ordenado los datos de una serie de personas. Para que aparezcan de modo claro los hemos desglosado en: Nombre, Direccin y Telfono, haciendo que aparezca cada uno en una columna diferente. As es mucho ms sencillo encontrar la direccin de una persona buscando a partir de su nombre.

    Aqu podemos ver cmo la informacin referida a una persona, "un dato", aparece en una fila de la tabla: a esto es a lo que se denomina Registro. A cada una de las partes en las que hemos desglosado la informacin se le denomina Campo, y al conjunto formado por todos los registros, Tabla.

    Registro: es el concepto bsico en el almacenamiento de datos. El registro agrupa la informacin asociada a un elemento de un conjunto y est compuesto por campos.

    Tabla: conjunto de registros homogneos con la misma estructura.

    Tipos de base de datos: planas y relacionales

    Para hacer una base de datos que cumpla las funciones de agenda telefnica necesitamos una sola tabla, pero puede haber casos en los que necesitemos ms de una.

    Un hospital, por ejemplo, necesitar almacenar ms datos adems del nombre y direccin de sus pacientes. Tendr que llevar, a parte de otras muchas cosas, constancia de las visitas que un paciente haga al hospital. Es posible almacenar esta informacin en una sola tabla?:

  • Hospital Fecha Nombre Direccin Tfno. Diagnstico Tratamiento Mdico 6-12-95 Cabrera Ortz, Pedro Italia 1234 4198987 Apendicitis Ciruga Dra. Sanz 5-05-95 Garca Garca, Ana Colonia 2323 256699 Gripe Frenadol Dr. Prez 12-01-96 Santos Gemio, Luis Mercedes 3232 369856 Sarampin Augmentine Dr. Prez 12-01-96 Cabrera Ortiz, Pedro Italia 1234 4198987 Sinusitis Sinus Dr. Alonso 23-05-95 Garca Garca, Ana Colonia 2323 256699 Sarampin Clamoxil Dra. Sanz 6-12-95 Cabrera Ortiz, Pedro Italia 1234 4198987 Sinusitis Sinus Dr. Prez 01-01-96 Santos Gemio, Luis Mercedes 3232 369856 Amigdalitis Clamoxil Dr. Alonso 25-02-95 Cabrera Ortiz, Pedro Italia 1234 4198987 Amigdalitis Clamoxil Dra. Sanz

    Esta tabla contiene de modo abreviado los campos que interesan en una base de datos de este tipo. Pero se plantea un problema: si cada vez que viene un paciente al mdico se le tiene que abrir una ficha, en poco tiempo los datos personales del paciente (direccin y telfono) estarn repetidos muchas veces. Si esto se multiplica por todos los pacientes la base de datos contendr gran cantidad de datos redundantes innecesarios, lo que aumentar su tamao y la har menos eficaz.

    Para hacer una base de datos como sta se usarn necesariamente varias tablas que luego se relacionarn por un campo comn en ambas:

    De esta manera se consigue que no haya datos repetidos. Con esta estructura cada vez que venga un paciente, no es necesario volver a introducir sus datos personales. Basta con introducir su cdigo para que el Gestor de base de datos sepa de que paciente se trata. Para que se pueda establecer esta relacin es necesario que las dos tablas contengan un campo en comn (en este caso el cdigo del mdico).

    A esta forma de organizar la base de datos mediante distintas tablas relacionadas por campos comunes se le llama base de datos relacional. Cuando se utiliza solamente una tabla hablamos de una base de datos plana.

    Generalmente todos los programas de base de datos de propsito mltiple de ltima generacin tienen capacidad relacional. Algunos de los ms conocidos son Oracle, Fox, Access, FileMaker.

  • Ejemplo de base de datos relacional

    Otra base de datos posible para un hospital sera sta: guardar slo informacin sobre los pacientes, los doctores y las especialidades. Asumiendo que cada mdico tiene slo una especialidad, y que cada paciente tiene asignado un mdico de cabecera la estructura de la base de datos sera sta:

    Se observa que existen relaciones entre distintos objetos de la realidad. Estas relaciones deben respetarse para luego poder recuperar informacin de manera precisa y rpida.

    Esta base de datos relacional estar formada por tablas. Con la caracterstica de que las mismas se relacionan entre s mediante uno o ms campos. Se puede decir que cada objeto de la realidad ser una tabla en nuestra base de datos y que hay que buscar la manera de reflejar las relaciones antes mencionadas. As, para este ejemplo, se pueden emplear las siguientes tablas:

    Tabla de Pacientes:

    Identificador Nombre Direccin Telfono Mdico de cabecera

    El campo mdico de cabecera es el encargado de representar la relacin que nos interesa almacenar de la realidad.

  • Tabla de Mdicos:

    Identificador Nombre Especialidad Domicilio Telfono

    En este caso el campo especialidad es el encargado de relacionar las dos tablas

    Tabla de Especialidades:

    Identificador Nombre de especialidad

    Cada tabla est compuesta por registros, y en este caso, cada registro contendr la informacin pertinente de: un paciente, un doctor o una especialidad. A su vez, cada registro est formado por diferentes campos, por ejemplo, para la tabla pacientes tendremos los siguientes campos : Nombre, Apellidos, Direccin, Telfono, Identificador. A cada campo se le asociar un tipo de dato de acuerdo con lo que se quiera guardar en l, como se ver ms adelante.

    Algunas consideraciones sobre diseo de bases de datos

    Antes de ver lo que es el programa en s es importante que se tenga claro qu pasos hay que seguir al disear una base datos.

    1. Es importante conocer exactamente para qu se quiere usar la base de datos, qu datos son los que interesan de los que existen en la realidad y qu informacin se necesitar extraer.

    2. Una vez que esto est claro, se definen las Tablas que compondrn la base de datos. Dentro de cada tabla, se piensa qu campos sern necesarios. Conviene detenerse y definir correctamente la base de datos, ya que un mal diseo har que el sistema sea lento y los resultados no sean los esperados.

    Bases de datos de red

  • El uso de una base de datos de una agenda personal es muy distinto del uso de una base datos de un hospital, una empresa o un banco.

    La agenda telefnica slo lo utilizar una persona cada vez, mientras que las otras bases de datos necesitarn ser consultadas al mismo tiempo por muchas personas desde distintos sitios.

    En la base de datos de un hospital muchas personas pueden necesitar acceder a los datos de un paciente al mismo tiempo: una enfermera en una planta para conocer la dosis a suministrar de los medicamentos; el mdico para estudiar el caso de ese paciente; y desde administracin necesitarn los datos sobre ese paciente para elaborar el costo de su hospitalizacin. Todos ellos necesitarn por tanto hacer consultas o introducir nuevos datos.

    Esto sera imposible si la base de datos estuviera situada en un computador al que no se puede acceder ms que sentndose delante. Si se pusieran en varios sitios computadoras con bases de datos iguales, al final del da y tras modificar e ingresar datos, una base de datos ya no tendra nada que ver con otra y cualquier consulta posterior a cualquiera de ellas sera del todo infiable.

    Para este tipo de bases de datos con mltiples usuarios aparecieron las llamadas bases de datos de red. Estas estn situadas en un nico computador llamado servidor (generalmente de gran potencia) y se puede acceder a ellas desde terminales u otros computadores con un programa que permita el acceso a ella los llamados clientes. Los Gestores de bases de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo tiempo: uno puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente, est introduciendo datos en la base.

  • Gestores de este tipo son: Oracle, PL4, DB2, SQL Server, que est pensados nicamente para este uso y no se emplean para bases de datos personales

    FileMaker y Access, originariamente pensados para uso personal, tienen capacidades de red que hacen de ellos programas muy aptos para su empleo en bases de datos de pequeas empresas, que no necesitan un nmero de accesos simultneos muy alto.

    Utilidad de una base de datos

    Las tres cosas bsicas que debe permitir un gestor de base de datos son: introducir datos, almacenarlos y recuperarlos.

    Al mismo tiempo permiten otra serie de funciones que hacen de ellos herramientas incomparablemente superiores a los mtodos tradicionales de almacenamiento de datos: archivadores, carpetas, etc.

    Cualquier gestor debe permitir: ordenar los datos, realizar bsquedas, mostrar distintas vistas de los datos, realizar clculos sobre ellos, resumirlos, generar informes a partir de ellos, importarlos y exportarlos.

    Ordenar datos

    Una agenda telefnica, para que sea til debe estar ordenado por el orden alfabtico de los nombres. Del mismo modo cualquier programa de base de datos debe permitir hacer lo mismo.

    El orden en una base de datos puede ser alfabtico, numrico, de fecha o de hora; por cualquier campo, y de modo ascendente o descendente. As, se puede ordenar indistintamente la tabla de Visitas por la fecha de la visita, por los nombres de los pacientes o por el nmero de cdigo. Tambin se puede especificar varios criterios al mismo tiempo: por ejemplo, por orden alfabtico de nombre y, para los casos en que un nombre coincida, por fecha de visita.

    Bsquedas

    En los antiguos sistemas de archivo de datos si se quera buscar un conjunto determinado de registros era necesario tener los datos ordenados previamente por un criterio determinado (por ejemplo, en los ficheros de biblioteca, por materia o autor). Luego visualmente y a mano, a menudo con gran trabajo y prdida de tiempo, ir extrayendo los registros de uno en uno. Al terminar de usarlos se tena

  • que seguir el proceso contrario. En el caso de que se quisiera hacer una bsqueda por un criterio diferente al del orden del archivo (por editoriales en el ejemplo anterior) resultaba del todo imposible.

    Cualquier programa de base de datos realiza bsquedas muy rpidas por cualquiera de los campos de la base, indistintamente del modo en que estn ordenados. Permiten hacer bsquedas con varios criterios distintos (de este autor y con fecha de publicacin posterior a esta), bsquedas combinadas ( de tal autor o de tal otro), contrarias (que no sean de este autor), etc. Deshacer la bsqueda es igual de rpido.

    Una vez hecha la extraccin, el programa nos permite realizar los mismos procesos que con el total de la base de datos (ordenaciones, informes) pero ejecutados nicamente sobre los registros extrados.

    Formularios e informes

    En las bases de datos, los datos se almacenan en forma de tablas. Esto no quiere decir que deban tener esta forma de presentacin en la pantalla a la hora de introducir datos o extraerlos, ni que haya que imprimirlos as.

    Aqu es donde entran los conceptos de formulario e informe. Ambos son similares, pero tienen una funcin diferente. Bsicamente los formularios son presentaciones hechas para mostrar los datos en pantalla, mientras que los informes estn pensados para imprimirlos.

    Formularios

    Cualquier programa de base de datos permite mostrar los datos en pantalla de modos muy diferentes. Esto tiene motivos funcionales y estticos. Los formularios permiten mostrar al mismo tiempo en la pantalla campos procedentes de distintas tablas relacionadas de forma que resulte mucho ms sencillo trabajar con ellas. Al mismo tiempo se puede hacer que no aparezcan determinados campos. Esto es fundamental tanto en las bases multiusuario como en la base de datos del ejemplo del hospital. En este tipo de bases de datos no interesar que todos los usuarios vean todos los datos. A una enfermera le interesa acceder a los datos mdicos del paciente pero en modo alguno a los datos econmicos que estarn almacenados en la misma base de datos. En el caso de una persona que trabaje en administracin del hospital ocurre lo contrario: debe tener acceso a los datos econmicos pero no a los mdicos. Los formularios, unidos a un acceso a la base de datos mediante usuarios y contraseas, permiten solucionar este problema. Se puede hacer que cada usuario vea los datos que le interesan

  • manteniendo ocultos los restantes. Por otro lado los formularios permiten dar una apariencia ms agradable a la presentacin de los datos que hace que el trabajo con ellos sea ms cmodo, permitiendo insertar datos, modificarlos, o eliminar algn registro.

    Informes

    Los informes son presentaciones de los datos preparadas para imprimir. Los gestores de base de datos tienen la capacidad de ir intercalando los datos de la base sobre textos con cualquier formato de tal forma que generan de modo automtico cartas, etiquetas postales, listados.

    Clculos y sumarios

    Los programas de bases de datos tienen la capacidad de realizar operaciones matemticas sobre los registros. As, por ejemplo, si se tiene almacenado en un campo de una tabla el salario de los empleados el programa puede calcular el salario menos impuestos de cada empleado. En la mayor parte de las bases de datos, los datos procedentes de los clculos no quedan almacenados aumentando el tamao de la base de datos, si no que slo queda guardada la operacin o frmula.

    Mdico Salario

    Dr. Sanz 2500

    Dr. Alonso 3000

    Dr. Snchez 1950

    TOTAL: 3

    Tambin es posible realizar operaciones y clculos estadsticos sobre el total de los registros: el programa puede calcular el nmero de mdicos que trabajan en el hospital o en cada departamento, lo que han cobrado entre todos o desglosado por departamentos, etc. A este tipo de operaciones se les suele denominar sumarios porque son resultado de clculos sobre grupos de registros.

  • Ejemplos

    Ejemplo1:

    Un paciente puede acudir al mdico muchas veces en la vida. En cada visita que realiza el paciente le puede atender un mdico distinto por motivos distintos. Un mdico a su vez atiende a muchos pacientes. En esta base de datos la relacin entre los pacientes y los mdicos se ha realizado creando una tabla: visitas.

    Los campos en comn son los cdigos de los pacientes y de los mdicos. Estos campos compartidos tienen el origen en la tabla que los cre (tabla mdicos o tabla pacientes) pero esos mismos datos se podrn ver en la tabla visitas gracias a la relacin. De esa forma los datos de una visita en parte procedern de las tablas mdicos y pacientes, y en parte sern datos propios de visitas.

    Ejemplo 2:

    En esta base de datos la relacin entre la tabla de los mdicos y la de pacientes es ms directa. Hay una tercera tabla para tener un listado de las especialidades y no escribir el nombre mal. En este ejemplo cada mdico tiene adjudicada una lista de pacientes. A cada paciente le corresponde un mdico de cabecera. Por tanto el campo que permite la relacin es el nombre del mdico (Mdicos) y mdico de cabecera (Pacientes).

  • MODELO ENTIDAD-RELACIN Entidad Se le llama Entidad a la representacin de un Objeto acerca del cual se requiere guardar informacin. Una entidad est representada por datos, no es ella misma un dato. Tambin podemos decir que es todo objeto concreto o abstracto que existe y es distinguible. Para ir encontrando las diversas entidades hay que pensar en objetos (edificios, mquinas........), personas (empleados, estudiantes.....), actividades de la empresa (contratos, recibos, pedidos..........), funciones (telefonistas, cajeros), sucesos (fin de mes, fin de ao). Atributo Son caractersticas que proporcionan informacin detallada y descriptiva de las entidades. Unidad bsica e indivisible de informacin acerca de una entidad o de una asociacin, que sirve para describirla, todas las entidades deben tener, al menos, un atributo. Relaciones Representan la asociacin real entre una o ms entidades. Es la parte ms importante en el diseo de una base de datos relacional, ya que gracias a estas podemos identificar y entender la entidades con sus relaciones. Usualmente un verbo o una preposicin que enlaza a dos entidades usualmente implica una relacin. En esta parte hay que conocer conceptos como conectividad, cardinalidad y existencia. Cardinalidad Describe el nmero de instancias de los elementos de una Entidad dentro de una relacin basndose en ciertas reglas. Se conoce tambin como grado de asociacin a un doble nmero que refleja el nmero de ocurrencias de cada elemento de la Entidad que participa en la relacin. Bsicamente hay 3 grados de asociacin o de relacin. a) 1 a 1 (1-1) Si el grado de una asociacin entre dos entidades A y B es 1 a 1 puede significar: Que cada ocurrencia de la entidad A est asociada con 1 de la entidad B y

    viceversa, en cuyo caso, podemos hablar de asociacin 1-1 obligatoria Que cada ocurrencia de la entidad A est asociada con 0 o 1 de la entidad B y

    cada ocurrencia de B con 1 de A, en cuyo caso podemos hablar de relacin 1-1 condicional en un sentido.

  • Que cada ocurrencia de A est asociada on 0 o 1de B y cada ocurrencia de B con 0 o 1 de A, en cuyo caso, podemos hablar de asociacin 1-1 condicional.

    b) 1 a muchos (1-N) Si el grado de una asociacin entre dos entidades A y B es 1 a N puede significar que cada ocurrencia de la entidad A est asociada con 0, 1, o varias ocurrencias de la entidad B, y cada ocurrencia de B con 0 o 1 de A. Si cada ocurrencia de B est asociada con 1 de A, podemos hablar de asociacin 1-N obligatoria. Si cada ocurrencia de B est asociada con 0 1 de A, podemos hablar de asociacin 1-N condicional. c) muchos a muchos (N-N) Si el grado de una relacin entre dos entidades A y B es N a N significa que cada ocurrencia de la entidad A est asociada con 0,1 o varias ocurrencias de la entidad B y cada ocurrencia de B con 0,1 o varias de A. Relaciones Cada tabla debe cumplir con ciertas normas en su diseo, por lo que la informacin contenida en stas puede tener ciertas ligas para conectarla. NORMALIZACIN DE UNA BASE DE DATOS La normalizacin es el proceso de organizar datos en tablas relacionada. Su objetivo el eliminar los datos redundantes. EJEMPLO REDUNDANCIA. Suponga que el mismo cliente compra dos autos. En una Base de Datos de una sola tabla tendra que escribir dos veces su informacin. Lo que es peor, si el cliente cambie de direccin, tendra que cambiar la direccin en ambos lugares o de lo contrario los datos no seran consistentes internamente. Al escribir la informacin una sola vez en una tabla de clientes y al vincular su registro con cualquier compra de autos, no slo elimina los datos redundantes (y algunas veces conflictivos), sino que tambin puede cambiar su registro en una sola ubicacin. EJERCICIO Nombre, direccin, ciudad, telfono, marca_auto, modelo, ao, color etc. CLIENTE AUTOS Id cliente Id auto Nombre Marca_auto Direccin Modelo

  • Ciudad Ao Telfono Color Para la normalizacin de datos se establecen reglas, las cuales se conocen como primera, segunda y tercera formas normales: La Primera Forma Normal establece que una columna no puede contener mltiples

    valores. Por ejemplo, para que el nombre de una persona cumpla esta regla, debe dividirse en apellido paterno, apellido materno y nombre.

    La Segunda Forma Normal establece que toda columna que no sea clave debe

    depender por completo de la clave primario y no slo de una parte de sta. Por ejemplo si utiliza un id_cliente y nmero de pieza para una clave, todas las columnas de esta tabla deben aplicarse slo a un cliente y nmero de pieza especficos en conjunto. De esta manera una descripcion_pieza no pertenecera a esta tabla. Para que la tabla est en la Segunda Forma Normal, tambin debe estar en conformidad con la Primera Forma Normal.

    La Tercera Forma Normal , al igual que la SNF, establece que todas las columnas

    que no sean clave no deben depender de ninguna otra columna que no sea clave. Por ejemplo, si tiene una tabla con direcciones, el cdigo postal no debe depender de ningn otro campo que no sea clave, como el estado. Debe depender de toda la clave primaria. Claro que la tabla tambin debe estar en conformidad con la SFN. Generalmente, la TFN se viola por conveniencia.

    Tambin existen la cuarta y quinta formas normales. La mayora de los

    desarrolladores de bases de datos se conforman con cumplir hasta la Tercera Forma Normal.

  • MODELO IMPLEMENTABLE

    Se denomina Modelo Entidad Relacin Implementable a una variante del Modelo Entidad Relacin con la cual, como resultado de su aplicacin, se obtiene un modelo de datos del sistema que es posible convertir en el esquema conceptual de una base de datos. Esto significa principalmente que los archivos que se obtengan estarn normalizados. Entidades y Vnculos Se denomina Diagrama Entidad Relacin a una representacin grfica del modelo lgico de datos del sistema. Para su construccin se utilizan nicamente dos elementos denominados entidad y vnculo. Una entidad es un objeto, un concepto, una organizacin o un evento de inters para el sistema que se est modelando. Por ejemplo cada uno de los empleados de una empresa es una entidad perteneciente a un conjunto de entidades que puede denominarse Empleados. Al conjunto de entidades de un mismo tipo se lo representa mediante un rectngulo. Un vnculo es una relacin entre conjuntos de entidades de diferente tipo y se representan mediante un segmento de recta. Cardinalidad Se denomina cardinalidad o tipo de un vnculo a la cantidad de entidades de cada conjunto de entidades que ese vnculo relaciona. Existen tres tipos de cardinalidad, de 1 a 1, 1 a N y N a N. 1 a 1 (uno a uno): A cada entidad de uno de los conjuntos de entidades le corresponde, a lo sumo, una entidad del otro conjunto. 1 1

    JEFES DE DPTOS.

    DEPTOS.

    Cada Departamento tiene un solo Jefe de Departamento y cada Jefe de Departamento es jefe de un solo departamento. 1 a N (uno a muchos): A cada entidad del primer conjunto de entidades le corresponde uno o ms entidades del segundo y a cada entidad del segundo conjunto le corresponde, a lo sumo, una entidad del primero. 1 N

    EMPLEADOS

    DPTOS.

    Cada Departamento puede tener varios empleados, pero cada empleado trabaja en un solo departamento. N a N (muchos a muchos): A cada entidad del primer conjunto de entidades le corresponden varias del segundo y a cada entidad del segundo conjunto le corresponden, tambin, varias del primero

  • N N

    EMPLEADOS

    PROYECTOS

    Un empleado puede estar asignado a varios proyectos y a cada proyecto pueden estar asignados varios empleados. Atributos Se denominan atributos a ciertas caractersticas asociadas a las entidades. Todas las entidades de un mismo conjunto de entidades tienen los mismos atributos. Cada atributo tiene asociado un solo valor, este valor ser un dato. Entonces, los datos acerca de una entidad se almacenan asignando valores a sus atributos asociados. Ejemplo: Tabla: Empleados, atributo: NOMBRE, valor: JUAN GONZALEZ, atributo FECHA NACIMIENTO, valor: 18 de noviembre de 1969 Claves Se denomina clave primaria, principal o candidata de un conjunto de entidades al menor conjunto de atributos (uno o ms atributos) que permitan identificar en forma unvoca a cada entidad particular de dicho conjunto. O sea que un conjunto de entidades (tabla o archivo) puede tener ms de un atributo como clave primaria. Se denomina clave fornea de un conjunto de entidades a aquel atributo que por s solo sea clave primaria en otro conjunto de entidades con el cual se haya definido un vnculo. Ejemplo: CodEmp (CP) N 1 CodDep (CP) NomEmp NomDep

    DEPTOS.

    EMPLEADOS

    Cargo CodDep (CF) Navegaciones: El ejemplo anterior permite observar la utilidad de las claves forneas. Supongamos que, dado un empleado, se desea saber el nombre del Departamento donde trabaja. Tomando el valor asociado al atributo CodDep (que es clave fornea) se puede acceder al conjunto de entidades Departamentos (donde es clave primaria) y una vez identificada la entidad Departamento, su atributo NomDep proporciona el nombre buscado. Esta forma de pasar de un conjunto de entidades a otro a travs de un vnculo se denomina navegacin.

  • El problema N a N Los vnculos de cardinalidad N a N presentan el inconveniente de no poder ser directamente implementados en el esquema conceptual de una base de datos. Veamos un ejemplo para clarificarlo. CodEmp (CP) CodPro (CP) NomEmp NomPro CodPro (CF) N N CodEmp (CF)

    PROYECTOS

    EMPLEADOS

    Uno de los atributos que la entidad Empleados debe tener es el cdigo de proyecto al cual est asignado. Cuando se estableci el concepto de atributo se indic que cada atributo debe tener asociado un solo valor, es decir, no es vlido que un atributo tenga asignado ms de un valor al mismo tiempo. Si un empleado est asignado a ms de un proyecto, el atributo CodPro (Cdigo de Proyecto) de ese empleado deber tener tantos valores de cdigos de proyectos como cantidad de proyectos a los que est asignado, lo cual como se indic recin no es vlido. Lo mismo sucede con las entidades del conjunto de Proyectos, el atributo CodEmp de cierto proyecto debera tener tantos valores como empleados estuvieran asignados a este proyecto. Este problema se soluciona creando un nuevo conjunto de entidades de modo que al vincularse con los dos originales, los nuevos vnculos sean de cardinalidad uno a uno o uno a muchos. Para el caso del diagrama anterior, el problema se resuelve de la siguiente manera: CodEmp (CP) CodPro (CP) NomEmp NomPro

    1 1

    N N CodEmp (CF) Ambas componen la CP CodPro (CF)

    EMPLEADOS

    PROYECTOS

    ASIGNACION

    A

    Los nuevos vnculos se interpretan de la siguiente manera: - Un empleado puede estar asignado a varios proyectos, pero cada Asignacin a

    Proyectos corresponde a un solo empleado - Un proyecto puede tener varios empleados asignados, pero cada Asignacin

    corresponde a un solo proyecto.

  • Definicin de tablas La definicin de TABLAS consiste en describir el formato de los registros de cada archivo que formar parte de la base de datos. Cada conjunto de entidades del Diagrama Entidad Relacin ser una tabla de la base de datos y los respectivos atributos sern los campos del registrocorrespondiente. Para definir entonces el formato de un registro es necesario indicar los campos que formarn el registro y para cada campo, el tipo de dato y el tamao. Los tipos de datos ms usuales son numrico, alfanumrico, lgico y fecha. Con respecto al tamao de cada campo, este valor depender del problema en cuestin, pero en todos los casos, deber ser lo suficientemente grande como para prever el mayor contenido del dato que se va a guardar. Ejemplo: EMPLEADOS CodEmp (CP) Numrico 4 Ced. Identidad Alfanumrico 9 NomEmp Alfanumrico 30 CodDep (CF) Numrico 2 En Actividad (S/N) Lgico 1 DEPARTAMENTOS CodDep (CP) Numrico 2 NomDep Alfanumrico 30 Restricciones de Integridad Las restricciones de integridad proporcionan un medio de asegurar que los cambios que se hacen en la base de datos no resulten en una prdida de consistencia de los datos. Ya se han visto dos tipos de restricciones de integridad: cardinalidad de un vnculo y declaracin de clave primaria de un conjunto de entidades. Veremos a continuacin otros dos tipos de restricciones de integridad: integridad de dominio e integridad referencial. La integridad de dominio se aplica a todos los atributos de un conjunto de entidades y establece el conjunto de valores vlidos que cada atributo puede tomar. Este tipo de restriccin tambin puede prohibir el uso de valores nulos para determinados atributos, es decir, ese atributo debe tener, necesariamente, algn valor asociado. Si tenemos por ejemplo: CodCli (CP)

    CLIENTES NomCli DirCli

  • Las restricciones de dominio se indican de la siguiente manera: Cdigo de Cliente Numrico, Mayor que cero Nombre Cliente Alfanumrico, No nulo Direccin Alfanumrico, No nulo La integridad referencial se aplica a los atributos que son clave fornea en un conjunto de entidades y establece que los valores que ese atributo puede tomar deben existir previamente en el conjunto de entidades donde ese atributo es clave primaria Por ejemplo: CodCli (CP) NroFac (CP) NomCli 1 N FecFac DirCli CodCli (CF)

    FACTURAS

    CLIENTES

    La restriccin de integridad referencial se aplica al atributo CodCli del conjunto de entidades Facturas (donde es clave fornea) y se indica de la siguiente manera: CodCli: Debe existir en Clientes

    Tipos de datosTelfonoEjemplos

    Entidades y VnculosCardinalidadAtributosDefinicin de tablasRestricciones de Integridad