Bases de datos

952 visualizações

Publicada em

contenido primera unidad de la clase de bases de datos I impartida por ing. Hector Duarte en la Universidad Nacional Autonoma de Honduras

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Bases de datos

  1. 1. L *x x » ' í/ -v -~"”~ 3 _É LUUEIII HSPIUIU f] N; . ÍÍUÍUHÚÍ"" _r UCHÚHÚUHÍIS , : , ^v1 1d v 1 *~ *v wW-*i ÍzL»-J, w4n. v . a 4¡ àkr . JÍEI . l w Nlz-YIERIAL DESARROLLADO POR: ING. IIÉCTOR DLIARTE PARA LA ASI(ÂENz-'I'URA DE BASES DE D¡'l'()S l
  2. 2. INTRODUCCIÓN ; Por qué existen las bases de datos? Las bases de datos y los sistemas de bases de datos son un componente esencial de la vida cotidiana en la sociedad modema. La mayoría de nosotros no enfrentamos a diversas actividades que implican cierta interacción con una base de datos. Por ejemplo ir al banco a depositar o retirar fondos, realizar una reserva en un hotel_ . even-Filha compañía aérea. Acceder al catálogo computarizado de una biblioteca parabusçgalrlxín-Iíbro o comprar algo en línea, son actividades que implican que alguien o algúngmgíàñia de computador acceda a una base de datos. Estas interaccionesg_spmêjêtnplos de lo que podemos llamar aplicaciones de bases de datos tradiciogal§§; .eñ"'gue Ia mayor parte de la información que hay almacenada y a Ia que se acêàge és textual o numérica. La tecnologia de medios de comunicación nuevos Iwgõêposible almacenar digitalmente imagenes, clips de audio y tlujos de video, estos tipos multimedia, los sistemas de infonnación geográfica(G| S_. Geographic information system), los sistemas de procesamiento analítico en Iínea(OLAP, online analytical processing) se utilizan en muchas compañlas para extraer y analizar información útil de bases de datos muchos más grandes para permitir Ia toma de decisiones. Las tecnologias de tiempo real y bases de datos activas se utilizan para controlar procesos industriales y de fabricación. Las técnicas de búsquedas en las bases de datos se están aplacando a Ia WWW para mejorar Ia búsqueda de Ia información que los usuarios necesitan para navegar por internet. _X '_. ~:_- iüe"'árchivos se están convirtiendo en un componente importante de las bases de datos 'v . y ü izi_f= r'“_'.
  3. 3. Conceptos básicos de bases de datos Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La gestión de los datos implica tanto Ia definición de estructuras para almacenar Ia información como la provisión de mecanismos para la manipulación de Ia información. Además, los sistemas de bases de datos deben proporcionar Ia tiabilidad de Ia información almacenada, a pesar de las caídas del sistema o los intentos de acceso sin autorización. Si los datos van a ser compartidos entre diversos usuarios, el sistema debe evitar posibles resultados anómalos. Concepto: BASES DE DATOS: es una colección de datos relacionados. Con Ia palabra datos nos referimos a los hechos (datos) conocidosgguergàepueden grabar y que tienen un significado implícito. Por ejemplo los nombreàgúmerõside telefono y direcciones de las personas que conoce. (Ramez Elmasri) . A' ' La definición anterior dévbases de datos es muy genérica, no obstante, el uso común del termino es normalmente más restringido. Unapase deidatos tiene las siguientes propiedades implícitas: _ sã. base de datos representa algún aspecto del mundo real, lo que en ocasiones se " “ denomina mini mundo o un universo de discurso, los cambios introducidos en el mini mundo se reflejan en Ia base de datos. b. Una base de datos es una colección de datos logicamente coherente con algún tipo de significado inherente. No es correcto denominar base de datos a un surtido aleatorio de datos. c. Una base de datos se diseña, construye y rellena con datos para un propósito específico, dispone de un grupo de usuarios y algunas aplicaciones preconcebidas en Ia que esos usuarios están interesadas. __ *A
  4. 4. Base de datos: es una colección de datos organizados y estructurados según un detenninado modelo de información que refleja no sólo Ios datos en si mismos, sino también las relaciones que existen entre ellos. Una base de datos se diseña con un propósito especifico y debe ser organizada con una lógica coherente. Los datos podrán ser compartidos por distintos usuarios y aplicaciones, pero deben conservar su integridad y seguridad al margen de las interacciones de ambos. La deñnición y descripción de Ios datos han de ser únicas para minimizar Ia redundancia y maximizar la independencia en su utilización. (Abraham Silberschatz) Base de Datos: es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tremgnc real y compatibles con usuarios concurrentes con necesidadàêde lnímvwa; .or diferente y no predicable en LQWUJ( a f' q? , r . LATEçmgA sÁsADA EN ARCHIVOS Sistema basado Es una colección de programas de aplicación que realiza diversos servicios para loàitasííariós finales. como por ejemplo Ia producción de informes. Cada programa deñne y gestionasus propios datos. Los sistemas basados en archivos fueron uno de Ios primeros intentos 'gaíavinfõrmatizar Ios sistemas de archivo manual con los que todos nosotros estamos familiarizados. 'Por ejemplo, puede crearse un archivo manual en una Organización para albergar toda la correspondencia externa e interna relativa a un proyecto: a un producto. a una tarea. a un cliente o a un empleado. Los sistemas de archivo manual funcionan bien cuando el número de elementos almacenados es pequeño. También puede funcionar de forma adecuada cuando hay un gran número de elementos y lo único que necesitamos son almacenados o extraerlos. Sin embargo, Ios sistemas manuales de archivo deian de ser útiles cuando tenemos que establecer referencias cruzadas o procesar Ia información contenida en Ios documentos.
  5. 5. ,v 'fc f, K, z . m, [f, ÓUÉ ES UN SISTEMA DE BASE DE DATOS? z Un sistema de base de datos es basicamente un sistema computarizado para guardar registros; es decir, es un sistema computarizado cuya finalidad general es almacenar información y permitir a Ios usuarios recuperar y actualizar esa información con base en peticiones. La información en cuestión puede ser cualquier cosa que sea de importancia para el individuo u Organización; en otras palabras, todo Io que sea necesario para auxiliarle en el proceso general de su administración. Un sistema de base de datos comprende cuatro componentes principales: datos, hardware, software y usuarios. A continuación consideramos brevemente estos cuatro componentes. Sislema de adminnsuamon de base de datos (DBMS) Base de datos 7 x _ e / r 4 V? , _ / i m” I . f n_ . a I i 'ix' ' l __, , / x_ s* , X à í j / A . l a_ _J K' 7:. Programas 'f' de animacao! ! *'- l Usuarios ÍIHSVCÍ-
  6. 6. / 'r x _/ ' 'r "g 'r/ / ' l l r l z r / - ~ Â 7/ 2 f , . j Los sistemas Csñnformación contienen información acerca de las personas, lugares y cosas importantes dentro de Ia organización o del entorno en que se desenvuelve. Por información se entienden los datos que se han modelado en una forma significativa y útil pata Ios seres humanos. En contraste, Ios datos son Secuencias de hechos en bruto que representan eventos que ocurren en las organización es o en el entorno físico antes de ser organizados y ordenados en una forma que las personas puedan entender y utilizar de forma efectiva. Información vs. Datos -Los datos son secuencias 'de hechos en bruto -La información se entienden por Ios datos que se han moldeado en una forma signiticativa y útil Usuwws nrc-; mvnaouos Satan: do Bart¡ nn amos Pruucftmy de . .uma a 'CuHLAHJSI ' somou: - _ _ _ i 7 __ 95515 seumam ç m. : [Iüktfnall kuhLL14L4'VIL›J'. ¡v'| .I› . ' ' 'l bJlmru ; um at. e«; .~- a kn drum nlrvnrrnnnn¡ Basa ou Ilolua ¡Iimurhrana
  7. 7. Una base de datos se puede generar y mantener manualmente o estar computarizada. Por ejemplo, el catálogo de cartas de una biblioteca es una base de datos que se puede crear y mantener de forma manual. Una base de datos computarizada se puede crear y mantener con un grupo de aplicaciones escritas especificamente para esa tarea o mediante un sistema de administración de bases de datos. APLICACIÓN DE LOS SISTEMAS DE BASES DE DATOS a. Banca para información de Ios clientes, cuentas de Ios prestamos y transacciones bancarias _¡; _ __ b. Líneas aéreas: para reservas e información de horaNrjiQsÇ'-tas lineas aéreas fueron las primeras en usar las bases de datos distribuidasggeográficamente c. Universidades: para información de loísgezêluõfantes, matriculas de las asignaturas y cursos : . i7¡ É d. Transacciones de tarjetasdecfêditos: para compras de tarjetas de créditos y Ia generacióndqlçs "extractos mensuales e. Telecomuniêacbnes: para guardar un registro de las llamadas realizadas, generar las __ , facturas 'mensuales mantener el saldo de las tarjetas de pre-pago, y almacenar las _g - . iiifomiación de las redes de información ' v f. Finanzas: para guardar información de compañias de crédito, ventas y compras de productos, como acciones y bonos, para almacenar Ios datos de mercado en tiempo real g. Ventas: para información de clientes, productos y compras h. Comercio en linea: para Ios datos de ventas, mantenimiento de productos en linea i. Producción: Para la gestión de Ia cadena de proveedores y para el seguimiento de productos en Ia factoria j. Recursos humanos: para Ia infonnación de Ios empleados, salarios, impuestos sobre los sueldos y prestaciones sociales, para Ia generación de nóminas.
  8. 8. NATURALEZA AUTO DESCR| P'| '|VA DE UN SISTEMA DE BASES DE DATOS Una caracteristica fundamental de la metodologia de bases de datos es que el sistema de bases de datos no sólo contiene la propia base de datos, sino también una completa definición o descripción de la estructura de la base de datos y sus restricciones. Esta deñnición se almacena en el catálogo DBMS, que contiene información como la estructura de cada archivo, el tipo y el formato de almacenamiento de cada elemento de datos, y distintas restricciones de Ios datos. La información almacenada en el catálogo se denomina metadatos y describe Ia estructura de Ia base de datos principal. Un sistema de administración de datos (DBMS, database management system) es una colección de programas que permite a Ios usuarios crear y mantener una base de los datos_ EI DBMS: es un sistema de software de propósito general que facilita los procesos de definición, construcción, manipulación-y compartición de bases de datos entre varios usuarios y aplicaciones. Definir una base de datos implica especiñcar los tipos de datos, estructuras y restricciones de los datos que se almacenarán en la base de datos_ La deñnición o información descriptiva de una base de datos también se almacena en esta última en forma de catálogo o diccionario de la base de datos; es lo que se conoce como metadatos. Las aplicaciones de usuario pueden operar sobre Ios datos invocando estas operaciones por sus nombres y argumentos, independientemente de cómo esten implementadas las operaciones. Esto puede recibir el nombre de independencia programa-operación. La caracteristica que permite la independencia programa-datos y Ia independencia programa-operación se denomina abstracción de datos. Un DBMS proporciona a los usuarios una representación conceptual de los datos que no incluye muchos de Ios detalles de cómo están almacenados Ios datos o de cómo están implementadas las operaciones_ lnforrnalmente, un modelo de datos es un tipo de abstracción de datos que se utiliza para proporcionar esa representación conceptual. El modelo de datos utiliza conceptos lógicos, como objetos, sus propiedades y sus relaciones, lo que para Ia mayoría de Ios usuarios es más fácil de entender que los conceptos de almacenamiento en el computador. Por eIIo, el modelo de datos oculta los detalles del almacenamiento y de la implementación que no resultan interesantes a la mayoría de Ios usuarios de bases de datos.
  9. 9. Usuarios que confonnan el sistema de Bases de Datos Normalmente una base de datos tiene muchos usuarios, cada uno de los cuales puede necesitar una perspectiva o vista diferente de la base de datos. una vista puede ser un sub conjunto de la base de datos o puede contener datos virtuales derivados de Ios archivos de Ia base de datos pero que no están explicitamente almacenados, algunos usuarios no tienen Ia necesidad de preocuparse por si Ios datos que se refiere están almacenados o están derivados. Usuarios de los sistemas de bases de datos Administradores de las bases de datgse-. jãyÉsàcualquier donde muchas personas utilizan Ios mismos regimes; seínecesita un administrador jefe que supervise y administre esos_ recursos, en un entorno de bases de datos, el recurso principal es lgíbdãxide datos en si misma, mientras que el recurso secundario esel DBMS y el software relacionado. La administración de estos recurgtosíes'responsabilidad del administrador de Ia base de datos (DBA, admistrator), el DBA es responsable del acceso autorizado a la ~ base de datos, de Ia coordinación y monitorización de su uso, y de adquirir Ios recursos software y hardware necesario, el DBA es el responsable de problemas de brechas de seguridad o de unos tiempos de respuesta pobres, en las empresas grandes, el DBA está asistido por un equipo de personas que Ilevan a cabo estas funciones.
  10. 10. b. Diseñadores de las bases de datos: son Ios responsables de identificar Ios datos que se almacenaran en Ia base de datos y de elegir las estructuras apropiadas para representar y almacenar esos datos. Estas tareas se acometen principalmente antes de implementar y rellenar Ia base de datos, es responsabilidad de Ios diseñadores comunicarse con todos los presuntos usuarios de la base de datos para conceder sus requisitos, a ñn de crear un diseño que satisfaga sus necesidades. c. Usuarios ñnales: son las personas cuyo trabajo requieren acceso alas base de datos para realizar consultas, actualizaciones e informes. La base de datos existe principalmente para ser utilizada, Ios usuario ñnales sepueden clasificar en varias categorias: _ * “ r " a. Usuarios finales causaleggacceãsño asionalmente a Ia base de datos, pero pueden necesitar _unàzmfõrmación diferente en cada momento, utilizan un soñsticado Ienguájê de consulta de bases de datos para especiñcar sus peticionesynñrrrfalmente son administradores de nivel medio o alto u otros inte resados. &s; _ Usuários finales principiantes o parame trizados: constituye una pane considerable de Ios usuarios ñnales de las bases de datos. Su labor principal gira alrededor a la consulta y actualización constante de la base de datos, utilizando tipos de consulta y actualizaciones estándar. (denominadas transacciones enlatadas), que se han programado y probado cuidadosamente. Ejemplo i. Los cajeros bancarios hacen balances, depósitos y retiros de dinero ii. Los agentes de viaje que reservan en aerolíneas, hoteles y compañias de alquiler de autos. iii. Los empleados de las estaciones receptoras de las compañias navieras
  11. 11. c. Los usuarios finales independientes: mantienen bases de datos personales utilizando paquetes de programas confeccionados que proporcionan una interface fácil de usar y basadas en menús. Ejemplo un usuario de un paquete de impuestos que almacena sus datos ñnancieros personales de cara a la declaración de la rente. d. Analistas de sistemas: deterrninan los requisitos de los usuqoâomales, especialmente de Ios usuarios finales principiantes y paramétricos, as ' o las especiticaciones de desarrollo para las transaccl atadas que satisfagan esos requerimientos. ?g - Hecho por: lng. Héctor Duarte
  12. 12. HISTORIA DE LOS SISTEJIAS DE BASES DE DATOS El uso de sistemas de bases de datos automatizadas, se desarrollo a partir de Ia necesidad de almacenar grandes cantidades de datos, para su posterior consulta, producidas por las nuevas industrias que creaban gran cantidad de infonnación. Herman Hollerit (1860-1929) fue denominado el primer ingeniero estadístico de la historia, ya que invento una computadora llamada "Máquina Automática Perforadora de Tarjetasv. Para hacer el censo de Estados Unidos en 1880 se tardaron 7 años para obtener resultados, pero Hennan Hollerit en 1884 creo Ia máquina perforadora, con la cual, en el censo de 1890 dio resultados en 2 años y medio, dondg$e°°podia obtener datos importantes como número de nacimientos, población infaptigyihtírnero de familias. La máquina uso sistemas mecânicos para procesar la inforüggcióñHe las tarjetas y para tabular Ios resultados. Máquina perforadora r Héñtgrzfiiollerit (13604929 Tarjetas perforadora: A diferencia cqn làjnfhquina de Babbage, que utilizaba unas tarjetas similares, estas se centraban QQ dinrlnstrucciones a Ia máquina. En el invento de Hennan Hollerit, cada pegfqracián en las tarjetas representaba un número y cada dos perforaciones una letra, cada “gafjetaftenia capacidad para 80 variables. La máquina estaba compuesta por una perforadora automática y una Iectora, Ia cual por medio de un sistema eléctrico leia los orifrcios de las tarjetas, esta tenia unas agujas que buscaban Ios oriñcios y al tocar el plano inferior de mercurio enviaba por medio del contacto eléctrico Ios datos a la unidad. Este invento disparo el desarrollo de la tecnologia, la industria de Ios computadores, abriendo asi nuevas perspectivas y posibilidades hacia el futuro.
  13. 13. Década de 1950 y Principios de la década del 60 En este lapso de tiempo se da origen a las cintas magnéticas, las cuales sirvieron para suplir las necesidades de infonnación de las nuevas industrias. Por medio de este mecanismo se empezó a automatizar la información de las nóminas, como por ejemplo el aumento de salario. Consistia en leer una cinta o más y pasar los datos a otra, y también se podian pasar desde las tarjetas perforadas. Simulando un sistema de Backup, que consiste en hacer una copia de seguridad o copia de respaldo, para guardar en un medio extraible Ia información importante. La nueva cinta a Ia que se transtiere la información pasa a ser una cinta maestra. Estas cintas solo se podian leer secuencial y ordenadamente. Finales de Ia Década de 1960 70 El uso de los discos fIjos en ese momentoftsieaurífadelanto muy efectivo, ya que por medio de este soporte se podia consultar la infonnación directamente, esto ayudo a ahorrar tiempo. No era necesario saberfexactamente donde estaban los datos en los discos, ya que en milisegundos era recuperable Ia información. A diferencia de las cintas magnéticas, ya no era necesarfia_ lersecuencialidad, y este tipo de soporte empieza a ser ambiguo. Los discos diéron inicio a las Bases de Datos, de red y jerárquicas, pues los , programadores con su habilidad de manipulación de estructuras junto con las ventajas de Ios discos era posible guardar estructuras de datos como listas y árboles. Década de 1970 Edgar Frank Codd (23 de agosto de 1923 - 18 de abril de 2003), en un artículo "Un modelo relacional de datos para grandes bancos de datos compartidos" ("A Relational Model of Data for Large Shared Data Banks") en 1970, detinió el modelo relacional y publicó una serie de reglas para Ia evaluación de administradores de sistemas de datos relacionales y asi nacieron las bases de datos relacionales.
  14. 14. A partir de Ios aportes de Codd el multimillonario Larry Ellison desarrollo la base de datos Oracle, el cual es un sistema de administración de base de datos, que se destaca por sus transacciones, estabilidad, escalabilidad y multiplatafonna. Inicialmente no se uso el modelo relacional debido a que tenia inconvenientes por el rendimiento, ya que no podian ser competitivas con las bases de datos jerárquicas y de red. Ésta tendencia cambio por un proyecto de IBM el cual desarrolló técnicas para la construcción de un sistema de bases de datos relacionales eficientes, llamado System R. Edgar Frank Codd IBM Corporation Larry Ellison Década de l980 La década de 1980 también fue testigo de una gran investigaciontgnilñsebases de datos paralelas y distribuidas. asi como del trabajo inicial en las bases degzlaltdsiorléntadas a objetos Principios década de los 90 __. . ¡'“«. ,: 'V El Ienguaie SQL se diseñó fundamgrítíãrnente para las aplicaciones de ayuda a Ia toma de decisiones. que son intensivas en jcqnstrlías mientras que el objetivo principal de las bases de datos en Ia década de |980§ueí1asaplicaciones de procesamiento de transacciones. que son intensivas en actualizacion%. la'°'ayuda a Ia toma de decisiones y las consultas reemergieron como una importante área de aplicación para las bases de datos. Las herramientas para analizar grandes ãcantidades de datos experimentaron un gran crecimiento de uso. Muchos vendedores de bases de ' datos introdujeron productos de bases de datos paralelas en este periodo, asi como también comenzaron ofrecer bases de datos relacionales orientadas a objeto. Finales de la década de los 90 EI principal acontecimiento fue el crecimiento explosivo de World Wide Web. Las bases de datos se implantaron mucho más extensivamente que nunca antes. Los sistemas de bases de datos tienen ahora soporte para tasas de transacciones muy altas, asi como muy alta fiabilidad y disponibilidad 24><7 (disponibilidad 24 horas al día y 7 dias a Ia semana, que significa que no hay tiempos de lnactividad debidos a actividades de mantenimiento planiñcadas). Los sistemas de bases de datos también tuvieron interfaces Web a Ios datos.
  15. 15. LA AR UITECTURA DE TRES NIVELES DEL ES UEMA DE BASES DE DATOS Tres de las cuatro importantes caracteristicas de Ia metodologia de bases de datos que se mencionaron anteriormente son: (I) aislamiento de Ios programas y Ios datos (independencia programa-datos y programa operación), (2) soporte de varias vistas de usuario y (3) uso de un catálogo para almacenar Ia descripción de Ia base de datos (esquema). En esta sección especiñcamos una arquitectura para Ios sistemas de bases de datos, denominada arquitectura de tres esquemas, que se propone para ayudar a conseguir y visualizar estas caracteristicas. Uno de Ios propósitos principales de un sistema de bases dedatos es proporcionar a Ios usuarios una , a ' fisión abstracta de los datos. Es decir, elsjstenñ 'esconde ciertos detalles de cómo se almacenan y mantienen Ios datos. _ z Abstracción de los datos: Ur-LÊBMS proporciona a los usuarios una representación conceptual de los datos'. - qiúe” no incluye muchos de los detalles de cómo están almacenados Iosidaíos o de cómo están implementadas las operaciones. Informalmente. Para quekel sistema sea útil debe de recuperar los datos eficientemente, la necesidad de , eficiencia ha Ilevado a los diseñadores a usar estructuras de datos complejas para la presentación de los datos en la base de datos, los desarrolladores ocultan esa complejidad a Ios usuarios mediante varios niveles de abstracción para simplificar Ia interacción de los usuarios con el sistema Abstracción de datos: Característica de un sistema de bases de datos, que permite al usuario o programador operar con los datos sin necesidad de conocer detalles que para él no son de "importancia", ofreciendo asi una visión abstracta de estos. Para cumplir con tal ñn se han definido diferentes niveles de abstracción:
  16. 16. Describir La Arguitectura De Una Base De Datos Nivel Físico. Determina como están almacenados fisicamente los datos (pistas, sectores, cilindros). ya sea en registros o de cualquier otra fonna, así como Ios métodos de acceso , representa el nivel más bajo de abstracción Nivel Lógico o Conceptual. Determina Ia organización de Ios archivos. Índices, llaves, orden de campos, tipos de datos. Es Ia representación de los datos realizada por la organización, que recoge Ios datos parciales de Ios requerimientos de los diferentes usuarios y aplicaciones parciales. lncluye la definición de los datos y las relaciones entre ellos. Este nivel lleva asociado un Esquema Conceptual. Nivel de Vistas. Oculta parte de Ia información a los usuarios, es decir hace visible solo una parte de la base de datos. . Un ejemplo seria el caso del empleado de una organización que tiene acceso a la visión de su nómina, pero no a la de sus compañeros. EI esquema asociado a éste nivel es el Esquema de ñsión IWA l “TIA 2 Í _ “HÁ 7¡ l rm-zLLocxco MVILYIUCO MV! LtS UI. ABN¡ RACCION Dl. DAIUS
  17. 17. Otros autores utilizan la denominación de nivel intemo, nivel conceptual y nivel extemo, para referirse a estos mismos niveles: USUEIFÍOS 7 g oorrespon-: fericfas l' ~> f ovnvspontfvriciars Diseño r d 9- Élrnacenamientà Hecho por: lng. Héctor Duarte |7
  18. 18. Niveles de la arquitectura de un sistema de base de datos La Arquitectura de tres esquemas permite establecer el principio de independencia de Ios datos, ya se trate de una independencia lógica o física. El concepto de independencia de los datos: que puede detinirse como Ia capacidad de cambiar el esquema en un nivel de un sistema de bases de datos sin Tener que cambiar el esquema en el siguiente nivel más alto. Se pueden definir dos tipos de independencia de datos: 1.| ndependencia lógica de datos. Es la capacidad de cainbjzaíràel-esquema conceptual sin tener que cambiar Ios esquemas externos o los programaedàjaplicación 2.lndependencia fisica de datos. eggjggcâpanéiciàd de cambiar el esquema interno sin que haya que cambiar el esquema cgpceptgal? Por tanto, tampoco es necesario cambiar Ios esquemas externos. . __ _. _ Por regla generakglaíixadêpendencia fisica de datos existe en la mayoria de las bases de datos y de Ios entorñás de archivos en Ios que al usuario se le ocultan Ia ubicación exacta de Ios datos _pn-_e/ Fdisco, Ios detalles hardware de Ia coditicación del almacenamiento, Ia colocación, Ia eempresión, Ia división, la fusión de registros, etcétera. Las aplicaciones siguen obviando estos detalles. Por el contrario, Ia independencia lógica de datos es muy dificil de conseguir porque permite los cambios estructurales y restrictivos sin afectar a Ios programas de aplicación (un requisito mucho más estrícto).
  19. 19. MODELOS DE LOS DATOS Bajo la estructura de las bases de datos se encuentra el modelo de Datos: Modelo: Es una colección de herramientas conceptuales para describir Ios datos, sus relaciones, su semántica y las restricciones de consistencia, Ios modelos de datos ofrecen un modo de describir el diseño de las bases de datos en Ios niveles fisicos, lógico y de vistas. Un modelo: Es basicamente una "descripción" de algo copoçido como contenedor de datos (algo en donde se guarda Ia información), asi cgnioídelos métodos para almacenar y recuperar información de esos contenedoresglíos: modelos de datos no son cosas fisicas: son abstracciones que permiten &Jjnfiplêrrientación de un sistema eficiente de base de datos; por Io general se refierenñfgalgorilmos, y conceptos matemáticos. Un modelo es una represemactónde objetos y sucesos del 'mundo real', asi como de sus asociaciones. _Setratazdeeuna abstracción que se concentra en Ios aspectos esenciales e inherenteszdeeünaã' organización e ignorar las propiedades accesorias. Un modelo de datos representa à' Ia propia organización y debe proporcionar Ios conceptos básicos y las r , nõtacfones que permitan a Ios diseñadores de Ia base de datos y a Ios usuarios finales comunicar de forma precisa y no ambigua su comprensión de Ios datos de Ia organización. Podemos considerar que Ios modelos de datos comprenden tres componentes: -una parte estructural, compuesta por un conjunto de reglas que son las que detinen cómo pueden construirse las bases de datos; (2) una parte manipulativa, que deñne Ios tipos de operaciones que pueden realizarse sobre Ios datos (esto incluye las operaciones empleadas para actualizar o extraer datos de la base de datos y para modificar la estructura de Ia base de datos). (3) posiblemente, un conjunto de restricciones de integridad, que garantiza Ia precisión de Ios datos.
  20. 20. CLASlFICACIÓN DE LOS MODELOS DE DATOS a) Modelos Lógicos Basados en Objetos Modelo Entidad-Relación Modelo Orientado a Objetos Modelo Semi estructurados Modelo Gestión de bases de datos distribuidas b) Modelos Lógicos Basados en Registros Modelo Relacional Modelo de Red Modelo Jerárquico Modelos Basados en registro En un modelo de datos basados en registros, la base de datos está compuesta por una serie de registros de formato tijo, posiblemente de tipos distintos. Cada tipo de registros define un número ñjo de campos, cada uno de Ios cuales suele tener una Iongitud también fija. Existen tres tipos principales de modelos lógicos de datos basados en registros: el modelo de datos relacional, el modelo de datos en red y el modelo de datos jerárquico. Los modelos de datos en red y jerárquico fueron desarrollados casi diez años antes que el modelo de datos relacional, por Io que su vinculación con Ios conceptos tradicionales de procesamiento de archivos resulta más evidente.
  21. 21. Bases de datos jerárquicas EI modelo jerárquico es un tipo restringido de modelo en red. De nuevo, los datos se representan como colecciones de registros, mientras que las relaciones se representan mediante conjuntos. Sin embargo, el modelo jerárquico sólo permite que cada nodo tenga un padre. Un modelo jerárquico puede representarse como un grafo en árbol, donde los registros aparecen como nodos (también denominados segmentos) y los conjuntos aparecen como aristas. Estas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo Ios datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. EI nodo que no tiene padres es llamado raíz, y a Ios nodos que no tienen hijos selos conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en elrgcasbde aplicaciones que manejan un gran volumen de información y datos muy compartidospermitiendo crear estructuras estables y de gran rendimientó. -- Una de las principales limitacionesjde este modelo es su incapacidad de representar eficientemente Ia redundanciagleeüatõs; Limitacionesdeeáfmodelo es: - su , incapacidad de 'representar eficientemente Ia redundancia de datos. , -El Í modelo de datos jerárquico presenta importante inconvenientes, que provienen "V apríncipalmente de su rigidez, Ia cual deriva de la falta de capacidad de las organizaciones jerárquicas para representar sin redundancias ciertas estructuras muy difundidas en la realidad, como son las interrelaciones reflexivas - La poca flexibilidad de este modelo puede obligar a Ia introducción de redundancias cuando es preciso instrumental', mediante el modelo jerárquico. situaciones del mundo real que no responden a una jerarquia; - Otra Iimitación importante del modelo jerárquico es no estar preparado para representar interrelaciones N: M.
  22. 22. colecciones de registros y las relaciones entre datos se representan mediante enlaces (dirigidos) . _____ Tí . ,_ _ , _ cuco msm [um í j _ -íx ° Lorrz msm iirc/ ii 'W 1 ~~= , s-- j Pliluil i ususi l ? M10 . . ' N _, _ 5 ísrnxit 1mm IIADO N 'roxo 9 x74 iis s : a ~ 'j', _ - e: a ; - v 7-: 7¡ vma Junia . mu C-lol somo H cm _ namo _ cm mm¡ Mcmfl 742m" v _ __ i cm mm ' cia-i lctifmj
  23. 23. Base de datos de red Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es Ia moditicación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Los registros se organizan como colecciones de árboles, en lugar de grafos dirigidos Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecia una solución eficiente al problema de redundancia de datos; pero, aun asi, la dificultad que significa administrar Ia información en una base de datos de red ha signiñcado que sea un modelo utilizado en su mayoria por programadores más que por usuarios finales. . r C401 52.000 cmo “ 245.310 'cAu ' °m mm¡ 73131175345¡ PASTO ' cem "Mion 'roxo : mv-tus 'moon _ cao: 9mm) j SENA VZASILGN Two ' C320! (2.000 LOPEZ mesma ' Bum¡ | ||| '“"'"' m** ' - C430 59.009 l
  24. 24. Base de datos relacional El modelo de datos relacional está basado en el concepto de relaciones matemáticas. En el modelo relacional, Ios datos y las relaciones se representan mediante tablas. cada una de las cuales tiene una serie de columnas con nombres distintivos. Este es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinamicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de Ios Iaboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrian considerarse en fomia lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoria de las bases de datos relacionales creadas por Edgar Frank Codd, Ia mayoría de las veoes'se“'conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada_ relación como si fuese una tabla que está compuesta por registros (las ñlas de urraitabla), que representarian las tuplas, y campos (las columnas de una tabla). Una Base de Dates »Relacional es una base de datos en donde todos Ios datos visibles al usuario están lôrgiahizados estrictamente como tablas de valores y en donde todas las operacionesde la base de datos operan sobre estas tablas (Dr. Codd 1970 ¡Er-'I' , este modelo, eI lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de Ia base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar Ia información. El Ienguaje más habitual para construir las consultas a bases de datos relacionales es SQL Structured Quem Language o Lenguaie Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se Ie conoce como nonnalización de una base de datos.
  25. 25. CLIENTE cumu NOMBRE , cmirtilcumrii ClUDAD 7.245.318 C-lül Laszssi Í c. i2i menus me: 9.155.393 ' cariz ' sem usam oiii l vma 4mm ' cm l 7.245.319 0.209 1.352.851 C-Zll!
  26. 26. Hecho por: lng. Hector Duarte 26
  27. 27. Modelos Lógicos orientadas a objetos Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en Ia base de datos Ios objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos Ios conceptos importantes del paradigma de objetos: -Encapsulación - Propiedad que permite ocultar Ia información al resto de Ios objetos, impidiendo asi accesos incorrectos o conflictos. -Herencia - Propiedad a través de Ia cual los objetos¡ comportamiento dentro de una jerarquia de clases. V _r v_ 'F * i -Polimorlismo - Propiedad deagiáa-'operación mediante Ia cual puede ser aplicada a distintos tipos de objetos. ' › Í ' En bases de datósgofientàdas a objetos, los usuarios pueden deñnir operaciones sobre Ios datos comgparterde' la deñnición de Ia base de datos. Una operación (llamada función) se espepiüca éh dos partes. ' o La interfaz (o signatura) de una operación incluye el nombre de la operación y Ios tipos de datos de sus argumentos (o parametros). o La implementación (o método) de la operación se especiñca separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de Ios usuarios pueden operar sobre Ios datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea Ia forma en Ia que se han implementado. Esto podria denominarse independencia entre programas y operaciones. Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará Ios nuevos conceptos orientados a objetos y mantendria compatibilidad con SQL92.
  28. 28. GESTIÓN DE BASES DE DATOS DISTRIBUIDA La base de datos está almacenada en varias computadores conectadas en red. Surgen debido a la existencia fisica de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada Iocalidad y acceder asi a distintas universidades, sucursales de tiendas, etcétera. MODELO DE EN11DAD RELACION EI modelo de entidad Relación (E-R) se basa en una percepción del mundo real que consiste en una colección de objetos básicos, denominados entidades de las relaciones entre ellos, Una entidad es una "cosa" u "Objeto" del mundo real que es distinguibievde otros objetos, el modelo Entidad-Relación se usa mucho en el diseño de basesgdezdatõs MODELO SEMI ESTRUCTURADO _k j_ , s. EI M. S.E. Permite la especificacióndídatos donde los elementos de datos individuales del mismo tipo pueden tenerdiferentes conjuntos de atributos, esto Io diferencia de los modelos de datos mencionadoeantjenorfnente, en lo que cada elemento de datos de un tipo particular debe de tener el mismõcdnjunto de atributos, el Ienguaje de marcas extensib| es(XML, )se emplea muchopara representar datos semi estructurados En eldiseño de una base de datos, hay que tener en cuenta distintas consideraciones, entre * ' ' las que destacan: - Ia velocidad de acceso - el tamaño de la información - el tipo de infonnación - Ia facilidad de acceso a Ia información - la facilidad para extraer Ia información requerida - el comportamiento del sistema de gestión de bases de datos con cada tipo de información.
  29. 29. ESQUEMAS, INSTANCIAS Y ESTADO DE LAS BASES DE DATOS Un esquema de base de datos es una descripción de Ia estructura de Ia base de datos. La independencia de Ios datos hace que cada nivel sea inmune a Ios cambios efectuados en los niveles inferiores. La descripción de una base de datos se denomina esquema de Ia base de datos, que se especiñca durante Ia fase de diseño y no se espera que cambie con frecuencia. La mayoria de Ios modelos de datos tienen ciertas convenciones para Ia visualización de los esquemas a modo de diagramas. Un esquema visualizado se denomina diagrama del esquema. La Figura 2.1 muestra un diagrama del esquema para Ia base deadatos de Ia Figura 2.1; el diagrama muestra Ia estructura de cada tipo de registro, pero no las instancias reales de los registros. A cada objeto del esquema (como ESTUDIANTE o CURSO) Io denominamos estructura de esquema. Un diagrama del esquema sólo muestra algunos aspectos de un esquema, como los nombres de los tipos de registros y Ios elementos de datos, y algunos tipos de restricciones). Figura 2.1. Dlngnunn do! otaqutsmn pnrn lu brum- an cintos qu- iu l : guru 1 z ESTUDIANTE j NOMBRE l NumF sludlantn I cine» l Esapnclnlldad 1 CURSO [ NoruUruCurso L NumCuruo l Horns; l Dupurturuttznlo I PRERREQUISITO L NumCurso LNurnPrunurqulsllu SECCIÓN l ÍDSnCCIOH l NumCurao I Scvmestru l Profesor l INFORME_CALIF l NumEuludlunln l lDSuccion l Not: : J
  30. 30. También reciben el nombre de conjunto actual de ocurrencias o instancias de la base de datos. En un estado dado de Ia base de datos, cada estructura de esquema tiene su propio conjunto actual de instancias; por ejemplo, Ia construcción ESTUDIANTE contendrá el conjunto de entidades estudiante individual (registros) como sus instancias. Es posible construir muchos estados de Ia base de datos para que se correspondan con un esquema de bases de datos particular. Cada vez que se inserta o borra un registro, o cambia el valor de un elemento de datos de un registro, cambia el estado de Ia base de datos por otro. El estado correspondiente de Ia base de datos es el estado vacío, sin datos. El estado inicial de Ia base de datos se da cuando ésta se rellena o carga por primera vez con los datos iniciales. Desde ese momento, cada vez que sobre la base de datos se aplica una operación de actualización, obtenemos otro estado de la base de datos. En cualquier momento en el tiempo, la base de datostieneun . estado actual. EI DBMS es en parte responsable de garantizar que cada estado de Ia base de datos sea un estado válido; es decir, unestado que satisfaga Ia estructura y las restricciones especificadas en el_ esquema. Por tanto, especiñcar un esquema correcto al DBMS es sumamente importante, por Io que el esquema debe diseñarse con sumo cuidado. El DBMS almacena las descripciones de las construcciones de esquema y las restricciones (también denominadas meta datos) en el catálogo del DBMS, para que el software DBMS pueda dirigirse al esquema siempre que Io necesite. En ocasiones, el esquema recibe el nombre de intención, y el estado de Ia base de datos extension del esquema.
  31. 31. Len ua'es de Bases de Datos Los sistemas de bases de datos proporcionan un Ienguaje de detinici . de datos para especificar el esquema de la base de datos y un Ienguaje de manipulación atos para expresar las consultas y las modiñcaciones de la bases de dat , en la practica los lenguajes de definición y manipulación de datos no son d g es diferentes, en mbio simplemente forrnan parte de un único Ienguaje d: _ v "atos, como puede ser SQL 63095) se divide en dos: 1) Lenguaje de i 2) gg ción de Datos Hecho por: lng. Héctor Duarte 3l
  32. 32. 1) Lenguaje de Manipulación de datos EL Ienguaje de manipulación de datos es un Ienguaje que permite a Ios usuarios tener acceso a Ios datos organizados mediante el modelo de datos correspondiente a manipularlos, Ios tipos de datos son: a) La recuperación de información b) La inserción de información nueva en Ia base de datos c) El borrado de Ia información de la base de datos d) Ia moditicación de la información almacenada en Ia base de datos Hay fundamentalmente dos tipos : _ * a) los LMDs procedimentales necesitamzgüejellirsuario especiñque que datos se necesitan y como obtener esos datos 4.7,: : ” ” b) los LMDs declajfatifàdffaxrfibién conocidos como LMDs no procedi mentales) necesitan que el usuagioâãgeàiñque que datos se necesitan sin que haga falta que especitiquen como obtener esos datos 'Úfia consulta es una instrucción que solicita que se recupere infonnación. La parte de Ios LMDs implicada en Ia recuperación de información se denomina Ienguaje de consultas. Aunque tecnicamente sea incorrecto, resulta habitual usar las expresiones Ienguaje de consultas y Ienguaje de manipulación de datos como sinónimas. Existen varios lenguajes de consultas de bases de datos en uso, tanto comercial como experimentalmente. EI Ienguaje de consultas más ampliamente usado, SQL
  33. 33. 2) Lenguaje de definición de datos Es un conjunto de declaraciones o definiciones que permiten expresar las especificaciones del esquema de la base de datos. A partir de estas se genera el Diccionario de Datos. Igualmente permite detenninar la estructura de almacenamiento y Ios métodos de acceso. Permiten crear, las bases de datos, las tablas. definir índices y reglas de integridad. Igualmente modificar y borrar Io antes definido. Los esguemas de las bases de datos se especifican mediante un conjunto de definiciones expresadas mediante un Ienguaje especial denominado lenguajêzde definición de datos (LOO). EI LDD también se usa para especificar más propiedadeszde Ios datos. La estructura de almacenamiento ylos de acceso usados por el sistema de bases de datos se especifican mediante uri7conjunto de instrucciones en un tipo especial de LDD denominado Ienguaje dealmaõenamiento y definición de datos. Estas instrucciones definen los detalles de implementación de Ios esquemas de las bases de datos, que suelen ocultarse a los usuarios. ' Restricciones de dominio. Se debe asociar un dominio de valores posibles a cada atributo (porejemplo, tipos enteros, tipos de carácter, tipos fecha/ hora). La declaración de un atributo u' como parte de un dominio concreto actúa como restricciones de Ios valores que pueden adoptar integridad Referencial hay casos en que se desea asegurar que un valor que aparece en una relación para un conjunto de atributos dado aparece también para un determinado conjunto de atributos en otra relación (integridad referencial) las modificaciones de Ia base de datos pueden causar violaciones de Ia integridad referencial, cuando se viola una restricción de integridad, el procedimiento normal es rechazar Ia acción que ha causado esa violación.
  34. 34. Asertos un aserto es cualquier condición que Ia base de datos debe de satísfacer siempre, las restricciones de dominio y las restricción de integridad referencial son formas especiales de asertos Autorización puede que se desee diferenciar entre Ios usuarios en cuanto al tipo de acceso que se les pennite diferentes valores de datos de la base de datos, pueden ser : autorización de lectura, autorización de inserción, autorización de actualización de eliminación, EL LDD al igual que cualquier otro Ienguaje de programación, obtiene como entrada algunas instrucciones y genera una salida, las salida del LDD se coloca en el diccionario de Datos, que contiene Meta datos, es decir datos sobre datos Nota: Este seudo código hará un acercamiento a la sintaxis real dê un motor de base de datos, pero no se detallaran las instrucciones 1. Crear Ia Base de Datos ejem1: CREAR BASE_DATOS ejem1: 2. Creación de Ia tabla cliente: CREAR TABLA cliente( Cedula char(12) NO NULO, Nombre char(25), Direccion char(30), Ciudad char(15), Llave Primaria(cedula)); 3. Creación tabla factura: CREAR TABLA factura( numero char(6) NO NULO, ced_cliente char(12) NO NULO,
  35. 35. fecha date, total money, Llave Primaria (numero), Llave Foránea(ced_cliente) Referencia cliente(oedula)); consultas: 1. Mostrar la información de los clientes: SELECCIONE todos los campos j' Desde la Tabla clientes. & 2. Mostrar Ios clientes de la ciudad de Medelliigy§ SELECCIONE todos los campos _ Desde la Tabla clientes Cuya ciudad sea "Medeg(& Í 3. Agregar _ . _ *atributo IVA la tabla factura: T factura ADICIONE iva money; . .~- rrar Ios clientes de Bogotá' BORRE DESDE cliente DONDE ciudad sea "Bogota". Hecho por: lng. Hector Duarte
  36. 36. LOS SGBD Existen unos gggramas denominados sistemas toras de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, asi como su utilización y administración. *Em Los SGBD: Un sistema software que permite a Ios usuarios definir, crear, i ntener y controlar el acceso a la base de datos. 'xe Los SGBD tienen dos funciones principales que son: -1. La deñnición de las estructuras para al tos. - 2. La manipulación de Ios datos FUIICÍOIICS | 'r -c¡: : › ' 'ión vamos a examinar los tipos de funciones y servicios que debe _rcionar un SGBD. Codd (1982) enumera ocho servicios que todo SGBD completo debe proporcionar, y nosotros hemos añadido, por nuestra parte, otros dos servicios que be razonablemente esperar que estén disponibles. Hecho por: lng. Hector Duarte 36
  37. 37. 1.Estable el esquema de la base de datos, Definir una base de datos implica especificar Ios tipos de datos, estructuras. y restricciones de los datos que se almacenan en Ia base de datos, la información descriptiva de una base de datos es lo que se conoce como METADATOS, Ia construcción de la base de datos es el proceso consistente en almacenar Ios datos en algún medio de almacenamiento controlado por el SGBD 1.Almacenamiento, extracción y actualización de datos: Un SGBD debe proporcionar a los usuarios la capacidad de almacenar, extraer y actualizar los datos de la base de datos. Esta es Ia función fundamental de un SGBD. EI SGBD debe claramente, al proporcionar esta funcionalidad, ocultar Ios detalles intemos de implementación fisica (como por ejemplo Ia organización de archivos y las estructuras de almacenamiento), de modo que dichos detalles sean transparentes para el usuario. 3/ á? , f - *a . 1.Un catálogo accesible por el usuario “Diccion 'ogidañãfosW Un SGBD debe proporcionar un catálogo en el que se almacenen las descripggonesÊigàlos elementos de datos y que sea accesible por parte de los usuarios. Una de las caraçtxtiqâsízlave de la arquitectura es que incluye un catálogo integrado del sistema en Bkqlã "ãalmacenan los datos acerca de Ios esquemas, usuarios, aplicaciones, etc_ No, solgrdeyttâpoder el SGBD acceder al catálogo, sino que también deben poder acceder los usuadrysggmcãfálogo del sistema, o diccionario de datos, es un repositorio de información que describeíãgg: ãâtos contenidos en la base de datos, es decir, Ios 'datos acerca de los datos' o ' me os La 'cantidad de información y la manera en que ésta se emplean varian de un SGBD a otro. ' ente, el catálogo del sistema almacena: ' y 'los nombres, tipos y tamaños de los elementos de datos; * _g -Ios nombres de las relaciones; ¡ -Ias restricciones de integridad aplicables a Ios datos. ' -Ios nombres de los usuarios autorizados que tienen acceso a Ios datos. -Ios elementos de datos a los que cada usuario puede acceder y los tipos de acceso permitidos; por ejemplo, acceso de inserción, de actualización_ de borrado o de lectura. -Los esquemas externos, conceptual e interno y las correspondencias entre Ios distintos esquemas, como se describe en la Sección_ - las estadísticas de uso, como las frecuencias de transacciones y el número de accesos realizados a Ios distintos objetos de la base de datos.
  38. 38. 4. Soporte de transacciones: Un SGBD debe proporcionar un mecanismo que garantice que se lleven a cabo todas las actualizaciones correspondientes a una determinada transacción, o que no se lleve a cabo ninguno. Una transacción es una serie de acciones, Ilevadas a cabo por un único usuario o programa de aplicación y mediante las que se accede al contenido de la base de datos o se Io modifica. Por ejemplo, algunas transacciones simples para el caso serían añadir un nuevo empleado a Ia base de datos, actualizar el salario de un empleado o borrar un inmueble del registro. Un ejemplo más complicado podria ser borrar un empleado de la base de datos y reasignar Ios inmuebles que gestionaba dicho empleado a otro miembro de Ia plantilla. En este caso, hay que hacer en la base de datos más de un cambio. Si fallara Ia transacción durante Ia ejecución, por ejemplo debido a un fallo del hardware, Ia base de__, .datgs quedaría en un estado incoherente: algunos cambios habrían sido reali_ dggmybtros no. Como consecuencia, seria preciso deshacer Ios cambios realizadpüapara volver a Ia base de datos a un estado coherente. 5. Servicios de contrai dêiõoncurrencia: Un SGSD debe proporcionar un mecanismo para garantizaç-_gúella-Base de datos se actualice correctamente cuando haya múltiples usuarios actçjaliiãndo de manera concurrente Ia base de datos. Uno de Ios principales _ ogjetiyos a la hora de usar un SGBD es el de permitir que muchos usuarios accedan de forma concurrente a una serie de datos compartidos. El acceso concurrente es relativamente fácil si Io único que están haciendo es leer Ios datos, ya que no hay ninguna forma de que unos usuarios puedan interferir con otros. Sin embargo, cuando dos o más usuarios acceden simultaneamente a la base de datos y al menos uno de ellos está actualizando datos, pueden producirse interferencias que den como resultado incoherencias de algún tipo. Por ejemplo, considere dos transacciones Tl y T2 que se estén ejecutando concurrentemente, EI SGBD debe garantizar que, cuando haya múltiples usuarios acudiendo a Ia base de datos, no se produzcan interferencias de ningún tipo.
  39. 39. 6. Servicios de recuperación: Un SGSD debe proporcionar un mecanismo para recuperar Ia base de datos en caso de que ésta resulte dañada de alguna forma. Cuando hablamos anteriormente del soporte de transacciones, hemos mencionado que si la transacción falla la base de datos debe ser devuelta a un estado coherente. Un fallo puede ser resultado de un problema de hardware, de un fallo del soporte físico de almacenamiento, de un error hardware o software que haga que el SGBD se detenga, o puede ser el resultado de que el usuario detecte un error durante la transacción y la aborte antes de que se complete. En cualquiera de estos casos, el SGBD debe proporcionar un mecanismo para devolver Ia base de datos a un estado coherente. 7. Servicios de autorización: Un SGSD debe proporcionar un mecanismo para garantizar que sólo los usuarios autorizados puedan acceder a labase de datos. No resulta dificil imaginar situaciones en las que resulte conveniente impedir que algunos de los datos almacenados en la base de datos puedan ser vistos por todossus usuarios. Por ejemplo. puede que queramos que sólo Ios gerentes de sucursal puedan veria información salarial de los empleados, impidiendo a todos Ios usuarios que visualicen estos datos. Además, siempre conviene proteger Ia base de datos frente a accesos no autorizados. El término seguridad hace referencia a la protección de Ia base de datos frente a accesos no autorizados. ya sean intencionados o accidentales. EI SGBD debe proporcionar mecanismos que garantlcen que los datos estén seguros. 8. soporte para la tramitación de datos: Un SGSD debe poder integrarse con software de comunicaciones. La mayoria de los usuarios acceden a Ia base de datos desde estaciones de trabajo. Algunas veces. estas estaciones de trabajo están conectadas
  40. 40. directamente a la computadora donde se ejecuta el SGBD, pero en otros casos se encuentran ubicadas en lugares remotos y se comunican con la computadora del SGBD a través de una red. En cualquiera de Ios dos casos, el SGBD recibe las solicitudes en forma de mensajes de comunicaciones y responde a ellas de forma similar. Todas estas transmisiones son gestionadas por un gestor de comunicaciones de datos (DCM, Data Communication Manager). Aunque el DCM no forma parte del SGBD, sí que es necesario que el SGBD sea capaz de integrarse con diversos DCM para que el sistema sea comercialmente viable. Incluso Ios SGBD para computadoras personales deben poder ejecutarse en una red de área local para poder establecer una base de datos centralizada que todos los usuarios puedan compartir, en lugar de tener una serie de bases de datos diferentes, una para cada usuario. Esto no quiere decir que Ia base de datos tenga que estar distribuida por la red. sino simplemente que los usuarios deben poder acceder a una base de datos centralizada desdeyiiarseãriê de ubicaciones remotas. Este tipo de topologia se denomina procesamiento distnbylão. " 9. Servicios de integridad: Un , SGSD 'debe proporcionar un medio de garantizar que tanto Ios datos de la base de datoscotrió los cambios efectuados en Ios mismos se adecuen a ciertas reglas. EI conceptç-; deirintegridad de una base de datos hace referencia a Ia corrección y coherencia lesdatos almacenados: puede considerárselo como otro tipo de protección de Ia baseqe datos. Aunque la integridad está relacionada con la seguridad, sus implicaciones son másgehéricas: la integridad está relacionada con Ia calidad de los propios datos. La integridad ' v seisuele expresar en términos de restricciones, que son reglas de coherencia que la base de datos no debe violar. Por ejemplo, podriamos especificar una restricción que dijera que ningún empleado puede gestionar más de 100 inmuebles al mismo tiempo. En este caso, Io que queremos es que el SGBD compruebe, cuando asignemos un inmueble a un empleado, que esta operación no hará que se exceda el limite impuesto, y que evite que Ia asignación del inmueble se produzca en caso de que el limite se haya alcanzado.
  41. 41. 10. Servicios para mejorar la independencia de Ios datos: Un SGSD debe incluir funcionalidades para pennitir que Ios programas sean independientes de Ia estructura real de la base de datos. Ya hemos hablado del concepto de independencia de Ios datos. La independencia de los datos se consigue normalmente mediante un mecanismo de vistas o subesquemas. La independencia fisica de Ios datos suele ser más fácil de lograr: suele haber diversos tipos de cambio que pueden realizarse en las caracteristicas fisicas de Ia base de datos sin afectar a las vistas. Sin embargo, conseguir una completa independencia lógica de los datos suele resultar más dificil. La adición de una nueva entidad, atributo o relación suele ser fácil de gestionar, pero su eliminación es más complicada. En algunos sistemas, se prohíbe todo tipo de cambio de los componentes existentes en Ia eslrucrzra-Iógica. 11. Servicios de utilidad: Un SGSD debe prornrcoiiar una serie de servicios de utilidad. Los programas de utilidad ayudan al DBA aadmíaisirar la base de datos de forma efectiva. Algunas utilidades funcionan en el nivel rxte nc y, consecuentemente, pueden ser creadas por el DBA. Otras utilidades trabajar eu 'ei . iivel interno y sólo pueden ser proporcionadas por el fabricante del SGBD. Com; e; 'mptos de utilidades de este último tipo podemos citar: -Facilídades (a importación, para cargar Ia base de datos a partir de archivos sin estructura, y fac"¡d: ;'e: . de exportación, para descargar la base de datos en dicho tipo de archivos. ' 'acilidades de monitorización, para controlar el uso y operación de Ia base de datos. o Programas de análisis estadistico, para examinar las estadísticas de rendimiento o de uso. - Facilidades de reorganización de indices, para reorganizar Ios indices y sus correspondientes desbordamientos. - Mecanismos de recolección y reasignación de memoria, para eliminar fisicamente los registros borrados de Ios registros de almacenamiento, para consolidar el espacio liberado y para reasignarlo cada vez que sea necesarios.
  42. 42. 12. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultânea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. EI sistema no deberia aceptar datos de un conductor menor de edad. En Ios SGBD existen herramientas que facilitan la programación de este tipo de oondiciogâ 13. Respaldo. Los SGBD deben proporcionar una forma efici te de realizar copias de respaldo de Ia información almacenada en ellos, y de , partir de estas copias los datos que se hayan podido perder. : - , C50 . Hecho por: lng. Hector Duarte 42
  43. 43. ARQUITECTURAS PARA SGBD Las arquitecturas de Ios DBMSs han seguido tendencias parecidas a las arquitecturas de Ios sistemas de computación generales. Las arquitecturas primigenias utilizaban mainframes para proporcionar el procesamiento principal a todas las funciones del sistema, incluyendo las aplicaciones de usuario y los programas de interfaz de usuario, asi como a toda la funcionalidad del DBMS. La razón era que la mayoria de Ios usuarios accedia a esos sistemas a través de terminales de computador que no tenian potencia de procesamiento y ofrecian capacidades de visualización. Por tanto, todo el procesamiento se realizaba remotamente en el sistema computador, y sólo sçenviaba la información de visualización y los controles desde el computador adjierininãles de visualización, que estaban conectados con el computador centrat através de diferentes tipos (redes de comunicaciones). 3? “i ' A) Arquitectura Clientelsolrvfdor 7. Esta arquitecttiiáísefdivide en dos partes claramente diferenciadas, la primera es Ia parte diet-servidor y la segunda la de un conjunto de clientes. Normalmente el servidor es una 'f-gñáquina bastante potente que actúa de depósito de datos y funciona como un sistema 'gestor de base de datos SGBD). Por otro lado Ios clientes suelen ser estaciones de trabajo que solicitan varios servicios al servidor. Ambas partes deben estar conectadas entre si mediante una red. Una representación gráfica de este tipo de arquitectura seria Ia siguiente.
  44. 44. SERVIDOR É ; led da comunicaciones CLIENTES P C de usuario | PC de usuario
  45. 45. CLIENTES SERVIDOR um) n¡ : as Petitiones SQL Servidor DBMS Hecho por: lng. Héctor Duarte
  46. 46. El cliente envia mensajes que representados en solicitudes SQL hacia el servidor de bases de datos. Los resultados de cada orden de SQL son devueltos al cliente. EI DBMS se encarga de recolectar los datos desde su base de datos, no envia los registros completos, teniéndose un uso mucho más eficiente de Ia capacidad de procesamiento distribuida. Es usual que se generen aplicaciones en el cliente y en el servidor. Los servidores de bases de datos constituyen el fundamento de los sistemas de apoyo de decisiones que precisan de consultas especificas y reportes flexibles Este tipo de arquitectura es Ia más utilizada en la actualidad, debido a que es la más avanzada y la que mejor ha evolucionado en estos últimos años. Podemos decir que esta arquitectura necesita tres tipos de¡_software para su correcto funcionamiento: V _“ r ° 1.Software de gestión de datos: Este softwaresufeg-. eñcarga de la manipulación y gestión de los datos almacenados y requeridos põrolaê diferentes aplicaciones. Normalmente este software se aloja en el servidor. ,- " 2.Software de desarrollozesteúipo de software se aloja en los clientes y solo en aquellos que se dedique al desaijifôllwde aplicaciones. &Software 'üeiñterácción con Ios usuarios: También reside en los clientes y es Ia aplicación gráñcade usuario para la manipulación de datos, siempre claro a nivel usuario (consultas 4_ 'priñcipalmente). En una arquitectura de cliente/ servidor, Ios programas de interfaz de usuario y Ios programas de aplicación se pueden ejecutar en el lado del cliente, cuando necesitan acceso SGBD el programa establece una conexión, el programa cliente puede comunicarse con el SGBD , el estándar conectividad abierta de bases de datos (ODBC Open database connectivity) proporciona una interfaz de programación de aplicaciones(APl application programming interface) que permite a Ios programas del lado del cliente llamar SGBD, siempre y cuando las maquinas cliente y servidor tengan instalado el software necesario, Ia mayoria de fabricantes SGBD proporcionan controladores ODBC para sus sistemas.
  47. 47. Sistemas de bases de datos Primer nivel . J r Tamas “em” N , › interfaz de usuario I Logica principal de negocio y de procesamiento de datos Segundo nivel Servidor de base de datos _ _ Validaciones del lado del servidor Acceso a base de datos Figura 2.14. Arquitectura tradicional cliente-servidor en dos niveles.
  48. 48. 2) Arquitectura de tres capas n capas para las aplicaciones Web Muchas aplicaciones utilizan una arquitectura denominada de tres capas, que añade una capa intermedia entre el cliente y el servidor de bases de datos, esta capa intermedia se denomina a veces servidor de aplicaciones y en ocasiones servidor de web, este servidor juega un papel intermedio almacenando las reglas comerciales(procedimientos o restricciones) que se utilizan para acceder a Ios datos del servidor de bases de datos, Ios clientes contienen interfaces GUI y algunas reglas comerciales adicionales especificas de la aplicación. Un servidor de aplicaciones no es mas que un cambio denorribre para algunos servidores Web de nueva generación que permiten construir aplicactojiiês. S/ uelen asociarse con servidores de alto rendimiento pensados paravdarserñcio a sitios Web con grandes necesidades para gestionar movimientgs de datos, afluencia de visitas, atención de transacciones hacia bases de datosfetõa-Generalmente los fabricantes del sector tienen a disposición del público un. seívidor'Web básico y otro con multitud de extensiones integradas al que llaman servidor de-aplicaciones. Urtsgrvidor de aplicaciones clásico se apoya en un modelo cliente/ servidor de tres , E 1. Presentación: una interfaz, generalmente gráfica que reside en Ios clientes. El ejemplo tipico es un navegador. 2. Lógica de negocio: donde reside el servidor de aplicaciones y el conjunto de programas a Ios que da soporte. 3.Almacenamient0: generalmente una base de datos.
  49. 49. É Êunao nivel Servidor de aplicaciones Temer nivel ? ía base de datos Temas e interfaz de usuario e Lógica principal de negocio O Lógica de procesamiento de datos Temas O Velldeciones de datos e Acceso e base de datos Figure 2.15. Arquitectura en tres niveles. Hedio por: lng. Héctor Duarte 49
  50. 50. componentes de un SGSD Un SGBD está estructurado en diversos componentes software (o módulos), a cada uno de Ios cuales se Ie asigna una operación especiñca. Como hemos indicado anteriormente, algunas de las funciones del SGBD están soportadas por el sistema operativo subyacente. Sin embargo, el sistema operativo sólo proporciona servicios básicos y el SGBD debe diseñarse para funcionar por encima suyo. Por tanto, el diseño de un SGBD debe tener en consideración Ia interfaz entre el SGBD y el sistema operativo. En la Figura 2.8 se muestran los componentes software pryieigaies de un entorno SGBD. Este diagrama muestra cómo se comunica el sGbBrürzgomotros componentes software, como las consultas de usuario y los métodos . dg“jaédêso (técnicas de gestión de archivos para el almacenamiento y extracción . .registros de datos). En el Apéndice C se proporciona una panorâmica , de~. ,l, 'ás“'iorganizaciones de archivo y de Ios métodos de acceso. El lector _interesadõigeñ consultar un tratamiento del tema más completo puede acudir a los textogãíeíi-Teõrey y Fry (1982), Weiderhold (1983), Smith y Barnes (1987) y Ullman (198_8'): LN'<› " ' irLâfiigtura 2.8 muestra los siguientes componentes: 1. Procesador de consultas. Se trata de uno de Ios componentes principales del SGBD, componente que se encarga de transformar las consultas en una serie de instrucciones de bajo nivel dirigidas al gestor de base de datos. Hablaremos del procesamiento de consultas en el Capítulo 21.
  51. 51. 1.Gestor de base de datos (DM, Database Manager). El DM se comunica con las consultas enviadas por el usuario y con los programas de aplicación. EI DM acepta las consultas y examina los esquemas externos y conceptual para determinar qué registros conceptuales se necesitan para satísfacer Ia solicitud. A continuación, el DM hace una llamada al gestor de archivos para satísfacer esa solicitud. Los componentes del DM se muestran 2.Gestor de archivos. EI gestor de archivos manipula los archivos de almacenamiento subyacentes y gestiona Ia asignación del espacio de almacenamiento en disco. Establece y mantiene la lista de estructuras y de índices definidos en el esquema intemo. S¡ se utilizan archivos hash. efectúa las llamadas a las funciones de hash “para generar las direcciones de Ios registros. Sin embargo, el gestor de archivos no gestionadiiêctamente la entrada y salidas fisicas de los datos. En lugar de ello, pasa las soligitqdesiíaios métodos de acceso apropiados, que son los que se encargan de leer o eserjbiriloevdatos en el búfer del sistema (o cachê). &Preprocesador DML: Este¡ rriódülõ convierte las instrucciones DML integradas en un programa de aplicación , en llamadas a estándar a funciones en el Ienguaje host. EI preprocesador BMmldebe interactuar con el procesador de consultas para generar el código apropiado. ' TífÍCompi/ ador DDL El compilador DDL convierte las instrucciones DDL en una serie de tablas que contienen metadatos. Esta tablas se almacenan a continuación en el catálogo del sistema, mientras que Ia información de control se almacena en las cabeceras de Ios archivos de datos. 5.Gesfor de catálogo. EI gestor de catálogo gestiona el acceso al catálogo del sistema y se encarga de mantenerlo. EI catálogo del sistema es utilizado por Ia mayoría de los componentes del SGBD.
  52. 52. Síetemae de bases de datos Proc/ remota v "Sunny uni do comuna: catálogo . ,' ' 'E Gostar de bas¡- on datos Gosiuv un caros. Brian di! dlllos
  53. 53. MODELO DE DATOS RELACIONAL Un modelo de datos es un conjunto de herramientas conceptuales para Ia descripción de Ios datos, las relaciones entre ellos, su semántica y las restricciones de consistencia EI modelo relacional para Ia gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la teoria de conjuntos. Es el modelo más utilizado en Ia actualidad para modelar problemas reales y administrar datos dinamicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, EI modelo relacional utiliza un conjunto de tablas para representar tanto Ios datos como las relaciones entre ellos, cada una de las cuales se les asigna un nombre exclusivo, cada fila representa una relación entre un conjunto de valores, cada tabla es un conjunto de entidades y cada fila es una entidad tal, dado que cada tabla es un conjuntocte tales relaciones, hay un fuerte correspondencia entre el concepto de tabla y el conceptotpatemático de de relación. Base de datos relacional Una base de datos relacionafes un conjunto de una o más tablas estructuradas en registros (lineas) y camposgcgtuniñas), que se vinculan entre si por un campo en común, en ambos casos posee las mismos' caracteristicas como por ejemplo el nombre de campo, tipo y Iongitud; a este campogeneralrnente se le denomina ID, identificador o clave. A esta manera de construir bases i darmos se Ie denomina modelo relacional. ' Las bases de datos relacionales pasan por un proceso al que se Ie conoce como normalización de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera óptima. Entre las ventajas de este modelo están: 1.Garantiza herramientas para evitar Ia duplicidad de registros, a través de campos claves o llaves. 2.Garantiza Ia integridad referencial: Así al eliminar un registro elimina todos los registros relacionados dependientes. 3.Favorece Ia normalización por ser más comprensible y aplicable.
  54. 54. El modelo relacional es un modelo de datos y, como tal, tiene en cuenta Ios tres aspectos siguientes de los datos: 1) La estructura, que debe permitir representar Ia información que nos interesa del mundo real. 2) La manipulación. a Ia que da apoyo mediante las operaciones de actualización y consulta de Ios datos. 3) La integridad, que es facilitada mediante el establecimiento de reglas de integridad; es decir, condiciones que Ios datos deben cumplir. Codd defmió tres características del modelo relacional (tríaxducción textual): - Son estructuras de datos simples. Consiste entablaàde* dos dimensiones donde Ios elementos son ítem de datos. Esto permite urfaltõyrado de independencia de Ia representación fisica de los datos. e ” o El modelo relacional provee unasótida fundamentación para Ia consistencia de los datos. El diseño de Ia bases qe datos es asistido por Ios procesos de normalización que elimina las anomalíasêen ins Ãdicionalmente, Ios estados de consistencia de la base de datos pueden sergünifofmemente deñnida y mantenida a través de reglas de integridad. , - 'lElmodelo relacional permite la manipulación de las relaciones. Esta caracteristica puede ser encargada a potentes lenguajes no procedimentales basados en Ia teoria (álgebra relacional) o en Ia lógica (cálculo relacional) [COD70]. Cada tabla es única dentro de la base de datos. Las columnas corresponden a los atributos de Ia tabla. Ios cuales tienen un nombre único, estas columnas se encuentran ordenadas. Las filas corresponden a las tuplas o registros de la tabla. Cada tabla puede tener minimo 1 columna y 0 filas.
  55. 55. Descripción En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene mayor relevancia (a diferencia de otros modelos como el jerárquico y eI de red). Esto tiene Ia considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder para administrar Ia informaeiónÍ lr Este modelo considera Ia base de datos como ungcnlección de relaciones. De manera simple, una relación representa una tabla 3g" no es más gue un coniunto de filas, cada tlla es un coniunto de campos 'y cada campo representa un valor gue inter retado describe el multõiíreal. Cada fila también se uede denominar tu la o registro y a cada columna mbién se le puede llamar campo o atributo. Para manipulalzljainformaciónytilizamos un Ienguaje relacional, actualmente se cuenta con dos lenguajes fonnales el Algebra relacional y el Cálculo relacional. EI Algebra _ retaçtonal permite describir Ia forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica Io que se desea devolver. EI Ienguaje más común para construir las consultas a bases de datos relacionales es L-, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por Ios principales motores o sistemas de gestión de bases de datos relacionales.
  56. 56. Dominios ** Un dominio D es un conjunto de valores atómicos. Por Io que respecta al modelo relacional, atómico significa indivisible; es decir, que por muy complejo o largo. que sea un valor atómico, no tiene una estructuración intema para un SGBD relacional. Un dominio describe un conjunto de posibles valores para ciento atributo. Como un dominio restringe Ios valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos Ios valores de este atributo deben de ser elementos del conjunto especificado". “Un dominio D es un conjunto finito de valores homogéneos y atómicos caracterizados por un nombre; decimos homogéneos porque son todos del mismo tipo y atómicos porque son indivisibles.
  57. 57. Los dominios pueden ser de dos tipos: 1) Dominios predefinidos, que corresponde a los tipos de datos que normalmente proporcionan Ios lenguajes de bases de datos, como por ejemplo Ios enteros, las cadenas de caracteres, Ios reales, etc. 2) Dominios definidos por el usuario, que pueden ser más especificos. Toda definición de un dominio debe constar, como minimo, del nombre del dominio y de la descripción de los valores que forman parte de éste. 7 __ f» Distintos tipos de dominios son: enteros-cadênãs de texto, fecha, etc Un dominio: es atómico si Ios elemeggtos Hei dominio se consideran unidades indivisibles, por ejemplo el conjunto de Ios egter: qs_: es"un dominio atómico, pero el dominio de Ios conjuntos de Ios enteros se un dominio hóhtómico, la diferencia es que se considera que los enteros no tienen partes oenâtituyêhtes. . g Ejemplo: Tarjeta de identidad es el conjunto de 13 dígitos ID validos para identificar en Honduras Nombre: es el conjunto de caracteres que representa el nombre de una persona Tipos ID = cadena de números con el formato 9999-9999-99999 donde representa municipio, departamento, año de nacimiento y correlativo de ano Nombre conjunto de cadenas de caracteres que representa el nombre
  58. 58. Un dominio cuenta por tanto con nombre, tipo de dato, y un formato Nombre de dominio Significado Deñnicíón del dominio Números Jc SUÇUTM' Conjunto d: : todos los ¡xisibles cnnicicr: i-. imano ›l. rango BOOl-B999 números de sucursal Nombre: de calle Conjunto dc todos los nombres de caracter: tamano 25 callcs en Gran Braun. : Nombrcs dc ciudad Conjunto di: todos los nombres de caracter: tamano i5 LlUd-ld cn Gran Bulma Códigos ¡msulcs (bnjunln dc todm los códigos c. ir. icicr: Lllmll10 8 posiaics cn Gran Brctana Sexo Sexo dc Li ¡icrwm carácter: tamano l, v.i| or . l o F Fcrhas de nacimiento Posibles Fechos do: iiacimicnto di: lkchu. rango dmlc cl l~Encro~20. un empleado forimto dd~mmm-)'y' 54¡*"¡0* ? W515 5mm” dC “n cmlüead” monctario: 7 digito», rango MXXLOO-IOOÚOMO
  59. 59. Tupla una tupla se define como una función ñnita que mapea (asocia univocamente) los nombres con algunos valores. Su propósito es el mismo que se definió en las matemáticas. Un pequeño ejemplo puede ilustrar esto: (jugador : "Luis", puntuación : 25 ) En este caso se trata de una función que mapea el campo 'jugador' con la cadena "Luis" y el campo "puntuación" al número entero 25. ** Como toda las tablas son esencialmente relaciones, se usaran Ios términos matemáticos Relación y tupla en lugar de Ios términos 'tabla y fila Atributos: Características o propiedades asociadas al conjunto de entidades o relaciones y que toman valor en una entidad en particular. Ejemplo: nombre, cédula, telefono. Los posibles valores puede tomar un atributo para un conjunto de entidades se denomina dominio. EI término campo es frecuentemente intercambiable con el de columna, aunque muchos consideran más correcto usar el término campo (o valor de campo) para referirse especificamente al simple elemento que existe en Ia intersección entre una fila y una columna. Por ejemplo, una tabla que representa compañias pudo tener las siguientes columnas: -ID(identif'icador entero, único a cada ñla) -Nombre (texto) -Dirección 1 (texto) -Dirección 2 (texto) -Ciudad (identiñcador entero, proviene de una tabla separada de ciudades, de Ia que cualquier información del estado o del pais puede ser tomada) -Código postal (texto) -Industria (identificador entero, Proviene de una tabla separada de industrias) -etc
  60. 60. Estructura La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia). El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos: -El nombre de cada tabla -El nombre de cada campo -El tipo de dato de cada campo “ -La tabla a Ia que perleneoe cada campo % -: le conooe como Las bases de datos relacionales pasan por un proce “ nonnalización, el resultado de dicho prooes&e›_ ma que permite que la base de dat d d ' t' . os sea usa a emaneraopima o COLIJIINAI *t CAMPO¡ a AIIBIJÍOI Hecho por: lng. Héctor Duarte
  61. 61. Figura 5.1. Los atributos y tuplas de uma relacion ESTUDlANTE Ncrrbre de la relacicn Aymujos ESTUD$IANTE A Á Dm Nombre ', r Direccon BeñiaminBayer aus-mexia 77231234557 'came A V g _ 3 NULL i9 à : Ana OillZ Í VSBiASZÍ-JZÍIS _923456937 E» Prado 29( . NULL 'ig Taipas. , Belén Duran _'22 , (320 La Suene 6 *'9¡56S_5'7:3°2“5 É ltlarceo GCWÍEZ 4891371711700* ' k. , Page de: no g3* 9145333018 Barbara Campos 7 Súper Clave: Un atributo o conjunto de atributos que identifica de fonna univoca cada tupla dentro de una relación. Una superclave identifica de forma univoca cada tupla dentro de una relación. Sin embargo, una superclave puede contener atributos adicionales que no sean necesarios para la identiticación univoca, por lo que resultaria interesante identificar aquellas superclaves que sólo contengan el número minimo de atributos necesarios para efectuar de fonna univoca la identiñcación Clave Candidata: Una superclave tal que ningún subconjunto propio de la misma es una superclave de Ia relación. Puede haber múltiples claves candidatas para una relación. Cuando una clave está compuesta de más de un atributo, decimos que es una clave compuesta. Clave Principal: La clave candidata seleccionada para identificar las tuplas de forma univoca dentro de la relación.
  62. 62. Clave foránea o Clave Externa: Un atributo, o conjunto de atributos, dentro de una relación que se corresponden con Ia clave candidata de alguna (posiblemente la misma) relación. Clave índice Las claves indices surgen con Ia necesidad de tener un acceso más rápido a los datos. Ls índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar Ios registros de forma no secuencial usando Ia clave indice. Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de Ia relación. Los indices generalmente no se consideran parte de Ia base de datos, pues son un detalle agregado. Sin embargo, las claves indices son desarrolladas por efmismo grupo de programadores que las otras partes de la base de-datos. ClavaJ Clave_P Description Eanistencia
  63. 63. Representación de esquemas de base de datos relacional Ullàl bánc dc dali» rclzicionail Calil Cülllplltslil dc un número cuailquicni di: [Ciílclullcs iionnalizudxis. fil Csqtlclllil relacional dc ill paris: dci cano de fhllldlil dc Dmmillunit' tax: Branch lprgnghmg. slreel. Clly, poslcode) Staff (stamp, iName. lName. position. sex. DOB, salary, branchNo) Propertyf-'orRent (prgpggyug. street_ city. postcode, type. rooms. rent. ownerNo, staliNo. branchNo) Client (gs-amp. (Name. lName. teINo_ prelType. maxRenl) PrivaleOwner (grama lName, IName, address. ielNo) viewing (çlgmg. propenyNo. viewDale. comment) Registration (geram. branchNo. siatlNo. dateJomed) l: l conieiiio común pur: : fcplcscllllll' un csqucmu dc rclución conmstc cn indiciir cl nomhrc dc lai rcliición seguido por Ii» noiiibrtxs dc l0> ; iirihuios cnirc ptirclilcnls. Nunniilinciiic. sc siiclc . siibruyur lu clmc principal. líl nina/ vlw ( : :nim/ mil u : :u/ numa tumup/ nul. ca cl conjunto dc todos C505 csqucnius dc lu busc dc dutos. l. ;i Figura¡ 3.3 inucsim una instancia dc cslc Csqllcltlal rclxicionul.
  64. 64. BIBLIOGRAFÍA -Sistemas de bases de datos, Un enfoque práctico para diseño, implementación y gestión, Thomas M. ConnoII y y Carolyn E_ Begg, 4ta_ Edición, Editorial Pearson Addison Wesley. -Fundamentos de Sistemas de Bases de datos, 5ta. Edición, Ramez Elmasri y Shamkant B. N, Editorial Pearson Addison Wesley. -Fundamentos de Bases de datos, 5la Edicion, Silberschatz | Korth 1 Sudarshan, Editonal Mc Graw Hill -lnlroducción a los sistemas de bases de datos. C. J . date, editorial Prentice Hall_ 7ma, Edición, -Sistemas de Administración de Bases de datos, 3ra. Edición, Gerald V Post: Editorial Mc Graw Hill. -Adminislración de Bases de datos_ Diseño y desarrollo de aplicaciones, Michel V_ Mannino, Editorial Mc Graw Hill_ 3ra Edición,

×