go-BASE DE DATOS-U1C2
go-BASE DE DATOS-U1C2
go-BASE DE DATOS-U1C2
Caracterizar e identificar la
importancia de la base de
datos en las organizaciones.
Diferenciar productos de
gestores de Bases de datos.
Identificar y aplicar elementos
del modelo relacional
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Introducción
La información es la base de nuestra sociedad, recibimos y manejamos
volúmenes enormes de información y el ordenador es la herramienta
que nos permite almacenar y tratar esa información. Para poder guardar
y recuperar esa información necesitamos de un sistema de
almacenamiento que sea fiable, fácil de manejar, eficiente, y de
aplicaciones capaces de llevar a cabo esa tarea y de obtener resultados a
partir de la información almacenada.
Este sistema es el denominado Sistema Gestor de Base de Datos (SGBD
o DBMS versión inglesa DataBase Management System) y consiste en
un conjunto de datos relacionados entre sí (la base de datos) y un
conjunto de programas desarrollados para gestionar esos datos y
comprobar que el sistema se mantenga libre de errores (en lo posible).
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Administrador de la base de datos
Es el encargado de gestionar el SGBD, es decir, es la persona (o equipo)
encargada de definir y controlar la base de datos. Entre sus
responsabilidades se incluye:
• Diseñar la base de datos:
• Definir los usuarios.
• Conceder autorizaciones a los distintos usuarios.
• Mantener los esquemas actualizados.
• Definir estrategias de recuperación adecuada de la información en
caso de pérdida o daños sufridos por algún fallo.
• Realizar estadísticas para evaluar el rendimiento del sistema.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Objetivos de un SGBD
• Independencia de los datos
La independencia de los datos consiste en hacer que los programas no
dependan de la estructura de los datos que debe utilizar, que se pueda
cambiar esa estructura sin tener que cambiar los programas
relacionados con ella.
Se han definido dos tipos de independencia:
Independencia física: consiste en poder modificar parámetros de cómo
está almacenada físicamente la información (por ejemplo cambiar el
tipo de dato de un campo o cambiar la ubicación de la información de
un disco a otro), sin que ello suponga una modificación de los programas
existentes.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Objetivos de un SGBD
• Independencia de los datos
Independencia lógica: consiste en poder cambiar la definición
conceptual del sistema de información (por ejemplo añadir un nuevo
campo a la información de los clientes) sin que ello suponga una
modificación de los programas existentes
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Seguridad e integridad
Otro objetivo a lograr es el de la seguridad, que los usuarios no puedan
acceder a datos sin autorización. Si juntamos toda la información de la
empresa en un sólo sitio, el SGBD debe tener mecanismos para que
cualquier usuario pueda tener acceso únicamente a la información que
necesita de cara a la privacidad de esa información, incluso si tiene
acceso a una información que se pueda decidir si además de visualizarla
puede modificarla.
Por ejemplo en un sistema en el que los alumnos pueden consultar sus
notas, ¡deberá de existir algún mecanismo para que el alumno pueda
ver sus notas pero no cambiarlas!
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Seguridad e integridad
La integridad se refiere a que la información almacenada en la base de
datos esté libre de errores. Esto no siempre es posible ya que existen
distintos tipos de errores que tienen diferentes soluciones:
• Fallos de hardware
• Fallos del programador
• Fallos del usuario final
• Fallos derivados de la concurrencia
Imagen - Seguridad
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Redundancia mínima
La redundancia consiste en que existan datos idénticos repetidos en
varios lugares. Por ejemplo si nos guardamos la dirección del cliente en
la factura, en la cta. contable, y en los datos generales del cliente
tendremos redundancia, el mismo dato repetido en varios sitios, pues
esto nos produce varios problemas:
• La información repetida ocupa espacio innecesario.
• La variación de un domicilio supone el variar ese domicilio en todos
los lugares donde esté almacenado
mayor tiempo de proceso
posibilidad de inconsistencia (el mismo cliente con dos domicilios
¿cuál es el bueno?)
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Redundancia mínima
Por todo ello hay que intentar eliminar al máximo esa redundancia.
Imagen - Datos
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Facilidad de recuperación de la información
Otro objetivo muy importante de un SGBD es el proporcionar al usuario
(y al programador) unas herramientas potentes de manejo de datos para
que pueda de manera sencilla y rápida, obtener toda la información que
desea.
Gráfico - Niveles
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Arquitectura de un SGBD
• El nivel interno
El nivel interno es el más cercano al almacenamiento de los datos, este
nivel es el de la visión del administrador de la BD, ya que es donde
tenemos la definición física de los datos, su organización interna, la
definición de las reglas de validación, controles de seguridad, etc.
• El nivel conceptual
En este nivel se tiene una visión global de todos los datos que
intervienen en la base de datos, pero a nivel de concepto olvidándose de
la estructura interna. Podemos decir que en este nivel es donde
tenemos la definición de qué datos se guardan en la base de datos y las
relaciones que unen los datos entre sí.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Arquitectura de un SGBD
• El nivel externo
Este nivel representa la percepción de los datos por cada uno de los
usuarios o programadores, digamos que el usuario no ve todos los datos
que aparecen en el nivel conceptual, sino sólo los que le hacen falta.
Cada esquema externo es un subconjunto del esquema conceptual,
proporciona una visión parcial del mismo. De esta forma se puede
proteger la información reservada a unos pocos usuarios. Para el usuario
no habrá más datos en la bd. que los definidos en su esquema externo.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
El diccionario de datos
Dentro del SGBD, hay una parte que son datos sobre los datos, es una
base de datos en la que se almacena toda la información necesaria para
que el sistema funcione. Esta base de datos es el diccionario de datos y
contiene:
• Las tablas que almacenan las definiciones de los esquemas,
• Las tablas que contienen los códigos de autorizaciones,
• La definición de los aliases,
• La relación entre los distintos usuarios y los esquemas externos
asociados a los mismos.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
Un sistema gestor de base de datos se define como el conjunto de
programas que administran y gestionan la información contenida en una
base de datos. Ayuda a realizar las siguientes acciones:
• Definición de los datos
• Mantenimiento de la integridad de los
datos dentro de la base de datos
• Control de la seguridad y privacidad de
los datos
• Manipulación de los datos
Un sistema gestor de base de datos está
Gráfico - Gestores
compuesto de:
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
• El gestor de la base de datos
Se trata de un conjunto de programas no visibles al usuario final que se
encargan de la privacidad, la integridad, la seguridad de los datos y la
interacción con el sistema operativo. Proporciona una interfaz entre los
datos, los programas que los manejan y los usuarios finales.
Cualquier operación que el usuario hace contra la base de datos está
controlada por el gestor.
El gestor almacena una descripción de datos en lo que llamamos
diccionario de datos, así como los usuarios permitidos y los permisos.
Tiene que haber un usuario administrador encargado de centralizar
todas estas tareas.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
• Diccionario de datos
Es una base de datos donde se guardan todas las propiedades de la base
de datos, descripción de la estructura, relaciones entre los datos, etc.
El diccionario debe contener:
• La descripción externa, conceptual e interna de la base de datos
• Las restricciones sobre los datos
• El acceso a los datos
• Las descripciones de las cuentas de usuario
• Los permisos de los usuarios
• Los esquemas externos de cada programa
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
• Diccionario de datos
Gráfico - Diccionarios
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
• El administrador de la base de datos
Es una persona o grupo de personas responsables del control del
sistema gestor de base de datos.
Las principales tareas de un administrador son:
• La definición del esquema lógico y físico de la base de datos
• La definición de las vistas de usuario
• La asignación y edición de permisos para los usuarios
• Mantenimiento y seguimiento de la seguridad en la base de datos
• Mantenimiento general del sistema gestor de base de datos
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
• Los lenguajes
Un sistema gestor de base de datos debe proporcionar una serie de
lenguajes para la definición y manipulación de la base de datos. Estos
lenguajes son los siguientes:
• Lenguaje de definición de datos (DDL). Para
definir los esquemas de la base de datos
• Lenguaje de manipulación de datos (DML).
Para manipular los datos de la base de datos
• Lenguaje de control de datos (DCL). Para la
administración de usuarios y seguridad en la
base de datos. Imagen – Lenguajes
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Identificación de gestores de bases de datos
Un Sistema Gestor de Base de Datos (SGBD) o DataBase Managenent
System (DBMS) es un sistema que permite la creación, gestión y
administración de bases de datos, así como la elección y manejo de las
estructuras necesarias para el almacenamiento y búsqueda de
información del modo más eficiente posible.
En la actualidad, existen multitud de SGBD y pueden ser clasificados
según la forma en que administran los datos en:
• Relacionales (SQL)
• No relacionales (NoSQL)
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
Desde que se comenzó a usar el modelo de bases de datos relacionales,
en 1970, ha ido sufriendo una serie de transformaciones hasta
convertirse, hoy en día, en el modelo más utilizado para administrar
bases de datos.
Este modelo se basa fundamentalmente en establecer relaciones o
vínculos entre los datos, imaginando una tabla aparte por cada relación
existente con sus propios registros y atributos.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
Los principales Sistemas gestores de bases de datos relacionales (SGBD
SQL) actualmente son:
• MySQL
• MariaDB
• SQLite
• PostgreSQL
• Microsoft SQL Server
• Oracle
Imagen – MySQL
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
MariaDB
Este SGBD es una derivación de MySQL que cuenta con la mayoría de
características de este e incluye varias extensiones. Nace a partir de la
adquisición de MySQL por parte de Oracle para seguir la filosofía Open
Source y tiene la ventaja de que es totalmente compatible con MySQL.
Entre las principales características de este Sistema Gestor de Bases de
datos se encuentran:
• Aumento de motores de almacenamiento
• Gran escalabilidad
• Seguridad y rapidez en transacciones
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
MariaDB
• Extensiones y nuevas características relacionadas con su aplicación
para Bases de datos NoSQL.
No tiene desventajas muy aparentes salvo algunas pequeñas
incompatibilidades en la migración de MariaDB y MySQL o pequeños
atrasos en la liberación de versiones estables.
Imagen – MariaDB
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
SQLite
Más que un Sistema Gestor de bases de datos como tal, SQLite es una
biblioteca escrita en C que implementa un SGBD y que permite
transacciones sin necesidad de un servidor ni configuraciones.
Es una biblioteca utilizada en multitud de aplicaciones actuales ya que es
open source y las consultas son muy eficientes.
Las principales características de SQLite son:
• El tamaño, al tratarse de una biblioteca, es mucho menor que
cualquier SGBD
• Reúne los cuatro criterios ACID (Atomicidad, Consistencia,
Aislamiento y Durabilidad) logrando gran estabilidad
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
SQLite
• Gran portabilidad y rendimiento
La gran desventaja de SQLite es la escalabilidad ya que no soporta bases
de datos que sean muy grandes.
Imagen – SQLite
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
PostgreSQL
Este sistema gestor de base de datos relacional está orientado a
objetos y es libre, publicado bajo la licencia BSD.
Sus principales características son:
• Control de Concurrencias multiversión (MVCC)
• Flexibilidad en cuanto a lenguajes de programación
• Multiplataforma
• Dispone de una herramienta (pgAdmin, https://www.pgadmin.org/)
muy fácil e intuitiva para la administración de las bases de datos.
• Robustez, Eficiencia y Estabilidad.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
PostgreSQL
La principal desventaja es la lentitud para la administración de bases de
datos pequeñas ya que está optimizado para gestionar grandes
volúmenes de datos.
Imagen – PostgreSQL
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
Microsoft SQL Server
Es un sistema gestor de bases de datos relacionales basado en el
lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios
grandes cantidades de datos de manera simultánea.
Es un sistema propietario de Microsoft. Sus principales características
son:
• Soporte exclusivo por parte de Microsoft.
• Escalabilidad, estabilidad y seguridad.
• Posibilidad de cancelar consultas.
• Potente entorno gráfico de administración que permite utilizar
comandos DDL y DML.
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
Microsoft SQL Server
• Aunque es nativo para Windows puede utilizarse desde hace ya un
tiempo en otras plataformas como Linux o Docker.
Su principal desventaja es el precio. Cuenta
con un plan gratuito (Express) pero lo
normal es la elección de alguno de los
planes de pago disponibles (Standard,
Developer, Enterprise o SQL Azure, la
versión de SQL Server en la nube).
Imagen – Micrsoft
SQL Server
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
Oracle
Tradicionamente, Oracle ha sido el SGBD por excelencia para el mundo
empresarial, considerado siempre como el más completo y robusto,
destacando por:
• Soporte de transacciones.
• Estabilidad.
• Escalabilidad.
• Multiplataforma.
Imagen – Oracle
1.5 Identificación y evaluación de productos de
gestores de bases de datos del mercado
Sistemas gestores de bases de datos relacionales (SQL)
Oracle
La principal desventaja, al igual que SQL Server, es el coste del software
ya que, aunque cuenta con una versión gratuita (Express Edition o XE),
sus principales opciones son de pago.
Las opciones de pago disponibles son:
• Standard Edition (SE) • Lite Edition (LE)
• Standard Edition One (SE1) • Entreprise Edition (EE)
• Standard Edition 2 (SE2)
• Personal Edition (PE)
1.6 Definición de necesidades y requerimientos
Requisitos de un SGBD
Los requisitos de hardware para correr un SGBD son los siguientes:
• Costo de software y hardware: Además del coste de comprar el
software, probablemente haya que ampliar o subir de versión el
hardware para que el programa pueda almacenarse y funcione
correctamente, además, si no, el sistema podría degradarse y los
tiempos de respuesta subir drásticamente por la sobrecarga que
añade el SGBD al tener que implementar la segundad, integridad y
datos compartidos Recordemos que estamos hablando de SGBD
grandes, no por supuesto de los de ordenadores personales.
• Coste de migración de aplicaciones: Un coste adicional, también, es
la migración de las aplicaciones para pasar a un entorno integrado.
Las operaciones de respaldo y recuperación de los datos encaso de
fallo son complejas, debido al acceso concurrente de múltiples
usuarios.
1.6 Definición de necesidades y requerimientos
Requisitos de un SGBD
Los requisitos de hardware para correr un SGBD son los siguientes:
• Criticidad del SGBD: La
centralización también
significa que los datos
de la organización, están
almacenados en un
único lugar, en la base
de datos, con lo que
cualquier fallo de
seguridad u operación
del SGBD puede afectar
a toda la organización
(sistemas distribuidos y
compartidos). Gráfico - Requisitos de un SGBD
1.6 Definición de necesidades y requerimientos
Niveles de un SGBD
Hay tres niveles en un SGBD:
• Nivel interno: (Gestor)se encarga de cómo almacenar los ficheros
Es la representación más cercana al almacenamiento físico de los datos.
Permite describirlo tal y como están almacenados. Este nivel se describe
mediante el esquema interno. En este nivel se describen los ficheros que
contienen información, su organización, ubicación, forma de acceso a
sus registros, su longitud, campos que lo componen, índices, etc.
• Nivel lógico: (Programas)controla la gestión de los datos
No se tiene en cuenta la organización física ni los métodos de acceso.
Existe un esquema conceptual.
1.6 Definición de necesidades y requerimientos
Niveles de un SGBD
Hay tres niveles en un SGBD:
• Nivel externo: (Usuarios)realiza el diseño de la base, su apariencia y
forma
Es el nivel más cercano al usuario. Representa la visión individual de un
usuario o grupo de usuarios de la base de datos. En él se describe la
parte de los datos que interesa a un usuario o grupo de usuarios.
Gráfico - Niveles
1.6 Definición de necesidades y requerimientos
Herramientas de Gestión
La gestión es un elemento fundamental que ayuda a toda entidad
empresarial con su desarrollo para el logro de los objetivos que la misma
se propone, pero así como la gestión requiere de una correcta
planificación y ejecución, la misma también necesita de distintas
herramientas que puedan optimizar su desarrollo.
La competencia en el entorno empresarial es parte de la naturaleza de
cada empresa, y la misma dependerá de que las herramientas de gestión
sean las correctas para llevar a cabo el adecuado desarrollo de las
planificaciones correspondientes a los recursos que ayudarán a una
empresa con el logro de cada uno de sus objetivos.
Ahora bien, si hablamos de las herramientas de gestión que más se
utilizan por las empresas actualmente, definitivamente es la tecnología y
sus respectivos avances quienes encabezan y lideran esta lista.
1.6 Definición de necesidades y requerimientos
Herramientas de Gestión
Imagen - Gestión
1.6 Definición de necesidades y requerimientos
Herramientas de programación
Son aquellas que permiten realizar aplicaciones, programas, rutinas,
utilitarios y sistemas para que la parte física del computador u
ordenador, funcione y pueda producir resultados.
Hoy día existen múltiples herramientas de programación en el mercado,
tanto para analistas expertos como para principiantes.
Las herramientas de programación más comunes del mercado, cuentan
hoy día con programas de depuración o debugger, que son utilitarios
que nos permiten detectar los posibles errores en tiempo de ejecución o
corrida de rutinas y programas.
Algunas de las herramientas de programación más importantes y que
más se usan a día de hoy, son:
1.6 Definición de necesidades y requerimientos
Herramientas de programación
1. Compilador: es un programa informático que traduce un programa
escrito en un lenguaje de programación a otro lenguaje de
programación, generando un programa equivalente que la máquina
será capaz de interpretar. Usualmente el segundo lenguaje es
lenguaje de máquina, pero también puede ser simplemente texto.
Este proceso de traducción se conoce como compilación.
Gráfico - Compilador
1.6 Definición de necesidades y requerimientos
Herramientas de programación
2. Intérprete: En computación, intérprete o interpretador es un
programa informático capaz de analizar y ejecutar otros programas,
escritos en un lenguaje de alto nivel. Los intérpretes se diferencian
de los compiladores en que mientras estos traducen un programa
desde su descripción en un lenguaje de programación al código de
máquina del sistema, los primeros (los intérpretes) sólo realizan la
traducción a medida que sea necesaria, típicamente, instrucción por
instrucción, y normalmente no guardan el resultado de dicha
traducción.
Gráfico - Intérprete
1.6 Definición de necesidades y requerimientos
Herramientas de programación
3. Editor de texto: es un programa que permite crear y modificar
archivos digitales compuestos únicamente por texto sin formato,
conocidos comúnmente como archivos de texto o texto plano. El
programa lee el archivo e interpreta los bytes leídos según el código
de caracteres que usa el editor. Hoy en día es comúnmente de 7- ó 8-
bits en ASCII o UTF-8, rara vez EBCDIC.
4. Depurador: es un programa que permite depurar o limpiar los
errores de otro programa informático. Al Iniciarse la depuración, el
depurador lanza el programa a depurar. Éste se ejecuta
normalmente hasta que el depurador detiene su ejecución,
permitiendo al usuario examinar la situación.
El depurador permite detener el programa en:
1.6 Definición de necesidades y requerimientos
Herramientas de programación
• Un punto determinado bajo ciertas condiciones mediante un punto
de ruptura condicional.
• Un momento determinado cuando se cumplan ciertas condiciones.
• Un momento determinado a petición del usuario.
Imagen - Cliente
1.6 Definición de necesidades y requerimientos
Arquitectura, cliente, servidor
¿Qué es una arquitectura?
Debemos señalar que para seleccionar el modelo de una arquitectura,
hay que partir del contexto tecnológico y organizativo del momento y,
que la arquitectura Cliente/Servidor requiere una determinada
especialización de cada uno de los diferentes componentes que la
integran.
Imagen - Cliente
1.6 Definición de necesidades y requerimientos
Arquitectura, cliente, servidor
¿Que es un cliente?
Es el que inicia un requerimiento de servicio. El requerimiento inicial
puede convertirse en múltiples requerimientos de trabajo a través de
redes LAN o WAN. La ubicación de los datos o de las aplicaciones es
totalmente transparente para el cliente.
Gráfico - Cliente
1.6 Definición de necesidades y requerimientos
Arquitectura, cliente, servidor
¿Que es un servidor?
Es cualquier recurso de cómputo dedicado a responder a los
requerimientos del cliente. Los servidores pueden estar conectados a los
clientes a través de redes LANs o WANs, para proveer de múltiples
servicios a los clientes y ciudadanos tales como impresión, acceso a
bases de datos, fax, procesamiento de imágenes, etc.
Imagen - Servidores
1.6 Definición de necesidades y requerimientos
Arquitectura, cliente, servidor
¿Que es un servidor?
• Tipos Comunes de Servidores:
o Servidor de Archivos.
o Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).
o Servidor de Comunicaciones
o Servidor de Impresión.
o Servidor de Terminal.
o Servidor de Aplicaciones.
1.6 Definición de necesidades y requerimientos
Arquitectura, cliente, servidor
¿Que es un servidor?
• Funciones Comunes del Servidor:
o Acceso, almacenamiento y organización de datos.
o Actualización de datos almacenados.
o Administración de recursos compartidos.
o Ejecución de toda la lógica para procesar una transacción.
o Procesamiento común de elementos del servidor (Datos,
capacidad de CPU, almacenamiento en disco, capacidad de
impresión, manejo de memoria y comunicación).
1.6 Definición de necesidades y requerimientos
Red de comunicación
Es todo aquel conjunto de elementos basados en hardware y software
que permite establecer un enlace entre los clientes y los servidores, se
clasifican por su tamaño LAN, MAN y WAN.
FIN DE LA CLASE 2
UNIDAD 1