Logo Studenta

Clase 02 - Bases de datos

¡Este material tiene más páginas!

Vista previa del material en texto

Clase 02. Bases de datos
¿Qué es una base de datos?
Un conjunto de datos almacenados en un formato específico e interrelacionados por un contexto en común.
Una base de datos es una herramienta para recopilar y organizar información. Las bases de datos pueden almacenar información sobre personas, productos, pedidos o cualquier otra cosa. Muchas bases de datos comienzan como una lista en un programa de procesamiento de texto o una hoja de cálculo. A medida que la lista crece, comienzan a aparecer redundancias e inconsistencias en los datos. Los datos se vuelven difíciles de entender en forma de lista y hay formas limitadas de buscar o extraer subconjuntos de datos para su revisión. Una vez que estos problemas comienzan a aparecer, es una buena idea transferir los datos a una base de datos creada por un sistema de gestión de bases de datos (SGBD).
Una base de datos computarizada es un contenedor de objetos. Una base de datos puede contener más de una tabla. Por ejemplo, un sistema de seguimiento de inventario que utiliza tres tablas no son tres bases de datos, sino una base de datos que contiene tres tablas. A menos que haya sido diseñada específicamente para usar datos o código de otra fuente, una base de datos de Access almacena sus tablas en un solo archivo, junto con otros objetos, como formularios, informes, macros y módulos.
Historia de las bases de datos
Hitos
1800 - Tarjetas perforadas
Consiste en una cartulina con sistema binario en el cual se incluyen diferentes tipos de preguntas con 2 respuestas o datos.
1890 - Máquinas para tarjetas perforadas
Se crea la primera máquina de manipulación de tarjetas perforadas, con la cual se desarrolla el primer proceso automatizado, ya que esta daba la opción de trabajar con varias tarjetas en menos tiempo al que se ocupaba de forma manual. Se funda la empresa Computing Tabulating Recording Corporation (CTR), luego renombrada IBM
1950 - Cintas magnéticas de almacenamiento
Permiten automatizar la información y hacer respaldos, y a través de este mecanismo se empezó a automatizar el almacenamiento de información.
1960 - SABRE
Alianza de IBM y American Airlines para desarrollar SABRE, un sistema operativo que gestionaba las reservas de vuelos, transacciones e informaciones sobre los pasajeros de la compañía American Airlines.
1963 - Término base de datos
Fue escuchado por primera vez en un simposio celebrado en California en 1963. En el cual se expuso el concepto como Conjunto de información relacionada que se encuentra agrupada ó estructurada. Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
1969 - Modelo relacional
Según Codd, los datos se agrupan en relaciones (actualmente llamadas tablas), las cuales son una estructura que aglutina datos referidos a una misma entidad de forma organizada.
1970 - Oracle
Larry Ellison, a partir del trabajo de Edgar F. Codd, desarrolló el Relational Software System que actualmente se conoce como Oracle Corporation.
1977 - Structured Query Language (SQL)
Es un lenguaje específico del dominio que da acceso a un sistema de gestión de bases de datos relacionales que permite especificar diversos tipos de operaciones en ellos.
1980 - Microsoft SQL Server
Aparece el auge de los SGBD y SQL Se convierte en el standard de las industrias.
Microsoft SQL Server es un sistema de administración de bases de datos relacionales desarrollado por Microsoft. 
El lenguaje de desarrollo utilizado (a través de la línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), que es la implementación del estándar ANSI del lenguaje SQL para procesar y recuperar datos (DML), crear tablas y definir entre ellas Relación (DDL). 
Los principales competidores de SQL Server son: Oracle, MariaDB, MySQL, PostgreSQL. Tradicionalmente, SQL Server solo está disponible para sistemas operativos Microsoft Windows, pero desde 2016, ha estado disponible para GNU / Linux, y desde 2017 también ha estado disponible para Docker.
1990 - Paquete office: Excel y Access
Aparecen las hojas de cálculos y las bases de datos orientadas a objetos.
Luego que Bill Gates y Paul Allen reclutaran a Charles Simonyi y Richard Brodie, dos jóvenes ex programadores de Xerox, fue en 1981 cuando la primera versión de Microsoft Word fue desarrollada, y un año después Multiplan, el predecesor de Excel. 
Sin embargo, fue hasta 1989 cuando Word, Excel y Power Point llegaron a las tiendas como paquetería bajo el nombre de Office 1.0. En poco tiempo la suite de oficina se consolidaría como uno de los productos favoritos y líderes del mercado tras altas cifras de ventas.
2000 - Google
Google se convierte en potencia de generación y almacenamiento de información.
Si bien fue en el año 1996 en el que Larry Page y Sergey Brin crearon el motor de búsqueda de Google en la Universidad de Stanford (EE UU). Al principio se llamaba BackRub.En junio del año 2000, el anuncio del primer índice de mil millones de URL convirtió a Google en el mayor motor de búsqueda del mundo.
2011 - iCloud
Apple hace el lanzamiento de su almacenamiento en la nube.
El sistema basado en la nube permite a los usuarios almacenar música, videos, fotos, aplicaciones, documentos, enlaces favoritos de navegador, recordatorios, notas, iBooks y contactos, además de servir como plataforma para servidores de correo electrónico de Apple y los calendarios.
Componentes de una base de datos
Información
La información se obtiene de la base de datos, está integrada y además es compartida.
Se puede decir que la información es la base de datos en sí, ya que se puede identificar como una colección de registros o datos que se almacenan de forma electrónica y se utiliza para crear y mantener contextos específicos.
La estructura de la información puede cambiar de acuerdo al tipo de modelo de datos con el que se diseñe la base de datos. 
SGBD
Sistema de gestión de base de datos (DBMS por sus siglas en inglés). Ej: Oracle, MySQL, SQLServer, Access, entre otros.
Un sistema gestor de bases de datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de datos, normalmente denominada base de datos, contiene información relevante para una empresa. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea tanto práctica como eficiente.
Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La gestión de los datos implica tanto la definición de estructuras para almacenar la información como la provisión de mecanismos para la manipulación de la información. 
Además, los sistemas de bases de datos deben garantizar la fiabilidad de la información almacenada, a pesar de las caídas del sistema o de los intentos de acceso no autorizados. Si los datos van a ser compartidos entre diferentes usuarios, el sistema debe evitar posibles resultados anómalos. Dado que la información es tan importante en la mayoría de las organizaciones, los científicos informáticos han desarrollado un gran cuerpo de conceptos y técnicas para la gestión de los datos por medio de software. 
USUARIOS
Aplicaciones y Personas que interactúan con la BD
Hay cuatro tipos diferentes de usuarios de un sistema de base de datos diferenciados en la forma en que ellos esperan interactuar con el sistema, de manera que se desarrollan interfaces diferentes estas para cada uno de estos usuarios.
Usuarios normales
Son usuarios no sofisticados que interactúan con el sistema mediante el uso de algunos programas, un ejemplo de lo encontramos en un cajero bancario que necesita transferir determinada cantidad de dinero de una cuenta a otra invocando un programa llamado transferir, este programa pide al cajero el importe de dinero a transferir,la cuenta de donde se tomara el dinero y la cuenta a donde se transferirá el dinero.
De manera que la interfaz de un usuario normal es una interfaz de formularios, donde el usuario puede rellenar los campos apropiados del formulario. Este tipo de usuarios también pueden leer informes generados de la base de datos.
Desarrolladores o programadores
Son profesionales informáticos que escriben programas mediante un lenguaje de programación. Los programadores de aplicaciones pueden elegir entre muchas herramientas para desarrollar interfaces de usuario.
Las herramientas de desarrollo rápido de aplicaciones (DRA) son herramientas que permiten al programador de aplicaciones construir formularios e informes sin escribir un programa.
Hay también tipos especiales de lenguajes de programación que combinan estructuras de control imperativo (por ejemplo, para bucles for, bucles while e instrucciones if then-else) con instrucciones del lenguaje de manipulación de datos.
Usuarios especialistas
Interactúan con el sistema de gestión de base de datos, sin un programa desarrollado en algún lenguaje de programación. En su lugar, ellos forman sus consultas en un lenguaje de consulta de bases de datos (SQL).
Cada una de estas consultas se envía al procesador de consultas, cuya función es transformar instrucciones de lenguaje natural a instrucciones que el gestor de almacenamiento entienda. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría.
Administrador de la base de datos
También denominado DataBase Administrator (DBA por sus siglas en inglés)
Una de las principales razones de usar SGBD es tener un control centralizado tanto de los datos como de los programas que acceden a esos datos. La persona que tiene este control central sobre el sistema se llama administrador de la base de datos (DBA). Las funciones del DBA incluyen las siguientes:
1. Definición del esquema
El DBA crea el esquema original de la base de datos escribiendo un conjunto de instrucciones de definición de datos en el DDL.
2. Definición de la estructura y del método de acceso
Modificación del esquema y de la organización física
Los DBA realizan cambios en el esquema y en la organización física para reflejar las necesidades cambiantes de la organización, o para alterar la organización física para mejorar el rendimiento.
Concesión de autorización para el acceso a los datos.
La concesión de diferentes tipos de autorización permite al administrador de la base de datos determinar a qué partes de la base de datos puede acceder cada usuario.
La información de autorización se mantiene en una estructura del sistema especial que el sistema de base de datos consulta cuando se intenta el acceso a los datos en el sistema.
Mantenimiento rutinario
Algunos ejemplos de actividades rutinarias de mantenimiento del administrador de la base de datos son:
Copia de seguridad periódica de la base de datos, bien sobre cinta o sobre servidores remotos, para prevenir la pérdida de datos en caso de desastres como inundaciones.
Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse de que el rendimiento no se degrada por tareas muy costosas iniciadas por algunos usuarios.
HARDWARE
Almacenamiento secundario, Procesadores, memoria, etc.
De acuerdo con la versión o edición del SGBD seleccionado, debe hacerse previamente la verificación de requerimientos mínimos del procesador, incluyendo su velocidad, capacidad de memoria, dispositivos de memoria auxiliar y el espacio requerido para el almacenamiento de los archivos propios del sistema, el tipo de controlador de discos del servidor, la existencia
de tarjetas de red y de los periféricos necesarios. 
Esta información se puede obtener con el fabricante del Sistema, en el apartado de recursos
bibliográficos tendrá acceso a los sitios web oficiales de los SGBD sobre los cuales se realizarán las prácticas, de manera que pueda revisar los requerimientos de hardware que se recomiendan. Es de recordar que sin un buen soporte de hardware no se obtendrá el rendimiento necesario del SGBD.
Por ejemplo para instalar un SQL Server 2016 edición empresarial.
	Disco duro
	SQL Server requiere un mínimo de 6 GB de espacio disponible en disco.
	Unidad
	Para la instalación desde disco se necesita una unidad de DVD.
	Supervisión
	SQL Server requiere Super VGA (800x600) o un monitor de una resolución mayor.
	Internet
	La funcionalidad de Internet necesita acceso a Internet (no necesariamente de carácter gratuito).
	Memoria
	Al menos 4 GB,
	Velocidad del procesador
	Mínimo: Procesador x64: 1,4 GHz
Se recomienda que use: 2.0 GHz o superior
	Tipo de procesador
	Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T, Intel Pentium IV compatible con EM64T
Sistemas de gestión de bases de datos.
Caracteristicas
Recuperación
El componente de gestión de recuperaciones de la base de datos es el responsable de asegurar las propiedades de las transacciones de atomicidad y durabilidad.
Sí dentro de la base de datos se genera un error, la recuperación consiste en restaurar la base de datos a un estado que se sepa correcto, tras cualquier fallo que la haya dejado en un estado incorrecto. 
La recuperación puede ser automática o manual, de acuerdo a lo que se configure al momento de la generación de una nueva base.
Concurrencia. 
Permiten que muchas transacciones puedan acceder a una misma base de datos a la vez.
Esta característica del sistema de gestión, permite que muchos usuarios puedan realizar distintas tareas al mismo tiempo. 
Integridad
Se refiere a la correctitud y completitud de la información en una base de datos.
Los valores de los datos almacenados en la base de datos deben satisfacer ciertos tipos de restricciones de consistencia. Por ejemplo, el saldo de ciertos tipos de cuentas bancarias no puede nunca ser inferior a una cantidad predeterminada (por ejemplo, 50.000 Ars). Los desarrolladores hacen cumplir esas restricciones en el sistema añadiendo el código correspondiente en los diversos programas de aplicación, y estas restricciones se espejan en la base de datos gracias al SGBD. 
Seguridad
Es la protección de la base de datos frente a usuarios no autorizados
El principal objetivo del SGBD es mantener segura la información, para así proteger la Base de Datos contra accesos no autorizados. 
Se llama también privacidad e incluye aspectos de: Aspectos legales, sociales y éticos Políticas de la empresa, niveles de información pública y privada Controles de tipo físico, acceso a las instalaciones Identificación de usuarios: voz, retina del ojo, etc. Controles de sistema operativo.
Modelo de base de datos
Concepto
Un modelo de base de datos permite generar la estructura lógica de la base, incluidas las relaciones y limitaciones que determinan cómo se almacenan los datos y cómo se accede a ellos.
Bajo la estructura de las bases de datos se encuentra el modelo de datos: una colección de herramientas conceptuales para describir los datos, sus relaciones, su semántica y las restricciones de consistencia.
Los modelos de datos ofrecen un modo de describir el diseño de las bases de datos en los niveles físico, lógico y de vistas.
Tipos de modelo de base de datos
Relacional (¡usaremos este!)
El modelo relacional usa una colección de tablas para representar tanto los datos como sus relaciones. Cada tabla tiene varias columnas, y cada columna tiene un nombre único. El modelo relacional es un ejemplo de un modelo basado en registros. Los modelos basados en registros se denominan así porque la base de datos se estructura en registros de formato
fijo de varios tipos. Cada tabla contiene registros de un tipo dado. Cada tipo de registro define un número fijo de campos, o atributos. Las columnas de la tabla se corresponden con los atributos del tipo de registro. El modelo de datos relacional es el modelo de datos más ampliamente usado, y una gran mayoría de sistemas de bases de datos actuales se basan en el modelo relacional
Entidad-relación(¡usaremos este!)
El modelo de datos entidad-relación (E-R) se basa en una percepción del mundo real que consiste en una colección de objetos básicos, denominados entidades, y de las relaciones entre ellos. Una entidad es una “cosa” u “objeto” del mundo real que es distinguible de otros objetos. El modelo entidad-relación se usa mucho en el diseño de bases de datos.
Orientado a objetos
El modelo de datos orientado a objetos es otro modelo de datos que está recibiendo una atención creciente. El modelo orientado a objetos se puede considerar como una extensión del modelo E-R con los conceptos de la encapsulación, los métodos (funciones) y la identidad de los objetos.
No-relacional
El modelo de datos no relacional o semi estructurado, permite la especificación de datos donde los elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de atributos. Esto lo diferencia de los modelos de datos mencionados anteriormente, en los que cada elemento de datos de un tipo particular debe tener el mismo conjunto de atributos. El lenguaje de marcas extensible ( XML, eXtensible Markup Language) se emplea
mucho para representar datos semiestructurados.
Jerárquico y de red
El modelo de datos de red y el modelo de datos jerárquico precedieron cronológicamente al relacional. Estos modelos estuvieron íntimamente ligados a la implementación subyacente y complicaban la tarea del modelado de datos. En consecuencia, se usan muy poco hoy en día, excepto en el código de bases de datos antiguas que sigue estando en servicio en algunos lugares. Se describen brevemente en los Apéndices A y B para los lectores interesados.
Modelado de base de datos
Es un proceso que permite definir la estructura y comunicarse con una base de datos. Típicamente permite describir:
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar la realidad deseada.
Operaciones de manipulación de los datos: generalmente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
El modelado de base de datos se puede llevar a cabo por medio del sistema de gestión y se implementa gracias al lenguaje de consultas estructuradas (SQL). 
Lenguaje de consultas estructuradas
Los sistemas de bases de datos proporcionan un lenguaje de definición de datos para especificar el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las consultas y las modificaciones de la base de datos. En la práctica, los lenguajes de definición y manipulación de datos no son dos lenguajes diferentes; en cambio, simplemente forman parte de un único lenguaje de bases de datos, como puede ser el muy usado SQL.
Sublenguajes de base de datos
DDL
Los esquemas de las bases de datos se especifican mediante un conjunto de definiciones expresadas mediante un lenguaje especial denominado lenguaje de definición de datos (DDL). El DDL también se usa para especificar más propiedades de los datos.
La estructura de almacenamiento y los métodos de acceso usados por el sistema de bases de datos se especifican mediante un conjunto de instrucciones en un tipo especial de DDL denominado lenguaje de almacenamiento y definición de datos. Estas instrucciones definen los detalles de implementación de los esquemas de las bases de datos, que suelen ocultarse a los usuarios.
Este sublenguaje proporciona facilidades para especificar tales restricciones. Los sistemas de bases de datos las comprueban cada vez que se modifica la base de datos. En general, las restricciones pueden ser predicados arbitrariamente relativos a la base de datos. 
El DDL, al igual que cualquier otro lenguaje de programación, obtiene como entrada algunas instrucciones y genera una salida. La salida del DDL se coloca en el diccionario de datos, que contiene metadatos—es decir, datos sobre datos. El diccionario de datos se considera un tipo especial de tabla, a la que sólo puede tener acceso y actualizar el propio sistema de bases de datos (no los usuarios normales). El sistema de bases de datos consulta el diccionario de datos antes de leer o modificar los datos reales.
DML
Un lenguaje de manipulación de datos (DML) es un lenguaje que permite a los usuarios tener acceso a los datos organizados mediante el modelo de datos correspondiente o manipularlos. Los tipos de acceso son:
• La recuperación de la información almacenada en la base de datos.
• La inserción de información nueva en la base de datos.
• El borrado de la información de la base de datos.
• La modificación de la información almacenada en la base de datos.
Hay fundamentalmente dos tipos:
• Los DMLs procedimentales necesitan que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
• Los DMLs declarativos (también conocidos como DMLs no procedimentales) necesitan que el
usuario especifique qué datos se necesitan sin que haga falta que especifique cómo obtener esos datos.
DCL
Un Lenguaje de Control de Datos (DCL por sus siglas en inglés: Data Control Language) es un lenguaje proporcionado por el Sistema de Gestión de Base de Datos que incluye una serie de comandos SQL que permiten al administrador controlar el acceso a los datos contenidos en la Base de Datos. Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas, y también permite eliminar permisos que previamente se han concedido con.
TCL
Transaction Control Language: Permite gestionar transacciones. 
El Lenguaje de control de transacción es, o TCL, son comandos de SQL (COMMIT, ROLLBACK, etc.) que permiten manejar transacciones en una base de datos relacional, por lo que es importante primeramente aclarar el concepto de transacción.
Las transacciones, son todas las operaciones que podemos realizar sobre la base de datos, con los anteriores sublenguajes mencionados.

Continuar navegando