Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
2019 Profesora Painé Pintos INSTITUTO TÉCNICO SUPERIOR CÓRDOBA TECNICATURA DE DESARROLLO DE SOFTWARE BASE DE DATOS MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS - 2- MATERIA: BASES DE DATOS PROFESORA: PAINÉ PINTOS. INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROGRAMA DE CONTENIDOS TENTATIVO: UNIDAD 1 – INTRODUCCIÓN A LOS SISTEMAS ORIENTADOS A DATOS. Sistemas orientados a procesos: descripción general; desventajas. Los sistemas orientados a datos como respuesta a los sist. Orientados a procesos: descripción general; ventajas. Desventajas. Nociones conceptuales básicas (par de nociones): Datos / Información. Dependencia / Independencia de datos. Inconsistencia / Consistencia de datos. Aislamiento / Integridad de datos. Redundancia. Revisión de nociones en una aplicación práctica: Uso de Open Office Base en el armado de una base de datos sencilla; reconocimiento de objetos particulares en una base de datos (tabla, consulta, informe, formulario); creación de objetos y análisis de funcionalidad de los mismos. Interrelación. UNIDAD 2 – SISTEMAS GESTORES DE BASES DE DATOS. Definición – Características. Niveles de abstracción: esquema externo – esquema conceptual – esquema físico. ¿Qué es un esquema? Caracterización de cada uno. Relación entre “esquema” y “vista” - Comparaciones. Funcionamiento de un SGBD: Integración e interrelación entre los diferentes esquemas – Traducción de un esquema a otro - Función y características de los META-DATOS. Funciones de un SGBD – Lenguajes asociados (DDL – DML – DQL- etc.). Modelo ANSI: o Definición – Características. o Modelos que incluye: cuáles son, características, cómo se interrelacionan. o Esquemas que incluye: cuáles son, características, cómo se interrelacionan. o Arquitectura del modelo: breve descripción de su funcionamiento. o Procesos del modelo: fase de creación; fase de manipulación. o Estructuras operacionales: cliente/servidor; multiservidor; etc. Modelo lógico: definición; características; diferencia entre el modelo lógico y el modelo conceptual. Ejemplos más comunes de modelos lógicos: jerárquico, en red, relacional, orientado a objetos, relacional-objetos. UNIDAD 3 - DISEÑO CONCEPTUAL: MODELO DE ENTIDAD – RELACION. Definición; uso; características. Componentes del ER: Entidades: definición, uso, características. Tipos de entidades. Relaciones: definición, características, tipos de relación, roles, cardinalidad de la relación. Atributos: definición, características, tipos de atributos; identificadores. Modelo de Entidad – Relación Extendido: o Características. o Generalizaciones – Especificaciones: explicación general; comparación. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS - 3- o Relaciones ISA. o Restricciones sobre Generalizaciones / Especificaciones: por definición, disyunción/solapamiento, completitud / parcialidad o Agregación: Descripción general. Definición. Tipos. UNIDAD 4 – MODELO RELACIONAL. Nociones básicas: definición, objetivos, estructura básica. Dominio, grado y cardinalidad. o Definición formal de una relación. o Propiedades de la relación. o Tipos de relación. o Claves: definición, tipos. o Restricciones: inherentes, semánticas. Integridad Referencial: definición, características. Relación entre claves principales / claves foráneas. Paso del DER al MODELO RELACIONAL: pautas generales; ejemplos particulares: relaciones varios a varios, relaciones uno a muchos, relaciones uno a uno, relaciones reflexivas, atributos compuestos, atributos multivaluados; entidades débiles, relaciones ISA. Uso de DBMANAGER para la creación de DER y su transformación en el diseño lógico relacional. Normalización: definición; características, utilidad. Dependencia funcional. Primera, segunda, tercera forma normal. Análisis de ejemplos. UNIDAD 5 – SQL. Introducción: ¿Qué es SQL? ¿Para qué sirve? Características generales. Elementos generales de SQL: Comandos, clausulas, operadores, funciones y literales. Comandos de definición de datos: CREATE, ALTER, DROP, RENAME. Comandos de manipulación de datos: INSERT, UPDATE, MERGE, DELETE. Comandos de consulta de datos - SELECT: estructura general. o WHERE (Valores lógicos, BETWEEN, LIKE, IN, IS NULL, IS NOT NULL). o ORDER BY o Consultas a varias tablas: asociación; agrupamientos (GROUP BY), cálculos (SUM, COUNT), HAVING. o SUBCONSULTAS. Vistas: ¿qué son? ¿para qué sirven?. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS - 4- Gestión y diseño de bases de datos Introducción: Sistemas gestores de bases de datos1 La necesidad de gestionar datos En el mundo actual existe una cada vez mayor demanda de datos. Esta demanda siempre ha sido patente en empresas y sociedades, pero en estos años la demanda todavía de ha disparado más debido al acceso multitudinario a las Internet. Por ello las bases de datos se reconocen como una de las principales aplicaciones de a informática. En informática se conoce como dato a cualquier elemento informativo que tenga relevancia para un usuario. Desde el primer momento de esta ciencia se ha reconocido al dato como al elemento fundamental de trabajo en un ordenador. Por ello se han realizado numerosos estudios y aplicaciones para mejorar la gestión que desde las computadoras se realiza de los datos. La escritura fue la herramienta que permitió al ser humano poder gestionar bases cada vez más grandes de datos. Con el tiempo aparecieron herramientas como archivos, cajones, carpetas y fichas en las que se almacenaban los datos. Antes de la aparición del ordenador, el tiempo requerido para manipular estos datos era enorme. Sin embargo el proceso de aprendizaje era relativamente sencillo ya que se usaban elementos que el usuario reconocía perfectamente. Por esa razón, la informática ha adaptado sus herramientas para que los elementos que el usuario maneja en el ordenador se parezcan a los que utilizaba manualmente. Así en informática se sigue hablado de ficheros, formularios, carpetas, directorios,.... Componentes de un sistema de información electrónico En el caso de una gestión electrónica de la información (lo que actualmente se considera un sistema de información electrónico), los componentes son: ♦ Datos. Se trata de la información relevante que almacena y gestiona el sistema de información. Ejemplos de datos son: Sánchez, 12764569F, Calle Mayo 5, Azul… ♦ Hardware. Equipamiento físico que se utiliza para gestionar los datos. cada uno de los dispositivos electrónicos que permiten el funcionamiento del sistema de información. ♦ Software. Aplicaciones informáticas que se encargan de la gestión de la base de datos. ♦ Recursos humanos. Personal que maneja el sistema de información Tipos de sistemas de información En la evolución de los sistemas de información ha habido dos puntos determinantes, que han formado los dos tipos fundamentales de sistemas de información. Sistemas de información orientados al proceso En estos sistemas de información se crean diversas aplicaciones (software) para gestionar diferentes aspectos del sistema. Cada aplicación realiza unas determinadas operaciones. Los datos de dichas aplicaciones se almacenan en archivos digitales dentro de las unidades de almacenamiento del ordenador (a veces en archivos binarios, o en hojas de cálculo, o incluso en archivos de texto). Cada programa almacena y utiliza sus propios datos de forma un tanto caótica. La ventaja de este sistema (la única ventaja), es que los procesos son independientes por lo que la modificación de uno no afectaba al resto. Pero tiene grandes inconvenientes: ♦ Datos redundantes. Ya que se repiten continuamente ♦ Datos inconsistentes. Ya que un proceso cambia sus datosy no el resto. Por lo que el mismo dato puede tener valores distintos según qué aplicación acceda a él. ♦ Coste de almacenamiento elevado. Al almacenarse varias veces el mismo dato, se requiere más espacio en los discos. Luego se agotarán antes. ♦ Difícil acceso a los datos. Cada vez que se requiera una consulta no prevista inicialmente, hay que modificar el código de las aplicaciones o incluso crear una nueva aplicación. ♦ Dependencia de los datos a nivel físico. Para poder saber cómo se almacenan los datos, es decir qué estructura se utiliza de los mismos, necesitamos ver el código de la aplicación; es decir el código y los datos no son independientes. ♦ Tiempos de procesamiento elevados. Al no poder optimizar el espacio de almacenamiento. 1 Autor: Jorge Sánchez – www.jorgesanchez.net MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS - 5- ♦ Dificultad para el acceso simultáneo a los datos. Es casi imposible de conseguir ya que se utilizan archivos que no admiten esta posibilidad. Dos usuarios no pueden acceder a los datos de forma concurrente. ♦ Dificultad para administrar la seguridad del sistema. Ya que cada aplicación se crea independientemente; es por tanto muy difícil establecer criterios de seguridad uniformes. Ilustración 1, Sistemas de Información orientados al proceso A estos sistemas se les llama sistemas de gestión de ficheros. Se consideran también así a los sistemas que utilizan programas ofimáticos (como Word o Excel por ejemplo) para gestionar sus datos (muchas pequeñas empresas utilizan esta forma de administrar sus datos). De hecho estos sistemas producen los mismos (si no más) problemas. Sistemas de información orientados a los datos. bases de datos En este tipo de sistemas los datos se centralizan en una base de datos común a todas las aplicaciones. Estos serán los sistemas que estudiaremos en este curso. En esos sistemas los datos se almacenan en una única estructura lógica que es utilizable por las aplicaciones. A través de esa estructura se accede a los datos que son comunes a todas las aplicaciones. Cuando una aplicación modifica un dato, dicho dato la modificación será visible para el resto de aplicaciones. Ilustración 2, Sistemas de información orientados a datos VENTAJAS ♦ Independencia de los datos y los programas y procesos. Esto permite modificar los datos sin modificar el código de las aplicaciones. ♦ Menor redundancia. No hace falta tanta repetición de datos. Sólo se indica la forma en la que se relacionan los datos. ♦ Integridad de los datos. Mayor dificultad de perder los datos o de realizar incoherencias con ellos. ♦ Mayor seguridad en los datos. Al permitir limitar el acceso a los usuarios. Cada tipo de usuario podrá acceder a unas cosas.. ♦ Datos más documentados. Gracias a los metadatos que permiten describir la información de la base de datos. ♦ Acceso a los datos más eficiente. La organización de los datos produce un resultado más óptimo en rendimiento. ♦ Menor espacio de almacenamiento. Gracias a una mejor estructuración de los datos. ♦ Acceso simultáneo a los datos. Es más fácil controlar el acceso de usuarios de forma concurrente. DESVENTAJAS ♦ Instalación costosa. El control y administración de bases de datos requiere de un software y hardware poderoso ♦ Requiere personal cualificado. Debido a la dificultad de manejo de este tipo de sistemas. ♦ Implantación larga y difícil. Debido a los puntos anteriores. La adaptación del personal es mucho más complicada y lleva bastante tiempo. ♦ Ausencia de estándares reales. Lo cual significa una excesiva dependencia hacia los sistemas comerciales del mercado. Aunque, hoy en día, una buena parte de esta tecnología está aceptada como estándar de hecho MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 6 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 7 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 8 de 49 EJEMPLOS: MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 9 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 10 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 11 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 12 de 49 INTRODUCCIÓN A LAS BASES DE DATOS. APUNTE TEÓRICO / PRÁCTICO. Nuestro cotidiano quehacer se encuentra cruzado por la necesidad de manipular información. Ya sea cuando buscamos plata del banco, cuando vamos a pagar las cuentas, cuanto alquilamos un Dvd, incluso cuando vamos al supermercado, interactuamos (muchas veces de manera inconsciente o automática) con bases de información que permiten agilizar procedimientos. La planificación, diseño y construcción de bases de datos es un rama importantísima de la Informática, así como también una de las tantas salida laboral que dicha ciencia tiene en la actualidad. Para poder introducirnos –brevemente- en “el mundo de las bases de datos”, es importante presentar algunos aspectos relacionados no sólo con las bases sino con el sentido de “organizar” la información. En primer lugar, vamos a decir que para poder mejorarse los procesamientos de información, ésta no sólo debe REGISTRARSE sino también debe SISTEMATIZARSE. Esta primera distinción tiene que ver con la necesidad de pensar “estructuras” de la información que permita agilizar la ubicación y selección de datos, así como también la verificación de los mismos. En la figura se muestran 3 ejemplos. En los tres hay un REGISTRO de información, un conjunto de información sobre personas, con su dirección, número de teléfono, nombre y apellido, etc. Sin embargo, varía de uno a otro la SISTEMATIZACIÓN que se ha realizado de los mismos. En el primer ejemplo se han puestos los datos uno al lado del otro, como si fuera un texto. En el segundo, se han “enlistado”: se pusieron en columnas los tipos de datos y en las filas se fueron acomodando las diferentes personas que forman el listado. En el último ejemplo se crearon fichas. Cada una de ellas, contiene toda la información para una persona dada. De los tres ejemplos el primero si bien registra no es una forma óptima de sistematización de información ya que a primera vista resulta difícil identificar tipos de datos y por lo tanto, ubicar rápidamente algún dato determinado. De las tres formas ejemplificadas arriba, vamos a detenernos en el listado. Este listado presenta una estructura bien definida para “acomodar” la información. Noten que en las columnas, se han Alonso, Juan, San Martín 2434, 4323432 Almeida, Rosa, Los Aromos 435, 4323452 Araoz, Yamil, Patricios 56, 4654534 Alonso, Romilda, La Tablada 453, 4534323 Barbadero, Remigio, El Ceibo 543, 4675455 Baez, Federico, San Martín 564, 4656454 Bonaldo, Federico, Elcano 343, 4543545 Carmona, Jazmín, Patricios 654, 4354343 Castro, Edelmira, Mai ten 544, 453244 Castro, José, El Algarrobo 543, 434344 Almeida, Jul ián, Socrates 543, 493434 Biez, Mariela, Los cocos 544, 495454 Díaz, Mariela, Belgrano 434, 4434344 Díaz, Marina, Vélez Sársfield 434, 4434099 Díaz, Sebastián, Corro 434, 4478292 Díaz, José, Santa Rosa 444, 4485845 Díaz, Ramona, Colón 434, 4432122 Sawaya, Martín, San Martín 342, 4353434 Díaz, Juan, Aristóteles 434, 494734 Sawaya, Juan Alberto, Los Sauces 4343, 495422 Araoz, Juan, Los Espinillos 434, 490032 Rodriguez, Marcelo, San Martín 544, 4354345 Rodriguez, Miriam, El ce ibo 3, 4384854 Rodriguez, Pedro, Elcano 565, 4353111 Castro, Rosario, Obispo Trejo 43, 4353443 Alonso,Raúl , Vélez Sársfield 432, 4311111 Ruiz, Raúl, Los alerces 434, 495453 Díaz, Raúl , Los sauces 544, 493111 Meneses, Miriam, San Martín 22, 4332342 Meneses, Marta, San Juan 434, 4434343 Ruiz, Romina, Santa Rosa 223, 4450001 Ruiz, Felipe, Suipacha 53, 4323211 All, Milagros, Los cocos 56, 493222 All, Maylen, San Juan, 4434323 Alonso, Ma. Cecilia , 9 de jul io 543, 4434211 Rodriguez, Jimena, 25 de mayo, 4429999 Fernández, Simón, San Martín 899, 4323200 Fernández, Felicitas, Sócrates 341, 495554 Zárate, María, Obispo trejo 94, 4344811 Zárate, Sofía, Los alerces 98, 498565 Zárate, Ricardo, Vélez Sársfield 90, 4344366 Hermida, Rebeca, Laprida 65, 4423231 ¿Registrar o sistematizar? Mejor visualización de datos. Agrupar según características comunes. Ayuda a las búsquedas de un dato en particular. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 13 de 49 determinado TIPOS de datos y en las filas, se han puesto los conjuntos de información para una persona en particular. Este tipo de sistematización tiene ventajas específicas: por ejemplo, permite visualizar rápidamente la información con la que contamos, así como también si hay algún dato faltante. Por otra parte permite agrupar rápidamente datos por características similares. Por último, agiliza las búsquedas de datos. Por éstas y otras razones, este ha sido el formato que se ha elegido para “digitalizar” la información (pasarla a un formato “digital”). Esta “tabla” será la estructura básica sobre la que se realizarán luego las bases de datos informatizadas. El beneficio que implica digitalizar la información es aparentemente bien sabido (y hasta evidente). Cotidianamente disfrutamos de su ventaja (piensen sino lo cómodo que es tener una tarjeta de débito que nos permite acceder a todas horas a nuestra cuenta y administrarla sin necesidad de firmar tickets o ser atendido por algún empleado del banco). Vamos a destacar algunos de sus beneficios a modo de ejemplo de lo útil que resulta esta tecnología para la vida cotidiana. Supongamos que tenemos el siguiente listado y que queremos buscar la dirección de una persona que se llama Ruíz Raúl. Esto resultaría más que sencillo ya que, poniendo el dedo sobre la columna de Apellido y buscando alfabéticamente, encontraríamos el conjunto de los “Ruíz”. Luego sería cuestión de buscar cual de todos coincide con el nombre Raúl. Otra cuestión sería si por ejemplo tuviéramos como dato para buscar la dirección, el número de teléfono (supongamos que fuera el 4353111). En este caso la búsqueda se complicaría ya que deberíamos ir a la columna de números y detenernos uno por uno a ver si coincide con el que nosotros necesitamos. Un primer avance sería poder acceder a otro listado (por ejemplo como el que se muestra debajo) en el que los datos estuvieran ordenados por el número de teléfono. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 14 de 49 En este caso, teniendo en cuenta que los números van del más chico al más grande, también sería relativamente sencillo encontrar el número y buscar la dirección y el nombre de la persona. Los listados que se mostraron como ejemplo, son listados estáticos: tienen no sólo una estructura dada (la cantidad de personas y la cantidad de columnas ya están predefinidas y a no ser que ejercite con la tijera, no puedo variarlas) sino también un orden dado (es decir, las filas acomodadas de una manera determinada) generando ciertos inconvenientes cuando necesitamos buscar información a través de un dato que no es el que se usó para ordenar el listado. Diferente es cuando la información se ha “digitalizado” y por lo tanto podemos manipularlo. En este caso podríamos tener todos los listados que necesitáramos a partir de procedimientos sencillos que, en el ejemplo, tendrían que ver con re-ordenar las filas según otros datos (número telefónico, nombre). Estos listados serían dinámicos ya que podrían cambiar dependiendo de la necesidad de búsqueda que tuviéramos en un momento dado. Si la información estuviera digitalizada habría otros procedimientos que podrían aplicarse a la misma. Por ejemplo, podríamos agrupar información a partir de la elección de un tipo de dato. Supongamos que deseamos tener en dos grupos separados las personas que viven en Córdoba y aquellas que viven en Villa Allende. Visualizando en el listado original, vemos que hay un dato que es la característica telefónica (para Cba es 351 y para Villa Allende, 3543). Aplicando un procedimiento sencillo podríamos obtener el siguiente listado. También podríamos reducir la cantidad de datos original (sin peligro MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 15 de 49 a perder ninguno) “ocultando” aquellos que, para un momento determinado, no se necesitan. Por ejemplo, podríamos querer mostrar sólo las personas que viven en Cba. Y tener a mano sólo los números de teléfono y de esta forma facilitar la visualización de los nombres y el número correspondiente. Este tipo de manipulación además permitiría “la vuelta atrás”: retomar el conjunto general de información de forma tal que pueda re-utilizarse para otra situación donde, tal vez, los requerimientos informativos sean otros y por lo tanto, haya que configurar listados con otras características. De más está decir que se podría perfectamente encontrar UN dato en particular, seleccionar los datos de una sola persona o bien mostrar solamente una columna de datos. En síntesis, cuando pensamos desde un punto de vista informático la administración de la información nos encontramos con: La Necesidad de SISTEMATIZAR la información para: Tener una estructura “estandarizada” que permita reconocer tipos de datos que incluye, datos faltantes, características generales de la información. Hacer más veloz y más eficiente las búsquedas. La Importancia de “digitalización” de la información: Para, dinámicamente, configurar ordenamientos. Para ubicar, modificar o eliminar rápidamente datos. Para seleccionar información. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 16 de 49 INTRODUCCIÓN A BASES DE DATOS: Ahora sí podemos hacer una introducción a la Bases de Datos, comenzando por una definición general: UNA BASE DE DATOS ES UN CONJUNTO DE DATOS Y OBJETOS RELACIONADOS CON UNA FINALIDAD O TEMA EN PARTICULAR QUE UTILIZA LOS MEDIOS INFORMÁTICOS PARA ALMACENAR DIGITALMENTE LA INFORMACIÓN Y ADMINISTRARLA. PROPÓSITO: ADMINISTRAR Y PROCESAR EFICIENTEMENTE GRAN CANTIDAD DE INFORMACIÓN. SE GENERA A PARTIR DE UN GESTOR DE BASE DE DATOS. ALGUNOS OBJETOS DE LAS BASES DE DATOS. De lo dicho antes se desprenden algunos elementos a aclarar. En primer lugar, detallar cuáles son los objetos básicos que constituyen las bases de datos. Si bien hay muchos otros, los objetos indispensables en toda base de datos son: Tabla. Consulta. Informe. Formulario. TABLAS: Estructura fundamental de una base de datos. Objeto que almacena datos en un formato predeterminado formado por registros y por campos. Los campos son las columnas en la estructura de la tabla. Los registros son las filas. REGISTROS Y CAMPOS El REGISTRO:: es un elemento de la tabla; conjunto de valores de campos para un elemento. Representado aquí en cada fila. El CAMPO: Elemento de una tabla que contiene un tipo de información específico (representado en cada columna) VOLVER MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 17 de 49 En ambos casos, responden a lo ENTIDAD de la tabla, lo que vendría a ser, en términos sencillos, el TEMA de la tabla (o de lo que trata). En los ejemplos que vinimosviendo, el tema (o la entidad) de la tabla, eran personas. Los tipos de datos (desde ahora, los campos) tienen directa relación con el tipo de entidad. Así, si la entidad es una persona, seguramente tendremos nombre, apellido, dirección, DNI, etc. Sin embargo, si la entidad fuera mascotas seguramente los tipos de datos asociados variarían (por ejemplo no tendríamos DNI y seguramente no tendría asociado un número de teléfono propio). Más evidente resulta si la entidad es una cosa, supongamos, autos. Aquí ni nombre ni apellido existe; aparecen tipos de datos como MARCA, número de chasis, etc. En síntesis: es necesario tener en claro cuál será la entidad de la tabla ANTES de crear la tabla de forma tal que resulte coherente la definición de los campos con el tipo de entidad que se esté queriendo representar. CONSULTA: Objeto que permite preguntar sobre los datos almacenados en tablas o realizar una selección sobre los mismos. Este objeto es el que permite manipular los datos de forma tal que se puedan visualizar los datos según la necesidad de información que se tiene. Permite “achicar” la información, “recortarla”, ajustarla a diferentes necesidades. Las consultas podrían visualizarse como “filtros” que se añaden a la tabla de datos, permitiendo que los usuarios observen sólo aquel conjunto de datos que necesitan. La información que no coincide con los criterios para seleccionar la información se oculta temporalmente. INFORME: Objeto que permite imprimir la información de la base de datos con diferentes formatos y organizada de acuerdo a diferentes necesidades de información. Los informes permiten también aplicar ordenamientos y agrupamientos de datos. Así como también, seleccionar algunos de los campos que se desean presentar. Pueden efectuarse sobre la tabla de datos o sobre alguna consulta (en este sentido, permite entonces imprimir selecciones de registros). MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 18 de 49 FORMULARIO: Objeto de una base de datos en el que se puede colocar controles para realizar acciones (por ejemplo, armar ventanas para abrir o cerrar la base) o para introducir, mostrar y modificar los datos de los campos. Ofrece, en definitiva, una interfaz al usuario para visualizar conjuntos de datos, facilitando así la carga, modificación o reconocimiento de información dentro de una o más tabla de datos. En el presente curso veremos en detalle la construcción y administración de tablas y consultas. EL GESTOR DE BASE DE DATOS. Existen muchos tipos de gestores. Con variados alcances. Los gestores de base de datos (y otros softwares asociados como motores de bases de datos) son software de aplicación que permiten la creación, administración y “comunicación” de bases de datos. Existen definiciones más específicas de los mismos, pero por ahora, ésta nos va a alcanzar. En el curso actual (teniendo en cuenta que su objetivo es sólo un primer acercamiento a las bases de datos) trabajaremos con un gestor muy sencillo: el OpenOffice Base (que viene dentro del paquete ofimático de OpenOffice). Como supondrán, el OpenOffice Base cuenta con los objetos básicos de las bases de datos. Al ingresar al programa, nos encontramos con una pantalla general en la que se muestra lo siguiente: MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 19 de 49 En esta pantalla general se puede visualizar los objetos que podrá contener nuestra base de datos. El procedimiento general implica: seleccionar el objeto sobre el que se desea trabajar, elegir alguna de las tareas asociadas (por lo general puede crearse los objetos a partir de Asistentes) o bien abrir/editar objetos ya creados (de haberlos, se listan debajo de las tareas). A continuación se mostrarán procedimientos básicos para crear y administrar tablas y consultas. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 20 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 21 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 22 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 23 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 24 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 25 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 26 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 27 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 28 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 29 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 30 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 31 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 32 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 33 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 34 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 35 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 36 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 37 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 38 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 39 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 40 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 41 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 42 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 43 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 44 de 49 MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 45 de 49 METODOLOGÍA DEL DISEÑO CONCEPTUAL - PASOS PARA CONSTRUCCIÓN DE E/R (extraído de “Apuntes de Ficheros y Bases de Datos” de Mercedes Marqués – docente a carga de la asignatura de Ficheeros y Bases de Datos de la Ingeniería Técnica en Informática de Gestión – Universitat Jaume I – España - 2001). El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente se construye varios esquemas conceptuales, cada uno para representar las distintas visiones que los usuarios tienen de la información. Cada una de estas visiones suelen corresponder a las diferentes áreas funcionales del la empresa como por ejemplo producción, ventas, recursos humanos, etc. Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. Una opción consiste en examinar los diagramas de flujos de datos, que se pueden haber producido previamente, para identificar cada una de las áreas funcionales. La otra opción consiste en entrevistara los usuarios, examinar los procedimientos, los informes y los formularios, y también observar el funcionamiento de la empresa. A los esquemas conceptualescorrespondientes a cada vista de usuarios se les denomina esquemas conceptuales locales. Cada uno de estos esquemas se compone de entidades, relaciones, atributos, dominios de atributos e identificadores. El esquema conceptual también tendrá una documentación que se irá produciendo durante su desarrollo. Las tareas a realizar en el diseño conceptual son las siguientes: 1. Identificar entidades. 2. Identificar relaciones. 3. Identificar los atributos y asociarlos a entidades y relaciones. 4. Determinar los dominios de los atributos. 5. Determinar los identificadores. 6. Determinar las jerarquías de generalización (si las hay). 7. Dibujar el diagrama entidad-relación. 8. Revisar el esquema conceptual local con el usuario. Identificar entidades: Definir los principales objetos que interesan al usuario. Estos objetos serán las entidades. Una forma de identificar las entidades es examinar las especificaciones de requisitos de usuario. En estas especificaciones se buscan los nombres que se mencionan (por ej.: número de empleado, nombre de empelado, número de inmueble, dirección, etc.). También se buscan objetos importantes como personas, lugares o conceptos de interés, excluyendo aquellos nombres que sólo son propiedades de otros objetos. Por ejemplo: se pueden agrupar el número de empleado y el nombre de empleado en una entidad denominada empleado; y agrupar número de inmueble, dirección del inmueble, alquiler y número de habitaciones en otra entidad denominada inmueble. Otra forma de identificar las entidades es buscar aquellos objetos que existen por si mismos. Por ejemplo, empleado es una entidad porque los empleados existen, sepamos o no sus nombres, direcciones y teléfonos. Siempre que sea posible, el usuario debe colaborar en la identificación de las entidades. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 46 de 49 A veces es difícil identificar las entidades por la forma en que aparece en las especificaciones de requisitos. Los usuarios, a veces, hablan utilizando ejemplos o analogías. En lugar de hablar de empleados en general, hablan de personas concertas, o bien, hablan de los puestos que ocupan esas personas. Los usuarios muchas veces usan sinónimos y homónimos. Dos palabras son sinónimos cuando tienen el mismo significado. Los homónimos ocurren cuando la misma palabra puede tener distintos significados dependiendo del contexto. No siempre es obvio saber si un objeto es una entidad, una relación o un atributo. Por ejemplo ¿cómo se podría clasificar matrimonio? Pues de cualquiera de las tres formas. El análisis es subjetivo por lo que distintos diseñadores pueden hacer distintas interpretaciones aunque todas igualmente válidas. Todo depende de la opinión y la experiencia de cada uno. Los diseñadores de bases de datos deben tener una visión selectiva y clasificar las cosas que observan dentro del contexto de la empresa u organización. A partir de especificaciones de usuario es posible que no se pueda deducir un conjunto único de entidades, pero después de varias iteraciones del proceso de análisis, se llegará a obtener un conjunto de entidades que sean adecuadas para el sistema que se ha de construir. A medida que se van identificando las entidades, se les dan nombres que tengan un significado y que sean obvias para el usuario. Los nombres de las entidades y sus descripciones se anotan en el diccionario de datos. Cuando sea posible, se debe anotar también el número aproximado de ocurrencias de cada entidad. Si una entidad se conoce por varios nombres, éstos se deben anotar en el diccionario de datos como alias o sinónimos. Identificar las relaciones Una vez definidas las entidades, se deben definir las relaciones existentes entre ellas. Del mismo modo que para identificar las entidades se buscaban nombres en las especificaciones de requisititos, para identificar las relaciones se suelen buscar las expresiones verbales (por ejemplo: oficina tiene empleados, empleado gestiona inmueble, cliente visita inmueble). Si las especificaciones de requisitos reflejan estas relaciones es porque son importantes para la empresa y por lo tanto se deben reflejar en el esquema conceptual. Pero sólo interesan las relaciones que son necesarias. En el ejemplo anterior, se han identificado las relaciones empleado gestiona inmueble y cliente visita inmueble. Se podría pensar en incluir una relación entre empleado y cliente: empleado atiende a cliente pero observando las especificaciones de requisitos no parece que haya interés en modelar tal relación. La mayoría de la s relaciones son binarias (entre dos entidades) pero no hay que olvidar que también pueden haber relaciones en las que participen más de dos entidades así como relaciones recursivas. Es muy importante repasar las especificaciones para comprobar que todas la relaciones, explícitas o implícitas, se han encontrado. Sise tienen pocas entidades, se puede comprobar por parejas si hay alguna relación entre ellas. De todos modos, las relaciones que no se identifican ahora se suelen encontrar cuando se valida el esquema con las transacciones que debe soportar. Una vez identificadas todas las relaciones, hay que determinar la cardinalidad mínima y máxima con la que participa cada entidad en cada una de ellas. De este modo, el esquema representa de un modo más explícito la semántica de las relaciones. La cardinalidad es un tipo de restricción que se utiliza para comprobar y MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 47 de 49 mantener la calidad de los datos. Estas restricciones son aserciones sobre las entidades que se pueden aplicar cuando se actualiza la base de datos para determinar si las actualizaciones violan o no las reglas establecidas sobre la semántica de los datos. Conforme se van identificando las relaciones, se les van asignando nombres que tengan significado para el usuario. En el diccionario de datos se anotan los nombres de las relaciones, su descripción y las cardinalidades con las que participan las entidades en ellas. Identificar los atributos y asociarlos a entidades y relaciones Al igual que con las entidades, se buscan nombres en las especificaciones de requisitos. Son atributos los nombres que identifican propiedades, cualidades, identificadores o características de entidades o relaciones. Lo más sencillo es preguntarse, para cada entidad y cada relación, ¿qué información se quiere saber de….? La respuesta a esta pregunta se debe encontrar en las especificaciones de requisitos. Pero, en ocasiones, será necesario preguntar a los usuarios para que aclaren los requisitos. Desgraciadamente, los usuarios pueden dar respuestas a esta pregunta que también contengan otros conceptos, por lo que hay que considerar sus respuestas con mucho cuidado. Al identificar los atributos, hay que tener en cuenta si son simples o compuestos. Por ejemplo, el atributo dirección puede ser simple, teniendo la dirección completa como un solo valor: “San Rafael 45, Almazora”, o puede ser un atributo compuesto, formado por la calle (“San Rafael”), el número (“45”) y la población (“Almazora”). El escoger entre atributo simple o compuesto depende de los requisitos del usuario. Si el usuario no necesita acceder a cada uno de los componentes de la dirección por separado, se puede representar como un atributo simple. Pero si el usuario quiere acceder a los componentes de forma individual, entonces se debe representar como un atributo compuesto. También se deben identificar los atributos derivados o calculados, que son aquellos cuyo valor se puede calcular a partir de los valores de otros atributos. Por ejemplo9, el número de empleados de cada oficina, la edad de los empleados o el número de inmuebles que gestiona cada empleado. Algunos diseñadores no representan los atributos derivadosen los esquemas. Conceptuales. Si se hace, se debe indicar claramente que el atributo es derivado y a partir de qué atributos se obtiene el valor. Donde hay que considerar los atributos derivados es en el diseño físico. Cuando se están identificando los atributos, se puede descubrir alguna entidad que no se ha identificado previamente, por lo que hay que volver al principio introduciendo esta entidad y viendo si se relaciona con otras entidades. Es muy útil elaborar una lista de atributos e ir eliminándolos de la lista conforme se vayan asociando a una entidad o relación. De este modo, uno se puede asegurar de que cada atributo se asocia a una sola entidad o relación y que cuando la lista se ha acabado, se han asociado todos los atributos. Hay que tener mucho cuidado cuando parece que un mismo atributo se debe asociar a varias entidades. Esto puede ser por una de las siguientes causas: Se han identificado varias entidades, como director, supervisor y administrativo cuando, de hecho, pueden representarse como una sola entidad denominada empleado. En este caso, se puede escoger entre introducir una jerarquía de generalización o dejar las entidades que representan cada uno de los puestos de empleado. MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 48 de 49 Se ha identificado una relación entre entidades. En este caso, se debe asociar el atributo a una sola de las entidades y hay que asegurarse de que la relación ya se había identificado previamente. Si no es así, se debe actualizar la documentación para recoger la nueva relación. Conforme se van identificando los atributos, se les asigna nombres que tengan significado para el usuario. De cada atributo se debe anotar la siguiente información: Nombre y descripción del atributo. Alias o sinónimos por los que se conoce al atributo. Tipo de dato y longitud. Valores por defecto del atributo (si se especifican). Si el atributo siempre va a tener un valor (si admite o no nulos). Si el atributo es compuesto y, en su caso, qué atributos simples lo forman. Si el atributo es derivado y, en su caso, cómo se calcula su valor. Si el atributo es multievaluado. Determinar los dominios de los atributos El domino de un atributo es el conjunto de valores que puede tomar el atributo. Por ejemplo, el dominio de los números de oficina son las tiras de hasta tres caracteres en donde el primero es una letra y el siguiente o los dos siguientes son dígitos en el rango de 1 a99; el domino de los números de teléfono y los números de fax son las tiras de 7 dígitos. Un esquema conceptual está completo si incluye los dominios de cada atributo: los valores permitidos para cada atributo, su tamaño y su formato. También se puede incluir información adicional sobre los dominios como, por ejemplo, las operaciones que se pueden realizar sobre cada atributo, qué atributos pueden compararse entre sí o qué atributos pueden combinarse con otros. Aunque sería muy interesante que el sistema final respetara todas estas indicaciones sobre los dominios, esto es todavía una línea abierta de investigación. Toda la información sobre los dominios se debe anotar también en el diccionario de datos. Determinar los identificadores Cada entidad tiene al menos un identificador. En este paso, se trata de encontrar todos los identificadores de cada una de las entidades. Los identificadores pueden ser simples o compuestos. De cada entidad se escogerá uno de los identificadores como clave primaria en la fase de diseño lógico. Cuando se determinan los identificadores es fácil darse cuenta de si una entidad es fuerte o débil. Si una entidad tiene al menos un identificador, es fuerte (otras denominaciones son padre, propietaria o dominante). Si una entidad no tiene atributos que le sirvan de identificador, es débil (otras denominaciones son hijo, dependiente o subordinada). Todos los identificadores de las entidades se deben anotar en el diccionario de datos. Determinar las jerarquías de generalizaciones En este caso hay que observar las entidades que se han identificado hasta el momento. Hay que ver si es necesario reflejar las diferencias entre distintas ocurrencias de una entidad, con lo que surgirán nuevas subentidades de esta entidad MATERIA: BASE DE DATOS INSTITUTO TÉCNICO SUPERIOR CÓRDOBA PROFESORA: PAINÉ PINTOS 49 de 49 genérica: o bien, si hay entidades que tienen características en común y que realmente son subentidades de una nueva entidad genérica. En cada jerarquía hay que determinar si es total o parcial y exclusiva o superpuesta2. Dibujar el diagrama entidad-relación Una vez identificados todos los conceptos, se puede dibujar el diagrama entidad-relación correspondiente a una de las vistas de los usuarios. Se obtiene así un esquema conceptual local. Revisar el esquema conceptual local con el usuario. Antes de dar por finalizada la fase del diseño conceptual, se debe revisar el esquema conceptual local con el usuario. Este esquema está formado por el diagrama entidad/relación y toda la documentación que describe el esquema. Si se encuentra alguna anomalía, hay que corregirla haciendo los cambios oportunos, por lo que posiblemente haya que repetir alguno de los pasos anteriores. Este proceso debe repetirse hasta que se esté seguro de que el esquema conceptual es una fiel representación de la parte de la empresa que se está tratando de modelar. 2 Correspondencia con la nomenclatura utilizada durante clase: Una jerarquía es total si cada ocurrencia de la entidad genérica corresponde al menos con una ocurrencia de alguna subentidad. Es parcial si existe alguna ocurrencia de la entidad genérica que no corresponde con ninguna ocurrencia de ninguna subentidad. Una jerarquía es exclusiva si cada ocurrencia de la entidad genérica corresponde, como mucho, con una ocurrencia de una sola de las sub entidades. Es superpuesta si existe alguna ocurrencia de la entidad genérica que corresponde a ocurrencias de dos o más sub entidades diferentes.
Compartir