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

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

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

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

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

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

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

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

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva INDICE Prólogo XXIII Por qué este libro es para usted XXVII Primera Parte. Panorámica general de SQL 1 1. Introducción 3 El lenguaje SQL 3 El papel de SQL 6 Características y beneficios de SQL 7 Independencia

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

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

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

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

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

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalación

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

Introducción a las bases de datos.

Introducción a las bases de datos. Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net Introducción a las BBDD 2 Qué vamos a ver?

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

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

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

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

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: 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

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

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

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

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

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino Integridad y Seguridad en los sistemas de Bases de Datos Javier Escobar Luis Ramirez Omar Asprino Contenido 1. Restricciones de Integridad 1. Claves Primarias 2. Restricciones de los Dominios 3. Integridad

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

ADMINISTRACION DE BASES DE DATOS EN ORACLE

ADMINISTRACION DE BASES DE DATOS EN ORACLE SQL LENGUAJE ESTRUCTURADO DE CONSULTA El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un modelo de datos relacional para grandes bancos de datos compartidos". Ese libro

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

Tema 3 Modelo relacional

Tema 3 Modelo relacional Contenido: Bases de Datos y Sistemas de Información Ing. Informática GRUPO A Tema 3 Modelo relacional 3.1 Terminología del modelo relacional 3.2 Paso del modelo ER al modelo relacional 3.3 Creación de

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

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

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

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

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

SQL: Lenguaje de acceso a bases de datos

SQL: Lenguaje de acceso a bases de datos SQL: Lenguaje de acceso a bases de datos Israel Herraiz Universidad Politécnica de Madrid Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 1/88 Contenidos 1 Introducción a las bases de datos

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

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

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

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

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

SQL: Lenguaje de acceso a bases de datos

SQL: Lenguaje de acceso a bases de datos SQL: Lenguaje de acceso a bases de datos Israel Herraiz Universidad Politécnica de Madrid Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 1/92 Contenidos 1 Introducción a las bases de datos

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

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h L1. ANSI SQL SQL, STANDS STRUCTURED QUERY LANGUAGE ANSI SQL 9 2 ESTANDARD SQL LENGUAJE DBMS RELACIONALES SQL SERVER 2005/2008, DBMS MICROSOFT TRANSACT SQL (T-SQL) LENGUAJE SQL SERVER 2005/2008 T-SQL SE

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

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

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com ÍNDICE INTRODUCCIÓN 3 PASOS PARA IMPLEMENTAR UNA BD 5 CREAR UNA BD 6 SENTENCIA CREATE 8 LIGADURAS 9 ELIMINACIÓN DE TABLAS 14 SENTENCIA

Más detalles

3. El catálogo 26. Laboratorio de Bases de Datos

3. El catálogo 26. Laboratorio de Bases de Datos ÍNDICE Continuación SQL Índice 1. Continuación del SQL como DML (Lenguaje de Manipulación de Datos) 1 1.1. Inserción de datos................................. 1 1.2. Borrado de datos..................................

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

Temario Curso Bases de Datos

Temario Curso Bases de Datos Temario Curso Bases de Datos TEMA 1. INTRODUCCION A LAS BASES DE DATOS 1. Cualidades De La Información 2. Sistemas de Información 2.1. Componentes de un Sistema de Información 3. Niveles de Gestión de

Más detalles

Tema 3: Bases de datos en Entorno Web

Tema 3: Bases de datos en Entorno Web Tema 3: Bases de datos en Entorno Web 1. Introducción. Un sistema de bases de datos proporciona un control centralizado de los datos. Esto contrasta con la situación que prevalece actualmente, donde a

Más detalles

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona con

Más detalles

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1) A LAS BASES DE DATOS (L1) VENTAJAS TECNOLOGÍA BASE DE DATOS DISPONIBILIDAD Y VISIBILIDAD ALMACENAMIENTO CONSULTAS INFORMACIÓN RESPALDOS Y RESTAURACIÓN CONCEPTOS DE INTEGRIDAD DE LOS DATOS ELIMINACIÓN REDUNDANCIA

Más detalles

PARTE I LENGUAJE SQL. GESTION DE DATOS

PARTE I LENGUAJE SQL. GESTION DE DATOS PARTE I LENGUAJE SQL. GESTION DE DATOS Tema 1. EL LENGUAJE DE GESTIÓN DE BASES DE DATOS... 3 1 Bases de datos... 3 1.1 - Lenguaje de gestión de bases de datos... 3 1.2 - Qué es una Base de Datos?... 3

Más detalles

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

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

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

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas SGBD Base de Un Sistema Gestor de consiste en: Datos Una colección de datos interrelacionados Un conjunto de programas para acceder a los datos Objetivo Principal de un SGBD: Proporcionar una forma práctica

Más detalles

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Taller SQL - SUP Introducción al Lenguaje SQL. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Claúsula Where Condiciones de Búsqueda Operadores de Comparación Rangos Listas Patrones

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

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

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

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

ÍNDICE PRIMERA PARTE... 17

ÍNDICE PRIMERA PARTE... 17 ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS

Más detalles

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. SUBSECTOR: Informática y Comunicación. Nombre del Módulo: Base de datos Código: CSTI0170 total: 94 horas Objetivo General: Resolver problemas

Más detalles

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

SQL básico. SQL básico http://idesweb.es/ 1. Contenido

SQL básico. SQL básico http://idesweb.es/ 1. Contenido SQL básico http://idesweb.es/ 1 SQL básico El presente documento no tiene más aspiraciones que servir de recordatorio mínimo para las órdenes más básicas y en su mínima expresión. No es un manual de SQL

Más detalles

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014 Bases de Datos Documentales Curso 2013/2014 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña El proceso de diseño El último día... Los problemas de no utilizar un SGBD:

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

PROGRAMA DE CURSO DE FORMACIÓN PROFESIONAL OCUPACIONAL

PROGRAMA DE CURSO DE FORMACIÓN PROFESIONAL OCUPACIONAL MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES PROGRAMA DE CURSO DE FORMACIÓN PROFESIONAL OCUPACIONAL Administrador de bases de datos DATOS GENERALES DEL CURSO 1. Familia profesional: INFORMÁTICA Área profesional:

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

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES)

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES) EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES) Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos.

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DDL Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda SQL DDL Lenguaje SQL Sub-lenguajes Dialectos Agenda SQL DDL Esquemas

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

SGBD. Sistemas gestores de bases de datos (primera parte) Autor: Editorial McGraw-Hill

SGBD. Sistemas gestores de bases de datos (primera parte) Autor: Editorial McGraw-Hill SGBD. Sistemas gestores de bases de datos (primera parte) Autor: Editorial McGraw-Hill 1 Presentación del curso SGBD, Sistemas gestores de bases datos, en un curso de informática serio, pero accesible,

Más detalles

DESCRIPCIÓN ESPECÍFICA

DESCRIPCIÓN ESPECÍFICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. SUBSECTOR: Informática. Nombre del Módulo: Programación de Base de Datos Código: CSTI0077 Duración total: 54 horas Objetivo General: Participar

Más detalles

ESPECIALISTA EN BASE DE DATOS

ESPECIALISTA EN BASE DE DATOS ESPECIALISTA EN BASE DE DATOS EXPERTO ANALISIS Y DISEÑO DE BASE DE DATOS EN MANEJAR BASES DE ACCESS COMPLETO DATOS MYSQL Requisito: Manejo Windows POSTGRESQL DURACION: 3 MESES DE L-V SQL SERVER Cliente-Administración

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

5 Objetos de base de datos

5 Objetos de base de datos 5 Objetos de base de datos Una consulta SQL, restringiendo las filas resultantes, agrupando valores a nivel de grupos de datos, realizando conversiones de datos, etc., puede ser almacenada en la base de

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

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

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

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT SQL CONCEPTOS BÁSICO DE SQL SQL (Structured Query Language),

Más detalles

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Unidad Académica Base de Datos SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Integrantes: Fidel Gil

Más detalles

1.264 Tema 8. SQL (cont.) ODBC

1.264 Tema 8. SQL (cont.) ODBC 1.264 Tema 8 SQL (cont.) ODBC Subconsultas Las subconsultas de SQL nos permiten utilizar los resultados de una consulta como parte de otra. Subconsultas: A menudo, constituyen un modo natural de escribir

Más detalles

BASES DE DATOS. 1.1 Funciones de un DBMS

BASES DE DATOS. 1.1 Funciones de un DBMS BASES DE DATOS Un DBMS, son programas denominados Sistemas Gestores de Base de Datos, abreviado SGBD, en inglés Data Base Management System (DBMS) que permiten almacenar y posteriormente acceder a los

Más detalles

Base de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos Agenda Algebra Relacional Cálculo Relacional Conceptos Fundamentales de Base de Datos SQL 0/09/007 Conceptos de Bases de Datos

Más detalles

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

Más detalles

2.5.- El lenguaje estándar SQL

2.5.- El lenguaje estándar SQL 25- El lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales El SQL estándar incluye: Características del Álgebra Relacional Características

Más detalles

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción: Guía de MySQL Contenidos: 1.- Introducción: 2.- Creación de una base de datos. CREATE DATABASE. 3.- Creación de una tabla y mostrar sus campos (CREATE TABLE - SHOW TABLES - describe - DROP TABLE) 4.- Instrucción

Más detalles

Structured Query Language. Práctica

Structured Query Language. Práctica Structured Query Language Práctica Acceso a SQL Server Acceder a SQL Server Inicio ---- Programas ----- Microsoft SQL Server 2005 ------ SQL Server Management Studio Conectándose a SQL Server Conectarse

Más detalles

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Esquema de la clase 1. Procesamiento de consultas 2. El optimizador del DBMS 3. Los Ajustes del Rendimiento

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

Más detalles