Cuestionario Conceptos Fundamentales en Base de Datos
Cuestionario Conceptos Fundamentales en Base de Datos
Cuestionario Conceptos Fundamentales en Base de Datos
Conceptos
Fundamentales en
Base de Datos
Análisis y
Desarrollo de
ADSI
Sistemas de
Información
Se define una base de datos como una serie de datos organizados y relacionados entre sí,
los cuales son recolectados y explotados por los sistemas de información de una empresa
o negocio en particular.
2. ¿Cuáles son las ventajas que ofrece una base de datos en organizaciones que
manejan grandes volúmenes de información?
3. Dibuje un esquema en donde se refleje los elementos que interactúan entre si para
el funcionamiento de una base de datos.
4. Explique a la menor brevedad posible la funcionalidad de los componentes de una
base de datos
Un Sistema Gestor de Base de Datos (SGBD) o DGBA (Data Base Management System)
es un conjunto de programas no visibles que administran y gestionan la información que
contiene una base de datos Los gestores de base de datos o gestores de datos hacen
posible administrar todo acceso a la base de datos ya que tienen el objetivo de servir de
interfaz entre ésta, el usuario y las aplicaciones. Sus funciones principales son:
- Definición de los datos: el SGBD ha de poder definir todos los objetos de la base de
datos partiendo de definiciones en versión fuente para convertirlas en la versión objeto.
- Manipulación de los datos: el sistema de gestión de bbdd responde a las solicitudes del
usuario para realizar operaciones de supresión, actualización y extracción, entre otras. La
administración de los datos ha de realizarse de forma rápida, según las peticiones
realizadas por los usuarios, y permitir la modificación del esquema de la base de datos
gracias a su independencia
- Seguridad e integridad de los datos: además de registrar el uso de las bases de datos,
ante cualquier petición, también aplicará las medidas de seguridad e integridad de los datos
(adopta medidas garantizar su validez) previamente definidas. Un SGBD debe garantizar
su seguridad frente a ataques o simplemente impedir su acceso a usuarios no autorizados
por cualquier razón.
- MySQL
Es el sistema gestor de bases de datos relacional por excelencia.
Es un SGBD multihilo y multiusuario utilizado en la gran parte de las páginas web actuales.
Además, es el más usado en aplicaciones creadas como software libre.
- 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.
- 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.
- PostgreSQL
Este sistema gestor de base de datos relacional está orientado a objetos y es libre,
publicado bajo la licencia BSD.
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.
El modelado de datos es una manera de estructurar y organizar los datos para que se
puedan utilizar fácilmente por las bases de datos. Los datos no estructurados se pueden
encontrar en los documentos de procesamiento de texto, mensajes de correo electrónico,
archivos de audio o vídeo, y programas de diseño.
Una base de datos relacional es una recopilación de elementos de datos con relaciones
predefinidas entre ellos. Estos elementos se organizan como un conjunto de tablas con
columnas y filas. Las tablas se utilizan para guardar información sobre los objetos que se
van a representar en la base de datos. Cada columna de una tabla guarda un determinado
tipo de datos y un campo almacena el valor real de un atributo. Las filas de la tabla
representan una recopilación de valores relacionados de un objeto o una entidad. Cada fila
de una tabla podría marcarse con un identificador único denominado clave principal,
mientras que filas de varias tablas pueden relacionarse con claves extranjeras. Se puede
obtener acceso a estos datos de muchas formas distintas sin reorganizar las propias tablas
de la base de datos.
-SQL
SQL o lenguaje de consulta estructurada es la interfaz principal utilizada para comunicarse
con bases de datos relacionales. SQL se convirtió en un estándar del Instituto Nacional
Estadounidense de Estándares (ANSI) en 1986. Todos los motores de bases de datos
relacionales populares admiten el SQL de ANSI estándar. Algunos de estos motores
también tienen extensión al SQL de ANSI para admitir funcionalidades específicas de ese
motor. SQL se utiliza para agregar, actualizar o eliminar filas de datos, por lo que se
recuperan subconjuntos de datos para aplicaciones de análisis y procesamiento de
transacciones, y para administrar todos los aspectos de la base de datos.
- Transacciones
Una transacción de base de datos es una o más instrucciones SQL que se ejecutan como
una secuencia de operaciones que forman una sola unidad lógica de trabajo. Las
transacciones proporcionan una proposición “todo o nada”, por lo que la transacción
completa se debe completar como una sola unidad y se debe escribir en la base de datos;
de lo contrario, ninguno de los componentes individuales de la transacción debería pasar.
En la terminología de bases de datos relacionales, una transacción genera un COMMIT o
un ROLLBACK. Cada transacción se trata de forma coherente y fiable independiente de
otras transacciones.
10. ¿Describa los tres tipos de cardinalidades que existen en una base de datos?
11. Realice un cuadro comparativo del concepto de llave primaria (PK) y llave foránea
(FK)
12. Consulte las tres formas de normalización dentro del contexto de una base de
datos.
Primera forma
- Eliminar grupos de repetición en tablas individuales.
- Cree una tabla independiente para cada conjunto de datos relacionados.
- Identifique cada conjunto de datos relacionados con una clave principal.
No use varios campos en una sola tabla para almacenar datos similares. Por ejemplo, para
realizar un seguimiento de un elemento de inventario que puede provenir de dos orígenes
posibles, un registro de inventario puede contener campos para el código de proveedor 1 y
el código de proveedor 2.
¿Qué sucede cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta;
requiere modificaciones en el programa y en la tabla y no admite de forma fluida un número
dinámico de proveedores. En su lugar, inserte toda la información del proveedor en una
tabla separada llamada proveedores y, a continuación, vincule inventario a proveedores
con una clave de número de artículo o proveedores al inventario con una clave de código
de proveedor.
Segunda forma
- Crear tablas independientes para conjuntos de valores que se aplican a varios registros.
- Relacione estas tablas con una clave externa.
Los registros no deben depender de nada que no sea la clave principal de una tabla (una
clave compuesta, si es necesario). Por ejemplo, considere la dirección de un cliente en un
sistema de contabilidad. La dirección es necesaria para la tabla clientes, pero también las
tablas pedidos, envíos, facturas, cuentas a cobrar y colecciones. En lugar de almacenar la
dirección del cliente como una entrada independiente en cada una de estas tablas,
almacénela en un lugar, ya sea en la tabla customers (clientes) o en una tabla de
direcciones independiente.
Es posible que sea más factible aplicar la tercera forma normal solo a los datos que cambian
con frecuencia. Si se conservan algunos campos dependientes, diseñe la aplicación para
exigir al usuario que compruebe todos los campos relacionados cuando se modifique
cualquiera de ellos.
Tabla no normalizada:
TABL A 1
Compañero # Asesor Salón de avanzada Class1 Class2 Class3
1022 Pérez 412 101-07 143-01 159-02
4123 Saavedra 216 201-01 211-02 214-01
Las tablas solo deben tener dos dimensiones. Como un estudiante tiene varias clases,
estas clases deben aparecer en una tabla independiente. Los campos Class1, clase2 y
Class3 en los registros anteriores son indicaciones de problemas de diseño. Las hojas de
cálculo suelen usar la tercera dimensión, pero las tablas no deben. Otra forma de analizar
este problema es con una relación de uno a varios, no ponga en el lado uno y en el lado
varios de la misma tabla. En su lugar, cree otra tabla en la primera forma normal
eliminando el grupo extensible (número de clase), como se muestra a continuación:
TABL A 2
Compañero # Asesor Salón de avanzada Tipo #
1022 Pérez 412 101-07
1022 Pérez 412 143-01
1022 Pérez 412 159-02
4123 Saavedra 216 201-01
4123 Saavedra 216 211-02
4123 Saavedra 216 214-01
Deben
TABL A 3
Compañero # Asesor Salón de avanzada
1022 Pérez 412
4123 Saavedra 216
Registro
TABL A 4
Compañero # Tipo #
1022 101-07
1022 143-01
1022 159-02
4123 201-01
4123 211-02
4123 214-01
En el último ejemplo, el salón de avanzada (el número de la oficina del Consejero) depende
funcionalmente del atributo asesor. La solución consiste en mover el atributo de la tabla
Students a la tabla profesores, como se muestra a continuación:
Deben
TABL A 5
Compañero # Asesor
1022 Pérez
4123 Saavedra
Profesor
TABL A 6
Nombre Sala Departamento
Pérez 412 42
Saavedra 216 42