Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Chuleta bases de datos, Apuntes de Introducción a los Sistemas de Gestión de Bases de Datos

Facil de entender y el examen mas de lo mismo

Tipo: Apuntes

2025/2026

A la venta desde 06/02/2026

noaaa.al
noaaa.al 🇪🇸

2 documentos

1 / 25

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
CHULETA EXAMEN ORDINARIA BASES DE DATOS
Tema 6 : Tablas y Indices
1. Creación de base de datos y uso :
Primero : Si no existe la base de datos, la ejecución de esta función da error. Por ello suele
emplearse con la cláusula IF EXISTS.
DROP DATABASE IF EXISTS Nombre-Base-Datos;
Segundo : solo uno de los siguientes
Para la creación de bases de datos se dispone de la función: (1)
CREATE DATABASE Nombre-Base-Datos;
Pero es mejor especificar cuál será el juego de caracteres a emplear: (2) el más usado
CREATE DATABASE Nombre-Base-Datos CHARACTER SET LATIN1 COLLATE
LATIN1_GENERAL_CS;
Es importante especificar que la codificación de los caracteres debe ser UTF8 en el caso de
que los datos de la base de datos se vayan a mostrar en la web. Para ello hay que añadir la
siguiente cláusula. (3)
CREATE DATABASE Nombre-Base-Datos CHARACTER SET UTF8 COLLATE
UTF8_GENERAL_CI;
• Nombre-Base-Datos no puede haber otra base de datos con el mismo nombre (restricciones en cuanto a los
caracteres para conformarlo).
Tercero : Para desactivarlo hay que hacer:
SET SQL_SAFE_UPDATES= 0;
Cuarto:Antes de trabajar con una base de datos, el sistema requiere que se le especifique que
se va a trabar con ella mediante la función:
USE Nombre-Base-Datos;
2. Creación de tablas y uso :
Primero : Si no existe la tabla , la ejecución de esta función da error. Por ello suele emplearse
con la cláusula IF EXISTS.
DROP TABLE IF EXISTS Nombre-Tabla; (1)
- CASCADE: significa que eliminará todos los objetos que dependen de la tabla
DROP TABLE IF EXISTS Nombre-Tabla CASCADE; (2)
Segundo : La creación de una tabla se puede realizar en cualquier momento mediante la
proposición DDL:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Vista previa parcial del texto

¡Descarga Chuleta bases de datos y más Apuntes en PDF de Introducción a los Sistemas de Gestión de Bases de Datos solo en Docsity!

CHULETA EXAMEN ORDINARIA BASES DE DATOS

Tema 6 : Tablas y Indices

1. Creación de base de datos y uso :

Primero : Si no existe la base de datos, la ejecución de esta función da error. Por ello suele emplearse con la cláusula IF EXISTS. DROP DATABASE IF EXISTS Nombre-Base-Datos; Segundo : solo uno de los siguientes Para la creación de bases de datos se dispone de la función: ( 1 ) CREATE DATABASE Nombre-Base-Datos; Pero es mejor especificar cuál será el juego de caracteres a emplear: ( 2 ) el más usado CREATE DATABASE Nombre-Base-Datos CHARACTER SET LATIN 1 COLLATE LATIN 1 _GENERAL_CS; Es importante especificar que la codificación de los caracteres debe ser UTF 8 en el caso de que los datos de la base de datos se vayan a mostrar en la web. Para ello hay que añadir la siguiente cláusula. ( 3 ) CREATE DATABASE Nombre-Base-Datos CHARACTER SET UTF 8 COLLATE UTF 8 _GENERAL_CI;

  • Nombre-Base-Datos no puede haber otra base de datos con el mismo nombre (restricciones en cuanto a los caracteres para conformarlo). Tercero : Para desactivarlo hay que hacer: SET SQL_SAFE_UPDATES= 0 ; Cuarto: Antes de trabajar con una base de datos, el sistema requiere que se le especifique que se va a trabar con ella mediante la función: USE Nombre-Base-Datos;

2. Creación de tablas y uso :

Primero : Si no existe la tabla , la ejecución de esta función da error. Por ello suele emplearse con la cláusula IF EXISTS. DROP TABLE IF EXISTS Nombre-Tabla; ( 1 )

  • CASCADE: significa que eliminará todos los objetos que dependen de la tabla DROP TABLE IF EXISTS Nombre-Tabla CASCADE; ( 2 ) Segundo : La creación de una tabla se puede realizar en cualquier momento mediante la proposición DDL:

CREATE TABLE Nombre-Tabla (Nombre-Columna Tipo-Dato [ DEFAULT Valor] [restric-col], … , [restric-tabla]);

  • Nombre-Tabla no puede haber otra tabla con el mismo nombre (restricciones en cuanto a los caracteres para conformarlo).
  • Nombre-Columna debe ser único en la tabla
  • NOT NULL : cuando no puedan se nulos
  • PRIMARY KEY : clave Indica si la columna es clave primaria o si no puede haber valores repetidos en la columna: [REFERENCES nom-tabla (nom-colum) [ON DELETE CASCADE]] ● nom-tabla(nom-colum) : será de la otra tabla de la que se saca el primary key ● Indica que es una clave externa referenciada a una clave primaria de otra tabla. Si se especifica ON DELETE CASCADE quiere decir que si se borra el valor de la clave primaria referenciada, se eliminarán las tuplas que tengan ese valor como clave externa. [CHECK (condición)] Se comprobará que el dato cumpla esa condición. Algunas de las anteriores también pueden ser especificadas a nivel de tabla, especificando las columnas afectadas.
  • las primary keys pueden ser nombradas al final: PRIMARY KEY ( nom-colum, … )); **TIPOS DE DATOS :
  • Tipo-Dato** especifica el tipo de dato de la columna. Los más usuales suelen ser:
  • CHAR(número) Cadena de caracteres de longitud fija
  • VARCHAR(número) Cadena de caracteres de longitud variable.
  • INT / INTEGER Numérico entero.
  • FLOAT / DOUBLE Numérico en coma flotante.
  • DATE Para fechas.
  • TIMESTAMP Marca temporal. - DEFAULT Valor (numero) permite establecer el valor que tomará el atributo por defecto.

3. Modificación de estructura de una tabla : ( ALTER TABLE )

  • Para añadir columnas: ALTER TABLE nom-tabla ADD nom-columna tipo-dato [NOT NULL] … , …; ALTER TABLE EMPLEADOS ADD INCENTIVO FLOAT DEFAULT 0 ;

Tema 7 : Manipulación de Datos

1. Inserción: INSERT :

Esta instrucción permite la inserción de filas en una tabla: INSERT INTO Nombre-Tabla [(col- 1 , col- 2 , …)] VALUES(valor- 1 , valor- 2 , …);

2. Modificación: UPDATE :

Esta instrucción permite modificar los valores de los campos de los registros: UPDATE Nombre-Tabla SET col- 1 =valor 1 , col- 2 =valor 2 , … WHERE Condición;

  • que se han col- 1 igual que algo se mira con el signo → = y para texto hay que usar ‘ ’ comillas simples.

3. Borrado: DELETE:

Esta instrucción permite eliminar registros de una tabla DELETE FROM Nombre-Tabla WHERE Condición;

  • La condición permite establecer el rango de filas o registros a eliminar, que serán los que la cumplan.
  • Su finalidad es eliminar registros, no el contenido de los atributos de éstos.

4. Seleccion de información : SELECT:

Esta instrucción permite seleccionar registros de una tabla SELECT col- 1 , col- 2 , … FROM Nombre-Tabla[WHERE Condición];

  • Si se quieren seleccionar todas las columnas de la tabla basta con indicarlo poniendo “*”. En función del criterio y columnas a seleccionar, pueden generarse filas duplicadas. Para evitarlo hay que emplear la cláusula DISTINCT. SELECT DISTINCT col- 1 , col- 2 , … FROM Nombre-Tabla;

5. Tratamiento de fechas :

La inserción de una fecha en un campo tipo DATE puede hacerse empleando strings con formato ‘YYYY-MM-DD’. INSERT INTO ALUMNO (FEC-NACIM) VALUES (‘ 1998 - 05 - 12 ’);

  • Para obtener parte de una fecha (año, mes o día) YEAR(campo tipo DATE) selecciona el año MONTH(campo tipo DATE) selecciona el mes MONTHNAME(campo tipo DATE) selecciona el nombre del mes DAY(campo tipo DATE) selecciona el día DAYNAME(campo tipo DATE) selecciona el nombre del día LAST_DAY(campo tipo DATE) selecciona el último día del mes

A modo de ejemplo: SELECT MONTH(FECINIPRO) AS MES FROM PROYECTO; SELECT LAST_DAY(FECINIEMP) AS ULT_DIA FROM PARTICIPA;

  • Para formatear la presentación de una fecha, MySql proporciona una serie de especificadores que se implementan en la función DATE_FORMAT: DATE_FORMAT(campo tipo DATE, formato) El formato puede ser establecido mediante los siguientes especificadores:
  • %d - Día del mes numérico ( 00 ... 31 )
  • %M - Nombre mes (January...December)
  • %b - Nombre mes (Jan, Feb,…, Dec)
  • %m - Mes, numérico ( 00 ... 12 )
  • %W - Nombre día semana (Sunday...Saturday)
  • %Y - Año, numérico, cuatro dígitos
  • %y-Año, numérico (dos dígitos) Algunos ejemplos de empleo de los especificadores SELECT DATE_FORMAT(campo DATE,'%Y/%M/%d’) FROM …; generaría ‘ 1997 /Mayo/ 15 ’ SELECT DATE_FORMAT(campo DATE, '%y-%m-%d') FROM …; generaría ‘ 97 - 05 - 12 ' SELECT DATE_FORMAT(campo DATE,'%W %d %M %Y’) FROM …; generaría 'Tuesday 12 Mayo 1997 ' SELECT DATE_FORMAT(campo DATE,'El año actual es %Y’) FROM …; generaría 'El año actual es 1997 ' Como se puede ver, también admite la inclusión de los separadores / y -. MySql también proporciona una función para calcular la diferencia entre dos fechas: TIMESTAMPDIFF Esta función tiene tres parámetros:
  1. Modo de obtener la diferencia:
    • YEAR diferencia en años.
    • MONTH diferencia en meses.
    • DAY diferencia en días.

Tema 8 : Selección de Datos

1. Selección de filas :

1. 1 .- Condiciones con operadores

Los operadores pueden ser relacionales y/o lógicos:

  • Relacionales:

= Igual >= Mayor o igual

<> Distinto < Menor

¬= Distinto <= Menor o igual

> Mayor

  • Lógicos: AND, OR, NOT

1. 2 .- Por contenido en una lista

Toma el valor verdadero para aquellos registros cuyo valor de columna esta en la lista. SELECT [* / otra cosa] FROM Nom-tabla WHERE columna IN [not] (Elem- 1 , Elem- 2 , …) En este caso únicamente se habría seleccionado la tercera fila. O también sobre el resultado de otra Select. SELECT * FROM ALUMNOS WHERE Localidad NOT IN (SELECT NomLocal FROM LOCALIDADES) AA; Se puede ver que, en el último ejemplo, tras la SELECT se ha incluido un string adicional. Este string es la etiqueta de la instrucción SELECT. La etiqueta tiene por finalidad dar nombre a la selección, de forma que permite referenciar a los atributos seleccionados. Hasta ahora, al trabajar únicamente con una tabla, en la SELECT se omite el nombre de la tabla, aunque realmente debería ser de esta forma: SELECT ALUMNOS.NOMBRE, ALUMNOS.EDAD FROM ALUMNOS;

1. 3 .- Por valor dentro de un rango

Toma el valor verdadero para aquellos registros cuyo valor de columna está entre los dos valores, ambos inclusive. WHERE columna BETWEEN Valor- 1 AND Valor- 2 SELECT * FROM ALUMNOS WHERE Edad [not] BETWEEN 28 AND 40 ;

WHERE Columna LIKE Texto-Selección Para establecer el Texto-Selección pueden emplearse caracteres comodín:

  • % representa cualquier cadena de 0 o más caracteres.
  • _ representa una posición de carácter (es guión bajo).

1. 5 .- Por condición calculada

Sobre columnas numéricas pueden aplicarse filtros o condiciones que impliquen cálculos. Para ello pueden emplearse los operadores matemáticos: + → suma ,- → resta , * → multiplicación y / → división.

1. 6 .- Por valores nulos

Para trabajar con campos cuyo valor es nulo se puede emplear:

  • IS NULL
  • IS NOT NULL

1. 7 .- Por número de filas

Esto permite seleccionar un número concreto de filas. Para ello se emplea la función LIMIT valor

2. Columnas calculadas :

Los SGBDR también implementan una serie de funciones que permiten calcular o transformar los valores de las columnas. SELECT expresión FROM tabla O también, si se quiere dar al resultado un nombre específico SELECT expresión AS nombre-res FROM tabla

ROUND (Variable-Resultado, nº decimales) → Redondear SELECT ROUND ((TOTAL/UNIDADES), 2 )AS PROMEDIO FROM DATOS_GENERALES; TRUNCATE (Variable-Resultado, nº decimales) → Truncar SELECT TRUNCATE ((TOTAL/UNIDADES), 2 )AS PROMEDIO FROM DATOS_GENERALES;

Tema 9 : Selección multitabla

1. Producto cartesiano :

El producto cartesiano es la función más sencilla que permite relacionar dos o más tablas. El resultado es el conjunto de filas que para cada fila de una de ellas genera tantas filas como tenga la segunda fusionando la información en una fila. Esto es, si una de las tablas tiene N filas y la otra M filas , se obtendrán N x M filas.

2. Función INNER JOIN:

La forma más extendida de codificar una instrucción JOIN es la siguiente (puede omitirse la cláusula INNER): SELECT Col- 1 , Col- 2 , … FROM Tabla- 1 INNER JOIN Tabla- 2 ON Condición de emparejamiento WHERE Condición de selección La condición de emparejamiento vincula columnas de ambas tablas, de forma que selecciona las filas de ambas tablas que cumplen la relación entre dichas columnas. De esta forma, el consumo de recursos es mucho menor que si se emplease el producto cartesiano. La condición de selección filtraría las filas seleccionadas en base a este criterio. en este caso no se van a seleccionar todos el de josune no figura en la tabla

en este caso figuran todos el de josune aparecerá con NULL. Al ser Left sera en el contrario osea en

3. Función RIGHT JOIN:

Es la inversa a la LEFT JOIN y garantiza la presencia de los valores de las columnas de todas las filas de Tabla- 2. SELECT Col- 1 , Col- 2 , … FROM Tabla- 1 RIGHT JOIN Tabla- 2 ON Condición de emparejamiento WHERE Condición de selección Para aquellas filas de Tabla- 2 que no se emparejen con las de Tabla- 1 , los valores correspondientes a los atributos de esta tabla se cumplimentan con NULL

4. Función OUTER JOIN:

Este modo de JOIN garantiza la presencia de los valores de las columnas de todas las filas de ambas tablas. En este caso, para aquellas filas de Tabla- 2 que no se emparejen con las de Tabla- 1 , los valores correspondientes a los atributos de esta tabla se cumplimentan con NULL, y al revés, para aquellas filas de Tabla- 1 que no se emparejen con las de Tabla- 2 , los valores correspondientes a los atributos de esta tabla se cumplimentan con NULL. No está implementado en MySql. Si fuera necesario su empleo, habría que recurrir a LEFT JOIN, RIGHT JOIN y la instrucción UNION que se verá en un capítulo posterior.

Tema 10 : Selección avanzada

1. Selecciones por agrupaciones :

Consiste en:

  • Seleccionar filas en base a una condición.
  • Agrupar en base al contenido de las columnas.
  • Seleccionar aquellos grupos que cumplan una determinada condición. El formato de SELECT viene a ser el siguiente: SELECT FROM Tabla WHERE GROUP BY HAVING ORDER BY El orden de aplicación de las cláusulas indicadas es el siguiente:
  1. FROM:Hace una copia de la tabla especificada.
  2. WHERE: Elimina las filas que no satisfagan la condición.
  • IN : Compara un valor con cada valor de una lista devuelta por una

subconsulta. Equivale a =ANY

  • = : Compara un valor con el valor devuelto por una subconsulta.
  • EXIST : Toma el valor verdadero si el resultado de la subconsulta no es vacío.

También puede emplearse NOT EXIST.

4. Instrucción CASE :

4. 2 .- Primer Formato: