Capı́tulo 1: Conceptos Básicos de Bases de Datos Dr. José Torres Jiménez Laboratorio de Tecnologı́as de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 1 / 57 Definición de base de datos Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 2 / 57 Definición de base de datos Base de datos Una base de datos es una colección de archivos relacionados con la finalidad de permitir el manejo de la información de alguna compañı́a. Cada uno de dichos archivos pueden ser vistos como una colección de registros y cada registro está compuesto de una colección de campos.Cada uno de los campos de cada registro permite llevar información n de alguna caracterı́stica o atributo de alguna entidad del mundo real. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 3 / 57 Definición de base de datos Base de Datos Si hablamos de una UNIVERSIDAD, las entidades de interés podrı́an ser: ALUMNOS, PROFESORES, SALONES, etc. Respecto a la entidad ALUMNO, los atributos o caracterı́sticas importantes podrı́an ser: NOMBRE,DIRECCION,TELEFONO,CARRERA, MATRICULA, etc. Si hablamos de una INDUSTRIA, las entidades de interés podrı́an ser: DEPARTAMENTOS,EMPLEADOS,PRODUCTOS, etc. Respecto a la entidad DEPARTAMENTO, los atributos a caracterı́sticas importantes podrı́an ser: NOMBRE DEL DEPARTAMENTO, NOMBRE DEL DIRECTOR DEL DEPARTAMENTO, FUNCION DEL DEPARTAMENTO, etc. Un archivo de una base de datos también puede ser pensado como una tabla en la que tenemos renglones y columnas, cada renglón correspondiendo a un registro del archivo y cada columna correspondiendo a un campo. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 4 / 57 Sistemas Manejadores de Bases de Datos Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 5 / 57 Sistemas Manejadores de Bases de Datos SMBD Los sistemas manejadores de bases de datos han sido usados ampliamente para: ORGANIZAR Y MANIPULAR GRANDES VOLUMENES DE DATOS DE LAS EMPRESAS. Estos Sistemas Manejadores de Bases de Datos solo podrı́an ser corridos en instalaciones computacionales grandes (MAINFRAMES). Afortunadamente esta situación empezó a cambiar debido al bajo costo de las mini/microcomputadoras y a la aparición de Sistemas Manejadores de Bases de Datos para las microcomputadoras. Un sistema manejador de base de datos no es más que UN SISTEMA COMPUTARIZADO PARA LLEVAR REGISTROS. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 6 / 57 Sistemas Manejadores de Bases de Datos SMBD Algunas de las facilidades que proporciona el sistema a los usuarios son: Agregar Nuevos Archivos a la Base de Datos. Agregar Nuevos Registros a los Archivos existentes. Recuperación de Datos. Actualización de Datos. Borrar registros. Borrar Archivos. Proporcionar los mecanismos para el control del acceso concurrente a los datos. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 7 / 57 Sistemas Manejadores de Bases de Datos Una base de datos es una colección de información útil organizada en una manera especı́fica. Por ejemplo para llevar el control de los teléfonos de personas podrı́a ser útil una base de datos que constarı́a de los datos de la tabla agenda. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 8 / 57 Sistemas Manejadores de Bases de Datos Nombre Vargas Rubén Dı́az Raúl Ruiz Pedro Martı́nez Raúl Teléfono 18-20-67 13-67-90 12-89-90 12-54-46 Cuadro 1: Tabla para llevar una agenda telefónica Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 9 / 57 Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda Secuencial El problema de la tabla agenda es que, dado que los datos no están ordenados, buscar un teléfono en partı́cular puede ser lento. Asumiendo que tenemos N renglones en la tabla, localizar un elemento en particular tendrı́a los siguientes casos: Mejor Caso: Sólo se busca en 1 renglón. Peor Caso: Se busca en los N renglones. Caso Promedio: Se busca en Dr. José Torres Jiménez (Cinvestav-LTI) N+1 2 renglones. Capı́tulo 1 Bases de Datos 10 / 57 Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Los casos Mejor y Peor son fáciles de derivar para calcular el caso promedio se ha hecho uso de la fórmula: CasoPromedio= NΣTodosCasos úmeroCasos . Y N P tenemos que: ΣTodosCasos = i. Para obtener simbólicamente el valor i=1 de esta sumatoria sumemos dos veces de la siguiente manera: 1 2 3 ... N − 1 N N N −1 N −2 ... 2 1 de donde (N + 1) (N + 1) (N + 1) ... (N + 1) (N + 1) N P N(N + 1) = 2 i i=1 Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 11 / 57 Sistemas Manejadores de Bases de Datos Concluyendo entonces que: N P i=1 i = Búsqueda Secuencial N(N+1) . 2 El valor de NumeroCasos es N N(N+1) por lo que concluimos que: CasoPromedio= N2 = (N+1) 2 . Este tipo de búsqueda se le conoce como búsqueda secuencial y es la única alternativa de búsqueda cuando los datos no están ordenados y no se cuenta con estructuras auxiliares. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 12 / 57 Sistemas Manejadores de Bases de Datos Búsqueda binaria Búsqueda binaria Si los datos anteriores son ordenados (lo cuál podrı́a hacerse con un algoritmo similar al QuickSort que tiene un orden de N log N) esto se ilustra en la tabla 2. Podemos utilizar una búsqueda binaria. La ventaja de la búsqueda binaria es que en cada operación el tamaño del problema se reduce a la mitad. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 13 / 57 Sistemas Manejadores de Bases de Datos Búsqueda binaria Nombre Dı́az Raúl Martı́nez Raúl Ruiz Pedro Vargas Rubén Teléfono 13-67-90 12-54-46 12-89-90 18-20-67 Cuadro 2: Tabla para llevar una agenda telefónica Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 14 / 57 Sistemas Manejadores de Bases de Datos Búsqueda binaria Originalmente el tamaño del problema de búsqueda de un elemento en particular es N, con el primer intento el tamaño del problema se reduce a: N 2 N con el segundo intento se reduce a: 22 = 2N2 , y con el iésimo intento se reduce a: 2Ni , de esta manera en el peor de los casos se tendrı́an que realizar tantos intentos como el valor de i en la expresión 2Ni , despejando de esta fórmula tenemos que: i = ⌈log2 (N)⌉ . Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 15 / 57 Sistemas Manejadores de Bases de Datos Búsqueda binaria Como conclusión tenemos entonces: Mejor Caso= 1 Peor Caso= ⌈log2 (N)⌉ . Caso Promedio= 1+⌈log2 (N)⌉ 2 Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 16 / 57 Sistemas Manejadores de Bases de Datos Búsqueda indizada Búsqueda indizada El inconveniente de utilizar una búsqueda binaria es que al hacer altas, bajas y cambios sobre una tabla ordenada, tenemos que organizar los datos para que se mantengan ordenados, y esto podrı́a tomar mucho tiempo. Ante este problema una alternativa es la utilización de un indice (similar al de la parte final de un libro) que contendrı́a el nombre de la persona y un apuntador a dónde esta el elemento dentro de la tabla. Como puede notarse, los datos en la tabla podrán estar fı́sicamente desordenados, pero a través del ı́ndice se ven lógicamente ordenados. El ı́ndice (normalmente) es un archivo aparte del archivo que contiene los datos, la manera más popular de construir y mantener un ı́ndice es a traves del algoritmo de arboles balanceados B-Tree. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 17 / 57 Sistemas Manejadores de Bases de Datos Búsqueda indizada Los casos para este tipo de búsqueda son: Mejor Caso= 1 Peor Caso= ⌈logm (N)⌉ . Caso Promedio= 1+⌈logm (N)⌉ 2 Dónde m indica el número de vı́as que tiene el árbol. La gran ventaja de un indice es que el algorimo de mantenimiento es mucho más eficiente que el algoritmo para mantener un archivo ordenado, y por otro lado es mucho más rápido dado que m es mayor que 2. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 18 / 57 Tipos de datos en una base de datos Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 19 / 57 Tipos de datos en una base de datos Tipos de datos en una base de datos Los datos pueden ser divididos en dos grandes categorı́as: ALFANUMERICA NUMERICA Los datos alfanuméricos consisten de caracteres alfabéticos (A a la Z, ó a la z), caracteres numéricos (0 al 9) y de algunos sı́mbolos especiales como # $ % . v.g. el número de serie de un televisor: RTA-XA100 Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 20 / 57 Tipos de datos en una base de datos Los datos numéricos están compuestos por los dı́gitos del 0 al 9, punto decimal y signo. v.g. el sueldo de un empleado: 1000000.00 Adicionalmente a estos tipos existen otros tipos que son utilizados como: LÓGICO FECHA MEMO GENERAL (Puede contener objetos audio, vı́deo, imágenes,...) Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 21 / 57 Enfoques para bases de datos Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 22 / 57 Enfoques para bases de datos Enfoques para bases de datos Existen 3 enfoques principales para el manejo de BASES DE DATOS: ENFOQUE RELACIONAL ENFOQUE JERÁRQUICO ENFOQUE DE REDES Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 23 / 57 Enfoques para bases de datos Enfoque relacional El enfoque relacional “ve” a los datos como un conjunto de TABLAS(ARCHIVOS) constando de un conjunto de RENGLONES(REGISTROS) y cada RENGLON constando de un conjunto de COLUMNAS(CAMPOS). La RELACION entre las TABLAS(ARCHIVOS) se establece solo por nombres de atributos comunes. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 24 / 57 Enfoques para bases de datos Ejemplo Tenemos una empresa en la que se necesita tener la información de las PARTES que utiliza, los PROVEEDORES de la empresa y el detalle de QUE PARTES SUMINISTRA UN PROVEEDOR y LOS PROVEEDORES DE UNA PARTE (Relación N a M). Se sabe que un proveedor puede suministrar 0 ó más partes y que una parte puede ser suministrada por 0 ó más proveedores. Nuestra base de datos podrı́a ser vista como lo ilustra la figura 1. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 25 / 57 Enfoques para bases de datos PROVE NOMBRE CALIDAD PARTE NOMBRE COLOR S1 JUAN 9 P1 TUERCA GRIS S2 PEDRO 8 P2 CLAVO GRIS S3 RAMÓN 10 P3 TUERCA BLANCO S4 ANA 7 P4 LÁPIZ AMARILLO PROVE PARTE S1 P1 CANTIDAD 100 S2 P2 300 S2 P3 500 S3 P4 200 S4 P1 100 S4 P2 150 S4 P3 200 S4 P4 300 Figura 1: Modelo Relacional de la Base de Datos de Partes-Proveedores y Pedidos Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 26 / 57 Enfoques para bases de datos Enfoque Jerárquico Enfoque jerarquico Permite “ver” una base de datos como compuesta de un CONJUNTO DE RELACIONES PADRE-HIJO, v.g. la base de datos anterior se verı́a como en la figura 2. En donde se modela claramente las partes que suministra un proveedor, pero no serı́a posible representar partes que no sean suministradas (NO PUEDE HABER HIJOS SIN PADRE). Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 27 / 57 Enfoques para bases de datos Enfoque Jerárquico PROVE NOMBRE CALIDAD S1 JUAN 9 PARTE NOMBRE COLOR CANTIDAD P1 TUERCA GRIS 100 PROVE NOMBRE CALIDAD S2 PEDRO 8 PARTE NOMBRE COLOR CANTIDAD P2 CLAVO GRIS 300 P3 TUERCA BLANCO 500 PROVE NOMBRE CALIDAD S3 RAMÓN 10 PARTE NOMBRE COLOR CANTIDAD P4 LAPIZ AMARILLO 200 PROVE NOMBRE CALIDAD S4 ANA 7 PARTE NOMBRE COLOR CANTIDAD P1 TUERCA GRIS 100 150 P2 CLAVO GRIS P3 TUERCA BLANCO 200 P4 LAPIZ AMARILLO 300 Figura 2: Modelo Jerárquico de Bases de Datos de Partes, Proveedores y Pedidos Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 28 / 57 Enfoques para bases de datos Enfoque Jerárquico Además no es fácil saber quien suministra una determinada parte, por lo que se podrı́a modelar la misma base de datos como se ilustra en la figura 3 Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 29 / 57 Enfoques para bases de datos Enfoque Jerárquico PARTE NOMBRE COLOR P1 TUERCA GRIS PROVEE NOMBRE CALIDAD S1 JUAN 9 100 S4 ANA 7 100 PARTE NOMBRE COLOR P2 CLAVO GRIS CANTIDAD PARTE NOMBRE COLOR CANTIDAD S2 PEDRO 8 300 S4 ANA 7 150 PARTE NOMBRE COLOR P3 TUERCA BLANCO PARTE NOMBRE COLOR CANTIDAD S2 PEDRO 8 500 S4 ANA 7 200 PARTE NOMBRE COLOR P4 LAPIZ AMARILLO PROVEE NOMBRE CALIDAD CANTIDAD S3 RAMON 10 200 S4 ANA 7 300 Figura 3: Otra forma del Modelo Jerárquico de Bases de Datos de Partes, Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 30 / 57 Enfoques para bases de datos Enfoque Jerárquico Pero, en este caso, no es posible tener la información de proveedores que no suministran algo, y no es fácil identificar las partes que suministra un proveedor. En ambos casos el enfoque jerárquico tiene la desventaja de una gran redundancia de datos. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 31 / 57 Enfoques para bases de datos Enfoque de Redes Enfoque de redes Modela la información como conjuntos, donde hay dos tipos de conjuntos: PROPIETARIOS(Equivale a un padre en el enfoque jerárquico) y MIEMBROS (Equivale a un hijo dentro del enfoque jerárquico). En el enfoque de REDES la redundancia se reduce al máximo, no se pierde información debido a que una parte no se suministre o a que un proveedor no suministre alguna parte. Es el enfoque más eficiente para representar relaciones N a M, sin embargo, tiene la desventaja de ser MUY COMPLEJO. El modelo de bases de datos de este enfoque se puede ver en la figura 4 Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 32 / 57 Enfoques para bases de datos Enfoque de Redes PROVEE NOMBRE CALIDAD PROVEE NOMBRE CALIDAD PROVEE NOMBRE CALIDAD PROVEE NOMBRE CALIDAD S1 JUAN 9 S2 PEDRO 8 S3 RAMON 10 S4 ANA 7 CANTIDAD CANTIDAD CANTIDAD CANTIDAD CANTIDAD CANTIDAD CANTIDAD CANTIDAD 100 300 500 200 100 150 200 300 PARTE NOMBRE COLOR PARTE NOMBRE COLOR PARTE NOMBRE COLOR PARTE NOMBRE COLOR P1 TUERCA GRIS P2 CLAVO GRIS P3 TUERCA BLANCO P4 LÁPIZ AMARILLO Figura 4: Modelo de redes de Bases de Datos de Partes, Proveedores y Pedidos Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 33 / 57 Enfoques para bases de datos Enfoque de Redes De los tres enfoques el más usado y el que tiene bases más formales es el enfoque relacional, motivo por el cuál casi el 100 de los manejadores son construidos con este enfoque. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 34 / 57 Introducción a los Sublenguajes de Datos (DSL) Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 35 / 57 Introducción a los Sublenguajes de Datos (DSL) Muchos sistemas manejadores de base de datos tienen un SUBLENGUAJE DE DATOS (Data Sub Language) que está constituido en dos partes: Lenguaje de Definición de Datos (Data Definition Language DDL) Lenguaje de Manipulación de Datos (Data Manipulation Language DML) El lenguaje de definición de datos está constituido por las instrucciones que permiten crear/mantener: Las estructuras de almacenamiento de los archivos de datos. La estructura de las estrategias de acceso(Heap, Indice, Hash, etc.) El lenguaje de manipulación está compuesto por las instrucciones que permiten realizar ALTAS, BAJAS, CAMBIOS y OBTENCION DE INFORMACION de los archivos de datos. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 36 / 57 Introducción a los Sublenguajes de Datos (DSL) SQL SQL Dentro de los sublenguajes de datos más difundidos y de amplio uso tenemos el SQL (Structured Query Language). DDL del SQL Como ejemplo del DDL del SQL veremos como se crea una tabla. Supongamos que deseamos crear una base de datos simple(Compuesta por una sola tabla), para llevar el control de calificaciones de los exámenes de alumnos de una materia, suponiendo que los atributos importantes son: MATRICULA NOMBRE PARCIAL 1 PARCIAL 2 PARCIAL 3 FINAL Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 37 / 57 Introducción a los Sublenguajes de Datos (DSL) SQL La forma de crear esta tabla serı́a: CREATE TABLE CALIF(MATRICULA INTEGER NOT NULL, NOMBRE CHAR(35), PARCIAL1 SMALLINT, PARCIAL2 SMALLINT, PARCIAL3 SMALLINT, FINAL SMALLINT); Para soportar el concepto de llave (No duplicados) es necesario crear un ı́ndice único sobre los atributos llave (que fueron especificados con NOT NULL): CREATE UNIQUE INDEX CALIX ON CALIF (MATRICULA); Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 38 / 57 Introducción a los Sublenguajes de Datos (DSL) SQL Supongamos que ya se cargaron datos, un ejemplo de contenido es dado en la tabla 3. MATRICULA 331243 335467 337890 558967 578990 654321 723445 NOMBRE JUAN MARTINEZ PEDRO LOPEZ MARIA ALONSO FRIDA GUTIERREZ DIANA CAMACHO LUIS PEREZ FRANCIS RIQUELME PARCIAL1 8 10 9 7 6 8 8 PARCIAL2 8 10 9 8 7 5 6 PARCIAL3 6 6 6 7 8 9 10 FINAL 7 9 10 10 9 9 8 Cuadro 3: Tabla para control de calificaciones Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 39 / 57 Introducción a los Sublenguajes de Datos (DSL) DML del SQL Inserción INSERT INTO CALIF VALUES (331232, ’LUIS PEREZ MARTINEZ’, 1,1,1,1); Borrado DELETE FROM CALIF WHERE MATRICULA=331289; Actualización UPDATE CALIF SET PARCIAL1=PARCIAL1+1; Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 40 / 57 Introducción a los Sublenguajes de Datos (DSL) DML del SQL Consulta SELECT AVG(PARCIAL1) FROM CALIF; SELECT MATRICULA, NOMBRE FROM CALIF WHERE PARCIAL1=PARCIAL2; Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 41 / 57 Componentes de un Sistema de Base de Datos Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 42 / 57 Componentes de un Sistema de Base de Datos Componentes de un sistema de base de datos Involucra los siguientes componentes: Datos +Hardware +Software +Usuarios Datos Los datos dentro de una base de datos están integrados y son compartidos: INTEGRADOS Puesto que la base de datos es la unificación de varios archivos con redundancia parcial o totalmente eliminada. COMPARTIDOS Esto implica que los datos pueden ser accesados concurrentemente por diferentes usuarios. Hardware Consiste básicamente de unidades de almacenamiento secundario, principalmente discos duros, discos compactos, cintas magnéticas etc. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 43 / 57 Componentes de un Sistema de Base de Datos Software Entre la base de datos fı́sica y los usuarios existe una capa de Software denominada SISTEMA MANEJADOR DE BASE DE DATOS(SMBD ó DBMS). Todos los requerimientos de acceso a la base de datos son manejados por el SMBD. Usuarios Hay 3 tipos de Usuarios: Programador de Aplicaciones: Se encarga de escribir programas para el manejo de la Base de Datos Usando un lenguaje de alto nivel. Usuario Final: Es el que utiliza un lenguaje de comandos (Query Language) y/o Programas de aplicación. Administrador de la base de datos (DBA): Es el responsable de definir polı́ticas de acceso a la Base de Datos. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 44 / 57 Ventajas de Utilizar una Base de Datos Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 45 / 57 Ventajas de Utilizar una Base de Datos Ventajas de utilizar una base de datos Compactez No se necesitan voluminosos archivos de papel. Velocidad. La velocidad de operación es mayor a la que se tiene con un sistema manual. Menos Tedio Actualización. La información se puede mantener más fácilmente actualizada. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 46 / 57 Ventajas de Utilizar una Base de Datos Ventajas de Tener el Control Centralizado de una Base de Datos Se puede reducir la redundancia. Se evita la inconsistencia. Los datos pueden ser compartidos. Se pueden reforzar los estándares. Se tiene el control del acceso. La integridad puede ser mantenida. Se pueden balancear requerimientos conflictivos. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 47 / 57 Ventajas de Utilizar una Base de Datos Inconsistencia Cuando dos instancias del mismo elemento no tienen valores iguales. v.g. Si hay dos registros para el alumno con matricula 331540 (en diferentes archivos), los atributos iguales deben tener los mismos valores. Falta de Integridad Se da la falta de integridad cuando una instancia de un elemento tiene valores raros: v.g. Que el número de horas trabajadas a la semana por un empleado sea de 400. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 48 / 57 Ventajas de Utilizar una Base de Datos Independencia de Datos Se dice que un sistema tiene INDEPENDENCIA DE DATOS: Si los programas de aplicación no tienen que ser modificados al cambiar: la estructura de almacenamiento y/o la estrategia de acceso. Dicho de otro modo es: LA INMUNIDAD DE LAS APLICACIONES A LOS CAMBIOS EN LA ESTRUCTURA DE ALMACENAMIENTO Y/O LA ESTRATEGIA DE ACCESO. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 49 / 57 Conceptos Adicionales Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 50 / 57 Conceptos Adicionales Conceptos adicionales Campo Almacenado: Es la unidad de datos más pequeña que se encuentra almacenada. Registro Almacenado: Es una colección de campos almacenados que están relacionados. Archivo Almacenado: Es el conjunto de todas las ocurrencias de un registro almacenado. Representación de Datos Numéricos: Se pueden almacenar como: Un String de Caracteres, un Decimal Empacado, en Binario. Representación de Datos Caracter: Se Pueden almacenar en ASCII, EBCDIC, etc. Manejo de Objetos: Se pueden manejar como campos objeto que pueden ser Gráficas, Sonido, Hojas de Calculo, Textos, etc. Codificación de Datos: Resulta útil en ocasiones almacenar los datos en forma codificada. v.g. En lugar de almacenar los nombres de los colores podrı́amos codificarlos para ahorrar espacio y facilidad de uso de acuerdo a la tabla 4. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 51 / 57 Conceptos Adicionales Color Negro Café Rojo Naranja Amarillo Verde Azul Violeta Gris Blanco Número 0 1 2 3 4 5 6 7 8 9 Cuadro 4: Tabla de Codificación de Colores Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 52 / 57 Conceptos Adicionales Materialización de Datos Existen campos virtuales, debido a que no tienen equivalencia con un campo almacenado, y para poder ser accesados deben ser calculados. v.g. Un campo virtual llamado PROMEDIO que depende de otros datos, de forma que para ser accesado debe ser calculado primero. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 53 / 57 Una Arquitectura para un SMBD Outline 1 2 3 4 5 6 7 8 9 Definición de base de datos Sistemas Manejadores de Bases de Datos Búsqueda Secuencial Búsqueda binaria Búsqueda indizada Tipos de datos en una base de datos Enfoques para bases de datos Enfoque Jerárquico Enfoque de Redes Introducción a los Sublenguajes de Datos (DSL) SQL DML del SQL Componentes de un Sistema de Base de Datos Ventajas de Utilizar una Base de Datos Conceptos Adicionales Una Arquitectura para un SMBD Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 54 / 57 Una Arquitectura para un SMBD Una arquitectura para un SMBD La arquitectura consta de 3 niveles que son ilustrados en la figura 5, los niveles son: Nivel Interno: Es el más cercano al almacenamiento fı́sico. Se refiere a la forma de almacenamiento de los datos. Nivel Externo: Es el más cercano al usuario, se refiere a la forma en que el usuario final v̈el̈os datos. Nivel Conceptual: Es un nivel de indirección entre los otros dos, se refiere a la forma en que los diseñadores de sistemas ven los datos. Trata de expresar como son los datos realmente. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 55 / 57 Una Arquitectura para un SMBD VISTA EXTERNA 1 VISTA EXTERNA 2 VISTA EXTERNA N VISTA CONCEPTUAL VISTA INTERNA Figura 5: Arquitectura de un SMBD de tres niveles Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 56 / 57 Una Arquitectura para un SMBD Vistas Solo existe una vista interna. Solo existe una vista conceptual. Existen tantas vistas externas según se necesiten. Entre una vista externa y la vista conceptual existe un mapeo EXTERNO / CONCEPTUAL. Entre la vista conceptual y la vista interna existe un mapeo CONCEPTUAL / INTERNO. El nivel interno se refiere a la forma en la que son almacenados / accesados fı́sicamente los datos. Dr. José Torres Jiménez (Cinvestav-LTI) Capı́tulo 1 Bases de Datos 57 / 57