lunes, 21 de diciembre de 2015

La Tercera Forma Normal (3FN)



La tercera forma normal (3NF) es una forma normal usada en la normalización de bases de datos. La 3NF fue definida originalmente por E.F. Codd en 1971. La definición de Codd indica que una tabla está en 3NF si y solo si las dos condiciones siguientes se mantienen:

  • La tabla está en la segunda forma normal (2NF)
  • Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave primaria

Cada atributo debe representar un hecho acerca de la clave, la clave entera, y nada excepto la clave. La versión 3NF de la definición es más débil que la variación de BCNF de Date, pues el anterior se refiere solamente a asegurarse de que los atributos no-clave son dependientes en las claves. Los atributos primarios (que son claves o partes de claves) no deben ser funcionalmente dependientes en absoluto; cada uno de ellos representa un hecho sobre la clave en el sentido de proporcionar parte o toda la clave en sí misma. Debe ser observado que esta regla se aplica solamente a los atributos funcionalmente dependientes, Ya que aplicándola a todos los atributos prohibiría implícitamente claves de candidato compuestas, puesto que cada parte de cualquiera de tales claves violaría la cláusula de "clave completa".

Ejemplo: Tabla en 2FN > 3FN

                                              Ganadores del torneo

Torneo
Año
Ganador
Fecha de nacimiento del ganador
Indiana Invitational
1998
Al Fredrickson
21 de julio de 1975
Cleveland Open
1999
Bob Albertson
28 de septiembre de 1968
Des Moines Masters
1999
Al Fredrickson
21 de julio de 1975
Indiana Invitational
1999
Chip Masterson
14 de marzo de 1979

Tabla en 3FN:

Ganadores del torneo

Torneo
Año
Ganador
Indiana Invitational
1998
Al Fredrickson
Cleveland Open
1999
Bob Albertson
Des Moines Masters
1999
Al Fredrickson
Indiana Invitational
1999
Chip Masterso


Fecha de nacimiento del jugador

Jugador
Fecha de nacimiento
Chip Masterson
14 de marzo de 1977
Al Fredrickson
21 de julio de 1975
Bob Albertson
28 de septiembre de 1968

La Segunda Forma Normal (2FN)


La regla de la Segunda Forma Normal (2FN) establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. Una dependencia parcial es un término que describe a aquellos datos que no dependen de la clave de la tabla para identificarlos. 

Una de las mayores desventajas de la nacionalización es el tiempo que lleva hacerlo. La mayoría de la gente está demasiado ocupada, y emplear tiempo para asegurarse de que sus datos están normalizados cuando todo funciona más o menos bien, parece ser un desperdicio de tiempo. Pero no es así. Usted tendrá que emplear más tiempo arreglando una base de datos no normalizada que el que emplearía en una normalizada. 

Al haber alcanzado la Segunda Forma Normal, usted puede disfrutar de algunas de las ventajas de las bases de datos relacionales, por ejemplo:

  • Puede añadir nuevas columnas a una tabla sin afectar a las demás tablas. 
  • Lo mismo aplica para las otras tablas.
  • Alcanzar este nivel de racionalización permite que los datos se acomoden de una manera natural dentro de los límites esperados. 
Ejemplos:

 


Como ya habíamos utilizado este ejemplo en la entrada anterior, ahora podemos utilizar la 2FN para poder administrar mejor los datos.


 



Esto denota la diferencia que existe entre la 1FN que incluía los datos del lector,en la tabla Libro sin que exista dependencia de código entre ellos.

Otro Ejemplo:


 

Primera forma normal

La primera forma normal (1FN o forma mínima) es una forma normal usada en normalización de bases de datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación1 y está libre de "grupos repetitivos".2
Sin embargo, el concepto de "grupo repetitivo", es entendido de diversas maneras por diferentes teóricos. Como consecuencia, no hay un acuerdo universal en cuanto a qué características descalificarían a una tabla de estar en 1FN. Muy notablemente, la 1FN, tal y como es definida por algunos autores excluye "atributos relación-valor" (tablas dentro de tablas) siguiendo el precedente establecido por (E.F. Codd) (algunos de esos autores son: Ramez Elmasri y Shamkant B. Navathe3 ). Por otro lado, según lo definido por otros autores, la 1FN sí los permite (por ejemplo como la define Chris Date).

Las tablas 1FN como representaciones de relaciones

Según la definición de Date de la 1FN, una tabla está en 1FN si y solo si es "isomorfa a alguna relación", lo que significa, específicamente, que satisface las siguientes cinco condiciones:
1. No hay orden de arriba-a-abajo en las filas.
2. No hay orden de izquierda-a-derecha en las columnas.
3. No hay filas duplicadas.
4. Cada intersección de fila-y-columna contiene exactamente un valor del dominio aplicable (y nada más).
5. Todas las columnas son regulares [es decir, las filas no tienen componentes como IDs de fila, IDs de objeto, o timestamps ocultos].
—Chris Date, "What First Normal Form Really Means", pp. 127-84

Ejemplo 1: Dominios y valores[editar]

Suponga que un diseñador principiante desea guardar los nombres y los números telefónicos de los clientes. Procede a definir una tabla de cliente como la que sigue:
Cliente
ID ClienteNombreApellidoTeléfono
123RachelIngram555-861-2025
456JamesWright555-403-1659
789CesarDure555-808-9633
En este punto, el diseñador se da cuenta que un requerimiento es guardar múltiples números telefónicos para algunos clientes. Razona que la manera más simple de hacer esto es permitir que el campo "Teléfono" contenga más de un valor en cualquier registro dado:
Cliente
ID ClienteNombreApellidoTeléfono
123RachelIngram555-861-2025
456JamesWright555-403-1659
555-776-4100
789CesarDure555-808-9633

Normalización de una base de datos


El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo relacional.
Las bases de datos relacionales se normalizan para:
  • Evitar la redundancia de los datos.
  • Evitar problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla bidimensional sea considerada como una relación tiene que cumplir con algunas restricciones:
  • Cada columna debe tener su nombre único.
  • No puede haber dos filas iguales. No se permiten los duplicados.
  • Todos los datos en una columna deben ser del mismo tipo.

Tabla de contenidos

martes, 15 de diciembre de 2015

Modelos de red

  1. Resultado de imagen para modelos RED
  2. 2.  Un modelo de base de datos o esquema de base de datos es la estructura o el formato de una base de datos, descrita en un lenguaje formal soportada por el Sistema de Gestión de Base de Datos. En otras palabras, un "modelo de base de datos" es la aplicación de un modelo de datos usado en conjunción con un sistema de gestión de bases de datos.
  3. 3. División De Los Modelos De Datos• Modelos lógicos basados en objetos – Modelo Entidad - Relación• Modelos lógicos basados en registros – Modelo Relacional – Modelo de Red – Modelo Jerárquico• Modelos físicos de datos. – Modelo unificador – Memoria de elementos
  4. 4.  El inventor original del modelo de red fue Charles Bachman, y con ello fue desarrollado en una especificación estándar publicada en 1969 por el consorcio CODASYL. En 1969, la Conferencia de Lenguajes en Sistemas de Datos (CODASYL) estableció la primera especificación del modelo de base de datos de red. Esto fue seguido de una segunda publicación en 1971, que se hizo la base para la mayor parte de puestas en práctica.
  5. 5.  El modelo de red es un Modelo de Base de Datos concebido como un modo flexible de representar registros y su relación. El modelo de red permite a cada registro tener múltiples entidades y atributos, formando una estructura de enrejado. El argumento principal a favor del modelo de red, en comparación con el modelo jerárquico, era que permitió un modelado más natural de relaciones entre entidades.
  6. 6.  Registro: Viene a ser cada una de las fichas almacenadas en un fichero convencional. Campos o elementos de datos: Son cada uno de los apartados de que se compone una ficha. Conjunto: Es el concepto que permite relacionar entre sí tipos de registro distintos.
  7. 7. Evita redundancia en lainformación, a través de laincorporación de un tipode registro denominado elconector.
  8. 8. La dificultad surge almanejar las conexiones oligas entre los registros y sus correspondientes registros conectores.
  9. 9. * Interrelación N:M EJEMPLOS EJEMPLOS PROFESOR PERSONA ESTUDIANTE VIVIENDA JUGADOR PARTIDO
  10. 10. *Interrelación 1:N EJEMPLOS EJEMPLOS AUTOR PINTOR Escribe Autor de CUADRO LIBRO PERSONA Reside VIVIENDA
  11. 11. *Interrelación 1:N Reflexiva EJEMPLOS EJEMPLOS Cabeza de Familia PERSONA Dependiente EMPLEADO
  12. 12. *Interrelación N:M Reflexiva EJEMPLO EJEMPLO Estructura del componente PIEZA 
  1. Resultado de imagen para modelos RED

Modelo relacional

El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
Resultado de imagen para modelos logicos relacional
JERARQUICOS
Una base de datos jerárquica consiste en una colección de segmentos (registro) que
se conect an ent re sí p or medio de enlaces. Cada segment o es una colección de camp os
(atributos), que contienen un solo valor cada uno de ellos. Un enlace es una asociación o
unión ent re dos segment os exclusivament e.
Las característ icas p rincip ales de imp lement ar est e modelo son:

Globalización de la información: permite a los diferentes usuarios considerar la
información como un recurso corporat ivo que carece de dueños esp ecíficos.

Eliminación de información inconsistente: si existen dos o más archivos con la
misma información, los cambios que se hagan a éstos deberán hacerse a todas
las cop ias del archivo de facturas.

Permite comp artir información

Permit e mant ener la int egridad en la información: la int egridad de la
información es una de sus cualidades altamente deseable y tiene por objetivo
que sólo se almacena la información correct a.

Indep endencia de datos: el concep to de indep endencia de datos es quizás el que
más ha ay udado a la ráp ida p roliferación del desarrollo de Sistemas de Bases de
Datos. 
Resultado de imagen para MODELOS LOGICOS JERARQUICOS


EL ADMINISTRADOR Y LA PROTECCION DE LA BASE DE DATOS
 
Un administrador de bases de datos (también conocido como DBA, en inglés database administrator) es aquel profesional que administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos.
Sus tareas incluyen las siguientes:
  • Implementar, dar soporte y gestionar bases de datos corporativas.
  • Crear y configurar bases de datos relacionales.
  • Ser responsables de la integridad de los datos y la disponibilidad.
  • Diseñar, desplegar y monitorizar servidores de bases de datos.
  • Diseñar la distribución de los datos y las soluciones de almacenamiento.
  • Garantizar la seguridad de las bases de datos, realizar copias de seguridad y llevar a cabo la recuperación de desastres.
  • Planificar e implementar el aprovisionamiento de los datos y aplicaciones.
  • Diseñar planes de contingencia.
  • Diseñar y crear las bases de datos corporativas de soluciones avanzadas.
  • Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios.
  • Producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas.
  • PROTECCION DE LA BASE DE DATOS:
    1. 1.< ul><li>Seguridad de la informacion </li></ul><ul><li>Integrantes: </li></ul><ul><li>Hector Giovany Parra Navarro </li></ul><ul><li>Rosa Torres Arroyo </li></ul><ul><li>Luis Alberto Zuñiga García </li></ul>Proteccion de acceso a la base de datos
    2. 2. < ul><li>¡No de nunca a nadie (excepto a la cuenta root de MySQL acceso a la tabla user en la base de datos mysql! Cualquiera que sepa cual es la clave que hay en la tabla user y tenga acceso a la máquina host de la cuenta registrada puede acceder fácilmente como ese usuario. </li></ul><ul><li>Estudie el sistema de privilegios de acceso de MySQL. Las sentencias GRANT y REVOKE se utilizan para controlar el acceso a MySQL. </li></ul><ul><li>Pruebe el comando mysql -u root. Si es capaz de conectar al servidor sin la necesidad de introducir una clave, tiene problemas. ¡Cualquiera puede conectar a su servidor MySQL como el usuario root de MySQL con privilegios totales!. </li></ul><ul><li>No almacene ninguna clave sin cifrar en su base de datos. En vez de eso, utilice MD5(), SHA1(). </li></ul><ul><li>No elija claves que puedan aparecer en un diccionario. Existen programas especiales para romperlas. </li></ul>Guía de seguridad general
    3. 3. < ul><li>Invierta en un firewall. Le protegerá de al menos el 50% de todos los tipos de vulnerabilidades de cualquier software. </li></ul><ul><li>Utilice la sentencia SHOW GRANTS y compruebe quién tiene acceso a qué. Después utilice la sentencia REVOKE para denegar los privilegios que no son necesarios. </li></ul><ul><li>Intente escanear sus puertos desde Internet utilizando una herramienta como nmap. MySQL utiliza el puerto 3306 por defecto. Este puerto no debería ser accesible desde lugares no confiables. para probar si el puerto MySQL está abierto o no se escribe el siguiente comando desde alguna máquina remota, shell> telnet server_host 3306 </li></ul><ul><li>No confíe en ningún dato enviado por los usuarios de sus aplicaciones. Pueden intentar engañar a su código introduciendo secuencias de caracteres especiales en formularios webs, URLs, o cualquier aplicación que haya desarrollado. Asegúrese de que su aplicación permance segura si un usuario introduce algo como ``; DROP DATABASE mysql;'‘ </li></ul>
    4. 
SISTEMA GESTOR DE BASE DE DATOS

Resultado de imagen para sistema gestor de base de datos

Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Hay muchos tipos distintos según cómo manejen los datos y muchos tamaños distintos de acuerdo a si operan encomputadoras personales y con poca memoria o grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.
Funciones de un SGBD
  Las funciones provistas por un SGBD pueden agruparse en tres clases:
  • Consulta y actualización de datos
  • Mantenimiento de esquemas
  • Manejo de transacciones


  Consulta y Actualización
   Ésta es la clase más básica de funciones y la única que es visible "desde afuera". Consiste en un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer, manipular y modifica la información almacenada en la base de datos.
   Algunos sistemas proveen una única interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQLpermite ejecutar consultas y actualizaciones en una notación vagamente similar al lenguaje natural. La expresión:
    select matricula, nombre
    from alumnos
    where carrera = "Ingeniería" and edad < 21

Resultado de imagen para sistema gestor de base de datos funciones
Lenguajes de los SGBD

Todos los SGBD ofrecen lenguajes e interfaces apropiadas para cada tipo de usuario: administradores,diseñadores, programadores de aplicaciones y usuarios finales. Los lenguajes van a permitir al administrador de la BD especificar los datos que componen la BD, su estructura, las relaciones que existen entre ellos, las reglas de integridad, los controles de acceso, las características de tipo físico y las vistas externas de los usuarios. Los lenguajes del SGBD se clasifican en:
Lenguaje de definición de datos (LDD o DDL): se utiliza para especificar el esquema de la BD, las vistas de los usuarios y las estructuras de almacenamiento. Es el que define el esquema conceptual y el esquema interno. Lo utilizan los diseñadores y los administradores de la BD.

Lenguaje de manipulación de datos (LMD o DML): se utilizan para leer y actualizar los datos de la BD. Es el utilizado por los usuarios para realizar consultas, inserciones, eliminaciones y modificaciones. Los hay procedurales, en los que el usuario será normalmente un programador y especifica las operaciones de acceso a los datos llamando a los procedimientos necesarios. Estos lenguajes acceden a un registro y lo procesan. Las sentencias de un LMD procedural están embebidas en un lenguaje de alto nivel llamado anfitrión. Las BD jerárquicas y en red utilizan estos LMD procedurales.
Resultado de imagen para sistema gestor de base de datos lenguajes

Bases de datos distribuidas

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos y geográficos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.
Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
  • Hay múltiples computadores, llamados sitios o nodos.
  • Estos nodos deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.