Your SlideShare is downloading. ×
Apunte   capítulo I
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apunte capítulo I

2,185

Published on

Capítulo I Bases de Datos - Fundamentos

Capítulo I Bases de Datos - Fundamentos

Published in: Technology, Travel
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
2,185
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática CAPITULO I FUNDAMENTOS DE BASES DE DATOS1.4. Aplicación de los Sistemas de Base de Datos.Las bases de datos se usan ampliamente. Algunas de sus aplicaciones representativas son: • Banca: Para información de los clientes, cuentas, préstamos, y transacciones bancarias. • Líneas Aéreas: Para reservas e información de horarios. Las líneas aéreas fueron de las primeras en usar las bases de datos de forma distribuida geográficamente. • Universidades: Para información de los estudiantes, matrículas en las asignaturas y cursos. • Transacciones de Tarjetas de Crédito: Para compras con tarjeta de crédito y la generación de los extractos mensuales. • Telecomunicaciones: Para guardar un registro de las llamadas realizadas, generar las facturas mensuales, mantener el saldo de las tarjetas telefónicas de prepago y para almacenar la información sobre las redes de comunicaciones. • Finanzas: Para almacenar información sobre compañías tenedoras, ventas y compras de productos financieros, como acciones y bonos; también para almacenar datos del mercado en tiempo real para permitir a los clientes la compraventa en línea y a la compañía la compraventa automática. • Ventas: Para información de clientes, productos y compras. • Comercio en Línea: Para los datos de venta ya mencionados y para el seguimiento de los pedidos we, generación de listas de recomendaciones y mantenimiento de evaluaciones de productos en línea. • Producción: Para la gestión de la cadena de proveedores y para el seguimiento de la producción de artículos en las factorías, inventarios en los almacenes y pedidos. • Recursos Humanos: Para información sobre los empleados, salarios, impuestos sobre los sueldos y prestaciones, y para la generación de las nóminas.1.2- Concepto de Base de Datos.Una base o banco de datos, es un conjunto de datos que pertenecen al mismo contextoalmacenados sistemáticamente para su posterior uso.En la actualidad, y gracias al desarrollo tecnológico de campos como la informática y laelectrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un ampliorango de soluciones al problema de almacenar datos.Existen numerosas definiciones de bases de datos. Algunas de ellas: o Colección de datos interrelacionados. Elmarsi, R, Navathe, S.B. 1989. o Colección no redundante de datos que son compartidos por diferentes programas de aplicación. Howe, 1983. o Conjunto de datos de la empresa memorizado en un ordenador, que es utilizado por numerosas personas y cuya organización está regida por un modelo de datos. Flory, 1982.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 1/45
  • 2. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática o “Una base de datos es un conjunto de información almacenada en memoria auxiliar que permite acceso directo, y un conjunto de programas que manipulan esos datos.” o “Una 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 tiempo real y compartibles por usuario s concurrentes que tienen necesidad de información diferente y no predecible en el tiempo.” o “Colección o depósito de datos integrados, con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real; los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes a éstas, y su definición y descripción, únicas para cada tipo de dato, han de estar almacenadas junto con los mismos. Los procedimientos de actualización y recuperación, comunes y bien determinados, habrán de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de los datos.1.4. Propósito de los Sistemas de Bases de Datos.Resolver las dificultades que presentaban los sistemas de procesamiento de archivos. Lossistemas operativos tradicionales soportan un sistema de procesamiento de archivos típico. Elsistema almacena los registros en varios archivos y necesita diferentes programas deaplicación para extraer y añadir a los archivos correspondientes. Los inconvenientes quepresenta un sistema de procesamiento de archivos son los siguientes: o Redundancia e inconsistencia de los datos. o Dificultad en el acceso a los datos. o Aislamiento de datos o Problemas de integridad o Problemas de atomicidad o Anomalías en el acceso concurrente o Problemas de Seguridad1.4.1. Ventajas del Uso de Base de Datos. o Reducción de la Redundancia: En los sistemas tradicionales de ficheros cada aplicación tiene sus datos privados, lo que provoca un alta redundancia y desaprovechamiento del espacio en disco. Aunque se mantenga cierto grado de redundancia, por motivos de rendimiento u otros, proporciona mecanismos para garantizar la consistencia. Consistencia: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes. Puede evitarse la inconsistencia: Se controla la redundancia garantizando que los datos redundantes se actualicen de forma automática.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 2/45
  • 3. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática o Los datos pueden compartirse: Las necesidades de datos de nuevas aplicaciones pueden atenderse con los ya existentes sin tener que almacenar nuevos datos. o Pueden hacerse cumplir las normas establecidas: Al tener un control centralizado de la base de datos, el administrador puede garantizar que se observen las normas de la empresa aplicables a la representación de los datos. o Restricciones de Seguridad: El administrador puede asegurar que el único modo de acceso sea a través de los canales establecidos, y en consecuencia definir controles de autorización que pueden afectar a cada modo de acceso. Sin estos controles de seguridad, es mucho más sensible una base de datos que los archivos.1.4.2. Inconvenientes o Instalación costosa • Coste del SGBD: El costo de un SGBD varía dependiendo del entorno y de la funcionalidad que ofrece. Por ejemplo, un SGBD para un ordenador personal puede costar 500 euros, mientras que un SGBD para un sistema multiusuario que dé servicio a cientos de usuarios puede costar entre 10.000 y 100.000 euros. Además, hay que pagar una cuota anual de mantenimiento que suele ser un porcentaje del precio del SGBD. • Coste de Equipo Adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD.. • Coste de la Conversión: Este coste incluye el coste de enseñar a la plantilla a utilizar estos sistemas y, probablemente, el coste del personal especializado para ayudar a realizar la conversión y poner en marcha el sistema. Este coste es una de las razones principales por las que algunas empresas y organizaciones se resisten a cambiar su sistema actual de ficheros por un sistema de bases de datos. o Necesita de personal especializado o Implantación larga y difícil o Falta de rentabilidad a corto plazo. o Escasa estandarización o Desfase entre teoría y práctica1.4. Sistemas de Gestión de Bases de Datos. En un sistema de bases de datos, debe existir una capa intermedia entre los datos almacenados en la base de datos, las aplicaciones y los usuarios del mismo. Se trata del Sistema de Gestión de Bases de Datos (SGBD). Actúa de intermediario entre los usuarios y aplicaciones y los datos proporcionados, medios para describir, almacenar y manipular los datos, y proporciona herramientas al administrador para gestionar el sistema, entre ellas las herramientas de desarrollo de aplicaciones, generadores deCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 3/45
  • 4. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática informes, lenguajes específicos de acceso de acceso a los datos, como SQL (Structured Query Language) o QBE (Query by Example).1.4.1. Objetivo de los SGBD.Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar más a menudo lassiglas DBMS procedentes del inglés, Data Base Management System) es el software quepermite a los usuarios procesar, describir, administrar y recuperar los datos almacenados enuna base de datos.En estos Sistemas se proporciona un conjunto coordinado de programas, procedimientos ylenguajes que permiten a los distintos usuarios realizar sus tareas habituales con los datos,garantizando además la seguridad de los mismos. Ilustración 1, Esquema del funcionamiento y utilidad de un sistema gestorEl éxito del SGBD reside en mantener la seguridad e integridad de los datos. Lógicamente tieneque proporcionar herramientas a los distintos usuarios. Entre las herramientas que proporcionaestán: • Herramientas para la creación y especificación de los datos. Así como la estructura de la base de datos. • Herramientas para administrar y crear la estructura física requerida en las unidades de almacenamiento. • Herramientas para la manipulación de los datos de las bases de datos, para añadir, modificar, suprimir o consultar datos. • Herramientas de recuperación en caso de desastre • Herramientas para la creación de copias de seguridad • Herramientas para la gestión de la comunicación de la base de dato • Herramientas para la creación de aplicaciones que utilicen esquemas externos de los datos • Herramientas de instalación de la base de datos. • Herramientas para la exportación e importación de datos1.4.2. Niveles de Abstracción de una Base de Datos.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 4/45
  • 5. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaEn cualquier sistema de información se considera que se pueden observar los datos desde dospuntos vista: • Vista Externa. Esta es la visión de los datos que poseen los usuarios del Sistema de Información. • Vista Física. Esta es la forma en la que realmente están almacenados los datos.En un Sistema de ficheros, los usuarios ven los datos desde las aplicaciones creadas por losprogramadores. Esa vista pueden ser formularios, informes visuales o en papel,... Pero larealidad física de esos datos, tal cual se almacenan en los discos, no la ven. Esa visión estáreservada a los administrados.En el caso de los Sistemas de Base de datos, se añade una tercera vista, que es la vistaconceptual. Esa vista se sitúa entre la física y la externa. Se habla pues en Bases de Datos dela utilización de tres esquemas para representar los datos. Esquema Físico.Representa la forma en la que están almacenados los datos. Esta visión sólo la requiere eladministrador. El administrador la necesita para poder gestionar más eficientemente la basede datosEn este esquema es donde aparecen las unidades de disco, archivos y carpetas del sistema. Esquema Conceptual.Se trata de un esquema teórico de los datos en la que figuran organizados en estructurasreconocibles del mundo real y en el que también aparece la forma de relacionarse los datos.Esta estructura es utilizada por el desarrollador, que necesita conocerla para al crearaplicaciones saber como acceder. Todas las aplicaciones que se crean sobre la base de datosutilizan este esquema.Realmente cuando se habla del diseño de la base de datos, se suele referir a este esquema. Elesquema conceptual lo realiza el diseñador de la base de datos. Esquema Externo.Se trata de la visión de los datos que poseen los usuarios finales. Esa visión es la queobtienen a través de las aplicaciones. Las aplicaciones creadas por los desarrolladoresabstraen la realidad conceptual de modo que el usuario no conoce las relaciones entre losdatos, como tampoco conoce todos los datos que realmente se almacenan.Realmente cada aplicación produce un esquema externo diferente (aunque algunos puedencoincidir) o vistas de usuario. El conjunto de todas las vistas de usuario es lo que sedenomina esquema externo global.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 5/45
  • 6. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática1.4.3. Independencia de los Esquemas.Lo interesante de estos esquemas es que trabajan independientemente. Cada usuario utiliza elesquema que necesita sin saber nada del resto. Esa independencia se traduce en: • Independencia física de los datos. Aunque el esquema físico cambie, el esquema conceptual no debe verse afectado. En la práctica esto significa que aunque la base de datos se almacene en otro disco duro, la parte conceptual de la base de datos no debe verse afectada. No habrá que modificar dicho esquema. • Independencia lógica de los datos. Significa que aunque se modifique los datos del esquema conceptual, las vistas que poseen las aplicaciones (los esquemas externos) no se verán afectados.1.4.4. Funciones.Los SGBD tienen que realizar tres tipos de funciones para ser considerados válidos. Función de Descripción o Definición.Permite al diseñador de la base de datos crear las estructuras apropiadas para integraradecuadamente los datos. Esta función es la que permite definir las tres estructuras de la basede datos (relacionadas con sus tres esquemas). • Estructura interna • Estructura conceptual • Estructura ExternaEsta función se realiza mediante el lenguaje de descripción de datos o DDL. Mediante eselenguaje: • Se definen las estructuras de datos. • Se definen las relaciones entre los datos. • Se definen las reglas que han de cumplir los datos. Función de Manipulación.Permite modificar y utilizar los datos de la base de datos. Se realiza mediante el lenguaje demodificación de datos o DML. Mediante ese lenguaje se puede: • Añadir datos. • Eliminar datos. • Modificar datos. • Buscar datos.Actualmente se suele distinguir la función de buscar datos respecto del resto. Para lo cual seproporciona un lenguaje de consulta de datos o DQL.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 6/45
  • 7. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática Función de Control.Mediante esta función los administradores poseen mecanismos para determinar las visiones delos datos permitidas a cada usuario, además de proporcionar elementos de creación ymodificación de esos usuarios.Se suelen incluir aquí las tareas de copia de seguridad, carga de ficheros, auditoria, protecciónante ataques externos, configuración del sistema,... El lenguaje que implementa esta funciónes el lenguaje de control de datos o DCL.1.4.5. Estandarización.Es uno de los aspectos que todavía sigue pendiente. Desde la aparición de los primerosgestores de base de datos se intentó llegar a un acuerdo para que hubiera una estructuracomún para todos ellos, a fin de que el aprendizaje y manejo de este software fuera másprovechoso y eficienteEl acuerdo nunca se ha conseguido del todo, no hay estándares aceptados del todo. Aunque síhay unas cuentas propuestas de estándares que sí funcionan como tales. Organismos de Estandarización.Los intentos por conseguir una estandarización han estado promovidos por organismos de todotipo. Algunos son estatales, otros privados y otros promovidos por los propios usuarios. Los dosque han tenido gran relevancia en el campo de las bases de datos son ANSI/SPARC/X3,CODASYL y ODMG. Los organismos grandes (que recogen grandes responsabilidades)dividen sus tareas en comités, y éstos en grupos de trabajo que se encargan de temasconcretos. SC21ISO (International Organization for Standardization). Es un organismo internacional dedefinición de estándares de gran prestigio.IEC (International Electrotechnical Commission). Organismo de definición de normas enambientes electrónicos.JTC1 (Joint Technical Committee). Comité formado por los dos organismos anterioresencargado de diversos proyectos. En el campo de las bases de datos, el subcomité SC21 (enel que participan otros organismos nacionales, como el español AENOR) posee un grupo detrabajo llamado WG 3 que se dedica a las bases de datos. Este grupo de trabajo es el quedefine la estandarización del lenguaje SQL entre otras cuestiones. DBTG CodasylCodasyl (Conference on Data System Languages) es el nombre de una conferencia definales de los años 60 en la que participaron organismos privados y públicos del gobierno deEstados Unidos con la finalidad de definir estándares (Codasyl definió el lenguaje COBOL) parala informática de gestión.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 7/45
  • 8. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaDe ahí salió DBTG (Data Base Task Group, grupo de tareas para bases de datos) grupo quedefinió el modelo en red de bases de datos que desde entonces se llama Codasyl o DBTG yque fue aceptado por la ANSI. ANSI/X3/SPARCANSI (American National Science Institute) es un organismo científico de Estados Unidosque ha definido diversos estándares en el campo de las bases de datos. X3 es la parte de ANSIencargada de los estándares en el mundo de la electrónica. Finalmente.SPARC System Planning and Repairments Committee, comité de planificación de sistemasy reparaciones es una subsección de X3 encargada de los estándares en SistemasInformáticos en especial del campo de las bases de datos. Su logro fundamental ha sido definirun modelo de referencia para las bases de datos (que se estudiará posteriormente).En la actualidad ANSI para Estados Unidos e ISO para todo el mundo son nombresequivalentes en cuanto a estandarización de bases de datos, puesto que se habla ya de unúnico modelo de sistema de bases de datos. Modelo ANSI/X3/SPARCEl grupo ANSI ha marcado la referencia para la construcción de SGBD. Se basa en losestudios anteriores en los que se indicaban tres niveles de abstracción de la base de datos.ANSI profundiza más en esta idea y define cómo debe ser el proceso de creación y utilizaciónde estos niveles.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 8/45
  • 9. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática Ilustración 3, Niveles en el modelo ANSIEn el modelo ANSI se indica que hay tres modelos (externo, conceptual e interno) entendiendopor modelo las normas que permiten crear esquemas (diseños de la base de datos). Losesquemas externos reflejan la información preparada para el usuario final, el esquemaconceptual refleja los datos y relaciones de la base de datos y el esquema interno lapreparación de los datos para ser almacenados.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 9/45
  • 10. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática Ilustración 4, Arquitectura ANSIEl paso de un esquema a otro se realiza utilizando un interfaz o función de traducción. En sumodelo, la ANSI no indica cómo se debe realizar esta función, sólo que debe existir.La arquitectura completa (Ilustración 4) esta dividida en dos secciones, la zona de definición dedatos y la de manipulación. Esa arquitectura muestra las funciones realizadas por humanos ylas realizadas por programas.En la fase de definición, una serie de interfaces permiten la creación de los metadatos que seconvierten en el eje de esta arquitectura. La creación de la base de datos comienza con laelaboración del esquema conceptual realizándola el administrador de la empresa (actualmentees el diseñador, pero ANSI no lo llamó así). Ese esquema se procesa utilizando un procesadordel esquema conceptual (normalmente una herramienta CASE, interfaz 1 del dibujo anterior)Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 10/45
  • 11. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informáticaque lo convierte en los metadatos (interfaz 2).La interfaz 3 permite mostrar los datos del esquema conceptual a los otros dosadministradores: el administrador de la base de datos y el de aplicaciones (el desarrollador).Mediante esta información construyen los esquemas internos y externos mediante lasinterfaces 4 y 5 respectivamente, los procesadores de estos esquemas almacenan lainformación correspondiente a estos esquemas en los metadatos (interfaces 6 y 7).En la fase de manipulación el usuario puede realizar operaciones sobre la base de datosusando la interfaz 8 (normalmente una aplicación) esta petición es transformada por eltransformador externo/conceptual que obtiene el esquema correspondiente ayudándosetambién de los metadatos (interfaz 9). El resultado lo convierte otro transformador en elesquema interno (interfaz 10) usando también la información de los metadatos (interfaz 11).Finalmente del esquema interno se pasa a los datos usando el último transformador (interfaz12) que también accede a los metadatos (interfaz 13) y de ahí se accede a los datos (interfaz14). Para que los datos se devuelvan al usuario en formato adecuado para él se tiene quehacer el proceso contrario (observar dibujo). Estructuras Operacionales.Actualmente casi todos los sistemas gestores de base de datos poseen también la misma ideaoperacional en la que se entiende que la base de datos se almacena en un servidor y hay unaserie de clientes que pueden acceder a los datos del mismo. Las posibilidades son: • Estructura Cliente-Servidor. Estructura clásica, la base de datos y su SGBD están en un servidor al cual acceden los clientes. El cliente posee software que permite al usuario enviar instrucciones al SGBD en el servidor y recibir los resultados de estas instrucciones. Para ello el software cliente y el servidor deben utilizar software de comunicaciones en red. • Cliente multi-servidor. Ocurre cuando los clientes acceden a datos situados en más de un servidor. También se conoce esta estructura como base de datos distribuida. El cliente no sabe si los datos están en uno o más servidores, ya que el resultado es el mismo independientemente de dónde se almacenan los datos. En esta estructura hay un servidor de aplicaciones que es el que recibe las peticiones y el encargado de traducirlas a los distintos servidores de datos para obtener los resultados. Una posibilidad muy extendida hoy en día es la posibilidad Cliente/Servidor Web/Servidor de datos, el cliente se conecta a un servidor mediante un navegador web y desde las páginas de este ejecuta las consultas. El servidor web traduce esta consulta al servidor (o servidores) de datos.1.4.6. Recursos Humanos de las Bases de Datos.Intervienen muchas personas en el desarrollo y manipulación de una base de datos. Informáticos.Lógicamente son los profesionales que definen y preparan la base de datos. Pueden ser:Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 11/45
  • 12. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática • Directivos/as. Son los organizadores y coordinadores del proyecto a desarrollar. Esto significa que son los encargados de decidir los recursos que se pueden utilizar, planificar el tiempo y las tareas, la atención al usuario y de dirigir las entrevistas y reuniones pertinentes. • Directivos/as. Son los organizadores y coordinadores del proyecto a desarrollar. Esto significa que son los encargados de decidir los recursos que se pueden utilizar, planificar el tiempo y las tareas, la atención al usuario y de dirigir las entrevistas y reuniones pertinentes. • Administradores/as de las bases de datos. Definen la seguridad de la base de datos y gestionan las copias de seguridad y la gestión física de la base de datos. Los analistas suelen tener esta funcionalidad cuando la base de datos está creada. • Desarrolladores/as o programadores/as. Encargados de la realización de las aplicaciones de usuario de la base de datos. • Equipo de mantenimiento. Encargados de dar soporte a los usuarios en el trabajo diario (suelen incorporar además tareas administrativas). Usuarios. • Expertos/as. Utilizan el lenguaje de manipulación de datos (DML) para acceder a la base de datos. Son usuarios que utilizan la base de datos para gestión avanzada de decisiones. • Habituales. Utilizan las aplicaciones creadas por los desarrolladores para consultar y actualizar los datos. Son los que trabajan en la empresa a diario con estas herramientas y el objetivo fundamental de todo el desarrollo de la base de datos. • Ocasionales. Son usuarios que utilizan un acceso mínimo a la base de datos a través de una aplicación que permite consultar ciertos datos. Serían por ejemplo los usuarios que consultan el horario de trenes a través de Internet.1.4.7. Componentes del SGBD. Estructura Multicapa.Un SGBD está en realidad formado por varias capas que actúan como interfaces entre elusuario y los datos. El propio ANSI/X3/SPARC introdujo una mejora de su modelo en 1988 através de un grupo de trabajo llamado UFTG (User Facilities Task Group, grupo de trabajopara las facilidades de usuario). Este modelo toma como objeto principal, al usuario habitual dela base de datos y orienta el funcionamiento de la base de datos de modo que este usuarioignora el funcionamiento externo.Desde esta óptica para llegar a los datos hay que pasar una serie de capas que poco a pocovan entrando más en la realidad física de la base de datos. Esa estructura se muestra en lasiguiente figura:Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 12/45
  • 13. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática Ilustración 5, Modelo de referencia de las facilidades de usuario Núcleo.El núcleo de la base de datos es el encargado de traducir las operaciones que le llegan ainstrucciones ejecutables por el sistema operativo en el lenguaje que éste último requiera. Diccionario de Datos.Se trata del elemento que posee todos los metadatos. Gracias a esta capa las solicitudes delos clientes se traducen en instrucciones que hacen referencia al esquema interno de la basede datos. Acceso a Datos.La capa de acceso a datos es la que permite comunicar a las aplicaciones de usuario con eldiccionario de datos a través de las herramientas de gestión de datos que incorpore el SGBD.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 13/45
  • 14. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática Facilidades de Usuario.Son las herramientas que proporciona el SGBD a los usuarios para permitir un acceso mássencillo a los datos. Actúan de interfaz entre el usuario y la base de datos, y son el únicoelemento que maneja el usuario.1.4.8. Funcionamiento del SGBD.El esquema siguiente presenta el funcionamiento típico de un SGBD: Ilustración 6, Esquema del funcionamiento de un SGBDEl esquema anterior reproduce la comunicación entre un proceso de usuario que deseaacceder a los datos y el SGBD:[1] El proceso lanzado por el usuario llama al SGBD indicando la porción de la base de datos que se desea tratar[2] El SGBD traduce la llamada a términos del esquema lógico de la base de datos. Accede al esquema lógico comprobando derechos de acceso y la traducción física.[3] El SGBD obtiene el esquema físico[4] El SGBD traduce la llamada a los métodos de acceso del Sistema Operativo que permiten acceder a los datos requeridosCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 14/45
  • 15. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática[5] El Sistema Operativo accede a los datos tras traducir las órdenes dadas por el SGBD[6] Los datos pasan del disco a una memoria intermedia o buffer. En ese buffer se almacenarán los datos según se vayan recibiendo[7] Los datos pasan del buffer al área de trabajo del usuario (ATU) del proceso del usuario.[8] El SGBD devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener en cuenta. Esto se indica al área de comunicaciones del proceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATU serán utilizables por el proceso de usuario.1.5. Tipos de Sistemas Gestores de Bases de Datos (SGBD).1.5.1. Introducción.Cada SGBD puede utilizar un modelo diferente para los datos. Por lo que hay modelosconceptuales diferentes según que SGBD utilicemos.No obstante existen modelos lógicos comunes, ya que hay SGBD de diferentes tipos. En larealidad el modelo ANSI se modifica para que existan dos modelos internos: el modelo lógico(referido a cualquier SGBD de ese tipo) y el modelo propiamente interno (aplicable sólo a unSGBD en particular). De hecho en la práctica al definir las bases de datos desde el mundo realhastata llegar a los datos físicos se pasa por los siguientes esquemas:Por lo tanto la diferencia entre los distintos SGBD está en que proporcionan diferentes modeloslógicos.Diferencias entre el modelo lógico y el conceptual • El modelo conceptual es independiente del DBMS que se vaya a utilizar. El lógico depende de un tipo de SGBD en particular. • El modelo lógico es más cercano al ordenador.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 15/45
  • 16. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática • El modelo conceptual es más cercano al usuario, el lógico es el encargado de establecer el paso entre el modelo informático y el modelo físico del sistema.Algunos ejemplos de modelos conceptuales son: • Modelo E/R • Modelo RM/T • Modelos semánticosEjemplos de modelos lógicos son: • Modelo relacional • Modelo Codasyl • Modelo Jerárquico •A continuación se comentarán los modelos lógicos más importantes.1.5.2. Modelo Jerárquico.Era utilizado por los primeros SGBD, desde que IBM lo definió para su IMS (InformationManagement System, Sistema Administrador de Información) en 1970. Se le llama tambiénmodelo en árbol debido a que utiliza una estructura en árbol para organizar los datos.La información se organiza con un jerarquía en la que la relación entre las entidades de estemodelo siempre es del tipo padre / hijo. De esta forma hay una serie de nodos que contendránatributos y que se relacionarán con nodos hijos de forma que puede haber más de un hijo parael mismo padre (pero un hijo sólo tiene un padre).Los datos de este modelo se almacenan en estructuras lógicas llamadas segmentos. Lossegmentos se relacionan entre sí utilizando arcos. La forma visual de este modelo es de árbolinvertido, en la parte superior están los padres y en la inferior los hijos. Ilustración 8, Ejemplo de esquema jerárquicoCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 16/45
  • 17. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaEste esquema está en absoluto desuso ya que no es válido para modelar la mayoría deproblemas de bases de datos.1.5.3. Modelo en Red (Codasyl).Es un modelo que ha tenido una gran aceptación (aunque apenas se utiliza actualmente). Enespecial se hizo popular la forma definida por Codasyl a principios de los 70 que se haconvertido en el modelo en red más utilizado.El modelo en red organiza la información en registros (también llamados nodos) y enlaces.En los registros se almacenan los datos, mientras que los enlaces permiten relacionar estosdatos. Las bases de datos en red son parecidas a las jerárquicas sólo que en ellas puede habermás de un padre.En este modelo se pueden representar perfectamente cualquier tipo de relación entre los datos(aunque el Codasyl restringía un poco las relaciones posibles), pero hace muy complicado sumanejo.1.5.4. Modelo Relacional.En este modelo los datos se organizan en tablas cuyos datos se relacionan. Es el modelo máspopular y se describe con más detalle en los temas siguientes.1.5.5. Modelo de Bases de Datos Orientadas a Objetos.Desde la aparición de la programación orientada a objetos (POO u OOP) se empezó a pensaren bases de datos adaptadas a estos lenguajes. La programación orientada a objetos permitecohesionar datos y procedimientos, haciendo que se diseñen estructuras que poseen datos(atributos) en las que se definen los procedimientos (operaciones) que pueden realizar conlos datos. En las bases orientadas a objetos se utiliza esta misma idea.A través de este concepto se intenta que estas bases de datos consigan arreglar laslimitaciones de las relacionales. Por ejemplo el problema de la herencia (el hecho de que no sepuedan realizar relaciones de herencia entre las tablas), tipos definidos por el usuario,disparadores (triggers) almacenables en la base de datos, soporte multimedia...A través de este concepto se intenta que estas bases de datos consigan arreglar laslimitaciones de las relacionales. Por ejemplo el problema de la herencia (el hecho de que no sepuedan realizar relaciones de herencia entre las tablas), tipos definidos por el usuario,disparadores (triggers) almacenables en la base de datos, soporte multimedia...Su modelo conceptual se suele diseñar en UML y el lógico actualmente en ODMG (ObjectData Management Group, grupo de administración de objetos de datos, organismo queintenta crear estándares para este modelo).Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 17/45
  • 18. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática1.5.6. Bases de Datos Objetos Relacionales.Tratan de ser un híbrido entre el modelo relacional y el orientado a objetos. El problema de lasbases de datos orientadas a objetos es que requieren reinvertir capital y esfuerzos de nuevopara convertir las bases de datos relacionales en bases de datos orientadas a objetos. En lasbases de datos objeto relacionales se intenta conseguir una compatibilidad relacional dando laposibilidad de integrar mejoras de la orientación a objetos.Estas bases de datos se basan en el estándar SQL 99. En ese estándar se añade a las basesrelacionales la posibilidad de almacenar procedimientos de usuario, triggers, tipos definidos porel usuario, consultas recursivas, bases de datos OLAP, tipos LOB,...Las últimas versiones de la mayoría de las clásicas grandes bases de datos relacionales(Oracle, SQL Server, Informix, ...) son objeto relacionales.1.6. Tipos de Bases de Datos.1.6.1. Según la Variabilidad de los Datos Almacenados. Bases de Datos Estáticas: Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones. Bases de Datos Dinámicas: Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub, etc.1.6.2. Según su Contenido. o Bases de Datos Bibliográficas: Solo contienen un representante de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque sino estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras. o Bases de Datos de Texto Completo: Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas. o Directorios: Un ejemplo son las guías telefónicas en formato electrónico.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 18/45
  • 19. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática o Banco de imágenes, videos, audios, multimedias, etc o Bases de Datos o “bibliotecas” de información Biológicas: Son bases de datos que almacenan diferentes tipos de información proveniente de las ciencias de la vida o médicas. Se pueden considerar en varios subtipos: • Aquellas que almacenan secuencias de nucleótidos o proteínas. • Las bases de datos de rutas metabólicas. • Bases de datos de estructura, comprende los registros de datos • experimentales sobre estructuras 3D de biomoléculas. • Bases de datos clínicas. • Bases de datos bibliográficas (biológicas)1.7. Modelos de Bases de Datos.1.7.1. Concepto y Técnica de Modelados.La realidad del mundo que nos rodea es demasiado rica y compleja para la limitada capacidadde percepción y entendimiento del hombre. Esto conlleva a que el hombre vaya acercándose ala verdad objetiva (la realidad) por vía de simplificarla, eliminando todo lo que en un momentodado pueda considerarse superfluo y capturando lo esencial para sus propósitos.Abstracción: Ese esfuerzo en capturar lo relevante y eliminar los detalles no significativos paranuestros objetivos.Modelo: El conjunto de abstracciones que conforman una visión parcial, pero útil, de una partedel mundo.Una cercanía a la realidad del mundo circundante puede lograrse a base de construir modelosque representan aspectos parciales de la misma. Esto también es aplicable para los productosque el hombre fabrica. Así, antes de la fabricación de un sistema de información el ingenierode software construye una multitud de modelos del mismo. Para construir este modelo, utilizaun lenguaje (vocabulario) determinado y unas reglas de construcción de las que no puedesalirse. Los elementos que pueden verse en un modelo, junto con las reglas de construcción,constituyen primitivas de modelización (u ontología). Modelos de Análisis. El ingeniero puede llegar a construir tres modelos alineados en tres niveles. Estos modelos, evidentemente, no son independientes ya que representan enfoques distintos de una misma realidad. Cada nivel se ocupa de un tipo de conocimiento entre los que se necesitan para responder a las grandes preguntas del análisis:Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 19/45
  • 20. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática • ¿Qué hay en el mundo (dominio)?, • ¿Qué ocurre en el mundo (funcional)?, • ¿Cuándo cambia el mundo (control)?. La siguiente figura muestra la estructura de niveles y modelos. MODELO NIVEL DE DINAMICO CONTROL NIVEL MODELO FUNCIONAL FUNCIONAL MODELO DE NIVEL DATOS DEL DOMINIO Niveles y Modelo de Análisis o Modelo a Nivel de Dominio: El nivel del dominio busca modelar el conocimiento de tipo estático identificando, en el mundo del que va a entender el sistema, verdades de tipo universal (axiomas) referentes a los objetos presentes en el dominio, sus características relevantes y las relaciones y dependencias entre ellas. Ejemplo: "(en el dominio de la empresa) hay empleados, funciones y departamentos. Todo empleado tiene asignada alguna función y pertenece a un departamento. Toda función ha de ser desempeñada por alguien. A veces, incluso, por más de un empleado. Hay distintas categorías de empleado y todo empleado tiene derecho a percibir una remuneración acorde con su categoría.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 20/45
  • 21. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática o Modelo Funcional: Describe aquellos aspectos del sistema relativos a las transformaciones que puede sufrir la información contenida en el dominio. Se trata de capturar los que el sistema ha de hacer, sin considerar cuándo o cómo lo hará. o Modelo Dinámico: Describe los aspectos del sistema relativos al tiempo, capturando el control del sistema: cuándo ocurren los cambios en el sistema, sin especificar en qué consisten esos cambios (aspecto funcional) ni cómo son implementados. o Relaciones entre Modelos: De todos los niveles del análisis, el nivel del dominio es el que recoge el conocimiento más profundo sobre un tema. Si nos propusiéramos realizar un análisis de todo el saber humano, una gran parte del conocimiento científico se recogería a este nivel. El resto de los niveles buscan sacar parido del modelo del dominio, de manera que nos sea útil. Lo que aquí nos interesa es la forma de representar los datos en el modelo del dominio y concretamente qué modelos de datos disponemos para representar esos datos en un sistema de base de datos. El Nivel de Dominio: Modelos de Datos. Modelo: (Diccionario de la Lengua Española): Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja (por ejemplo la evolución económica de un país); que se elabora para facilitar su comprensión y el estudio de su comportamiento. Modelar: Consiste en definir un mundo abstracto y teórico tal que las conclusiones que se puedan sacar de él coinciden con las manifestaciones aparentes del mundo real. Modelo: Conjunto de conceptos que permiten construir una representación organizacional de la empresa. Modelo de Datos: Es un dispositivo de abstracción que nos permite ver el bosque (la información contenida en los datos) en oposición a los árboles (valores individuales de los datos). Modelo: Instrumento que se aplica a una parcela del mundo real (Universo del Discurso) para obtener una estructura de datos a la que denominamos esquema. MODELO Instrumento ESQUEMA Resultado de aplicar el Instrumento El primer paso en el diseño de una Base de Datos es definir el Universo del Discurso fijando una serie de objetivos sobre el mundo real.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 21/45
  • 22. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática O J UNIVERSO E DEL T MODELO ESQUEMA DISCURSO I V O MUNDO REAL Definición de Modelo de Datos: Conjunto de conceptos, reglas y convenciones que nos permiten describir los datos del universo del discurso, constituyendo una herramienta que facilita su interpretación en forma de datos en nuestro sistema de información. Los Modelos de Datos son la base para los lenguajes de datos. El nivel de abstracción de los lenguajes de datos es menor, ya que son el modelo más una sintaxis: LD = M.D. + Sintaxis El lenguaje puede venir tanto del modelo como de la sintaxis: SQL = Modelo Relacional + Sintaxis DL/I = Modelo Jerárquico + Sintaxis Objetivos del Modelo de Datos. o Formalización: Permite definir formalmente las estructuras permitidas y sus restricciones a fin de representar los datos, y también porque establece las bases para un lenguaje de datos. o Diseño: El modelo de datos es uno de los elementos básicos en el diseño de una Base de Datos. Definición Formal del Modelo de Datos. Propiedades del Universo del Discurso: o Invariantes en el tiempo (Estáticas) Estructuras. o Varían en el tiempo (Dinámicas): Datos o valores que se almacenan en esas estructuras. MD = < S, O >Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 22/45
  • 23. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática S = Conjunto de reglas de generación que permiten representar la componente estática, es decir las estructuras del Universo del Discurso. Se corresponden con el Lenguaje de Definición de Datos. O = Conjunto de operaciones autorizadas sobre la estructura que permite representar la componente dinámica. Se corresponde con el Lenguaje de Manipulación de Datos. Componente Estática. Está compuesta por: o Objetos Permitidos: Varían mucho de unos modelos a otros. En general son: entidades, atributos, dominios sobre los que se definen los atributos, interrelaciones (asociaciones entre los objetos). o Restricciones: No todas las estructuras están permitidas. Existen restricciones que invalidan ciertos objetos o asociaciones entre ellos: Inherentes: Impuestas por la misma naturaleza del modelo que no admiten ciertos objetos o asociaciones. Introduce rigideces a la hora de modelar. De Usuario: Permiten captar la semántica del Universo del Discurso que se quiere modelar. Facilitan la labor del diseñador. La aplicación de la parte estática de un modelo a un Universo del Discurso da como resultado un esquema o estructura e datos que representa dicho U.D. en el correspondiente modelo. Componente Dinámica. Los valores que toman los distintos objetos de un esquema en un momento determinado ti se llaman ocurrencia del esquema o Base de datos en ti (BDi). En otro momento tj la ocurrencia será, en general, distinta. Se pueden haber modificado la base de datos. La componente dinámica del modelo consta de un conjunto de operaciones que de definen sobre la estructura del correspondiente modelo de datos. La aplicación de una operación a una ocurrencia de un esquema transforma a ésta en una ocurrencia distinta: O(BDi) = BDj Tipos de Operaciones: SELECCIÓN, ACCION. SELECCIÓN: Localizar una ocurrencia indicando un camino (Sistema navegacional) o un conjunto de ocurrencias especificando una condición (especificación).Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 23/45
  • 24. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática ACCION: Sobre la ocurrencias previamente localizadas. Puede consistir en Recuperación o Actualización. Se puede expresar: SELECCIÓN < CONDICION> ACCION <OBJETIVO> La distinción SELECCIÓN – ACCION es de tipo formal, aunque algunos lenguajes, como DL/I, tienen verbos distintos para cada operación. SQL reúne ambas operaciones en una única sentencia. Modelos Conceptual (Lógico) ME/R Convencional (Físico) Red Jerárquico Relacional1.7.2. Modelos de Bases de Datos.Además de la clasificación por la función de las bases de datos, éstas también se puedenclasificar de acuerdo a su modelo de administración de datos.Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor dedatos (algo en donde se guarda la información), así como de los métodos para almacenar yrecuperar información de esos contenedores. Los modelos de datos no son cosas físicas: sonabstracciones que permiten la implementación de un sistema eficiente de base de datos; por logeneral se refieren a algoritmos, y conceptos matemáticos. Algunos modelos con frecuenciautilizados en las bases de datos: o Bases de Datos Jerárquicas: Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los 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. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. o Bases de Datos de Red: Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significaCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 24/45
  • 25. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales. o Bases de Datos Relacional: Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios 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 podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces 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 filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el 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 la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje 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 le conoce como normalización de una base de datos. Durante los años 80 (1980-1989) la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión. o Bases de Datos Orientada a Objetos: Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos. Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 25/45
  • 26. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92. o Bases de Datos Documentales: Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos. o Bases de Datos Deductivas: Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática. o Gestión de Bases de Datos Distribuida: La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etc.1.8. Lenguajes de Bases de Datos.Los sistemas de bases de datos proporcionan un lenguaje de definición de datos paraespecificar el esquema de la base de datos y un lenguaje de manipulación para expresar lasconsultas y las modificaciones de la base de datos. En la práctica, los lenguajes de definición ymanipulación de datos no son dos lenguajes diferentes; simplemente forma parte de un únicolenguaje de bases de datos, como puede ser el muy usado SQL (Structured Query Language). • Creado por IBM alrededor de los años 70s • Combinación de álgebra relacional y cálculo relacional • En 1986 ANSI e ISO lo estandarizan en SQL-86 • Otras versiones: SQL-92, SQL-991.8.1. Lenguaje de Manipulación de los Datos (DML).Permite a los usuarios tener acceso a los datos organizados mediante un modelo de datoscorrespondiente a manipularlos. Los tipos de acceso son: o La recuperación de la información almacenada en la base de datos. (SELECT, UNION, JOIN)Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 26/45
  • 27. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática o La inserción de información nueva en la base de datos. (INSERT) o El borrado de la información de la base de datos. (DELETE) o La modificación de la información almacenada en la base de datos. (UPDATE).Una consulta se expresa mediante tres cláusulas:SELECT seguida de una lista de atributos que interese obtener como respuesta (SELECT A1,..., An).FROM seguida de la lista de las relaciones que usamos en la consulta (FROM r1,...,rm).WHERE (cláusula opcional) va seguida del predicado de selección (WHERE p).Nota: El nombre de la cláusula SELECT es engañoso, ya que lo que hace no es una selección,sino una proyección.Equivalencia entre una consulta en SQL, y en álgebra relacional:SELECT A1,...,AnFROM r1,...,rm ≈ •A1 ,..., An (• P (r1 x r2 x .... x rm))WHERE POperaciones posibles en SQL, por medio de ejemplos:"Seleccionar todos los atributos de préstamo para los préstamos de más de mil €".(Selección)SELECT nombre_sucursal, num_prestamo, nombre_cliente, importeFROM prestamoWHERE importe > 1000Existen fundamentalmente dos tipos:Los DMLs procedimentales necesitan que el usuario especifique qué datos se necesitan ycómo obtener esos datos.Los DMLs declarativos (también conocidos como DML no procedimentales) necesitan que elusuario especifique qué datos se necesitan sin que haga falta que especifique cómo obteneresos datos. Suelen se más fáciles de aprender y usar que los procedimentales.Una consulta es una instrucción que solicita que se recupere información. La parte de los DMLsimplicada en la recuperación de información se denomina lenguaje de consultas. Aunquetécnicamente sea incorrecto, resulta habitual usar las expresiones lenguaje de consultas ylenguajes de manipulación como sinónimas.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 27/45
  • 28. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática1.8.2. Lenguaje de Definición de los Datos (DDL).Los esquemas de las bases de datos se especifican mediante un conjunto de definicionesexpresadas mediante un lenguaje especial denominado lenguaje de definición de datos.También se usa para especificar más propiedades de los datos.La estructura de almacenamiento y los métodos de acceso usados por el sistema de base dedatos se especifican mediante un conjunto de instrucciones en un tipo especial de LDDdenominado lenguaje de almacenamiento y definición de datos. Estas instrucciones definen losdetalles de implementación de los esquemas de las bases de datos, que suelen ocultarse a losusuarios.Los valores de los datos almacenados en la base de datos deben satisfacer ciertasrestricciones de consistencia. Ejm: saldo < 100.00 no debe ser. El LDD proporcionafacilidades para responder a tales restricciones. Los sistemas de base de datos se concentranen las restricciones de integridad que pueden comprobarse con una sobrecarga mínima.o Restricciones de Dominio: Se debe asociar un dominio de valores posibles a cada atributo. La declaración de un atributo como parte de un dominio concreto actúa como restricción de los valores que puede adoptar. Las restricciones de dominio son la forma más elemental de restricción de integridad. El sistema las comprueba fácilmente siempre que se introduce un nuevo elemento de datos en la base de datos.o Integridad Referencial: 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.o Asertos: Es cualquier condición que la base de datos debe satisfacer siempre. Las restricciones de dominio y de integridad referencial son formas especiales de asertos. Cuando se crea un aserto, el sistema comprueba su validez. Si el aserto es válido, cualquier modificación futura de la base de datos se permite únicamente si no hace que se viole ese aserto.o Autorización: Puede que se desee diferenciar entre los usuarios en cuanto al tipo de acceso que se les permite a diferentes valores de los datos de la base de datos. Estas diferenciaciones se expresan en términos de autorización, cuyas modalidades más frecuentes son: autorización de lectura, inserción, actualización, eliminación.CREATEcreate table table_name (column_name column_type column_modifiers,...,column_name column_type column_modifiers);create table musicians(musician_id INT,last_name CHAR(40),first_name CHAR(40),nickname CHAR(40));Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 28/45
  • 29. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaFOREING CONSTRAINTS: Definición de restricciones de integridadDROP: Eliminar estructurasALTER: modificar estructurasDATABASE: crear bases de datosGRANTS: Definir roles, permisos, sinónimos.VIEWS: Definir objetos virtuales.1.8.3. Resumen de Comandos. Comandos DLLComando DescripciónCREATE Utilizado para crear nuevas tablas, campos e índicesDROP Empleado para eliminar tablas e índices Utilizado para modificar las tablas agregando campos o cambiando la definición deALTER los campos. Comandos DMLComando Descripción Utilizado para consultar registros de la base de datos que satisfagan un criterioSELECT determinadoINSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.UPDATE Utilizado para modificar los valores de los campos y registros especificadosDELETE Utilizado para eliminar registros de una tabla de una base de datosCláusulas.Las cláusulas son condiciones de modificación utilizadas para definir los datos que deseaseleccionar o manipular.Cláusula DescripciónFROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros Utilizada para especificar las condiciones que deben reunir los registros queWHERE se van a seleccionarGROUP BY Utilizada para separar los registros seleccionados en grupos específicosHAVING Utilizada para expresar la condición que debe satisfacer cada grupo Utilizada para ordenar los registros seleccionados de acuerdo con un ordenORDER BY específicoCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 29/45
  • 30. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaOperadores Lógicos.Operador Uso Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo siAND ambas son ciertas. Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad siOR alguna de las dos es cierta.NOT Negación lógica. Devuelve el valor contrario de la expresión.Operadores de ComparaciónOperador Uso< Menor que> Mayor que<> Distinto de<= Menor o igual que>= Mayor o igual que= Igual queBETWEEN Utilizado para especificar un intervalo de valores.LIKE Utilizado en la comparación de un modeloIn Utilizado para especificar registros de una base de datosFunciones de Agregado.Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registrospara devolver un único valor que se aplica a un grupo de registros.Función DescripciónAVG Utilizada para calcular el promedio de los valores de un campo determinadoCOUNT Utilizada para devolver el número de registros de la selecciónSUM Utilizada para devolver la suma de todos los valores de un campo determinadoMAX Utilizada para devolver el valor más alto de un campo especificadoMIN Utilizada para devolver el valor más bajo de un campo especificadoCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 30/45
  • 31. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática1.9. Bases de Datos Relacionales.Es una base de datos que cumple con el modelo relacional, modelo más utilizado en laactualidad para modelar problemas reales y administrar datos dinámicamente. Permitenestablecer interconexiones (relaciones) entre los datos (que están guardados en tablas), ytrabajar con ellos conjuntamente. Tras ser postuladas sus bases en 1970 por Edgar FrankCodd, de los laboratorios IBM en San José (California), no tardó en consolidarse como unnuevo paradigma en los modelos de base de datos.[1]Usan un conjunto de tablas para representar tanto los datos como las relaciones entre ellos.También incluyen un DML y DLL descritos en la sección anterior. La mayor parte de lossistemas de bases de datos relacionales comerciales emplean el lenguaje SQL.En las bases de Codd se definían los objetivos de este modelo: • Independencia física. La forma de almacenar los datos, no debe influir en su manipulación lógica. • Independencia lógica. Las aplicaciones que utilizan la base de datos no deben ser modificadas por que se modifiquen elementos de la base de datos. • Flexibilidad. La base de datos ofrece fácilmente distintas vistas en función de los usuarios y aplicaciones. • Uniformidad. Las estructuras lógicas siempre tienen una única forma conceptual (las tablas) • Sencillez.1.9.1. Elementos.Relaciones Base y Derivadas.En una base de datos relacional, todos los datos se almacenan y se acceden a ellos por mediode relaciones.Relaciones Base: Son las relaciones que almacenan datos y su implementación es llamada"tabla".Relaciones Derivadas: Las relaciones que no almacenan datos, pero son calculadas al aplicaroperaciones relacionales; su implementación es llamada "vista" o "consulta".Las relaciones derivadas son convenientes ya que expresan información de varias relacionesactuando como si fuera una sola.Restricciones.Una restricción es una condición que obliga el cumplimiento de ciertas condiciones en la basede datos. Algunas no son determinadas por los usuarios, sino que son inherentementeCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 31/45
  • 32. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informáticadefinidas por el simple hecho de que la base de datos sea relacional. Algunas otrasrestricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre1 y 10.Las restricciones proveen un método de implementar reglas en la base de datos. Lasrestricciones restringen los datos que pueden ser almacenados en las tablas. Usualmente sedefinen usando expresiones que dan como resultado un valor booleano, indicando si los datossatisfacen la restricción o no.Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan elrol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptosrelacionales.Dominios.Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominiorestringe los valores del atributo, puede ser considerado como una restricción.Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributodeben de ser elementos del conjunto especificado".Distintos tipos de dominios son: enteros, cadenas de texto, fecha, etc. Clave Única.Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cadaregistro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valoresen dichos campos sean idénticos. Este conjunto de campos se llama clave única.Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suelellamársele candidata a clave primaria. Clave PrimariaUna clave primaria es una clave única elegida entre todas las candidatas que defineunívocamente a todos los demás atributos de la tabla, para especificar los datos que seránrelacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave puede contenervalores NULL.Clave Foránea.Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas nonecesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados,obviamente se permite que haya varios empleados en un mismo departamento, pero existirásólo un departamento.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 32/45
  • 33. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaClave Índice.Las claves índices surgen con la necesidad de tener un acceso más rápido a los datos. Losíndices pueden ser creados con cualquier combinación de campos de una tabla. Las consultasque filtran registros por medio de estos campos, pueden encontrar los registros de forma nosecuencial usando la clave índice.Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una deellas es óptima para cierta distribución de datos y tamaño de la relación.Los índices generalmente no se consideran parte de la base de datos, pues son un detalleagregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo deprogramadores que las otras partes de la base de datos. Procedimientos Almacenados.Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la basede datos. Los procedimientos almacenados usualmente recogen y personalizan operacionescomunes, como insertar un registro dentro de una tabla, recopilar información estadística, oencapsular cálculos complejos. Son frecuentemente usados por un API por seguridad osimplicidad.Los procedimientos almacenados no son parte del modelo relacional, pero todas lasimplementaciones comerciales los incluyen.Estructura.La base de datos se organiza en dos marcadas secciones; el esquema y los datos (oinstancia).El esquema es la definición de la estructura de la base de datos y principalmente almacena lossiguientes datos: • El nombre de cada tabla • El nombre de cada columna • El tipo de dato de cada columna • La tabla a la que pertenece cada columnaLas bases de datos relacionales pasan por un proceso al que se le conoce comonormalización, el resultado de dicho proceso es un esquema que permite que la base de datossea usada de manera óptima.Los datos o instancia es el contenido de la base de datos en un momento dado. Es en si, elcontenido de todos los registros.1.9.2. Tablas.Las bases de datos relacionales se basan en el uso de tablas (también se les llama(relaciones). Las tablas se representan gráficamente como una estructura rectangular formadapor filas y columnas. Cada columna almacena información sobre una propiedad determinadade la tabla (se le llama también atributo), nombre, dni, apellidos, edad,....Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 33/45
  • 34. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaCada fila posee una ocurrencia o ejemplar de la instancia o relación representada por la tabla(a las filas se las llama también tuplas).NOMBREAtributo 1 Atributo2 Atributo3 … Atributo nvalor 1,1 valor 1,2 valor m,3 … valor m,nvalor 2,1 valor 2,2 valor 2,3 … valor 2,n….. ….. ….. ….. …..valor m,1 valor m,2 2 valor 2,3 … valor 2,nRepresentación de una tabla en el modelo relacionalTablas: Cada tabla tiene varias columnas, y cada columna tiene un nombre único.Tabla ClientesId_cliente Nombre_cliente Calle_cliente Ciudad_cliente19.283.746 González Arenal, 12 La Granja67.789.901 López Mayor, 3 Peguerinos18.273.609 Abril Preciados, 123 Valsaín32.112.312 Santos Mayor, 100 Peguerinos33.666.999 Rupérez Rambas, 175 León01.928.374 Gómez Carretas, 72 CercedaEl modelo relacional es un modelo basado en registros denominado así por que la base dedatos se estructura en registros de formato fijo de varios tipos. Cada tabla contiene registros deun tipo dado. Cada tipo de registros define un número fijo de campos, o atributos. Lascolumnas de la tabla se corresponden con los atributos del tipo de registro.Terminología. • Tupla. Cada fila de la tabla (cada ejemplar que la tabla representa) • Atributo. Cada columna de la tabla • Grado. Número de atributos de la tabla • Cardinalidad. Número de tuplas de una tabla • Dominio. Conjunto válido de valores representables por un atributo.Ejemplo de Dominio.Los dominios suponen una gran mejora en este modelo ya que permiten especificar losposibles valores válidos para un atributo. Cada dominio incorpora su nombre y una definicióndel mismo. Ejemplos de dominio:Dirección: 50 caracteresNacionalidad: Español, Francés, Italiano,...Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 34/45
  • 35. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaLos dominios pueden ser también compuestos a partir de otros (año, mes y día = fecha)Es posible especificar directamente el tipo de dato para cada atributo. Pero también se puedendeclarar dominios, y usar el nombre de éstos. Esto facilita hacer cambios en los tipos de datos(cambiando sólo el dominio y no cada dato declarado). Por ejemplo, podemos crear el dominioTIPO_RUT con la siguiente instrucción: CREATE DOMAIN TIPO_RUT AS VARCHAR(10);A partir de ahora, podemos usar TIPO_RUT en lugar de VARCHAR(10), por ejemplo en losatributos RUT, RUTSUPERV, RUTGERENTE y ERUT de algún caso de estudio.CREATE TABLE EMPLEADO ( NPILA VARCHAR(15) NOT NULL, APPAT VARCHAR(15) NOT NULL, APMAT VARCHAR(15) NOT NULL, RUT VARCHAR(10) NOT NULL, FNAC DATE, DIRECCION VARCHAR(30), SEXO CHAR, SUELDO DECIMAL(5,2), RUTSUPERV VARCHAR(10), NDEPTO INT NOT NULL, PRIMARY KEY (RUT), FOREIGN KEY (RUTSUPERV) REFERENCES EMPLEADO(RUT), FOREIGN KEY (NDEPTO) REFERENCES DEPARTAMENTO(DNUMERO));CREATE TABLE DEPARTAMENTO ( DNOMBRE VARCHAR(15) NOT NULL, DNUMERO INT NOT NULL, RUTGERENTE VARCHAR(10) NOT NULL, GERFECHAINIC DATE, PRIMARY KEY (DNUMERO), UNIQUE (DNOMBRE), FOREIGN KEY (RUTGERENTE) REFERENCES EMPLEADO(RUT));CREATE TABLE UBICACIONES_DEPTO ( DNUMERO INT NOT NULL, DUBICACION VARCHAR(15) NOT NULL, PRIMARY KEY (DNUMERO, DUBICACION), FOREIGN KEY (DNUMERO) REFERENCES DEPARTAMENTO(DNUMERO));CREATE TABLE PROYECTO ( PNOMBRE VARCHAR(15) NOT NULL, PNUMERO INT NOT NULL, PUBICACION VARCHAR(15),Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 35/45
  • 36. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática DNUM INT NOT NULL, PRIMARY KEY (PNUMERO), UNIQUE (PNOMBRE), FOREIGN KEY (DNUM) REFERENCES DEPARTAMENTO(DNUMERO));CREATE TABLE TRABAJA_EN ( ERUT VARCHAR(10) NOT NULL, PNO INT NOT NULL, HORAS DECIMAL(3,1) NOT NULL, PRIMARY KEY (ERUT, PNO), FOREIGN KEY (ERUT) REFERENCES EMPLEADO(RUT), FOREIGN KEY (PNO) REFERENCES PROYECTO(PNUMERO));CREATE TABLE CARGA ( ERUT VARCHAR(10) NOT NULL, NOMBRE_CARGA VARCHAR(15) NOT NULL, SEXO CHAR, FNAC DATE, PARENTESCO VARCHAR(8), PRIMARY KEY (ERUT, NOMBRE_CARGA), FOREIGN KEY (ERUT) REFERENCES EMPLEADO(RUT));1.9.3. Programas de Aplicación.SQL no es tan potente como la máquina universal de Turing; es decir, hay algunos cálculos queno pueden obtenerse mediante ninguna consulta SQL. Estos cálculos deben escribirse en unlenguaje anfitrión, como C, C++, java. Los programas de aplicación se usan para interactuar deesta manera con la base de datos. Para tener acceso a la base de datos, las instrucciones DMLdeben ejecutarse desde el lenguaje anfitrión.1.10. Diseño de Base de DatosImplica principalmente el diseño del esquema de las bases de datos. El diseño de un entornocompleto de aplicaciones para la base de datos que satisfaga las necesidades de la empresaque se está modelando; exige prestar atención a un conjunto de aspectos más amplio.1.10.1. Ciclo de Vida de las Aplicaciones de Bases de DatosLas etapas del ciclo de vida de una aplicación de bases de datos son las siguientes: • Planificación del proyecto. • Definición del sistema. • Recolección y análisis de los requisitos. • Diseño de la base de datos. • Selección del SGBD. • Diseño de la aplicación. • Prototipado.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 36/45
  • 37. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática • Implementación. • Conversión y carga de datos. • Prueba. • Mantenimiento.Estas etapas no son estrictamente secuenciales. De hecho hay que repetir algunas de lasetapas varias veces, haciendo lo que se conocen como ciclos de realimentación. Por ejemplo,los problemas que se encuentran en la etapa del diseño de la base de datos pueden requeriruna recolección de requisitos adicional y su posterior análisis.Abordaje de diseño escalonado de base de datos.La base de datos se puede diseñar en tal forma que pueda evolucionar y cambia parasatisfacer futuras necesidades de información de la organización. Esta evolución es posiblecuando el diseñador crea un verdadero modelo conceptual de la organización con lassiguientes características: El modelo refleja fehacientemente las operaciones de la organización. Es lo bastante flexible para permitir cambios conforme surjan necesidades de información. Apoya muchas visiones de usuarios diferentes. Es independiente de la implementación física. No depende del modelo de datos usado por un sistema de gestión de base de datos particular.“Un modelo de base de datos conceptual bien diseñado protege la fuente de datos al permitirleevolucionar de modo que sirva a las necesidades de información actuales y del mañana.”1.10.2. Proceso de Diseño. Los modelos de datos de alto nivel resultan útiles a los diseñadores de bases de datos alofrecerles un marco conceptual en el que especificar, de manera sistemática, los requisitos dedatos de los usuarios de las bases de datos y la manera en que se estructurará la base dedatos para satisfacer esos requisitos.Los objetivos del diseño de la base de datos son: • Representar los datos que requieren las principales áreas de aplicación y los grupos de usuarios, y representar las relaciones entre dichos datos. • Proporcionar un modelo de datos que soporte las transacciones que se vayan a realizar sobre los datos. • Especificar un esquema que alcance las prestaciones requeridas para el sistema.La fase inicial del diseño es caracterizar completamente los requisitos de los datos de loshipotéticos usuarios de la base de datos. Los diseñadores de bases de datos deben interactuarampliamente con los expertos y usuarios del dominio para llevar a cabo esta tarea.A continuación, el diseñador escoge un modelo de datos y mediante, la aplicación de losconceptos del modelo de datos elegido traduce esos requisitos en un esquema conceptual deCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 37/45
  • 38. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informáticala base de datos. Este esquema del diseño conceptual, ofrece la visión general detallada de laempresa.En términos del modelo relacional, el proceso de diseño conceptual implica decisiones sobrequé atributos se desea capturar en la base de datos y cómo agruparlos para formar lasdiferentes tablas. o Qué: decisión conceptual (modelo entidad-relación) o Cómo: un problema informático (conjunto de algoritmos, normalización)Para lograrlo, se siguen las siguientes etapas; de éstas las principales son tres fases: diseñoconceptual, diseño lógico y diseño físico de la base de datos. Análisis del entorno del usuario. Desarrollo de un modelo de datos conceptual. Elección de un DBMS. Desarrollo del modelo lógico. Desarrollo del modelo físico. Realización de una afinación si lo indica la evaluación. Implementación del modelo físico. Análisis de Entorno del Usuario. Desarrollo del Modelo Conceptual Elección del DBMS Desarrollo del Modelo Lógico Desarrollo del Modelo Físico Evaluación del Modelo Físico Afinación del Sistema Implementación del SistemaCapítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 38/45
  • 39. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaDiseño Conceptual.En esta etapa se debe construir un esquema de la información que se usa en la empresa,independientemente de cualquier consideración física. A este esquema se le denominaesquema conceptual. Al construir el esquema, los diseñadores descubren la semántica(significado) de los datos de la empresa: encuentran entidades, atributos y relaciones. Elobjetivo es comprender: • La perspectiva que cada usuario tiene de los datos. • La naturaleza de los datos, independientemente de su representación física. • El uso de los datos a través de las áreas de aplicación. •El esquema conceptual se puede utilizar para que el diseñador transmita a la empresa lo queha entendido sobre la información que ésta maneja. Para ello, ambas partes deben estarfamiliarizadas con la notación utilizada en el esquema. La más popular es la notación delmodelo entidad-relación, que se describirá en el capítulo dedicado al diseño conceptual.El esquema conceptual se construye utilizando la información que se encuentra en laespecificación de los requisitos de usuario. El diseño conceptual es completamenteindependiente de los aspectos de implementación, como puede ser el SGBD que se vaya ausar, los programas de aplicación, los lenguajes de programación, el hardware disponible ocualquier otra consideración física. Durante todo el proceso de desarrollo del esquemaconceptual éste se prueba y se valida con los requisitos de los usuarios. El esquemaconceptual es una fuente de información para el diseño lógico de la base de datos.Diseño Lógico.El diseño lógico es el proceso de construir un esquema de la información que utiliza laempresa, basándose en un modelo de base de datos específico, independiente del SGBDconcreto que se vaya a utilizar y de cualquier otra consideración física.En esta etapa, se transforma el esquema conceptual en un esquema lógico que utilizará lasestructuras de datos del modelo de base de datos en el que se basa el SGBD que se vaya autilizar, como puede ser el modelo relacional, el modelo de red, el modelo jerárquico o elmodelo orientado a objetos. Conforme se va desarrollando el esquema lógico, éste se vaprobando y validando con los requisitos de usuario.La normalización es una técnica que se utiliza para comprobar la validez de los esquemaslógicos basados en el modelo relacional, ya que asegura que las relaciones (tablas) obtenidasno tienen datos redundantes. Esta técnica se presenta en el capítulo dedicado al diseño lógicode bases de datos.El esquema lógico es una fuente de información para el diseño físico. Además, juega un papelimportante durante la etapa de mantenimiento del sistema, ya que permite que los futuroscambios que se realicen sobre los programas de aplicación o sobre los datos, se representencorrectamente en la base de datos.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 39/45
  • 40. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaTanto el diseño conceptual, como el diseño lógico, son procesos iterativos, tienen un punto deinicio y se van refinando continuamente. Ambos se deben ver como un proceso de aprendizajeen el que el diseñador va comprendiendo el funcionamiento de la empresa y el significado delos datos que maneja. El diseño conceptual y el diseño lógico son etapas clave para conseguirun sistema que funcione correctamente. Si el esquema no es una representación fiel de laempresa, será difícil, sino imposible, definir todas las vistas de usuario (esquemas externos), omantener la integridad de la base de datos. También puede ser difícil definir la implementaciónfísica o el mantener unas prestaciones aceptables del sistema. Además, hay que tener encuenta que la capacidad de ajustarse a futuros cambios es un sello que identifica a los buenosdiseños de bases de datos. Por todo esto, es fundamental dedicar el tiempo y las energíasnecesarias para producir el mejor esquema que sea posibleDiseño Físico.El diseño físico es el proceso de producir la descripción de la implementación de la base dedatos en memoria secundaria: estructuras de almacenamiento y métodos de acceso quegaranticen un acceso eficiente a los datos.Para llevar a cabo esta etapa, se debe haber decidido cuál es el SGBD que se va a utilizar, yaque el esquema físico se adapta a él. Entre el diseño físico y el diseño lógico hay unarealimentación, ya que algunas de las decisiones que se tomen durante el diseño físico paramejorar las prestaciones, pueden afectar a la estructura del esquema lógico.En general, el propósito del diseño físico es describir cómo se va a implementar físicamente elesquema lógico obtenido en la fase anterior. Concretamente, en el modelo relacional, estoconsiste en: • Obtener un conjunto de relaciones (tablas) y las restricciones que se deben cumplir sobre ellas. • Determinar las estructuras de almacenamiento y los métodos de acceso que se van a utilizar para conseguir unas prestaciones óptimas. • Diseñar el modelo de seguridad del sistema.1.10.3. El Modelo Entidad Relación.Está basado en la percepción del mundo real que consiste en un conjunto de objetos básicos,denominados entidades, y de las relaciones entre esos objetos. Una entidad es un cosa uobjeto del mundo real que es distinguible entre objetos. Las entidades se describen en lasbases de datos mediante un conjunto de atributos. Ejm: numero_cuenta, saldo constituyeatributos de la entidad cuenta.Se usa un atributo extra para identificar unívocamente a los clientesUna relación es una asociación entre varias entidades. El conjunto de todas las entidades delmismo tipo y el conjunto de todas las relaciones del mismo tipo se denominan,respectivamente, conjunto de entidades y conjunto de relaciones.La estructura lógica general de la base de datos se puede expresar gráficamente mediante undiagrama entidad relación que está constituido por los siguientes componentes.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 40/45
  • 41. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática o Rectángulos: conjunto de entidades o Elipses: atributos o Rombos: conjunto de relaciones entre los miembros de varios conjuntos de entidades. o Líneas: unen los atributos con los conjuntos de entidades entre sí, y también los conjuntos de entidades con las relaciones. Calle_cliente Número_cuenta saldo Nombre_cliente Ciudad_clienteId_cliente impositor Cliente cuenta Componentes de un Diagrama Entidad Relación 1.10.4. Normalización. Descomposición sin pérdida de información ni de semántica de la relación universal (o de una colección de relaciones equivalentes a la misma) en una colección de relaciones en la que las anomalías de actualización (inserción, borrado y modificación) no existan o sean mínimas. Normalización es un conjunto de reglas que sirven para ayudar a los diseñadores a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataba de manipular los datos. El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para: Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 41/45
  • 42. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática • Evitar la redundancia de los datos. • Evitar problemas de actualización de los datos en las tablas. • Proteger la integridad de los datos.Cuando realizamos un diseño en el modelo relacional, tenemos diferentes alternativas,pudiendo obtener diferentes esquemas relacionales, y no todos ellos serán equivalentes, unosrepresentarán la información mejor que otros.En la estructura del Modelo Relacional la información de nuestra base de datos puederepresentarse mediante un conjunto de objetos, dominios y relaciones y de un conjunto dereglas de integridad.Las relaciones obtenidas pueden presentar problemas • Incapacidad para representar ciertos hechos. • Redundância en la información, lo que dará lugar a incoherencias • Ambiguedades. • Aparición en la base de datos que no son válidos em el mundo real:anomalias de modificación, insercción y borrado.Ejemplo:ESCRIBEAUTOR NACIONALIDAD COD_LIBRO TITULO EDITORIAL AÑODATE C. NorteamericanaDATE C. NorteamericanaDATE C. NorteamericanaCODD E. NorteamericanaGARDARIN FrancesaGARDARIN FrancesaVALDURIEZ FfrancesaKIM, W. NorteamericanaLOCHOVSKY CanadienseEn el ejemplo la relación escribe almacena datos sobre autores de libros (autor y nacionalidad) y sobre los libros (código, título, editorial, año).La relación escribe presenta varios de los problemas citados anteriormente. • Gran cantidad de Redundancia: La nacionalidad del autor se repite por cada ocurrencia del mismo. Del mismo modo, cuando un libro tiene más de un autor, la editorial y el año de publicación se repiten también. • Anomalías de Modificación: Puede ocurrir que modifiquemos el nombre de la editorial en una fila sin modificarlo en el resto de las que corresponden al mismo libro lo que da lugar a incoherencias.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 42/45
  • 43. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. Informática • Anomalías de Inserción: No sería posible la inserción de un autor del que no hubiera ningún libro en la base de datos ya que cod_libro forma parte de la clave primaria de la relación. Tampoco podríamos introducir obras anónimas. Por otro lado la inserción de un libro con más de un autor obligaría a incluir tantas tuplas como tenga el libro. • Anomalías de Borrado: Si quisiéramos dar de baja a un libro, también se perderían datos sobre sus autores (si de éstos sólo hay un libro), y si borramos un autor desaparecerán de la base de datos los libros escritos por él (a no ser que el libro tenga más de un autor).En cualquier caso, ante las dudas respecto a si un esquema relacional es el correcto, seríapreferible aplicar a dicho esquema un método formal de análisis que determine lo que puedaestar equivocado en el mismo y nos permita deducir otro que nos asegure el cumplimiento deciertos requisitos. Este método formal de análisis es la Teoría de Normalización.1.10.5. Herramientas de Diseño.Las metodologías varían desde las técnicas generales descritas en la literatura, hastaproductos comerciales cuya meta es automatizar el proceso de diseño. Por ejemplo lospaquetes CASE (Computer Aided Software Engineering: Software de ingeniería asistido porcomputadora); que incluyen varias herramientas para análisis de sistemas, gestión deproyectos diseño y programación, están disponibles con muchos proveedores.Estas herramientas por lo general se categorizan como: upper-CASE, lower-Case o integradas. Las herramientas upper-CASE se usan en la planificación de bases de datos para recolección y análisis de datos, diseño de modelos de datos y diseño de aplicaciones. Las herramientas lowe-CASE se usan para implementar la base de datos incluidos la elaboración de prototipos, conversión de datos, generación de código de aplicación, generación de reportes y pruebas. Las herramientas CASE – integradas cubren ambos niveles.Un diccionario de datos orientado al usuario es una herramienta que se puede desarrollar con osin un paquete CASE. El software de gestión de proyectos es otro tipo de herramienta que sepuede aplicar de manera efectiva al desarrollo de las bases de datos. Diccionario de Datos es un depósito de información que describe la estructura lógica de la base de datos. Cuenta con: o Entrada para tipos de registro, o tipos de ítem de datos, o agregados de datos.La mayoría de los proveedores de DBMS ofrecen un diccionario de datos. El diccionario dedatos contiene metadatos, en la base de datos.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 43/45
  • 44. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaDiccionario de Datos Integrado: si el diccionario de datos es parte del DBMS (catálogo delsistema).Diccionario de Datos Independiente (freestanding): En un diccionario de datos sin unDBMS.Un diccionario de datos independiente es útil durante las primeras etapas de diseño pararecopilar organizar información acerca de los datos.El administrador de la base de datos (DBA), puede comenzar a desarrollar el diccionario dedatos al identificar ítems de datos, asegurar concordancia de usuarios, acerca de una definiciónde cada ítem e ingresar el ítem en el diccionario. Dado que los usuarios no deben estar altanto de los datos de otros usuarios, el administrador de la base de datos debe controlar elacceso a l diccionario de datos. Software de Gestión de Proyectos: proporciona un conjunto de herramientas que se pueden yusar para planificar y gestionar un proyecto, especialmente cuando existen muchas personas que trabajan en él.Por ejemplo las Gráficas de Gant y las Gráficas de Pert que son similares, en ellas el usuarioespecifica los objetivos y ámbito del proyecto, identifica las tareas y fases principales, indicadependencias entre las tares, identifica los recurso disponibles y establece un cronograma paracompletar las tareas y fases del proyecto. El software se pude usar para generar calendarios,producir gráficos con muchas vistas diferentes del progreso del proyecto y proporcionar unmedio de comunicación entre el personal del proyecto, ya sea a través de intranet o acceso aInternet. Un ejemplo es Microsoft Project.BIBLIOGRAFIAFlory, A. Bases de Datos de Dones. Conceptioon et réalisation. Edición Económica, París,1982.Tsichritzis, D. y Lochovsky, F.H. Data Models. Prentice-Hall, Nueva Jersey, 1982.Catherine RICARDO. “Bases de Datos”, Editorial MacGraw – Hill, 2009.Abraham Silberschatz, Henry Korth, S. Sudarshan. “Fundamentos de Bases de Datos”, Vedición de la Editorial MacGraw Hill, 2006.Raghu Ramakrishnan,Johannes Gehrke. “Sistemas de Gestión de Bases de Datos”, IIIedición McGraw – Hill, 2007Thomas M. Connolly, Carolyn E. Begg. “Sistemas de Bases de Datos”, IV edición de laEditorial Pearson, 2005.Gonzalez a., Carlos. “Sistemas de Bases de Datos”, Editorial Tecnológica de Costa Rica,2002.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 44/45
  • 45. Asignatura Bases de Datos (10131) Escuela de Informática Carrera de Ing. InformáticaLyon, John K., Base de Datos, I edición de la Editorial Ateneo, 1983.Wiederhold, Gio, “ Diseño de Bases de Datos”, McGraw-Hill, México, 1983.Capítulo I. Elaborado por: Prof. Virginia Juárez M. FIEC – 2011 Página: 45/45

×