INTRODUCCION A BD

¿Qué es una base de datos?

Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.

Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros.


Diferencia entre dato e información

Dato es una representación simbólica, un atributo o característica de una entidad. Información es un conjunto organizado de datos, que constituyen a un mensaje que cambia el estado de conocimiento del sistema que recibe dicho mensaje.


12 Reglas de Codd

Estas reglas sirven para que un sistema pueda considerarse "más relacional" cuanto más se sigan estas reglas, se normalizaran las tablas.

Regla 0: el sistema debe ser relacional, base de datos y administrador de sistema.

Regla 1: la regla de la información, toda la información en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas.

Regla 2: la regla del acceso garantizado, todos los datos deben ser accesibles sin ambigüedad. Dice que cada valor escalar individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la tabla, la columna que lo contiene y la llave primaria.

Regla 3: tratamiento sistemático de valores nulos, el sistema de gestión de base de datos debe permitir que haya campos nulos.

Regla 4: catálogo dinámico en línea basado en el modelo relacional, el sistema debe soportar un catálogo en línea, el catálogo relacional debe ser accesible a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la estructura de la base de datos (catálogo).

Regla 5: la regla comprensiva del sublenguaje de los datos, el sistema debe soportar por lo menos un lenguaje relacional que:
  1. Tenga una sintaxis lineal.
  2. Puede ser utilizado de manera interactiva.
  3. Soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones.
Regla 6: regla de actualización, todas las vistas que son teóricamente actualizables deben ser actualizables por el sistema.

Regla 7: alto nivel de inserción, actualización, y cancelación, el sistema debe soportar suministrar datos en el mismo tiempo que se inserte, actualiza o esté borrando. Esto significa que los datos se pueden recuperar de una base de datos relacional en los sistemas construidos de datos de filas múltiples y/o de tablas múltiples.

Regla 8: independencia física de los datos, los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuandoquiera que se realicen cambios en las representaciones de almacenamiento o métodos de acceso.

Regla 9: independencia lógica de los datos, los cambios al nivel lógico (tablas, columnas, filas, etc.) no deben requerir un cambio a una solicitud basada en la estructura.

Regla 10
: independencia de la integridad, las limitaciones de la integridad se deben especificar por separado de los programas de la aplicación y se almacenan en la base de datos.


Regla 11: independencia de la distribución, la distribución de las porciones de la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos. Los usos existentes deben continuar funcionando con éxito:
Cuando una versión distribuida del SGBD se introdujo por primera vez
cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.

Regla 12
: la regla de la no subversión, si el sistema proporciona una interfaz de bajo nivel de registro, a parte de una interfaz relacional, que esa interfaz de bajo nivel no se pueda utilizar para subvertir el sistema, por ejemplo: sin pasar por seguridad relacional o limitación de integridad.


¿Qué es un motor de base de datos?

Motor de base de datos es el servicio principal para almacenar, procesar y proteger los datos. El Motor de base de datos proporciona acceso controlado y procesamiento de transacciones rápido para cumplir con los requisitos de las aplicaciones consumidoras de datos más exigentes de su empresa.
Usos del Motor de base de datos


  1. Crear bases de datos relacionales, muy útil para almacenar las transacciones en tiempo real.
  2. Crear bases de datos para el manejo analítico de datos.
  3. Administrar los datos que se requieran guardar de los sistemas en una empresa utilizando tablas, vistas, procedimientos almacenados, etc.
  4. Capturar los eventos del servidor usando SQL Server Profiler y luego analizar las trazas que se pueden almacenar para auditar los movimientos y actividades en el servidor.

¿Qué es un SGBD?
Es una colección de programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Permiten definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la seguridad e integridad de los mismos. 

Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.

Un SGBD debe permitir:

• Definir una base de datos: especificar tipos, estructuras y restricciones de datos.

• Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD

• Manipular la base de datos: realizar consultas, actualizarla, generar informes.


Bases de datos más utilizadas:

Oracle
SQL Server
MySQL
FireBird

Bases de datos según su variabilidad 

Estáticas
Son bases de datos únicamente de lectura, utilizadas principalmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos para inteligencia empresarial.

Dinámicas

Son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y edición de datos, además de las operaciones fundamentales de consulta. Un ejemplo, puede ser la base de datos utilizada en un sistema de información de un supermercado.

Modelos de bases de datos

Jerárquico


El modelo jerárquico organiza los datos en una estructura de árbol, en la que cada registro tiene un único elemento o raíz. Los registros del mismo nivel se clasifican en un orden específico. Ese orden se usa a manera de orden físico para almacenar la base de datos.

Red


El modelo de red se basa en el modelo jerárquico, permitiendo relaciones de muchos a muchos entre registros vinculados, lo que implica registros principales múltiples. El modelo se construye con conjuntos de registros relacionados. Cada conjunto consiste de un registro propietario o principal y uno o más registros miembros o secundarios. Un registro puede ser miembro o secundario en múltiples conjuntos, permitiendo que este modelo represente relaciones complejas.

Documental

Las bases de datos documentales están diseñadas para almacenar datos semiestructurados, como documentos, normalmente en formato JSON o XML. Las bases de datos documentales son una forma moderna de almacenar datos en formato JSON en lugar de las simples filas y columnas de las bases de datos relacionales. Esto permite expresar los datos en su forma natural.

Relacional

Siendo el modelo más común, el modelo relacional ordena los datos en tablas, también conocidas como relaciones, cada una de las cuales se compone de columnas y filas. Cada columna enumera un atributo de la entidad en cuestión. En conjunto, a los atributos en una relación se los llama dominio. Se elige un atributo particular o combinación de atributos como clave primaria, a la cual se puede hacer referencia en otras tablas, en donde se la denomina clave externa.


Orientada a objetos


Este modelo de base de datos híbrido combina la sencillez del modelo relacional con parte de la funcionalidad avanzada del modelo de base de datos orientado a objetos. En esencia, permite a los diseñadores incorporar objetos en una estructura familiar de tablas.

Entre los idiomas e interfaces de llamada se incluyen SQL3, lenguajes de proveedores, ODBC, JDBC e interfaces de llamada patentadas que son extensiones de lenguajes e interfaces usadas por el modelo relacional.


¿Qué es una relación?

Las relaciones de bases de datos son asociaciones entre tablas que se crean utilizando sentencias de unión para recuperar datos.


Tipos de relaciones:

Relaciones uno a uno




En una relación uno a uno, cada registro de la Tabla MATERIA sólo puede tener un registro coincidente en la Tabla PROFESOR y viceversa.

En este ejemplo se está representando que cada materia solamente puede ser dada por un profesor.

Relaciones uno a varios



En este modelo se representa que mas de un PROFESOR puede dictar la misma MATERIA.

En la relación uno a varios un registro de la Tabla MATERIA puede tener muchos registros coincidentes en la Tabla PROFESOR, pero un registro de la Tabla PROFESOR sólo tiene un registro coincidente en la Tabla MATERIA.

Relación varios a varios

En una relación varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B y viceversa. Este tipo de relación sólo es posible si se define una tercera tabla (denominada tabla de unión), cuya clave principal consta de al menos dos campos; y que además, estos campos, correspondan a las claves externas de las Tablas A y B.





Diseño de base de datos

Conceptual

El diseño conceptual parte de las especificaciones de requisitos de usuario y su resultado es el esquema conceptual de la base de datos. Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos, independientemente del SGBD que se vaya a utilizar para manipularla. Un modelo conceptual es un lenguaje que se utiliza para describir esquemas conceptuales. El objetivo del diseño conceptual es describir el contenido de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar esta formación.

Lógico

El diseño lógico parte del esquema conceptual y da como resultado un esquema lógico. Un esquema lógico es una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de SGBD. Un modelo lógico es un lenguaje usado para especificar esquemas lógicos (modelo relacional, modelo de red, etc.). El diseño lógico depende del tipo de SGBD que se vaya a utilizar, no depende del producto concreto.

Físico

El diseño físico parte del esquema lógico y da como resultado un esquema físico. Un esquema físico es una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Por ello, el diseño físico depende del SGBD concreto y el esquema físico se expresa mediante su lenguaje de definición de datos.

Ventajas y Desventajas de las bases de datos relacionales


Ventajas:
  • Independencia de datos
  • Coherencia de resultados
  • Mejora de disponibilidad
  • Cumplimiento de ciertas normas
  • Mejora en la seguridad y en la integridad de los datos
  • Mejora en la productividad

Desventajas:
  • Complejidad
  • Costo del Equipamiento
  • Vulnerable a los fallos
  • Tipos de campos

Elementos de una base de datos relacional

Entidad o Tabla

Se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo. Se compone por:





Campo

Es launidad básica de una base de datos. Los nombres de los campos, no pueden empezar con espacios en blancoy caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. La descripción de un campo, permite aclarar información referida a los nombres del campo.



Registro

Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la mismo estructura.




Normalización

Es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Disminuir problemas de actualización de los datos en las tablas.
Proteger la integridad de datos.

Formas de normalización

Primera Forma Normal: NO repetir campos en las tablas (atributos atómicos).

Segunda Forma Normal : Se debe aplicar la 1FN. Cada campo de la tabla debe depender de una clave única, si tuviéramos alguna columna que se repite a lo largo de todos los registros, dichos datos deberían atomizarse en una nueva tabla.

Tercera Forma Normal: Se debe aplicar la 1FN y 2FN. Los campos que NO son clave NO deben tener dependencias.

Forma Normal Boyce-Codd (FNBC): Se debe aplicar la 1FN, 2FN y 3FN. Es una versión mejorada de la 3FN. Los campos que NO son clave NO deben tener dependencias. Los campos que NO dependan de la clave se deben eliminar.

Cuarta Forma Normal: Se debe aplicar la FNBC. La 4FN aplica únicamente para relaciones M a M, y nos ayuda a eliminar la redundancia de información generada por dicho tipo de relación.

Quinta Forma Normal: Se debe aplicar la 1FN, 2FN, 3FN y 4FN. Existe otro nivel de normalización que se aplica con poca frecuencia y en la mayoría de los casos no es necesario, para obtener la mejor funcionalidad de nuestra estructura de datos. Su principio sugiere:

La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido partida.
Los beneficios de aplicar la 5FN asegura que no se haya creado ninguna columna extraña en las tablas y que su estructura sea del tamaño justo que tiene que ser.
Es una buena práctica aplicar la 5FN, cuando tenemos una extensa y compleja estructura de datos, en modelos pequeños no se recomienda usar.


¿Qué es SQL?

(Structured Query Language) es un lenguaje estándar e interactivo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas, gracias a la utilización del álgebra y de cálculos relacionales. Las consultas toman la forma de un lenguaje de comandos que permite seleccionar, insertar, actualizar, averiguar la ubicación de los datos, y más.


DDL (Lenguaje de definición de datos)

Consiste en los comandos SQL que se pueden usar para definir el esquema de la base de datos. Simplemente trata las descripciones del esquema de la base de datos y se utiliza para crear y modificar la estructura de los objetos de la base de datos en la base de datos.

Ejemplos de comandos DDL:


  • CREAR : se utiliza para crear la base de datos o sus objetos (como tabla, índice, función, vistas, procedimiento de almacenamiento y activadores).
  • DROP : se utiliza para eliminar objetos de la base de datos.
  • ALTER -se utiliza para alterar la estructura de la base de datos.
  • TRUNCATE: se utiliza para eliminar todos los registros de una tabla, incluidos todos los espacios asignados para los registros que se eliminan.
  • COMENTARIO: se utiliza para agregar comentarios al diccionario de datos.
  • RENAME: se utiliza para cambiar el nombre de un objeto existente en la base de datos.


DML (Lenguaje de manipulación de datos)
Los comandos SQL que se ocupan de la manipulación de los datos presentes en la base de datos pertenecen a DML o lenguaje de manipulación de datos y esto incluye la mayoría de las declaraciones SQL.

Ejemplos de DML:
  • SELECCIONAR : se utiliza para recuperar datos de una base de datos.
  • INSERT - se usa para insertar datos en una tabla.
  • ACTUALIZACIÓN : se utiliza para actualizar los datos existentes dentro de una tabla.
  • BORRAR : se utiliza para eliminar registros de una tabla de base de datos.

DCL (Lenguaje de control de datos)

DCL incluye comandos como GRANT y REVOKE, que tratan principalmente los derechos, permisos y otros controles del sistema de base de datos.

Ejemplos de comandos DCL:


  • GRANT- otorga privilegios de acceso del usuario a la base de datos.
  • REVOKE: retira los privilegios de acceso del usuario mediante el comando GRANT.

TCL (Idioma de control de transacción)

Los comandos TCL se ocupan de la transacción dentro de la base de datos .

Ejemplos de comandos TCL:


  • COMPROMISO - comete una transacción.
  • ROLLBACK : deshace una transacción en caso de que ocurra algún error.
  • SAVEPOINT: establece un punto de salvaguarda dentro de una transacción.
  • SET TRANSACTION - especifique las características de la transacción.
¿Qué es ACID?

ACID, conformado por las siglas provenientes de Atomicity, Consistency, Isolation y Durability. En español, Atomicidad, Consistencia, Aislamiento y Durabilidad, son un conjunto de propiedades necesarias para que un conjunto de instrucciones, sean consideradas como una transacción en un sistema de gestión de bases de datos.

Una transacción es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica. Un ejemplo de una transacción compleja es la transferencia de fondos de una cuenta a otra, la cual implica múltiples operaciones individuales.
Si un sistema supera la prueba ACID, significa que es fiable.


¿Qué es cloud computing?

es una tecnología que permite acceso remoto a softwares, almacenamiento de archivos y procesamiento de datos por medio de Internet, siendo así, una alternativa a la ejecución en una computadora personal o servidor local. En el modelo de nube, no hay necesidad de instalar aplicaciones localmente en computadoras.

La computación en la nube ofrece a los individuos y a las empresas la capacidad de un pool de recursos de computación con buen mantenimiento, seguro, de fácil acceso y bajo demanda.

En otras palabras, la definición de cloud computing es ofrecer servicios a través de la conectividad y gran escala de Internet. La computación en la nube democratiza el acceso a recursos de software de nivel internacional, pues es una aplicación de software que atiende a diversos clientes.


¿Qué es Big Data?

Big data son datos que contienen una mayor variedad y que se presentan en volúmenes crecientes y a una velocidad superior. Esto se conoce como "las tres V".
Está formado por conjuntos de datos de mayor tamaño y más complejos, especialmente procedentes de nuevas fuentes de datos. Estos conjuntos de datos son tan voluminosos que el software de procesamiento de datos convencional sencillamente no puede gestionarlos.


Las "tres V" de big data


Volumen

La cantidad de datos importa. Con big data, deberá procesar grandes volúmenes de datos no estructurados de baja densidad. Puede tratarse de datos de valor desconocido, como feeds de datos de Twitter, flujos de clics de una página web o aplicación para móviles, o equipo con sensores.

Velocidad

La velocidad es el ritmo al que se reciben los datos y (posiblemente) al que se aplica alguna acción. La mayor velocidad de los datos normalmente se transmite directamente a la memoria, en vez de escribirse en un disco.

Variedad

La variedad hace referencia a los diversos tipos de datos disponibles. Los tipos de datos convencionales eran estructurados y podían organizarse claramente en una base de datos relacional. Con el auge del big data, los datos se presentan en nuevos tipos de datos no estructurados.

No hay comentarios:

Publicar un comentario

¿Que es un SCRUM?

Scrum es un marco de trabajo de procesos que ha sido usado para gestionar el desarrollo de productos complejos desde principios de los años...