lunes, 24 de noviembre de 2014

Las 10 tecnologías emergentes que revolucionarán el 2014

El Foro Económico Mundial presenta los 10 grandes avances que serán decisivos este año

Los sectores clave para realizar este cambio: sanidad, energía y materiales

«Estos avances muestran el potencial ilimitado de la tecnología para tener un impacto positivo en la sociedad», señala el presidente del consejo, Noubar Afeyan, en nota de prensa. Eso sí, para aprovechar al máximo sus beneficios es imprescindible «la cooperación entre gobierno, industria y academia», apunta la responsable de la Red de Consejos de la Agenda Global del WEF, Martina Larkin. INNOVADORES adelanta la lista anual de 10 Tecnologías Emergentes elaborada por los expertos de Davos.

1. Interfaces cerebro-ordenador La capacidad de controlar un ordenador utilizando sólo el poder de la mente «está más cerca de lo que uno podría pensar», advierten desde el Consejo de Tecnologías Emergentes del WEF. Las interfaces que permiten al ordenador leer e interpretar las señales directamente del cerebro, ya han alcanzado el éxito clínico, permitiendo a personas que sufren tetraplejia mover sus propias sillas de ruedas.

2. Minería de metales de la desalinización de salmuera La desalinización del agua de mar está empezando a resultar económicamente factible. El enfoque «más prometedor» para solucionar sus altos costes es ver la salmuera no como un residuo, sino como un recurso para obtener materiales valiosos como el litio, el magnesio o el uranio. Los procesos que utiliza la química de catálisis asistida plantean la posibilidad de extraer estos metales a partir de la salmuera a un coste que «a la larga puede llegar a ser competitivo con la minería terrestre».

3. Materiales compuestos de carbono nanoestructurado Las nuevas técnicas de producción de fibras de carbono nanoestructurado para crear materiales compuestos están mostrando su potencial en el sector del automóvil. Estos materiales permiten reducir hasta un 40% el peso de los vehículos, con el consiguiente ahorro energético. Además, suponen una mejora en la seguridad del pasajero, ya que absorben el impacto del golpe sin romper la superficie.

4. Almacenamiento de electricidad de la red Las tecnologías limpias pueden proporcionar energía de forma «altamente intermitente», en lugar de producir electricidad cuando los consumidores y los gestores de la red quieren. Según el WEF, hay indicios de que una serie de nuevas tecnologías está cada vez más cerca de lograr el almacenamiento de electricidad a gran escala procedente de los sistemas de energía limpia. Las baterías de flujo, los supercondesadores de grafeno o la electrólisis de hidrógeno son algunas de las candidatas.

5.Equipamiento electrónico adaptado al cuerpo La tecnología portátil ha generado «gran atención» en los últimos años (véase Google Glass). Pero el sector va más allá de los dispositivos portátiles externos, como pulseras, y se dirige hacia la electrónica adaptada al cuerpo humano, incluso bajo de la piel. Estos sistemas monitorizan el ritmo cardiaco o los niveles de estrés, proporcionando al consumidor información en tiempo real sobre su salud.

6. Baterías de nanotubos de ion-litio Para que los coches eléctricos puedan competir con los de gasolina necesitan que la densidad de energía de la batería sea «mejorada notablemente». Y aquí tienen un gran potencial las de iones de litio con ánodos (electrodos positivos) de silicio. Esta nueva generación de baterías es capaz de cargar más rápido y producir entre el 30% y el 40% más de electricidad que las de litio de hoy. Se espera que se empiecen a utilizar en los teléfonos inteligentes en los próximos dos años, avanza el WEF.

7. Monitores sin pantallas Las imágenes 3D proyectadas en el espacio «están cerca» de convertirse en una realidad. En 2013, el Media Lab del MIT informó de una pantalla de vídeo holográfico de bajo coste con la resolución de un ordenador estándar. El monitor sin pantalla también se puede lograr mediante la proyección de imágenes directamente en la retina de una persona. A más largo plazo, la tecnología puede permitir que las interfaces omitan al ojo, consiguiendo la transmisión de información visual directamente al cerebro.

8. Microbioma humano terapéutico Más de 10.000 especies de microbios ocupan el ecosistema humano -según el Proyecto del Microbioma Humano en 2012-. La atención se está centrando en el microbioma intestinal y su efecto en enfermedades que van desde infecciones hasta la diabetes. Una generación de agentes terapéuticos que comprenden un subconjunto de los microbios que están en el intestino sano se encuentra en desarrollo clínico para mejorar los tratamientos médicos.

9. Terapias basadas en ARN Durante el último año, ha habido un «surgimiento» del interés en el desarrollo de nuevos tratamientos de ARN para los trastornos genéticos, como la distrofia muscular, así como para enfermedades infecciosas como la gripe. A diferencia de los tratamientos destinados a cambiar directamente el ADN, las terapias basadas en el ARN no causan cambios permanentes en el genoma de la célula, por lo que se pueden suspender o aumentar en caso necesario.

10. Analítica predictiva Los dispositivos inteligentes móviles contienen un gran registro de la actividades de las personas. Con estos datos y algoritmos de aprendizaje especializados, se pueden construir modelos detallados y predictivos acerca del ser humano para, por ejemplo, ayudar con la planificación urbana, la medicina personalizada o la sostenibilidad.

domingo, 2 de noviembre de 2014

Video curso gratuito en español para aprender HTML5

HTML5 nerdilandia

No son pocas las opciones que tenemos cuando decidimos aprender en Internet, y en nerdilandia hemos compartido muchos cursos sobre aprender programación web, o recursos de aprendizaje destinados al lenguaje HTML5.

Pues bien como los recursos de la web son infinitos ahora tenemos otro nuevo, se trata de un curso gratis en video para todos los que deseen aprender la programación en HTML5.

El curso es gratuito y se encuentra en español ideal para principiantes, aunque toca todos los temas relacionados a este lenguaje de programación web que se supone será el futuro de la web al menos eso dicen los expertos.

Todo el material es en vídeo pero las lecciones necesitan que los participantes dispongan de un conocimiento previo, en temas de lenguaje HTML, edición de los estilos CSS y Javascript. Para no estar perdidos mientras estás realizando el curso.

Si estás interesado en hacerlo te dejamos los 5 temas principales que tratan en el curso:

  • Qué es HTML5
  • Web Semántica
  • Conociendo CSS3
  • APIs Javascript de HTML5
  • Compatibilidad HTML5
  • El curso de HTML5 tienes para apoyarse las presentaciones correspondientes a cada tema, y el curso se encuentra disponible siempre así que puedes hacerlo a tu ritmo de estudio.

    Sin duda algún un buen curso para todos los interesados en el mundo del desarrollo web con HTML5!

    jueves, 30 de octubre de 2014

    Crean baterías ultrarrápidas que se recargan en poco más de 2 minutos

    Un equipo de científicos de la Universidad Tecnológica de Nanyang (Singapur) ha desarrollado una nueva batería que se puede recargar hasta un 70% en tan sólo 2 minutos y una vida útil de más de 20 años. El trabajo ha sido publicado en la revista Advanced Materials. Para desarrollar esta nueva batería de iones de litio, los científicos reemplazaron el grafito, tradicionalmente utilizado para el polo negativo de la batería o ánodo por un nuevo material: un gel a base de dióxido de titanio, comúnmente usado como aditivo alimentario o para cremas de protección solar. Como de forma natural este mineral tiene forma esférica, los investigadores desarrollaron un método muy simple para convertir las partículas de dióxido de titanio en diminutos nanotubos; mil veces más finos que el diamétro de un cabello humano. La nanoestructura resultante es la que infunde velocidad en las reacciones químicas que tienen lugar dentro de la batería, permitiendo una carga superrápida. Sus creadores están convencidos de que este avance tendrá un gran impacto en multitud de industrias, por ejemplo para los vehículos eléctricos, cuyos tiempos de recarga de más de 4 horas y su limitada vida útil, no han dejado que este mercado despegue como debería. Gracias a esta nueva generación de baterías, los vehículos eléctricos podrán cargarse hasta 20 veces más rápido. Las nuevas baterías son capaces de soportar más de 10.000 ciclos de carga (20 veces más que las actuales). “Con nuestra nanotecnología, los coches eléctricos podrían aumentar su gama dramáticamente con sólo cinco minutos de carga, que es a la par el tiempo necesario para bombear gasolina para los coches actuales. Igualmente importante es que ahora podemos reducir drásticamente los residuos generados por las baterías dispuestas, ya que nuestras baterías duran diez veces más tiempo que la actual generación de baterías de iones de litio”, explica Chen Xiaodong, líder del estudio. Galería Historia del teléfono móvil 8 trucos para que la batería del móvil dure más La primera batería solar del mundo Sarah Romero 14/10/2014 Etiquetas: batería, tecnología, iones de litio Artículos relacionados Samsung lanza un cable para compartir batería entre dispositivos 8 trucos para que la batería del móvil dure más Inventan luces planas que superan a las LED Cómo los electrodomésticos cambiaron nuestro consumo Crean una capa de invisibilidad revolucionaria

    Inventan luces planas que superan a las LED

    GaleríaMujeres Nobel: ¿Cuántas mujeres han conseguido el prestigioso premio Nobel? Para ver todas las fotos haz click aquí [luz-plana]

    Los creadores de las luces LED azules recibieron el Premio Nobel de Física 2014 por tan innovadora invención. Ahora, parece que les ha salido un duro competidor con un tipo de luz plana que supera a los clásicos LEDs, ya tan extendidos en nuestra sociedad. El trabajo ha sido publicado en la revista Review of Scientific Instruments.

    Los artífices de este nuevo invento son un equipo de científicos de la Universidad de Tohoku (Japón). El punto clave de las luces planas es que están formadas por nanotubos de carbono que tienen una alta eficiencia energética y muy bajo consumo de energía: alrededor de 0,1 vatios por cada hora de funcionamiento, unas 100 veces menos que las luces LED.

    Según la investigación, el material de estas luces planas se ha construido basándose en una pantalla de fósforo y una sola pared de nanotubos de carbono altamente cristalinos. Luego, ensamblaron el dispositivo con una mezcla líquida de un disolvente orgánico combinado con un producto químico muy parecido al jabón, conocido como agente tensioactivo. Esa mezcla se coloca sobre cada electrodo positivo o cátodo; se rasca la superficie con papel de lija y finalmente se obtiene un panel de luz, la luz plana.

    Este material podría permitir la creación de nuevos dispositivos brillantes, de bajo coste y baja potencia, que harían tambalear el dominio de las luces LED. “Nuestro sencillo panel de podría obtener una alta eficiencia de luminosidad, de 60 lúmenes por vatio, lo que supone un excelente potencial para un dispositivo de iluminación con bajo consumo de energía”, afirma Norihiro Shimoi, líder del estudio.

    GaleríaMujeres Nobel: ¿Cuántas mujeres han conseguido el prestigioso premio Nobel? Para ver todas las fotos haz click aquí Y además… Pioneros en España: ahorro energético a golpe de bombillas LEDs La bombilla que dura toda la vida Sarah Romero 15/10/2014 Etiquetas: luz, luz plana, inventos, tecnología Ver todos los artículos de tecno Artículos relacionados

    Los juegos violentos en 3D aumentan la agresividad ‘El mundo que viene’ los cambios que crearán un nuevo mundo Un software para dibujar con la voz Llega la realidad virtual (ahora sí) Crean el generador eléctrico más pequeño y delgado del mundo

    Cómo los electrodomésticos cambiaron nuestro consumo

    Por eso, la última batalla de los fabricantes no sólo se concentra en hacer electrodomésticos con más funciones, sino –además- mucho más eficientes energéticamente hablando. Todos tenemos claro que debemos escoger aparatos de la categoría A+++, en los próximos 10 años amortizarás el precio extra gracias al ahorro en la factura de la luz. Además, también tienes que fijarte en la vida útil del producto. LG fue el primer fabricante en apostar en sus lavadoras por la tecnología de tracción directa: menos piezas, menos averías. Gracias al motor Inverter Direct Drive se reducen las vibraciones y el ruido del motor. Según sus cálculos, esta tecnología supone un 30% de ahorro en el consumo final de luz. ¿Y en el futuro? Qué soluciones quedan por llegar. Te presentamos 4 inventos que podrían cambiar nuestro hogar casi como lo hizo la mítica lavadora. • Las vitrocerámicas servirán para cocinar y para cargar el móvil. • Las freidoras ya no precisarán aceite. • Impresoras de 3D que cocinen el plato que deseemos. • El microondas que enfriará en segundos las cosas.

    Crean una capa de invisibilidad revolucionaria

    Los científicos llevan muchos años intentando crear la capa de invisibilidad definitiva, un modo de ocultar objetos a la vista mediante la combinación de los materiales adecuados y de nuevas tecnologías. El último trabajo en salir a la luz procede de la Universidad de Rochester en Nueva York (EEUU) y consigue exactamente eso: los objetos visibles parecen desaparecer de nuestra vista como por arte de magia. Para crear esta capa de invisibilidad, a la que han denominado “Capa Rochester”, los investigadores utilizaron cuatro lentes estándar que logran que el objeto esté oculto a la vista aunque el observador se mueva a varios grados de distancia de la visual más idónea, lo que supone un gran avance en este sentido. Estudios anteriores con capas de invisibilidad han sido incapaces de superar este reto y éstas únicamente funcionaban bien si se miraba al objeto en línea recta. “Este es el primer dispositivo conocido que puede ocultar objetos en tres dimensiones vistos desde distintos ángulos y en el espectro visible”, afirma Joseph Choi, coautor del estudio.

    lunes, 14 de abril de 2014

    SEGURIDAD E INTEGRIDA DE UNA BASE DE DATO

    SEGURIDAD E INTEGRIDAD La información que se almacena en la base de datos debe protegerse contra el acceso no autorizado, la destrucción o alteración con fines indebidos y la introducción accidental de inconsistencia. VIOLACIONES DE LA SEGURIDAD E INTEGRIDAD El mal uso que se haga de la base de datos puede ser intencionado *con fines indebidos (o accidental. La perdida accidental de la consistencia de los datos puede deberse a. Caídas durante el procesamiento de las transacciones. Anomalías por acceso concurrente a la base de datos. Anomalías que resultan de la distribución de los datos entre varios computadores. Un error lógico que viola la suposición de que las transacciones respetan las protecciones de consistencia de la base de datos. Es mas fácil prevenir la perdida accidental de la consistencia de los datos que prevenir el acceso mal intencionado a la base de datos. Algunas de las formas de acceso indebido son las siguientes. lectura de datos sin autorización modificación de datos sin autorización destrucción no autorizada de los datos Para proteger la base de datos es necesario adoptar medidas de seguridad en varios niveles. Físico. La localidad o localidades que contienen a los sistemas de computadores deben protegerse físicamente contra la penetración armada o clandestina de intrusos. Humano. Debe tenerse mucho cuidado al concederse autorización o los usuarios para reducir la probabilidad de que un usuario autorizado permita el acceso a un intruso a cambio de sobornos u otros favores. Sistemas operativos. A un que el sistema de base de datos este bien protegido ,si no se protege de forma adecuada el sistema operativo este puede servir para obtener acceso sin autorización a la base de datos .la seguridad a nivel software dentro del sistema operativo es tan importante como la seguridad física. Sistema de base de datos. algunos usuarios estén autorizados para tener acceso a una porción limitada de la base de datos. Es posible que también algunos usuarios se les permitan hacer consultas, pero se les prohíbe modificar la base de datos. En muchas aplicaciones vale la pena dedicar un esfuerzo considerable a la conservación de la seguridad e integridad de la base de datos. La seguridad dentro del sistema operativo se implementa en varios niveles que van desde palabras claves para tener acceso al sistema hasta el aislamiento de procesos concurrentes que se ejecutan en el sistema. El sistema de archivos proporciona también cierto grado de protección. El presente análisis de la seguridad lo haremos en términos del modelo relacional, a un que los conceptos de este capitulo se pueden aplicar por igual a todos los modelos de datos.

    AUTORIZACIONES Y VISITAS

    AUTORIZACIONES Y VISTAS El concepto de vistas que es una forma de proporcionar al usuario un modelo personalizado de la base de datos. El uso del sistema es más sencillo por que el usuario puede restringir su atención a los datos que le interesan. La seguridad se logra si se cuenta con un mecanismo que limite a los usuarios a su vista o vistas personales. Las bases de datos relacionales cuentan con dos niveles de seguridad. · Relación. Puede permitirse o impedirse que el usuario tenga acceso directo a una relación. · Vistas. Puede permitirse o impedirse que el usuario tenga acceso a la información que aparece en una vista. A un que es posible impedir que un usuario tenga acceso directo a una relación, puede permitírsele acceso a una parte de esa relación por medio de una vista. De tal manera es posible utilizar una combinación de seguridad a nivel relacional y al nivel de vista para limitar el acceso de usuarios exclusivamente a los datos que necesita. Un ejemplo bancario considerar un empleado que necesita saber los nombres de los clientes de cada una de las sucursales .el empleado no cuenta con autorización para consultar información referente a prestamos o cuentas especificas que pudiera tener el cliente ,por tanto es preciso impedir que el empleado tenga acceso a las relaciones prestamos y depósitos .para que el empleado pueda obtener la información que necesita se le concede acceso a la vista todos-clientes que consta solo de los nombres de los clientes y las sucursales a las que ellos pertenecen . Utilizando SQL definimos esta vista. Create view todos-clientes as (select nombre-sucursal,nombre-cliente from deposito) Union (select nombre-sucursal,nombre-cliente from prestamo) Suponemos que el empleado hace la consulta SQL. Select* from todos-clientes Un usuario puede tener varias formas de autorización sobre partes de la base de datos. Autorización de lectura, que permite leer, pero no modificar, la base de datos. Autorización de inserción, que permite insertar datos nuevos ,pero no modificar los ya existentes Autorización de actualización, que permite modificar la información pero no permite la eliminación de datos Autorización de borrado. que permite la eliminación de datos. Un usuario puede tener asignados todos, ninguno o una combinación de los tipos de autorización anteriores. Además es posible autorizar al usuario para que modifique el esquema de la base de datos. Autorización de índice .que permite la creación y eliminación de índices. Autorización de recursos. que permite la creación de relaciones nuevas. Autorización de alteración. que permite agregar o eliminar atributos de una relación. Autorización de eliminación. Que permite eliminar relaciones La creación de una vista no requiere de autorización de recursos .el usuario que crea una vista no recibe necesariamente todos los privilegios sobre esa vista .tal usuario solo recibe aquellos privilegios que no provean una autorización adicional mas de la que el usuario ya tenia. La forma fundamental de autoridad es la que se le da al administrador de la base de datos .el administrador de la base de datos puede entre otras cosas autorizar nuevos usuarios reestructurar la base de datos etc. esta forma de autorización es análoga a la que se provee a un superusuario o al operador para el sistema operativo. Al usuario al que se le ha concedido alguna forma de autoridad se le puede permitir pasar esta autoridad a otros usuarios. Sin embargo hay que tener cuidado acerca de cómo se puede pasar la autorización entre usuarios para asegurar que tal autorización pueda ser anulada en el futuro. Para dar un ejemplo, analizaremos la concesión de autorizaciones de actualización de la relación depósito de la base de datos bancaria. Suponemos que en un principio el administrador de la base de datos concede autorizaciones de actualización de depósito a los usuarios U1,U2,U3. estos usuarios ,a su vez ,pueden transferir la autorización a otros .la transferencia de autorización de un usuarios a otro se representa mediante un grafo de autorización .

    ESPECIFICACION DE LA SEGURIDAD EN SQL

    ESPECIFICACIÓN DE LA SEGURIDAD EN SQL El lenguaje de definición de datos SQL incluye mandatos para conceder y revocar privilegios. IBM , SAA , SQL Incluyen una lista modificada de privilegios . Alter. ( Modificar ) Delete.( borrar ) Index. ( induce ) Insert. ( Insertar ) Select. ( Elegir ) update( actualizar ) grant ( conceder ) revoke ( revocar ) El privilegio select esta en correspondencia con el privilegio read. El SQL estándar incluye los privilegios delete ,insert,select y update. Incluye también el privilegio references (referencias),que restringe la habilidad del usuario a crear relaciones .la anulación de los privilegios de un usuario puede causar que otros usuarios pierdan ese privilegio.

    CIFRADO

    CIFRADO Existe un gran número de técnicas para cifrar la información. Es probable que las técnicas más sencillas no protejan de manera adecuada los datos, ya que puede ser facial para un usuario no autorizado romper el código. Las buenas técnicas de cifrado tienen las siguientes propiedades: para los usuarios autorizados es relativamente sencillo cifrar y descifrar datos. el esquema de cifrado no depende de mantener en secreto el algoritmo, si no de un parámetro del algoritmo llamado clave de cifrado. para un intruso es muy difícil determinar cual es la clave de cifrado. El estándar de cifrado de datos (data encryption standard) se basa tanto en la sustitución de caracteres como en la alteración de su orden de acuerdo con una clave de cifrado. Para que este sistema funcione, es necesario proporcionar las claves de cifrado a los usuarios autorizados a través de un mecanismo seguro.

    CONCLUSIONES

    CONCLUSIONES Es mas fácil evitar la perdida accidental de consistencia de la información que permitir el acceso malintencionado a la base de datos .no es posible proteger de manera absoluta a la base de datos contra abusos ilícitos, pero puede hacerse que el coste sea tal alto que frustré casi todos los intentos de lograr acceso sin autorización a la base de datos. Un usuario puede disponer de un modelo personalizado de la base de datos aprovechando el concepto de vistas. Una vista puede ocultar los datos que el usuario no necesita conocer. La seguridad puede lograrse si se cuenta con un mecanismo que restrinja al usuario a su vista o vistas personales. Puede utilizarse una combinación de seguridad a nivel de relaciones y de vistas para limitar el acceso del usuario exclusivamente a los datos que necesita. Un usuario puede contar con varios tipos de autorización sobre partes de la base de datos .la autorización es un modo de proteger el sistema de base de datos contra el acceso no autorizado, o mal intencionado .puede ser que un usuario al que se haya concedido algún tipo de autorización la conceda a su vez a otros usuarios .no obstante es preciso cuidar mucho la forma en que pueda transmitirse la autorización entre usuarios para garantizar que se pueda revocar la misma en cualquier fecha posterior. Es posible que todas las precauciones que tome el sistema de base de datos para autorizar el acceso no sea n suficientes para proteger los datos importantes .en tales casos se puede cifrar la información .para leer información cifrada es necesario que el lector conozca la forma de descifrar los datos. Cuando se permite el acceso ala información para estudios estadísticos es difícil garantizar la privacidad de los individuos .una forma sencilla de impedir posibles violaciones de la seguridad es hacer que el sistema rechace todas las consultas que involucren a menos de un numero previamente determinado de individuos .otra técnica para mantener la seguridad es la contaminación de los datos. Esta se basa en la falsificación al azar de los datos que se proporcionan en respuesta a una consulta .una técnica similar se basa en la modificación aleatoria de la consulta. En estas dos técnicas debe lograrse un equilibrio entre la exactitud y la seguridad .no existe un método de protección de datos estadísticos que garantice que ningún usuario malintencionado podrá obtener información individual .no obstante, una técnica apropiada puede hacer que el coste en términos de tiempo y dinero sea tan alto que detenga la mayor parte de los posibles abusos.

    INTEGRIDAD DE DATOS

    UNIDAD DIDACTICA I: INTEGRIDAD DE DATOS Elaborado por: Prof. Gloria Pérez Los SGBD relacional deben encargarse de mantener la integridad de los datos almacenados en una base de datos con respecto a las reglas predefinidas o restricciones. La integridad también puede verificarse inmediatamente antes del momento de introducir los datos a la base de datos (por ejemplo, en un formulario empleando validación de datos).. El término integridad de datos se refiere a la corrección y completitud de los datos en una base de datos. Cuando los contenidos de una base de datos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes, ocurriendo errores de integridad como son: Pueden añadirse datos no válidos a la base de datos, tales como un pedido que especifica un producto no existente. Pueden modificarse datos existentes tomando un valor incorrecto, como por ejemplo si se reasigna un vendedor a una oficina no existente. El ingreso de un tipo de dato incorrecto dentro de un campo. Por ejemplo, ingresar un texto cuando se espera un número entero. Puede ser la existencia de un valor numérico (id cliente) en la compra de un producto por parte de un cliente que no existe en su correspondiente tabla con ese número. También puede suceder que se elimine una fila padre con dos o más filas hijos que quedarían "huérfanas". Por todo lo anteriormente mencionado es necesario establecer restricciones o reglas de integridad en las base de datos. RESTRICCIONES Las restricciones o reglas de integridad que tiene el modelo relacional se denominan restricciones de integridad. Estas restricciones deben ser especificadas, en forma explícita, en el esquema relacional. Se espera que estas restricciones se cumplan para cada caso (u ocurrencia) del esquema de la base de datos, de forma de garantizar la integridad de la data. Por ejemplo la base de datos alumnos, profesores y cursos para una escuela o facultad, donde se tiene algunas reglas de integridad que serían: * Un alumno no puede estar inscrito en más de cinco materias. * Un profesor no puede dar más de dos materias. * Un curso no puede tener menos de 5 alumnos ni más de 25. * Las calificaciones no pueden tomar valores fuera del rango 1 al 20. Tipos de Restricciones de Integridad en Bases de Datos Relacionales Integridad de entidad Integridad de dominio Integridad referencial Integrida definida por el usuario

    INTEGRIDA DE DOMINIO

    Integridad de dominio: Cuando se crea una tabla cada columna tiene un tipo de datos y el DBMS asegura que solamente los datos del tipo especificado sean ingresados en la tabla. La integridad de dominio viene dada por la validez de las entradas para una columna determinada. Se refiere al tipo de definición del dominio. Controla la sintaxis y la semántica de cualquier dato. Puede ocurrir que sobre un dominio se definen atributos que, semánticamente, sean diferentes pero que sean, a su vez, equivalentes dado que poseen el mismo dominio Restringimos los valores que puede tomar un atributo respecto a su dominio, por ejemplo EDAD >= 18. Por ejemplo: Considere la relación: VIAJE(nº_viaje, nº_zona, fecha_lleg) Podrían definirse los siguientes dominios: Número: entero de cinco dígitos. Fecha: fecha definida con un formato ´date´ (dd/mm/aa) Entonces, los ítems que conforman los atributos de la relación Viaje, se definen de la siguiente manera: nº_viaje se define sobre Número nº_zona se define sobre Número (el mismo dominio) fecha_lleg se define sobre Fecha (el mismo dominio) De esta forma, al establecer un conjunto definido de dominios, estos pueden ser utilizados por diferentes atributos de la misma relación o de relaciones diferentes.

    INTEGRIDA DE ENTIDA

    Integridad de entidad: Establece que la clave primaria de una tabla debe tener un valor único para cada fila de la tabla, sino la base de datos perderá su integridad. Se especifica en la sentencia CREATE TABLE. El DBMS comprueba automáticamente la unicidad del valor de la clave primaria con cada sentencia INSERT Y UPDATE. Un intento de insertar o actualizar una fila con un valor de la clave primaria ya existente fallará. La clave primaria de una entidad no puede tener valores nulos y siempre deberá ser única, por ejemplo la CI.

    REGLA DE INTEGRIDA REFERENCIAL

    Regla de Integridad referencial: Según Tedd Codd, esta regla involucra a dos relaciones (tablas) e impone la restricción que un grupo de atributos en una relación es clave primaria en otra tabla. La definición de esta característica en la construcción de la Base de Datos, impide ingresar valores en algunos atributos de tuplas que no tengan su correspondencia en la tabla relacionada. Como ejemplos podemos mostrar algunos casos: Impedir incluir novedades de nomina a una persona que no exista como trabajador en el archivo maestro de empleados. Impedir facturar a un cliente que no esté previamente creado en el archivo de clientes. Impedir borrar de la lista de clientes un registro cuyo código esté incluido en la relación de cuentas por cobrar Otra de las definiciones de Integridad referencial consiste en que es una propiedad de las bases de datos que garantiza que un registro se relacione con otros registros válidos asegurando la integridad entre las claves ajenas y primarias (relaciones padre/hijo).. La integridad referencial garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos. Por lo que se concluye que las claves ajenas de una tabla hija se tienen que corresponder con la clave primaria de la tabla padre con la que se relaciona Cuando se exige la integridad referencial, SQL impide a los usuarios: Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila asociada en la tabla principal. Cambiar valores en una tabla principal que crea filas huérfanas en una tabla relacionada. Eliminar filas de una tabla principal cuando hay filas relacionadas coincidentes. Por ejemplo, en las tablas SalesOrderDetail y Product de la base de datos Tienda, la integridad referencial se basa en la relación entre la clave externa (ProductID) de la tabla SalesOrderDetail y la clave principal (ProductID) de la tabla Product. Esta relación garantiza que un pedido de ventas no pueda nunca hacer referencia a un producto que no existe en la tabla Product.

    INTEGRIDAD DEFINIDA POR EL USUARIO

    Integridad definida por el usuario La integridad definida por el usuario permite definir reglas de empresa específicas que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel de columna y nivel de tabla en CREATE TABLE, procedimientos almacenados y desencadenadores.

    domingo, 13 de abril de 2014

    EJERCICIOS DE BASE DE DATOS

    GUIA DE EJERCICIOS SOBRE DISPARADORES EN POSTGRESQL 9.1 Ejercicio 1 La tabla item no tiene memoria de los cambios que han sufrido sus tuplas, si alguien viene y cambia el precio de venta de un artículo, no hay forma de obtener el precio anterior. Si alguien borra un artículo, tampoco sabremos que artículo ha sido borrado ni por quien. a) Crear un trigger que almacene los cambios de precio_venta en la tabla item. Solución a) 1. createdb -p 5432 -h 127.0.0.1 -U laboratorio prueba 2. psql -p 5432 -h 127.0.0.1 -U laboratorio prueba 3. create table item (item_id serial int4 not null, nombre varchar(150) not null, tipo varchar(100) not null, cantidad int4 not null, precio_compra float8 not null, precio_venta float8 not null, primary key (item_id)); 4. create table item_actualizado (item_id int4 not null, nombre varchar(150) not null, precio_compra float8 not null, precio_venta float8 not null, autor varchar (100) not null, fecha_cambio date not null, nomb_comando char(20), foreign key (item_id) references item(item_id)); 5. create language 'plpgsql'; 6. CREATE FUNCTION item_actualizado() RETURNS TRIGGER AS $$ BEGIN IF (TG_OP='UPDATE') THEN IF (OLD.precio_venta != NEW.precio_venta) THEN INSERT INTO item_actualizado VALUES (OLD.item_id, OLD.nombre, OLD.precio_venta, NEW.precio_venta, current_user, current_date, TG_OP); END IF; END IF; RETURN NULL; END; $$ language 'plpgsql'; 7. CREATE TRIGGER actualizar_item AFTER UPDATE ON item FOR EACH ROW EXECUTE PROCEDURE item_actualizado(); 8. insert into item (nombre, tipo, cantidad, precio_compra, precio_venta) values ('monitor', 'vga','5','100', '150'); 9. insert into item (nombre, tipo, cantidad, precio_compra, precio_venta) values ('mouse', 'optico','3','30', '35'); 10. select * from item; UPDATE item SET precio_venta='40' WHERE item_id='2'; select * from item_actualizado; UPDATE item SET precio_venta='45' WHERE item_id='2'; select * from item_actualizado; b) Crear un trigger que almacene los cambios de stock en la tabla item. Ejercicio 2: A la tabla Item_actualizado añadir un atributo hora_cambio que almacene la hora de lamodificación. Ejercicio 3: Tenemos la tabla Empleado, con los campos id, nombres, apellidos y fecha. Vamos a crear un disparador para que cada vez que se inserte un registro en la tabla, se coloque automáticamente la fecha actual en el campo Fecha. Tabla: Empleado CI:varchar(10) Nombres: varchar(25) Apellidos: varchar(25) Fecha: date Ejercicio 4. Elaborar un trigger que registre a todos los empleados dados de baja por la empresa XY, con el objetivo de poder auditar los cambios realizados en el departamento de personal. Ejercicio 5: Tenemos la tabla Obreros, con los campos ci varchar(10) Primary key, Nombres Apell, varchar(40), dir varchar(60) not null y salario float8. Vamos a crear un trigger que verifique el valor del campo salario de los obreros, el cual debe ser siempre igual al salario mínimo (1,200 Bs.F). Con este trigger nos aseguramos de que cada vez que se actualice un registro, el valor de salario siempre sea igual a 1200,00 Bs.F. Ejercicio 6: En la dirección de informática del ISP, se requiere crear un trigger que verifique de que cada vez que se actualice el salario de un empleado, el valor del mismo sea siempre positivo, si fuera negativo que coloque automáticamente 0 como valor. La base de datos se llama: ISP Tenemos la tabla Personal e insertar los siguientes datos: CI: varchar(10) NombApell: varchar(40) not null Direccion: varchar(60) Sueldo: float8 CI: 5236456 NombApell: Mirta Martínez Dirección: Valencia Sueldo: 2045