En este blog se puden encontar temas referentes a la construcción de una base de datos. Como también trabajos, practicas e investigaciones que se desarrollaran a través del curso.

jueves, 7 de marzo de 2013


Forma normal de Boyce-Codd

La Forma Normal de Boyce-Codd (o FNBC) es una forma normal utilizada en la normalización de bases de datos. Es una versión ligeramente más fuerte de la Tercera forma normal (3FN). La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata. En una tabla en 3FN, todos los atributos dependen de una clave, de la clave completa y de ninguna otra cosa excepto de la clave (excluyendo dependencias triviales, como). Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia funcional no trivial tiene una clave candidata como determinante. En terminos menos formales, una tabla está en FNBC si está en 3FN y los únicos determinantes son claves candidatas.

Reglas de Codd
Codd se percató de que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estar estas tablas literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero sistema relacional debería tener, en la práctica algunas de ellas son difíciles de realizar. Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.

Regla No. 1 - La Regla de la información

Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una tabla.
Cualquier cosa que no exista en una tabla no existe del todo. Toda la información, incluyendo nombres de tablas, nombres de vistas, nombres de columnas, y los datos de las columnas deben estar almacenados en tablas dentro de las bases de datos. Las tablas que contienen tal información constituyen el Diccionario de Datos. Esto significa que todo tiene que estar almacenado en las tablas.
Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas. Por tanto los metadatos (diccionario, catálogo) se representan exactamente igual que los datos de usuario. Y puede usarse el mismo lenguaje (ej. SQL) para acceder a los datos y a los metadatos (regla 4)

Regla No. 2 - La regla del acceso garantizado

Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que combine el nombre de la tabla, su clave primaria, y el nombre de la columna.
Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y dado el nombre de la columna requerida, deberá encontrarse uno y solamente un valor. Por esta razón la definición de claves primarias para todas las tablas es prácticamente obligatoria.

Regla No. 3 - Tratamiento sistemático de los valores nulos

La información inaplicable o faltante puede ser representada a través de valores nulos
Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de soportar el uso de valores nulos en el lugar de columnas cuyos valores sean desconocidos.

Regla No. 4 - La regla de la descripción de la base de datos

La descripción de la base de datos es almacenada de la misma manera que los datos ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios autorizados.
La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe ser almacenada exactamente de la misma manera: En tablas. Estas tablas deben ser accesibles igual que todas las tablas, a través de sentencias de SQL (o similar).

Regla No. 5 - La regla del sub-lenguaje Integral

Debe haber al menos un lenguaje que sea integral para soportar la definición de datos, manipulación de datos, definición de vistas, restricciones de integridad, y control de autorizaciones y transacciones.
Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda ser usado para administrar completamente la base de datos.

Regla No. 6 - La regla de la actualización de vistas

Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema mismo.
La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de actualizar vistas complejas.

Regla No. 7 - La regla de insertar y actualizar

La capacidad de manejar una base de datos con operandos simples aplica no sólo para la recuperación o consulta de datos, sino también para la inserción, actualización y borrado de datos'.
Esto significa que las cláusulas para leer, escribir, eliminar y agregar registros (SELECT, UPDATE, DELETE e INSERT en SQL) deben estar disponibles y operables, independientemente del tipo de relaciones y restricciones que haya entre las tablas o no.

Regla No. 8 - La regla de independencia física

El acceso de usuarios a la base de datos a través de terminales o programas de aplicación, debe permanecer consistente lógicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los métodos de acceso a los datos.
El comportamiento de los programas de aplicación y de la actividad de usuarios vía terminales debería ser predecible basados en la definición lógica de la base de datos, y éste comportamiento debería permanecer inalterado, independientemente de los cambios en la definición física de ésta.

Regla No. 9 - La regla de independencia lógica

Los programas de aplicación y las actividades de acceso por terminal deben permanecer lógicamente inalteradas cuando quiera que se hagan cambios (según los permisos asignados) en las tablas de la base de datos.
La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben alterar o modificar estos programas de aplicación.

Regla No. 10 - La regla de la independencia de la integridad

Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicación.
Las reglas de integridad
1.         Ningún componente de una clave primaria puede tener valores en blanco o nulos (ésta es la norma básica de integridad).
2.         Para cada valor de clave foránea deberá existir un valor de clave primaria concordante. La combinación de estas reglas aseguran que haya integridad referencial.

Regla No. 11 - La regla de la distribución

El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación.
El soporte para bases de datos distribuidas significa que una colección arbitraria de relaciones, bases de datos corriendo en una mezcla de distintas máquinas y distintos sistemas operativos y que esté conectada por una variedad de redes, pueda funcionar como si estuviera disponible como en una única base de datos en una sola máquina.

Regla No. 12 - Regla de la no-subversión

Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL).
.
Las 10 bases de datos mas grandes del mundo

1.- World Data Centre for Climate El WDCC (Centro Mundial de datos para el clima) es la base de datos más grande del mundo. Almacena unos 220 terabytes de información y 6petabytes de información adicional, incluyendo datos sobre el clima, predicciones y simulaciones.


2.- National Energy Research Scientific Computing Center El NERSC se dedica a investigar sobre distintos tipos de energía. Su base de datos tiene 2.8 Petabytes.


3. AT&T Se trata de una compañía de telecomunicaciones que almacena 323 terabytes de información.


4.    Google Aunque se desconoce el verdadero tamaño de su base de datos, sí se puede estimar. La compañía recibe unos 91 millones de consultas al día, consultas que son almacenadas por la compañía. Se supone que almacena cientos de terabytes de información.



5.    Sprint Con 53 millones de clientes, Sprint es una de las mayores compañías de telecomunicaciones del mundo. Guarda los detalles de 365 millones de llamadas al día.


6.    ChoicePoint Con 250 terabytes de datos personales, el negocio de esta compañía es el de almacenar datos personales sobre la población de EEUU. Se calcula que almacena información de unas 250 millones de personas.

7.    YouTube Aunque es de esperar que ascienda puesto rápidamente en este ranking, por el m omento se encuentra en el séptimo lugar. Su base de datos (desconocida por ahora) crece unos 18.6 terabytes.

8.- Amazon Se la considera la tienda online más grande del mundo, tanto en número de clientes como en los datos que almacena sobre ellos. Cuenta con 59 millones de clientes y más de 42 terabytes de datos.

9.- Central Intelligence Agency (CIA) Aunque como en el caso de Google no se conoce el tamaño de su base de datos, la parte 'abierta' al público es inmensa. Se cree que posee datos de más de 250 países y entidades.


10.-Biblioteca del Congreso de EEUU Aunque los datos que guarda no han sido digitalizados completamente, sí cuenta con gran cantidad de información. Posee más de 5 millones de documentos digitales


lunes, 28 de enero de 2013

Tarea ! Unidad I

SGBD


Microsoft SQL Server 2012



SQL Server es un sistema gestor de base de datos (SGBD) producido por Microsoft y se basa en el modelo relacional. Los lenguajes de consulta de SQL Server son T-SQL y ANSI SQL; siendo T-SQL el principal medio de interacción con el servidor permitiendo realizar las operaciones claves en SQL Server, incluyendo la creación y modificación de esquemas de la base de datos, la introducción y edición de los datos en la base de datos, así como la administración del servidor como tal.


SQL Server tiene la capacidad de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.

Actualmente la versión mas reciente de SQL Server es la 2012, esta nueva versión, como es lógico, tiene algunas mejoras respecto a versiones anteriores. SQL Server es una plataforma para soluciones de misión crítica sobre una plataforma de alta disponibilidad y escalable. Sus herramientas de desarrollo ayudan a los desarrolladores a crear aplicaciones innovadoras, y las herramientas de integración de datos y gestión ponen a disposición de los usuarios adecuados información fiable.
Entre las ventajas añadidas a SQL Server 2012 respecto a versiones anteriores podemos encontrar las siguientes:


  • Plataforma de misión crítica mejorada: nuevas mejoras en alta disponibilidad y escalabilidad. 
  • Productividad para los profesionales de Ti y Desarrollo. 
  • Análisis más amplios e intensivos: extiende el alcance de las tecnologías de BI a los usuarios de empresa y facilita la integración y administración de datos en todas sus fases.


Características principales



-Plataforma:


Para la instalación de SQL Server 2012 se requiere contar con cualquiera de las siguientes plataformas: 

  • Windows 7 Windows 
  • Server 2008 R2 
  • Windows Server 2008 Service Pack 2 
  • Windows Vista Service Pack 2 

Además, SQL Server 2012 nos ofrece la opción de un Licenciamiento está optimizado para la computación en la Nube, con la posibilidad de licenciar una única máquina virtual (VM) o un servidor para extender al máximo las posibilidades de virtualización. También ofrecerá flexibilidad para migrar las VMs desde un servidor a otro, hacia proveedores de hosting externos, o a la Nube.

-Requerimientos del sistema para la instalación:


En las ediciones de 32 o 64 bits de SQL Server 2012 se aplica lo siguiente:

  • Se recomienda ejecutar SQL Server 2012 en equipos con el formato de archivo NTFS. SQL Server 2012 se puede instalar en un equipo con el sistema de archivos FAT32, pero no se recomienda porque es menos seguro que el sistema de archivos NTFS.
  • El programa de instalación de SQL Server bloqueará las instalaciones en unidades de disco de solo lectura, asignadas o comprimidas.
  • SQL Server requiere que se instale una actualización para asegurarse de que se puede instalar correctamente el componente de Visual Studio. El programa de instalación de SQL Server comprueba la presencia de esta actualización y, a continuación, le exige que descargue e instale la actualización antes de continuar con la instalación de SQL Server o bien puede instalar todas las actualizaciones de .NET 3.5 SP1 disponibles en Windows Update
  • Si instala SQL Server 2012 en un equipo con el sistema operativo Windows Vista SP2 o Windows Server 2008 SP2, requiere obtener dicha actualización.
  •  Si instala SQL Server 2012 en un equipo con el sistema operativo Windows 7 SP1 o Windows Server 2008 R2 SP1, esta actualización ya está incluida.
  • La instalación de SQL Server 2012 produce un error si se inicia la instalación con Terminal Services Client. No se admite el inicio del programa de instalación de SQL Server con Terminal Services Client.

-Seguridad:


En cuanto a seguridad se ofrece seguridad avanzada a través de SQL Server Audit que cuanta con las siguientes capacidades claves: 
  • Fácil de gestionar los permisos de acceso a datos con cerca de funciones de servidor definidas por el usuario. 
  • Aumentar la manejabilidad y la complejidad disminución de esquema de base de datos a través de esquemas predeterminados para los grupos. 
  • Controlar el acceso de base de datos para las aplicaciones implementadas al tiempo que mejora la manejabilidad a través de la autenticación de base de datos independiente. 
  • Ayude a garantizar la gestión y el cumplimiento de aumento en relación con la auditoría con la resistencia de auditoría, filtrado y definido por el usuario con la auditoría. 
  • Jerarquía integrada en criptografía. Cifrado de datos transparente. 
  • Emplear Administración extensible de claves. 
  • Regístrate módulos de código. 
  • Construido en la cima de las grandes características de SQL Server. 
  • Capacidad para crear certificados de bytes. 
  • Servidor predeterminado Master Key (SMK), Base de Datos Master Key (DMK), llave de copias de seguridad mediante AES256. 
  • El nuevo soporte para SHA2 (256 y 512). El uso de SHA512 para los hashes de contraseñas. 

Respaldos:


SQL Server 2012 incluye un soporte para volúmenes de backup espejados a través de la herramienta Microsoft SQL Server Management Studio, aumentando la disponibilidad de las copias de seguridad de SQL Server. La posibilidad de replicar el backup permite resolver posibles problemas de corrupción del medio físico de copia.

Restauración:


SQL Server 2012 permitirá realizar una operación de recuperación mientras una instancia de SQL Server está activa, para esto también se ocupa le herramienta Microsoft SQL Server Management Studio. La restauración online mejora la disponibilidad de SQL Server, ya que únicamente los datos que se están recuperando quedan como no disponibles. El resto de la base de datos permanece online y disponible.


Esta característica mejora la disponibilidad de las bases de datos de SQL Server con una nueva opción. Los usuarios podrán reconectarse a una base de datos en recuperación después de que realizar un "roll forward" sobre el log de transacciones.




MySQL


MySQL es el servidor de bases de datos relacionales más popular, desarrollado y proporcionado por MySQL AB.


El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone de un servidor SQL multihilo, varios programas clientes y bibliotecas, herramientas administrativas, y una gran variedad de interfaces de programación (APIs). Se puede obtener también como una biblioteca multihilo que se puede enlazar dentro de otras aplicaciones para obtener un producto más pequeño, más rápido, y más fácil de manejar.







Características de MySQL



Las principales características de este gestor de bases de datos son las siguientes: 
  • Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo. 
  • Soporta gran cantidad de tipos de datos para las columnas. 
  • Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc). 
  • Gran portabilidad entre sistemas. 
  • Soporta hasta 32 índices por tabla. 
  • Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos. 


MySQL 5.5


La versión mas reciente y estable que se presenta hasta la actualidad es MySQL 5.5 



Mejoras en MySQL 5.5:


Mayor disponibilidad: gracias a sus nuevos sistemas de réplica semi-síncrona y Replication Heart Beat se han mejorado notablemente la velocidad de recuperación y la fiabilidad de la base de datos. 
Una usabilidad más sencilla gracias a mejoras en los índices y las particiones de tablas, soporte SIGNAL/RESIGNAL y capacidades de diagnóstico avanzado. 
Rendimiento y escalabilidad mejorados: la base de datos MySQL y el motor de almacenamiento InnoDB han sido mejorados para proporcionar escalabilidad y óptimo rendimiento trabajando con los últimos sistemas operativos y el más novedoso hardware multi-CPU y multi-core. Además InnoDB se convierte en el motor de almacenamiento de serie para MySQL, lo que garantiza las transacciones ACID, la integridad referencial y la recuperación ante problemas. 


Seguridad


En MySQL, se debe considerar varios aspectos referentes a la seguridad del servidor MySQL y aplicaciones relacionadas: 
Los factores generales que afectan a la seguridad. Estos incluyen la elección de una buena contraseña, que no conceda privilegios innecesarios a los usuarios, garantizando la seguridad de aplicaciones mediante la prevención de las inyecciones SQL y corrupción de datos, entre otros. 
Seguridad de la propia instalación. Los archivos de datos, archivos de registro y los archivos de todas las aplicaciones de su instalación debe ser protegido para asegurar que no se pueden leer o escribir por personas no autorizadas. 
Control de acceso y seguridad en el sistema de base de datos en sí, incluyendo a los usuarios y bases de datos otorgados con acceso a las bases de datos, puntos de vista y programas almacenados en uso dentro de la base de datos. 
Red de seguridad de MySQL y el sistema. La seguridad está relacionada con las subvenciones para los usuarios individuales, pero también podría restringir MySQL para que esté disponible sólo localmente en la máquina del servidor MySQL, o para un conjunto limitado de otros hosts. 


Restauración:


MySQL ofrece una variedad de estrategias de copia de seguridad desde el que puede elegir los métodos que mejor se adapte a los requisitos para su instalación.


Tipos de copias de seguridad: 

Copias de seguridad física (Raw) Versus Lógico: Consisten en copias sin procesar de los directorios y archivos que almacenan contenido de bases de datos. Este tipo de copia de seguridad es adecuado para grandes bases de datos importantes que necesitan ser recuperado rápidamente cuando se producen problemas. 

Las copias de seguridad en línea Versus Desconectado: Tienen lugar mientras el servidos MySQL se está ejecutando para que la información de bade de datos se pueda obtener desde el servidor. Copias de seguridad fuera de línea tienen lugar mientras el servidor está detenido. Esta distinción también puede ser descrito como " caliente "frente a" frío "copias de seguridad, un" caliente "copia de seguridad es aquella en la que el servidor sigue funcionando pero están bloqueados contra la modificación de datos, mientras que acceder a los archivos de base de datos externa. 
Las copias de seguridad de instantáneas: Estos proporcionan copias lógicas del sistema de archivos en un punto dado en el tiempo, sin necesidad de una copia física del sistema de archivos. MySQL no proporciona la capacidad de tomar instantáneas del sistema de archivos. Está disponible a través de soluciones de terceros como Veritas, LVM, o ZFS. 
Copias de seguridad completas Versus Incremental: Una copia de seguridad completa incluye todos los datos administrados por un servidor MySQL en un punto dado en el tiempo. Una copia de seguridad incremental consiste en los cambios realizados en los datos durante un período de tiempo determinado (desde un punto en el tiempo a otro). MySQL tiene maneras diferentes para realizar copias de seguridad completas, tales como los descritos anteriormente en esta sección. Copias de seguridad incrementales son posibles gracias a que permite el registro del servidor binario, que utiliza el servidor para registrar los cambios de datos. 



MySQL funciona sobre múltiples plataformas:


  • AIX 
  • BSD 
  • FreeBSD 
  • HP-UX 
  • Kurisu OS 
  • GNU/Linux 
  • Mac OS X 
  • NetBSD 
  • OpenBSD 
  • OS/2 Warp 
  • QNX 
  • SGI IRIX 
  • Solaris 
  • SunOS 
  • SCO OpenServer 
  • SCO UnixWare 
  • Tru64 
  • eBD 
  • Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8 y Windows Server (2000, 2003 y 2008). 
  • OpenVMS 


Oracle 11g



El costo de la licencia oscila entre los 180 y 400 dólares dependiendo del tipo de licencia de usuario La capacidad de BDD es alta ya que soporta hasta 4 peta bytes de información.Cuenta con administración de usuarios así como la administración de roles, además soporta trigers y store procedure, cuenta con conectividad JDBC y ODBC.Es un DBMS seguro ya que cuenta con un proceso de sistema de respaldo y recuperación de información. Soporta Data Warehouse por lo que facilita el acceso a la información y da mayor versatilidad.



Sistemas operativos sobre los cuales se puede instalar el DBMS:



· Microsoft Windows server 2008 (32-bit)


  • · Microsoft Windows server 2008 x64
  • · Linux x86
  • · Linux x86-64
  • · Solaris (SPARC) (64-bit)
  • · AIX (PPC64)
  • · HP-UX Itanium
  • · HP-UX PA-RISC (64-bit) 

Hay dos formas de licenciarse, por usuario y por procesador, es decir, que se puede pagar por el número de usuarios o por el número de procesadores.

Tipos de datos generales que soporta


  • VARCHAR2
  • NVARCHAR2
  • CHAR RAW
  • NUMBER FLOAT
  • INTEGER
  • DATE
  • TIMESTAMP WITH TIMEZONE As TIMESTAMP
  • TIMESTAMP WITH LOCAL TIMEZONE
  • INTERVAL DAY TO SECOND
  • CLOB
  • NCLOB
  • BLOB
  • BFILE
  • LONG
  • LONG RAW




Permite una Rápida Recuperación de Datos a través de Oracle Data Guard


Oracle Data Guard coordina el mantenimiento y la sincronización de su base de datosentre los servidores remotos y locales para una rápida recuperación ante desastres o fallas en el sitio. Oracle Database 11g ofrece varias mejoras importantes en Oracle Data Guard, con inclusión de: 

• La capacidad de realizar consultas en tiempo real en un sistema standby físico para fines informativos y otros propósitos 

• La capacidad de realizar actualizaciones online y rotativas de la base de datos al convertir temporalmente un sistema standby físico a uno standby lógico

• Snapshot standby para respaldar entornos de prueba 

Asimismo, se mejora el desempeño del sistema standby físico y lógico. El sistema standby lógico ahora respalda Extensible Markup Language (XML), los tipos de datos

Character Large Object (CLOB) y la encriptación de datos transparentes. El failoverautomático de inicio rápido ahora es respaldado para el transporte asíncrono. 



Protege los Datos con Administración Automática de Almacenamiento


Con la Administración Automática de Almacenamiento, Oracle Database 11g automáticamente duplica y equilibra los datos a través de los dispositivos de almacenamiento disponibles para proteger los datos y optimizar el desempeño —inclusocuando se agregan o eliminan discos nuevos. Oracle Database 11g ofrece varias mejoras importantes de alta disponibilidad para la Administración Automática de Almacenamiento, con inclusión de las siguientes características: 

  • Soporte de actualizaciones rotativas 
  • Detección y reparación automática de bloques defectuosos 
  • Rápida resincronización de duplicación, lo cual vuelve a sincronizar de maneraefectiva los grupos de almacenamiento que la Administración Automática de Almacenamiento duplica cuando se pierde temporalmente la conectividad de la red de almacenamiento 
  • Las mejoras de desempeño en la Administración Automática de Almacenamiento permiten a las bases de datos muy grandes abrirse más rápido y reducir el consumo dememoria SGA. 
  • También permiten a los DBA aumentar el tamaño de la unidad de asignación de almacenamiento para acelerar la gran cantidad de entradas/salidas (I/Os) secuenciales.