SEGUNDO PARCIAL INFORMATICA II
1. ¿Cuál es la importancia de la definición de una Clave Primaria en una Base de Datos?
La clave primaria, garantiza que cada registro en una tabla sea único. Esto es fundamental
para poder identificar y acceder a los datos de manera precisa. Además, ayuda a mantener la
integridad de los datos, especialmente cuando se establecen relaciones entre tablas. Las
claves primarias se utilizan como referencias en otras tablas (como claves foráneas), lo que
asegura que las relaciones sean válidas. Es un campo/columna de un registro de una tabla que
permite que el registro sea único y no nulo. Permite acceder a datos de manera más precisa.
Buscar rápidamente el registro completo de manera rápida. Eficiente, efectiva y coordinada la
búsqueda de información.
2. ¿Cuál es la importancia de la definición de una Clave Foránea en una Base de Datos?
La clave foránea asegura que las relaciones entre tablas sean coherentes, evitando datos
huérfanos o inconsistencias. Permite también establecer y gestionar relaciones entre
diferentes tablas, lo que es fundamental para modelar datos complejos. Facilita la
normalización de la base de datos, reduciendo la redundancia y mejorando la organización.
La clave primaria se relaciona con la clave foránea de otra tabla para poder relacionar datos
de diferentes tablas.
La clave foránea es una relación entre tablas. Las relaciones pueden ser de 1 a 1 o 1 a N.
3. ¿Qué es una Unión Natural?
Una Unión Natural (NATURAL union) en SQL es un tipo de operación que combina filas
de dos o más tablas basándose en columnas con el mismo nombre y tipo de datos. Esta
operación permite simplificar la consulta de datos relacionados sin necesidad de especificar
explícitamente las columnas que se utilizarán para la unión.
4. ¿Qué es SQL?
SQL es un lenguaje de programación utilizado para gestionar y manipular bases de datos
relacionales.
5. ¿Cuáles son las principales aplicaciones de SQL?
Su función principal es permitir a los usuarios crear, leer, actualizar y eliminar datos en una
base de datos .
6. ¿Qué tipos de comandos SQL (o subconjuntos de SQL) conoces?
Los comandos SQL que conozco son:
Comandos para el control de acceso,
Comandos para control de transacciones,
Comandos para definición de datos
Comandos para la manipulación de datos.
7. ¿Cuáles son los componentes del Lenguaje SQL?
Los componentes del lenguaje son 4, tiene 4 tipos de sentencias: la creación de datos,
definición de estructuras, control de las transacciones y manipular los datos, control de
usuarios: ddl, dcl, dml y tcl . Estos son los distintos lenguajes en los que se subdivide el
SQL. COMMIT control de transacciones. GRANT control de usuarios, CREATE definir
datos, SELECT manipulación de datos.
8. ¿Qué es una sentencia SQL? Pon algunos ejemplos.
Una sentencia SQL es una instrucción escrita en el lenguaje SQL (Structured Query
Language) que se utiliza para interactuar con una base de datos. Estas sentencias permiten
realizar diversas operaciones, como consultar, insertar, actualizar y eliminar datos, así como
gestionar la estructura de la base de datos.
Ejemplos de sentencias son: SELECT, CREATE, DROP, UPDATE, DELETE, COMMIT,
INSERT, ALTER, etc.
9. ¿Qué tipo de Lenguaje es el SQL? ¿De qué generación es?
SQL (Structured Query Language) es un lenguaje de programación declarativo diseñado
para gestionar y manipular bases de datos relacionales. Se utiliza para realizar operaciones
como consultas, inserciones, actualizaciones y eliminaciones de datos, así como para definir
la estructura de las bases de datos.
SQL se considera un lenguaje de cuarta generación (4GL). Los lenguajes de cuarta
generación están diseñados para ser más abstractos y productivos en comparación con los
lenguajes de programación de tercera generación (3GL), como C, Java o Python
10. ¿Hay un solo SQL? ¿Está estandarizado?
No, no hay solo 1. ANSI - SQL es el estándar internacional pero cada Gestor de Base de
Datos le agrega su impronta
11. Explique el concepto de Base de Datos y de un Sistema de Administración de Base de
Datos.
Una base de datos es un conjunto organizado de datos que se almacenan y se gestionan de
manera que puedan ser fácilmente accedidos, modificados y administrados. Los datos en una
base de datos pueden ser de diversos tipos, como texto, números, imágenes, y están
estructurados de manera que permiten relaciones entre ellos.
Un Sistema de Administración de Base de Datos (SGBD) es un software que proporciona
las herramientas necesarias para crear, administrar y manipular bases de datos. Facilita a los
usuarios y a las aplicaciones el acceso a los datos y la realización de diversas operaciones,
como consultas, actualizaciones y eliminación de datos.
12. ¿Qué tipos de Sistema de Administración de Base de Datos conoces?
Los sistemas de Bases de datos pueden ser:
Relacionales: Organizan datos en tablas y permiten relaciones entre ellas.
No Relacionales: Diseñados para manejar grandes volúmenes de datos no estructurados.
Orientada a objetos: Almacenan datos en forma de objetos.
En la Nube: Ofrecen almacenamiento y gestión de datos a través de la nube.
13. ¿Qué es una restricción y por qué utilizar restricciones?
Una restricción en SQL es una regla que se aplica a las columnas de una tabla para limitar el
tipo de datos que se pueden insertar o modificar. Las restricciones ayudan a mantener la
integridad y la calidad de los datos dentro de una base de datos.
Entre ellas se encuentran NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY.
14. ¿Qué restricciones SQL conoces?
Las restricciones SQL que conozco son: NOT NULL, UNIQUE, PRIMARY KEY,
FOREIGN KEY, CHECK.
15. ¿Qué es una unión?
Una unión en SQL es una operación que combina los resultados de dos o más consultas
SELECT en un único conjunto de resultados. Existen diferentes tipos de uniones, pero las
más comunes son UNION y UNION ALL.
UNION: Combina los resultados de dos o más consultas y elimina automáticamente las filas
[Link] las consultas deben tener el mismo número de columnas y las columnas
correspondientes deben ser del mismo tipo de datos o compatible.
UNION ALL: Similar a UNION, pero incluye todas las filas, incluidas las duplicadas.
16. ¿Qué es un esquema?
Un esquema en SQL Developer es una forma de organizar y agrupar objetos de base de datos
relacionados bajo un usuario específico. Proporciona una estructura lógica que facilita la
gestión de datos y la administración de permisos, mejorando así la seguridad y el acceso a los
objetos en la base de datos. la configuración lógica y visual de toda la base de datos
relacional
17. ¿Qué es un comentario SQL? ¿qué tipos de comentarios podemos tener?
Los comentarios SQL son anotaciones en el código que no afectan la ejecución de las
consultas, pero sirven para documentar el código y proporcionar información adicional sobre
su funcionamiento. Los comentarios son útiles para explicar la lógica detrás de las consultas,
hacer notas sobre cambios o proporcionar contexto a otros desarrolladores que lean el código.
- Comentarios de una sola línea (--)
- Comentarios de múltiples líneas (/* */)
18. ¿Qué es un alias?
Un alias en SQL es un nombre temporal que se le asigna a una tabla o a una columna en una
consulta. Los alias se utilizan para simplificar la referencia a estas entidades, mejorar la
legibilidad de las consultas y facilitar el manejo de nombres largos o complicados.
Dos posibles utilidades:
Para columnas: SELECT nombre AS empleado_nombre, salario AS empleado_salario
FROM empleados;
Para tablas: SELECT [Link], [Link] AS departamento FROM empleados e INNER
JOIN departamentos d ON e.departamento_id = [Link];
19. ¿Qué es una cláusula? Da tres ejemplos de cláusulas.
Las cláusulas son elementos fundamentales en SQL que permiten definir y modificar cómo se
obtienen y presentan los datos. Las cláusulas WHERE, ORDER BY, y GROUP BY son 3
ejemplos de cláusulas.
20. ¿Cómo se crea una tabla?
Create table nombre (los nombres columnas)
Ej:
create table libro (
id_libro Number(4) generated always as identity primary key,
titulo Varchar2(30) not null
autor Varchar2(25) not null);
21. ¿Cómo obtener el recuento de registros de una tabla?
Para realizar el recuento de un registro de la tabla se suele utilizar un Count (campo)Ejemplo:
SELECT COUNT(alumnos) from estudiantes. COUNT(*) from …
22. ¿Cómo eliminar una tabla de una base de datos?
Para poder eliminar una tabla de una base de datos se suele utilizar el DROP. A pesar de ello,
también existe la opción de no eliminar la tabla pero si todos sus valores, manteniendo la
estructura de la misma a través de la función TRUNCATE.
DROP TABLE estudiantes;
23. ¿Cómo seleccionar registros comunes de dos tablas?
El INNER JOIN se utiliza para combinar filas de dos o más tablas basándose en una
condición que relaciona las columnas. Este método es útil cuando deseas obtener columnas
específicas de ambas tablas.
select campo from tabla1 1
INNER JOIN tabla2 2 on [Link]=[Link];
24. ¿Cómo se actualiza un registro de una tabla?
UPDATE Nombre_tabla SET campo=nuevo_contenido (todos los registros)
UPDATE Nombre_tabla SET campo=nuevo_contenido where condicion (algunos registros)
25. ¿Qué es la sentencia DISTINCT y cómo se utiliza?
La sentencia DISTINCT en SQL se utiliza para eliminar duplicados de los resultados de una
consulta. Cuando aplicas DISTINCT a una columna o a un conjunto de columnas, solo se
devolverán las filas con valores únicos.
SELECT DISTINCT columna1 FROM Nombre_tabla;
26. ¿Qué son las entidades? Pon algunos ejemplos.
Las entidades en el contexto de bases de datos son objetos o conceptos del mundo real que
tienen una existencia independiente y pueden ser identificados de manera única. En el modelo
de bases de datos, las entidades se representan como tablas, donde cada fila de la tabla
corresponde a una instancia de la entidad y cada columna representa un atributo o
característica de esa entidad. Una tabla llamada ALUMNOS que posea como atributos el
nombre, apellido, id, carrera.
CREATE TABLE Alumnos (
nombre varchar2(30)
La entidad es ALUMNOS.
27. ¿Qué son las relaciones? Pon algunos ejemplos.
Las relaciones en el contexto de bases de datos se refieren a la forma en que las tablas están
interconectadas entre sí. Estas relaciones permiten que los datos se estructuren de manera que
se puedan realizar consultas y mantener integridad. Ejemplos de esta relación puede ser:
- Relación uno a uno: clave primaria y foránea en las dos tablas
- Relación Uno a Muchos: clave primaria en una y clave foránea en otra
- Relación Muchos a Muchos.
28. ¿Qué es un campo definido como IDENTITY?
Un campo definido como IDENTITY en SQL es una característica que permite que una
columna de una tabla genere automáticamente un valor único y secuencial para cada nueva
fila insertada. Esto es especialmente útil para crear claves primarias sin la necesidad de
especificar manualmente un valor para cada registro.
Puede ser GENERATED ALWAYS (siempre genera valor)o GENERATED BY DEFAULT
(genera valor pero también puede darse un valor propio).
29. ¿Qué diferencias hay entre una secuencia y una identidad?
Secuencia: Objeto independiente, se puede usar en múltiples tablas, más flexible y
configurable. Una secuencia es un objeto independiente que genera números en orden
secuencial. No está directamente asociada a una tabla.
Identidad: Propiedad de una columna en una tabla, se genera automáticamente al insertar,
más simple pero menos [Link] columna de identidad es una propiedad de una columna
en una tabla que automáticamente genera un número único para cada fila insertada.
30. ¿Qué es el valor NULL? ¿En qué se diferencia del cero o de un espacio en blanco?
En SQL, el valor NULL representa la ausencia de un valor o un dato desconocido. Es un
concepto importante que se utiliza para indicar que no hay datos disponibles para una
columna específica en una fila.
Definición NULL: NULL indica que no hay valor asignado. No significa cero ni un espacio
en blanco; simplemente es la ausencia de un valor.
Definición CERO: Cero es un valor numérico que indica una cantidad de "cero".
Definición ESPACIO EN BLANCO: Un espacio en blanco es un valor de texto que puede
estar representado como un carácter vacío o una cadena de texto con un espacio
31. ¿Cómo se consideran las diferentes reglas de Negocios cuando se diseña una Base de
Datos?
Las reglas del Negocio a la hora de diseñar una base de datos son fundamentales para
garantizar un diseño y estructura que reflejen los procesos de la organización. Además,
mejoran la eficiencia y la precisión de la misma al tener bien estructurada toda su
información. La base de datos refleja las reglas del Negocio. las reglas de negocio se utilizan
a veces para indicar cómo se pueden y se deben utilizar los datos.
32. ¿De qué formas puedo ligar los datos de dos tablas para mostrarlos?
Para ligar datos de diferentes tablas se suele utilizar el JOIN.
SELECT [Link], [Link] FROM alumno a
JOIN carrera c ON c.id_carrera=[Link];
33. ¿Qué diferencias hay entre las cláusulas Where y Having?
La diferencia que existe entre ellas es a quién está dirigido. Mientras que el where condiciona
un registro, el having condiciona un grupo.
34. ¿Cuáles son las condiciones para utilizar una Unión Natural?
Tiene que tener la misma cantidad de columnas y deben ser de tipos compatibles, y mismo
nombre.
35. ¿Qué es una relación entre Tablas? ¿Cómo se plantea una relación en SQL?
Las relaciones entre tablas son fundamentales en bases de datos relacionales, permitiendo
organizar y acceder a datos de manera eficiente. Estas relaciones se establecen mediante
claves primarias y foráneas, creando conexiones lógicas entre diferentes tablas y facilitando
la integridad referencial.
36. ¿Qué características tienen los Sistemas de Administración de Bases de Datos?
Los sistemas de bases de datos brindan Integridad y Seguridad de Datos, ya que tienen
validaciones y restricciones como las claves foráneas y primarias, y tienen controles de
acceso y permisos para asegurar que la información solo pueda tenerla un usuario autorizado.
Tienen, además, lenguajes de consultas como el SQL, que se combina en el manejo de
concurrencia, permitiendo que más de un usuario pueda acceder a la información al mismo
tiempo sin perjudicar la integridad de los datos.
Pueden brindar una interfaz para el usuario que facilite la visualización de datos, como
también, herramientas de mantenimiento para la base.
37. Si en la unión de dos tablas no indicamos ninguna cláusula where ¿Cuántos registros
devuelve la consulta?
Sin cláusula WHERE, el número de registros devueltos por una unión dependerá de los
datos en las tablas y del tipo de unión:
- UNION: Registros únicos de ambas tablas.
- UNION ALL: Todos los registros de ambas tablas, incluyendo duplicados.
38. ¿Qué es una vista y por qué utilizarla?
Una vista en SQL es una tabla virtual que se basa en el resultado de una consulta. No
almacena datos por sí misma, sino que presenta datos almacenados en una o más tablas. Las
vistas pueden ser utilizadas para simplificar la consulta de datos, mejorar la seguridad y
proporcionar una abstracción.
Las vistas simplifican la administración de permisos y mejora el rendimiento.
CREATE OR REPLACE VIEW Lista_alumnos AS
(Select…..)
39. ¿Qué tipos de relaciones SQL conoces?
- Relación Uno a Uno (1:1) :En esta relación, un registro en una tabla se asocia con
exactamente un registro en otra tabla.
- Relación Uno a Muchos (1:N) :Un registro en una tabla puede estar asociado con
varios registros en otra tabla, pero cada registro en la segunda tabla se relaciona con
solo un registro en la primera.
- Relación Muchos a Muchos (N:N) :Un registro en una tabla puede estar relacionado
con varios registros en otra tabla y viceversa. Para implementar esta relación, se
necesita una tabla intermedia (o de unión).
40. ¿Qué es la normalización en SQL y por qué utilizarla?
Proceso que se aplica a las bases de datos para organizar y estructurar las tablas y evitar la
redundancia o complejidad en los datos y se mejore la integridad de los datos. Este proceso
implica dividir grandes tablas en tablas más pequeñas y definir relaciones entre ellas.
41. ¿Qué es la función CASE ?
La función CASE en SQL es una estructura de control que permite realizar evaluaciones
condicionales en una consulta. Te permite retornar diferentes valores basados en condiciones
específicas, similar a una declaración if-else en otros lenguajes de programación. Es
especialmente útil para modificar o calcular valores en las columnas de los resultados.
42. ¿Cuál es la diferencia entre las sentencias DELETE y TRUNCATE ?
● DELETE: Se utiliza para eliminar filas específicas de una tabla según una condición.
Puedes eliminar una o varias filas, según el criterio que definas en la cláusula
WHERE.
● TRUNCATE: Se utiliza para eliminar todas las filas de una tabla de forma rápida y
sin condiciones. Es una forma de vaciar la tabla por completo.
43. ¿Cuál es la diferencia entre las sentencias DROP y TRUNCATE ?
DROP: Se utiliza para eliminar completamente una tabla (o cualquier otro objeto de la base
de datos, como vistas, índices, etc.) de la base de datos. Esto elimina tanto la estructura de la
tabla como sus datos.
TRUNCATE: Se utiliza para eliminar todas las filas de una tabla, pero mantiene la estructura
de la tabla intacta. Es una forma de vaciar la tabla sin eliminarla.
44. ¿Cómo se añade un registro a una tabla?
INSERT INTO Nombre_tabla (columna1, colum….) VALUES (valor1, valor…)
o
INSERT INTO Nombre_tabla VALUES (valor1, valor…)
45. ¿Cómo se elimina un registro de una tabla?
DELETE FROM Nombre_tabla WHERE cond=cond dada. (borrar 1 fila/registro del total)
DELETE * FROM Nombre_tabla (eliminar todas las filas )
46. ¿Cómo añadir una columna a una tabla?
ALTER TABLE Nombre_tabla ADD (columna tipo_dato);
47. ¿Cómo eliminar una columna de una tabla?
ALTER TABLE Nombre_tabla DROP COLUMN nombre_columna;
48. ¿Cómo impedir registros duplicados al hacer una consulta?
Para impedir los registros duplicados se suele utilizar el GROUP BY así se pueden agrupan
los resultados dada determinada columna.
select a.columna1, b.columna2 from tabla_a a
join tabla_b b on b.columna3=a.columna4
GROUP BY [Link];
49. ¿Cómo buscar los valores de una columna de texto de una tabla que empiezan por una
letra determinada?
SELECT campo FROM Nombre_tabla
WHERE campo LIKE ‘L%’
50. Las siguientes sentencias al ejecutarlas dan error, indica cuáles podrían ser sus causas y
escribe una posible solución al error dado. Justifica tu respuesta
a. INSERT INTO (nombre, apellido) VALUES (“GARCIA” ,”Pedro”);
INSERT INTO Nombre_tabla (apellido, nombre) VALUES (“GARCIA” ,”Pedro”)
En este caso hace falta modificar el orden de los campos y agregar el nombre de la tabla que
se quiere modificar
b. INSERT INTO VALUES (3, “GARCIA”, ”Pedro”);
INSERT INTO Nombre_tabla VALUES (3, “GARCIA”, ”Pedro”);
Este caso solamente funcionará si hay solamente tres campos y se decretan por default y
están en el orden preestablecido o porque son más pero los no establecidos se generan
automáticamente.
c. DELETE alumnos WHERE legajo=3;
DELETE FROM alumnos WHERE legajo=3
d. SELECT nombre, apellido FROM alumnos GROUP BY apellido;
SELECT nombre, apellido FROM alumnos ORDER BY apellido;