4. Base de datos. A/P Gabriella Savoia, MsC.,PMP

Tamaño: px
Comenzar la demostración a partir de la página:

Download "4. Base de datos. A/P Gabriella Savoia, MsC.,PMP"

Transcripción

1 4. A/P Gabriella Savoia, MsC.,PMP

2

3 Sistemas de Bases de datos Bibliografía: Sistemas de Bases de Datos (Conceptos fundamentales) ELMASRI/NAVATHE Una base de datos es... La representación de un aspecto del mundo real. Una colección de datos lógicamente coherentes, con algún significado inherente. Diseñada, construída y poblada de datos con algún fin específico. De interés para algún grupo de usuarios, algunas aplicaciones concebidas. Es un conjunto de datos relacionados entre sí. Definición Un sistema de base de datos es el conjunto formado por la base de datos y el software para la manipulación (SGBD). Construir una BD es... El proceso de guardar los datos en algún medio de almacenamiento controlado por el SGBD. Manipular una BD es... Obtener datos específicos a través de una consulta. Modificar datos, es decir: agregar, modificar o borrar datos de una BD. 209

4 A tener en cuenta Para definir una base de datos hay que especificar los tipos, las estructuras y las restricciones de datos que se almacenarán en ella. Construir una base de datos es el proceso de guardar los datos en algún medio controlado por el sistema de gestión de base de datos. Evitando La inconsistencia de los datos. La dificultad para acceso a la información. El aislamiento de los datos. Brindando Control de la concurrencia. Seguridad de los datos. Aportes del uso de tecnologías de Base de Datos Desde el punto de vista de la organización de la información permite, de los datos: Mantener una definición central. Manejar abstracción. Manejar múltiples vistas. Desde el punto de vista de la programación de la base de datos: Separación entre datos y programas. Control de restricciones de integridad y concurrencia. Estandarización de modelos y lenguajes. 210 Los sistemas de bases de datos engloban: Modelo de datos. Arquitectura de los SGBD. Lenguajes de los SGBD. Clasificación de los SGBD. Funciones de los SGBD. Componentes de los SGBD. Qué es un Modelo de Datos? Conjunto de conceptos que sirven para describir la estructura de una base de datos. La estructura de una base de datos contiene: Tipos de datos. Vínculos/Relaciones. Restricciones de Consistencia.

5 Categorías de Modelo de Datos Se reconocen modelos: De alto nivel o conceptuales Describen cómo los percibe el usuario y manejan conceptos de: Entidad. Atributo. Vínculo. De Representación o Implementación Basados en registros, orientados a objetos. De Bajo Nivel o Físicos Describen cómo se almacenan los datos en el computador. Fases en el diseño de Bases de Datos 211

6 Análisis de requerimientos Descripción operacional. Fase de adquisición de conocimiento. Entrevistas con los usuarios del sistema. Identificación de necesidades. Asegurar que se tengan los datos necesarios para las funciones y aplicaciones donde se usará la BD. Salida: requerimientos del sistema. Diseño Conceptual (Modelo Conceptual) 212 Los modelos conceptuales: - Modelos de datos de muy alto nivel. - En general, se concentran en estructuras y restricciones de integridad. Se concentran en definir el dominio del problema. - Suelen tener una representación gráfica asociada. Algunos modelos conceptuales - Modelo Entidad-Relación [1976]. - Modelos ER Extendidos [ 80s y 90s]. Diseño Lógico Diseño que se acerca más a la implementación en un Sistema Manejador de Base de Datos. Transforma el modelo Entidad-Relación en tablas que podrán ser implementadas en un un sistema manejador de base de datos particular. Se eliminan ciertas anomalías debidas a la redundancia. Normalización.

7 Diseño Físico Decide la estructura de almacenamiento y las estrategias de acceso. - Estructura de almacenamiento: Archivos planos, comprimidos, codificados y formatos específicos. - Estrategia de acceso: Acceso secuencial, acceso binario y acceso usando Btress. Generalmente se reduce a la selección de los INDICES para acelerar el acceso. También selecciona los tipos de datos. 213

8 Modelo de datos conceptual Modelado de datos Los modelos de datos son herramientas para describir la realidad. Los programadores utilizan los modelos de datos para construir esquemas. La calidad de los esquemas resultantes depende, no solamente de la habilidad de los programadores sino también de las características del modelo de datos seleccionado. Es común a todos los modelos de datos los mecanismos de abstracción de la realidad que ayudan a entender, clasificar y modelar la realidad. Abstracciones en el diseño conceptual La abstracción es un proceso mental que se aplica al seleccionar algunas características y propiedades de un conjunto de objetos y excluir otras no tan importantes. En otras palabras, se hace una abstracción al fijar la atención en las propiedades consideradas esenciales de un conjunto de cosas y desechar sus diferencias. En el diseño conceptual se utilizan tres tipos de abstracciones: 1. Clasificación. 2. Agregación. 3. Generalización. Clasificación Se usa para definir un concepto como una clase de objetos de la realidad caracterizados por propiedades comunes. Ejemplo: El concepto de MES es la clase cuyos miembros son Enero, Febrero..., Diciembre. Cuando se piensa en un mes se hace una abstracción de las características específicas de cada mes (por ejemplo, número de días) y se destacan los aspectos comunes de todos los meses. 214

9 Un mismo objeto real puede clasificarse de varias maneras. Por ejemplo, consideremos los siguientes grupos de objetos: - silla negra - mesa negra - silla blanca - mesa blanca Se pueden clasificar los objetos anteriores como MESAS y SILLAS o considerar, en cambio, su color y clasificarlos como MUEBLES BLANCOS y MUEBLES NEGROS. Agregación Define una nueva clase a partir de un conjunto de otras clases que representan sus partes componentes. Ejemplo: Abstraer la clase PERSONAS a partir de las clases Nombre, Sexo, Domicilio. Generalización Define una relación de subconjunto entre los elementos de dos o más clases. Ejemplo: La clase PERSONA es una generalización de las clases HOMBRE y MUJER. Modelo Entidad Relación En 1976 se publicó el modelo entidad relación, el cual tuvo gran aceptación, principalmente por su expresividad gráfica. Sobre esta primera versión han trabajado numerosos autores, generando distintas extensiones de mayor o menor utilidad y de aceptación variable en el medio académico y profesional. Muchas de estas extensiones son muy útiles pero poco difundidas, debido principalmente a la ausencia de herramientas automatizadas que apoyen su uso. A continuación se definen los elementos del modelo entidad relación básico. Entidades Las entidades representan clases de objetos de la realidad. PERSONA, HOMBRE, MUJER, EMPLEADO y CUIDAD son ejemplos de entidades para una base de datos de PERSONAL. En el MER las entidades se representan gráficamente por medio de un rectángulo. 215 EMPLEADOS SECCIONES

10 Atributos simples de entidades A cada entidad se le asocia la información que deseamos almacenar sobre ella. A esta información se las denomina atributos de la entidad. Atributos compuestos Frecuentemente vamos a representar atributos que pueden estar compuestos de subatributos. Por ejemplo, el domicilio de los funcionarios podría formarse con el país, cuidad y calle donde viven. Atributos determinantes (claves) Los atributos determinantes de una entidad son un grupo de atributos que tienen la propiedad de identificar en forma única todos los casos de una entidad. Los representaremos gráficamente subrayando el atributo. 216 Cardinalidad de los atributos Los atributos se caracterizan por su cardinalidad mínima y máxima. La cardinalidad mínima indica el número mínimo de valores de atributos asociados con cada caso de entidad. Si la cardinalidad mínima de un atributo es 0 significa que el atributo es opcional y puede estar no especificado (nulo) en algunos casos de la entidad. Si, por el contrario, la cardinalidad es 1, el atributo es obligatorio y al menos un valor del atributo debe especificarse para todos los casos de la entidad. La cardinalidad máxima indica el número máximo de valores de atributos asociados con cada entidad.

11 Si la cardinalidad máxima de un atributo es 1, entonces el atributo es monovaluado; si la cardinalidad máxima es mayor a 1, entonces el atributo es multivaluado y se representa gráficamente con un asterisco (*) al lado del atributo. Categorías de entidades En muchos casos prácticos las entidades representan a elementos del mundo real que se subdividen en categorías con atributos en parte distintos. Conjunto (o tipo) de entidades Ejemplo: COMPAÑÍA (Nombre, Ubicación, Presidente). EMPLEADO (Nombre, Edad, Salario). Atributos clave: Dominio de los atributos (ej. Edad del empleado entre 18 y 80 años) Ejemplo: COMPAÑÍA 217

12 Relaciones entre entidades Una relación binaria es una correspondencia que se establece entre dos entidades. Las relaciones se representan gráficamente por rombos y se les asigna un nombre significativo. Clases de relaciones Clase 1 a N Una relación de clase de 1 a N, o 1:N, o de uno a muchos se puede ver en la siguiente figura, en donde se expresa que cada empleado trabaja en una única sección o que en cada sección trabajan varios empleados. Clase 1 a 1 Una relación de clase de 1 a 1 se puede ver en la siguiente figura, en donde se expresa que cada sección tiene un único empleado (jefe) a cargo. Clase N a N Una relación de clase de N a N se puede ver en la siguiente figura, donde se expresa que cada empleado puede estar asignado en varias secciones a la vez y que cada proyecto esta formado por varios empleados. 218

13 Clase c a N Se puede colocar una constante numérica en vez de la N cuando se desee expresar que hay ciertas restricciones de cardinalidad conocidas de antemano. Por ejemplo, si sabemos que un empleado no puede trabajar en más de tres secciones a la vez. Relaciones totales Una restricción muy común e importante en el modelado de casos prácticos impone que todas las entidades de un conjunto de entidades E aparezcan obligatoriamente en un conjunto de relaciones R. En estos casos se dice que la relación R es total en E. Cuando una relación no es total se dice que es parcial Relaciones parciales Un empleado trabaja en una sección, no puede haber empleados que no estén asignados a alguna sección. El 0 indica que un cliente puede o no poseer tarjeta. Puede haber clientes que no tengan tarjeta. Atributos de relaciones En muchos casos prácticos se tienen atributos que no dependen de una única entidad sino de la relación existente entre conjuntos de entidades. 219

14 Relación recursiva (autorrelación) Una relación recursiva es una relación binaria que conecta una entidad consigo misma. Para distinguir entre los dos papeles de la entidad en la relación se asocian dos rótulos con la entidad. En el ejemplo los dos rótulos son Mandar y Es mandado. Relación de grado mayor a 2 Son relaciones que conectan más de dos entidades. La relación DICTA es una relación ternaria que une las entidades INSTRUCTOR, SE- MESTRE y CURSOS. Tipos de entidades Las entidades pueden ser de dos tipos: Entidad fuerte: aquella sobre la que se puede definir la clave primaria dentro de sus propios atributos. Entidad débil: aquellas que no puede utilizar sus propios atributos como clave al estar asociada a otra entidad. Agregaciones Un banco trabaja con clientes que pueden tener varias cuentas corrientes. A pedido de los clientes y bajo ciertos requisitos el banco les otorga tarjetas magnéticas para ser usadas en sus cajeros automáticos. Una primera aproximación del MER sería la siguiente: Este esquema establece que se emite una tarjeta por cada cuenta que tenga cada cliente: 220

15 A tales efectos, se debería considerar a las parejas (cliente, cuenta) como un conjunto de entidades que se vinculan con las entidades del conjunto de tarjetas. Para ello se encierra a los conjuntos Clientes, Cuentas, y la relación entre ellos, en un nuevo rectángulo que se va a comportar como un nuevo conjunto de entidades. A esto se lo denomina Agregación. Los elementos de esta agregación se relacionan con las tarjetas. Ejemplo: Se desea modelar una base de datos de una empresa de insumos de computación mediante MER. La realidad de la empresa es la siguiente: La empresa tiene clientes cuyos datos son su número de cliente, nombre dirección y teléfonos. La dirección se forma de un domicilio, ciudad y código postal. Los clientes hacen pedidos de compra. Cada pedido de un cliente hace referencia a un conjunto de artículos en stock. Para cada artículo que hay en un pedido se indica la cantidad unitaria pedida. Los pedidos tienen un número identificatorio, una fecha de envío y una tasa de envío. Todos los pedidos tienen un monto total. Los artículos se identifican por un número y el código del fabricante, es decir, un mismo artículo puede ser producido por varios fabricantes. De cada artículo se tiene su descripción y su precio unitarios. Este precio depende el artículo en sí y del fabricante del mismo. Los fabricantes tienen un código y un nombre. 221

16 Definiciones Modelo de datos relacional Proceso de Diseño Secuencia de pasos mediante la cual se pasa de un Concepto a una Base de Datos física (implementación). Niveles de Abstracción 222 Esquemas e Instancias Esquema: Definición de las estructuras de la Base de Datos. = Entidades + Relaciones realmente implementados. No cambian a menudo. Se administran con DDL. Instancia: Una configuración tomada en un cierto instante del tiempo del contenido de la Base de Datos. Cambian constantemente. Manipuladas mediante el DML. Un esquema permite generar una secuencia ilimitada de instancias.

17 El Modelo Relacional 223

18 Operaciones Vistas 224

19 Pasaje MER - Relacional Proceso de transformación de un concepto a una implementación: Entidades fuertes y Atributos Relaciones Agregaciones Entidades Débiles Categorizaciones No existe un pasaje totalmente automatizado: Restricciones no-estructurales requieren implementación no-estructural (codificación de programas). Puede hacerse mediante software, pero: Puede depender de cada DBMS particular. Para mantener la correspondencia Modelo Conceptual Modelo Físico deberíamos utilizar siempre el mismo software, siempre y cuando soporte Ingeniería Reversa. Todo buen esquema relacional debe: 1. Reflejar restricciones de la realidad. 2. No permitir inconsistencias o ambigüedades. 3. No imponer más restricciones que las de la especificación. 4. Carecer de redundancia. (en ciertos casos, se admite siempre y cuando esté controlada.) Otros objetivos deseables: 1. Minimizar restricciones no-estructurales, porque: Exigen crear código. Dificultan la comprensión del esquema. 2. Diseño correspondiente SIEMPRE con la implementación. 3. Diseño anticipado al cambio (generalizar). Pasaje Entidades Fuertes Cada atributo común se coloca como un atributo de la tabla. Atributos compuestos se colocan como un atributo separado por cada hoja. Atributos claves se colocan como subrayados (puede ser clave compuesta). 225

20 Atributos multivaluados generan una nueva tabla: 1. Contiene un atributo por cada componente (similar a caso anterior). 2. Debe contener, además, la clave de la Entidad. 3. La clave es toda la tabla. Pasaje Relaciones Por regla general, se debe crear una nueva tabla conteniendo las claves de las entidades que relaciona. Si contienen atributos propios se deben incluir. La clave dependerá de restricciones de la realidad. Por lo general, será la pareja de claves de ambas entidades. Ejemplo 1: (relación N:M, un alumno se puede inscribir a una materia varias veces). Ejemplo 2: Un alumno se puede inscribir a una materia, pero una sola vez en para cada fecha. 226

21 Si la relación es 1:N puede NO CREARSE nueva tabla. Se incrustan la clave (y atributos) en la entidad con cardinalidad N. Si contiene atributos propios es mejor crearla. Si la relación es PARCIAL sobre B, cuando un elemento de B no esté relacionado con alguno de A Clave_a contendrá NULL. Si la relación es TOTAL sobre B, se debe definir una restricción de integridad (referencial) de B hacia A. Ejemplo 1: Un empleado trabaja en una única sección. Ejemplo 2: Un empleado trabaja en una única sección en un determinado período. Mínimos y máximos definidos Cuando existen mínimos > 1, o cotas superiores, no se pueden definir mediante restricciones estáticas. Deben ser definidas por código. Ej: triggers. Pasaje Agregaciones Se tratan como una relación. Independientemente de las cardinalidades se debe implementar como una tabla aparte (pues van a ser nuevamente relacionadas con alguna otra Entidad). Pasaje Entidades Débiles Son casos particulares de relación 1:N. No se crea tabla adicional para la relación. Se agrega en la tabla correspondiente a la Entidad Débil la clave de la Entidad Fuerte. La nueva clave está formada entonces por este nuevo conjunto. Debe haber una clave foránea desde la Entidad Débil a la Fuerte. 227

22 CLAVE FORÁNEA Se dice que B posee clave foránea hacia A si todo elemento de tabla B debe tener su atributo clave dentro de un atributo clave de alguna tupla de tabla A. Decimos que Fk(B) referencia Pk(A) y Pk(B) = Fk(B). En nuestro ejemplo: Toda tupla de SALAS debe tener una pareja <NomHosp, NroSala> en alguna tupla de HOSPITALES con el mismo NomHosp. Además: NomHosp debe ser CLAVE en HOSPITALES. NomHosp,NroSala es CLAVE en SALAS. Pasaje Categorizaciones Existen diferentes implementaciones, dependiendo de la cantidad de atributos, solapamiento y completitud. 228 Caso 1: Relación No-total y C posee atributos propios. 1. Crear una tabla para C. 2. Crear una tabla para cada sub-categoría S i conteniendo sus atributos propios + Clave(C). 3. Crear restricciones de integridad desde cada clave de S i a C.

23 Caso 2: Relación No-total y C no posee atributos propios (solo clave). 1. Crear una tabla para cada sub-categoría S i conteniendo sus atributos propios + Clave(C). 2. No es necesario crear C pues es una abstracción. C se puede implementar como una vista: Caso 3: Relación Total y sub-categorias SIN atributos propios. Crear una tabla para C. Dos variantes : a) Agregar a C un atributo para discriminante que indica la categoria a que pertenece cada tupla. b) Agregar a C tantos atributos booleanos como sub-categorias de C existan. Ejemplo: 229

24 Ventajas y Desventajas: Versión 1: No permite implementar solapamiento (desventaja). Permite fácil agregado de nuevas sub-categorías (ventaja). Versión 2: Permite solapamiento (ventaja). Agregar nueva sub-categoría implica modificar esquema de Supertipo (desventaja). Caso 4: Si todas las categorías poseen atributos propios. Opción 1: Implementar una única tabla conteniendo la unión de todos los atributos de C + S i utilizando una de las dos técnicas de caso anterior (tener en cuenta si hay o no solapamiento). Rápido de implementar. Genera gran cantidad de datos NULL. Exige correspondiencia entre atributos : implementar código. Ej: Si Tipo= ADMINISTRATIVO (atributos que no correspondan a ADMINISTRA- TIVO deben valer NULL o ser ignorados). Implementación obscura, lejana de modelo conceptual. Ej: (sin solapamiento). 230

25 Caso 4: Si todas las categorías poseen atributos propios. Opción 2: a) No implementar C. b) Implementar cada subcategoria S i como una tabla independiente conteniendo sus atributos + atributos de C. Cubre solapamiento y totalidad. Fácil de implementar. Más prolijo que la versión anterior. Puede generar redundancia. Ej: Si Ana es Docente y también Administrativo. Caso 4: Si todas las categorías poseen atributos propios. Opción 3: a) Implementar C como una tabla independiente. b) Implementar cada subcategoría S i como una tabla independiente + Clave( C ). c) Incluir restricciones de integridad desde S i hacia C. Cubre solapamiento y totalidad. Luego se pueden definir vistas de cada S i para presentar una visión más cercana a la conceptual. Evita redundancia. Prolijidad: más cercano al diseño conceptual. Exige más inteligencia para agregar registros. Costo de implementar/mantener las vistas. 231

26 Introducción Caso de estudio: Sistema de alquiler de Vehículos sin conductor. 1 Tenemos las clases claras. 2 Tenemos la implementación hecha. 3 Dónde almacenamos los datos? Respuesta posible: archivos de texto Arquitectura: DBMS Problema 1: Dónde almacenamos cada Entidad del mundo real? Respuestas posibles: 1) Cada Clase en un archivo. 2) Todas las clases en un solo archivo. 3) Si una clase es muy compleja repartirla en dos archivos. ej. Factura = Cabezal + Detalle. Problema 2: Cómo se llamarán y dónde se ubicará cada archivo? Respuestas posibles: 1) El mismo nombre de cada clase. 2) En un directorio por sub-módulo o uno para cada clase. 3) En un único directorio relativo a la aplicación. Problema 3: Quién tendrá derechos sobre qué parte de los datos? Respuestas posibles: 1) Defino grupos y para cada uno defino derechos sobre: directorios/carpetas/archivos. 2) Lo administro por programa, y cuando la aplicación lee un archivo chequea la integridad de los datos. Qué sucede si alguien altera un archivo? Si tengo una instancia del programa en cada PC, cómo controlo el acceso simultáneo? 232 Problema 4: Si necesito alterar un dato en mis archivos, cómo lo hago? Respuestas posibles: 1) Se necesita saber la estructura, solo viendo la fuente de la aplicación. 2) No cualquier combinación de datos es válida 3) Altísima probabilidad de error humano: Copy&Paste indeseado, Save indeseado.

27 DBMS - Definición DataBase Management System Es un conjunto de programas que permiten crear, mantener y consultar bases de datos. Es un sistema de software de uso general que facilita los procesos de: Definición (de una base de datos). Construcción. Manipulación. Es UNIFICADO, ESTANDARIZADO, con API COMUNES (para todos los lenguajes), TRANSPARENTA todas las operaciones de forma de ocultar su implementación tanto para los usuarios como para los lenguajes. DBMS - Ventajas frente a Archivos Procesamiento de archivos Cada usuario define sus archivos de datos. Cada usuario define sus programas de acceso a los datos. Seguridad extremadamente vulnerable. Interpretación de los datos dependen del programa. DBMSs Archivos de datos centralizados. Control de acceso centralizado e independiente del Sistema Operativo. Componentes del DBMS (alto nivel) 233

28 Características del DBMS Auto-descripción. Catálogos del sistema. Reglas de integridad. Independencia y abstracción. Independencia programa-datos. Independencia programa-operaciones del DBMS. Set de operaciones, desconocemos como se implementan. Múltiples vistas. Permiten implementar Datos virtuales (no duplican espacio). Datos compartidos y transacciones multiusuario. Control de concurrencia. Integridad transaccional. Funcionalidades de DBMS Brindan como mínimo los siguientes servicios: Almacenamiento (persistente) de los datos. Acceso eficiente a los datos: Índices. Descripción centralizada de la BD. Lenguajes de alto nivel (SQL) y optimización de consultas. Facilidad para administrar estructuras (DDL). Acceso de múltiples usuarios a una BD: Controles de Seguridad. Controles de Concurrencia. Recuperación de la BD en caso de fallas: Operaciones de BackUp y Restore. 234 Conceptos y Generalidades Todo DBMS debe contener un catálogo inicial de donde lee los elementos que lo componen (Bases de Datos del sistema o inicial, Base de Datos de usuario y otros archivos necesarios). El catálogo puede ser: Una base inicial, administrada por el propio DBMS. Un archivo de configuración. Una base inicial + sub-catálogos dentro de cada Base de Datos (implementados todos como TABLAS). El DBMS es un programa que corre como un Servicio (Windows) o iniciado en el servidor al startup (Unix, Solaris, Linux, etc). Los otros módulos componentes serán programas independientes. Ej. Servidor de Backup, Monitor de Performance, Auditorías.

29 Módulos que lo componen Para proveer las funcionalidades vistas antes, un DBMS debe incluir módulos que resuelvan diferentes problemas: 1. Compiladores de DDL, DML y QL. 2. Manejador de datos físicos almacenados (MOTOR). 3. Runtime para aplicaciones. 4. Incluye subsistema de control de concurrencia. 5. Subsistema de respaldo. 6. Subsistema de recuperación. 1 - Manejador de datos físicos almacenados (MOTOR) Accede al catálogo y datos. Controla el uso de buffers ( memoria cache ). Utiliza servicios de E/S del sistema operativo. Manejo de la memoria (vía sistema operativo). 2 - Compilador de Data Definition Language (DDL) Procesa las definiciones del esquema conceptual. Almacena las definiciones en el catálogo. 3 - Procesador de runtime (INTERNO) Maneja accesos a la BD en tiempo de ejecución. Recibe operaciones de consulta o actualización. Accede a los datos a través del Motor de almacenamiento. Manejo de concurrencia. Manejo de threads o procesos (vía S.O.). Administración de permisos. 4 - Compilador del lenguaje de consulta: Query Language (QL) Maneja las consultas interactivas de alto nivel. Analiza sintáctica y semánticamente cada consulta. Ejecuta la consulta a través del procesador de runtime. 235

30 5 - Precompilador Extrae comandos de manipulación embebidos en un lenguaje de programación host. Los envía al compilador del DML. El código objeto generado es linkeditado con el código objeto del lenguaje de programación. Otros componentes Compiladores de lenguajes de desarrollo (C, C++, Cobol, Pascal, etc). Interfaces gráficas de consulta. Utilitarios de administración: - Exportación/importación de datos. - Herramientas de respaldo. - Reorganizadores de archivos. - Monitoreo de performance. - Sistema de manejo del diccionario de datos. Facilidades de comunicación: - Comunicación remota (x ej. entre servidores). - Arquitectura cliente/servidor. 236 Clasificación de DBMSs Según el modelo de datos Relacional. De red. Jerárquico. Orientado a objetos. Hoy: Híbridos Relacional/OO/XML. Según la distribución de datos Centralizados (programas y datos en el mismo pc). Distribuídos (programas y datos en distintos pc): - Homogéneos (mismos programas en cada sitio). - Heterogéneos (distintos programas en cada sitio). - Federados (varios DBMSs distintos). Algunos ejemplos (relacionales) Open Source MySQL (última versión 5.1) PostgreSQL (última versión 8.4) Etc. Propietarios SQL-Server (Microsoft, última versión 2008). Access (Microsoft). Oracle (Oracle). Sybase ASE (Sybase Inc.). Informix (Informix, a partir de 2001 IBM). DB2 (IBM).

31 Seguridad - Conceptos Todo acceso a bases de datos debe ser controlado. Todo DBMS trae incorporado un usuario administrador (root, sa, sysadmin, etc.). Luego se definen usuarios o grupos de usuarios a los que se les otorgan derechos sobre objetos. El control de accesos más normal es el basado en las tareas de Asignar/Revocar privilegios. Dos niveles clásicos de asignación de privilegios: Por Usuario: Privilegios particulares de un usuario de la BD. Por Objetos: Se especifican por objeto los privilegios. Seguridad Por Usuario Dado un usuario (o grupo de usuarios) se le otorgan derechos: Referente a ESQUEMAS: CREATE SCHEMA o CREATE TABLE. CREATE VIEW. ALTER tablas/vistas/etc. DROP. Referente a INSTANCIAS (datos): SELECT. MODIFY. Seguridad Por Objeto Para cada usuario se pueden especificar qué acciones puede realizar con el objeto o qué grupos de usuarios pueden realizarlo. Modelo de Matriz de Accesos: M(i,j) filas > usuarios, columnas > objetos Representa los privilegios (lectura, escritura, actualización) que posee el usuario i para el objeto j. Por defecto, el usuario con que se crea es quien posee todos los privilegios ( owner ). Algunos ejemplos El administrador crea cuatro cuentas de usuario: User1, User2, User3 y User4. Desea que el usuario User1 pueda crear tablas: GRANT CREATE TO User1; El User1 (luego de crear las tablas Empleados y Departamentos) quiere que el usuario User2 puede ingresar y eliminar datos de las mismas: GRANT INSERT, DELETE ON EMPLEADOS, DEPARTARMENTOS TO User2; Y desea que el User3 pueda consultar estos datos: GRANT SELECT ON EMPLEADOS, DEPARTAMENTOS TO User3; Luego necesita revocar los privilegios del User3 sobre Empleados: REVOKE SELECT ON EMPLEADOS FROM User3; 237

32 Seguridad Por Objeto Tipos de privilegios: SELECT: Permite consultar datos de una tabla. MODIFY: Permite modificar las tuplas de las tablas, se subdivide en: INSERT UPDATE DELETE REFERENCES: Permite que un usuario pueda crear claves foráneas. REVOKE: Quita privilegios previamente otorgados a un usuario. Otra forma de especificar autorizaciones es utilizando VISTAS: No le otorgo derechos de SELECT sobre las tablas pero sí sobre alguna Vista que consulte esas tablas. Seguridad - Niveles Se definen usuarios (o grupos) a nivel de: Servidor. Base de Datos. Luego, cada grupo o usuario se puede asociar a un usuario o grupo del sistema operativo (si DBMS y S.O. soportan LDAP). Dependiendo del DBMS se pueden definir ROLES a los cuales se les pueden asignar (o negar) derechos específicos. Ej: Rol Desarrollador, Rol Usuario Final, Rol Administrador. Roles Data Administrator (DA): quienes son las personas encargadas de lidiar con los aspectos comerciales o profesionales de los datos. Database Administrator (DBA): encargado de los aspectos técnicos. En pequeñas organizaciones ambos roles son ejecutados por la misma persona (DBA). 238

33 Tareas del DBA Diseño lógico y físico de las bases de datos: a pesar de no ser obligaciones de un administrador de bases de datos es, a veces, parte del trabajo. Esas funciones, por lo general, están asignadas a los analistas de bases de datos o a los diseñadores de bases de datos. Estimar espacio a ocupar. Definir DÓNDE se ubican los archivos. Estimar crecimiento en base a monitoreo periódico. Recuperabilidad - Crear y probar validez de respaldos. Integridad - Verificar o ayudar a la verificación en la integridad de datos. Seguridad - Definir o implementar controles de acceso a los datos. Disponibilidad - Asegurarse del mayor tiempo de motor funcionando (de acuerdo a nivel exigido por la empresa). Desempeño - Asegurarse el buen desempeño, incluso con las limitaciones existentes. Desarrollo y soporte a pruebas - Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos. Otros Roles System Administrator (SA): quien se encarga de toda la infraestructura de servidores, discos, firewalls, etc. Analistas y programadores: Desarrollan y mantienen aplicaciones que acceden a las Bases de Datos. Gerentes: Encargados de las decisiones, deben ser bien asesorados por SA s, DBA s y Analistas. Clientes / Usuarios: Personas que usan los programas y que acceden a las Bases. Eventualmente se les puede conceder derechos de consulta directa mediante algún software limitado. Operadores: Tareas más simples: colocar o quitar cintas de respaldo, enviar archivos de spool a impresoras, controlar jobs fallidos. Esquemas de trabajo En ambientes muy pequeños: los roles suelen estar colapsados en muy pocas personas. En estos casos no existen ambientes separados de trabajo. 239

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL MENDOZA DEPARTAMENTO DE INGENIERÍA EN SISTEMAS DE INFORMACIÓN CÁTEDRA DE GESTIÓN DE DATOS 3º AÑO TRABAJO ESPECIAL Secuencia Didáctica de Comandos del

Más detalles

Repaso de Conceptos Básicos de Bases de Datos

Repaso de Conceptos Básicos de Bases de Datos escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

Qué es una base de datos. Laboratorio de Informix. Sistemas de archivos convencionales. Base de datos relacionales

Qué es una base de datos. Laboratorio de Informix. Sistemas de archivos convencionales. Base de datos relacionales Laboratorio de Informix Qué es una base de datos Es una colección de datos relacionados que sirven de múltiples propósitos y soportan múltiples usuarios. Octubre 2004 Sistemas de archivos convencionales

Más detalles

Laboratorio de Informix. Octubre 2004

Laboratorio de Informix. Octubre 2004 Laboratorio de Informix Octubre 2004 Qué es una base de datos Es una colección de datos relacionados que sirven de múltiples propósitos y soportan múltiples usuarios. Sistemas de archivos convencionales

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Catálogo del Sistema Contiene una descripción completa de la estructura de la base de datos y sus restricciones. La información almacenada en el catalogo se denomina meta-datos.

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

Bases de Datos 3º Informática de Sistemas

Bases de Datos 3º Informática de Sistemas TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS. Concepto y Funciones del SGBD. Lenguajes de los SGBD. Niveles de Abstracción. Arquitectura ANSI/SPARC. Componentes del SGBD. 1. Concepto y Funciones del SGBD.

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002 SEGURIDAD 1 Bibliografía Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002 Índice Aspectos generales Gestión de usuarios creación modificación Gestión de perfiles

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS 5 ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS Contenido: 5.1 Conceptos Generales Administración de Bases de Datos Distribuidas 5.1.1 Administración la Estructura de la Base de Datos 5.1.2 Administración

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Herramientas Diseño lógico Modelo Relacional Las

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

BASES DE DATOS, MODELOS DE DATOS Y DBMS

BASES DE DATOS, MODELOS DE DATOS Y DBMS BASES DE DATOS, MODELOS DE DATOS Y DBMS Maestría en Bioinformática Marzo 2010 Bases de Datos Algunas definiciones: Bases de Datos y DBMS Procesos y Actores Involucrados Por qué usar DBMSs? Cuándo no usar

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Bases de Datos Modelo Relacional

Bases de Datos Modelo Relacional Bases de Datos Modelo Relacional Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos del método relacional

Más detalles

Bases de Datos. Sistemas de Gestión de Bases de Datos

Bases de Datos. Sistemas de Gestión de Bases de Datos Bases de Datos Sistemas de Gestión de Bases de Datos Banco de datos Conjunto de datos relacionados Ejemplo: archivos de las oficinas de una empresa, con fichas, carpetas, archivadores, armarios... La gestión

Más detalles

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING. INFORMÁTICA Base de Datos Usuario A Programa de Aplicación Bodega Usuario B Usuario N Insumo Proveedor Profesor: José Miguel

Más detalles

Tema 1. Conceptos básicos

Tema 1. Conceptos básicos Conceptos básicos Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos 1

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

Más detalles

Programa Analítico Plan de estudios 2011. Asignatura: Bases de Datos

Programa Analítico Plan de estudios 2011. Asignatura: Bases de Datos Programa Analítico Plan de estudios 2011 Asignatura: Bases de Datos CARRERA: LCC Lic. en y LSI Ciencias de la Computación - Lic. en Sistemas de Información AÑO: 3 (LCC) y 4 (LSI) CREDITO HORARIO: 7 DESPLIEGUE:

Más detalles

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra. Unidad IV: Seguridad 4.1 Tipos de usuario El objetivo de la creación de usuarios es establecer una cuenta segura y útil, que tenga los privilegios adecuados y los valores por defecto apropiados Para acceder

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II BASE DE DATOS Comenzar presentación Base de datos Una base de datos (BD) o banco de datos es un conjunto

Más detalles

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática fcano@uniovi.es Produced with L A T E X seminar style

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS Índice de contenido: 1. Concepto de base de datos (BD)... 3 2. Los sistemas gestores de bases de datos (SGBD)... 3 3. Arquitectura de los sistemas

Más detalles

El Manejador de Bases de Datos Relacionales ORACLE

El Manejador de Bases de Datos Relacionales ORACLE El Manejador de Bases de Datos Relacionales ORACLE Como la segunda empresa vendedora de software a nivel mundial, ORACLE provee una plataforma completa para desarrollar aplicaciones que utilicen el recurso

Más detalles

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS EXPLOTACIÓN DE BASES DE DATOS CON ACCESS Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones

Más detalles

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. BASES DE DATOS Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. La creación de una base de datos debe ser realizada cuidadosamente procurando

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com 1. Objetivos El objetivo de este artículo es describir brevemente los siguientes conceptos básicos a modo de familiarización con las bases de datos ORACLE. - Describir brevemente en qué consiste el modelo

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II SÍLABO I. DATOS GENERALES 1.1. Nombre de la Asignatura 1.2. Carácter 1.3. Carrera Profesional 1.4. Código 1.5. Semestre Académico : 2014-I 1.6. Ciclo Académico 1.7. Horas de Clases 1.8. Créditos 1.9. Pre

Más detalles

Introducción. Componentes de un SI. Sistema de Información:

Introducción. Componentes de un SI. Sistema de Información: Introducción. Sistema de Información: Conjunto de elementos relacionados entre sí de acuerdo a ciertas reglas, que aporta a la organización la información necesaria para el cumplimiento de sus fines, para

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3 GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de datos orientadas

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

Seguridad en SQL Server 2005

Seguridad en SQL Server 2005 Seguridad en SQL Server 2005 Tabla de contenidos Modelo de Seguridad en SQL Server Inicios de Sesión - Usuarios Esquemas de Base de Datos Usuarios de Base de Datos Contexto de Ejecución Permisos a sentencias

Más detalles

Autenticación Centralizada

Autenticación Centralizada Autenticación Centralizada Ing. Carlos Rojas Castro Herramientas de Gestión de Redes Introducción En el mundo actual, pero en especial las organizaciones actuales, los usuarios deben dar pruebas de quiénes

Más detalles

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

PRACTICA DE ADMINISTRACION DE BASES DE DATOS Depto. De Organización y Estructura de la Información Curso 2003/2004 Pág. 1 PRACTICA DE ADMINISTRACION DE BASES DE DATOS Una entidad bancaria gestiona datos relativos a operaciones bancarias de sus clientes

Más detalles

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a

Más detalles

TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS.

TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS. TEMA 2.- EL SISTEMA GESTOR DE BASES DE DATOS. Concepto y Funciones del SGBD. Lenguajes de los SGBD. Niveles de Abstracción. Arquitectura ANSI/SPARC. Componentes del SGBD. 1. Concepto y Funciones del SGBD.

Más detalles

SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS))

SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS)) SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS)) Los sistemas de gestión de bases de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional Sistemas de Bases de Datos I Modelo Lógico Modelo Relacional Modelo Lógico Modelo Relacional Esquema Relacional (E- R) Es la representación de un DER mediante tablas. Algebra Relacional Modelo Relacional

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b El ciclo de vida de un sistema de información El ciclo de vida de un sistema de información El proceso de desarrollo de software Modelos de ciclo de vida El ciclo de vida de una base de datos El proceso

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles