Bases de Datos Resumidas
Bases de Datos Resumidas
Bases de Datos Resumidas
user_2414776
Bases de Datos
Facultad de Ciencias
Universidad de Cantabria
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
RESUMEN.
-La clave ajena (FOREIGN KEY) delimita los valores que puede tomar la columna. NO siempre
se define sobre una sola columna. NO es una restricción inherente al modelo relacional.
-Relación cardinalidad
-0:1, “cada alumno puede tener o no un avatar y el avatar es único para el alumno”.
-El tipo de dato que ha de tener una columna según los datos que debe almacenar y el tipo de
operaciones que se realizará con ellos.
-Regla de integridad de entidad del MR: ningún atributo de la clave primaria puede ser nulo.
-Índice: estructura de datos adicional (árbol balanceado) para agilizar las consultas e
implementar restricción de unicidad.
-Transacción: conjunto de operaciones que se ejecutan todo o nada. Cumplen ACID (definir).
-Vista: tabla lógica que resulta de la ejecución de una consulta. Puede ser temporal o
persistente. Puede materializarse (guardarse físicamente). Es una consulta que se define sobre
el esquema conceptual para mostrar al usuario/aplicación la información que se requiere.
Puede presentar información repetida.
-Concatenar con espacios: concat(nombre, ‘ ‘, apellido) / nombre+’ ‘+ap. (no sirve para null)
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Comience por vocal: like ‘[aeiou]%’ // es expresión regular (like) si no sería (=)
-Tipo es A o B: tipo in (‘A’, ‘B’) // tipo =’A’ or tipo =’B’// fecha: year() in (f1, f2) SIN COMILLAS
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
-De tres formas diferentes: INNER JOIN: select DISTINCT, IN y EXISTS: where exists (select *
from fabricacion f where e.idempleado=f.idempleado)
-GROUP BY: todos los campos del SELECT no contenidos en una función de agregado
-HAVING COUNT: Obtener el id de los depósitos que han sido usados en un proceso de
group by iddeposito
-LEFT JOIN: incluir también datos de la tabla izqda. sin coincidencias con la tabla dcha.
-Vista:
GO
-Son como tablas, se pueden seleccionar (select * from nombre) e insertar a través de
ellas: INSERT INTO nombre(campo) VALUES (valor).
-Vista actualizable: SELECT no tiene valor agregado (SUM,AVG) ni DISTINCT. Cualquier atributo
que no aparezca en la cláusula SELECT puede definirse como NULL. Cualquier modificación,
UPDATE, INSERT y DELETE, referencia a las columnas de una única tabla base. Las columnas a
modificar no están afectadas por cláusulas GROUP BY, HAVING o DISTINCT. Tienen que estar
todos los campos de la tabla base.
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Vista materializada (Indexed views SCHEMABINDING): es una vista computada y almacenada
(tabla física). Se crea al definir un índice clúster sobre ella. Adecuadas para consultas
frecuentes sobre datos agregados sobre muchas filas. No adecuadas para datos que cambien
frecuentemente (bien para históricos). Limita la modificación de las tablas base incluidas.
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
GO
-Función:
--Retorna escalar:
AS BEGIN
RETURN (select …)
END
GO
1) Implícita
RETURNS TABLE
GO
2) Explícita
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
AS BEGIN // OJO SÍ HAY BEGIN/END
RETURN @nombre
END
GO
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
-Ejecutar: SELECT * from dbo.nombre(param) //retorna TABLA
-Añadir campo/columna: ALTER TABLE table ADD columna tipo check defaul null…
-Procedimiento:
AS
BEGIN TRANSACTION
END TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
EXEC usp_showerrorinfo
END CATCH
GO
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Procedimiento error:
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
CREATE PROCEDURE usp_showerrorinfo
AS
ERROR_LINE() AS [Linea],
ERROR_MESSAGE() AS [Mensaje]
-Disparador:
-Controlar:
AS BEGIN
ROLLBACK TRANSACTION
RAISERROR
END
GO
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Sustituir acción:
AS BEGIN
END
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
GO
-Instead of DELETE: ya hace rollback, pero no lanza errores (no incluir rollback)
-CURSOR: variable que recoge el conjunto de resultados devuelto por un SELECT y permite
volcar cada fila en variables para realizar un tratamiento individualizado de cada una de ellas.
-CLUSTER: el orden de los valores de clave determina el orden físico de las filas
correspondientes de la tabla. NONCLUSTER: el orden lógico es independiente del físico.
-Combinación Múltiple: combinación que relaciona varios campos de más de dos tablas.
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Combinación Externa: da preferencia a una tabla sobre otra, es decir, las filas de la tabla
dominante serán seleccionadas, aunque la condición de enlace no se haya verificado
(LEFT/RIGHT JOIN).
-ALTER TABLE: añade columna a la tabla. WITH CHECK: aplica a todas (con null o default para
filas anteriores). WITH NO CHECK: no aplica a filas ya insertadas.
-UNION: combina resultados de 2 o más consultas, sin incluir duplicados: SELECT(…) UNION
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
SELECT(…). UNION ALL: incluye duplicados.
-EXCEPT: devuelve los valores distintos de la primera consulta que no son devueltos por la
segunda consulta.
-INTERSECT: devuelve los distintos valores que son devueltos por ambas consultas.
-CASE:
SELECT ‘rangoPrecio' =
CASE
ELSE ‘Positivo’
END,
Conceptos cuestionarios:
-Los gestores de BD relacionales garantizan independencia física y lógica. Son el software que
gestiona una o más bases de datos.
-El diseño de una tabla está determinado por la problemática del dominio del problema a
recoger.
-Las restricciones de negocio que dependen del estado de la base de datos se implementan
con disparadores de manipulación de datos.
-El modelo lógico implementado tiene los mismos requisitos y limitaciones que el teórico.
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-PK: no necesita NOT NULL, es redundante.
-Tablas maestras: sirven de infraestructura para la operativa diaria, las que la BD tiene rellenas
antes de poner en marcha el sistema, en general, son aquellas que no tienen FK.
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
-CASCADE: si se hace UPDATE en tabla, se extiende también a FK.
P9:
Login: para conectar a BD: solo usa sus usuarios asignados. Si lo creamos con sysadmin, no hay
Db_datareader: role predefinido que da permisos de lectura (no sirve para func/proc).
T4:
No repudio: monitorización.
T6:
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
Escalamiento horizontal y operaciones ACID: NewSQL.
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Gestión de datos semiestructurados: BD XML.
T5:
Formularios (entrada):
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
ODBC (Microsoft usa C, configuración en aplicación del cliente), JDBC (Java, config. por
código), OLDC (Microsoft para cualquier fuente de datos, no solo BDR).
Servicios web: conexión con otro servidor por sobres (ej: banco).
Resultset JDBC de tipo TYPE_SCROLL_INSENSITIVE puede ver sólo los registros que cumplen
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
las condiciones de la consulta en el momento de ejecutar la consulta.
SQLERROR: NO es clase que proporciona información sobre los errores devueltos por el DBMS.
PreparedStatement: interfaz que ofrece un mejor rendimiento para enviar queries, ya que se
compilan previamente.
Tema 1:
Sistema Gestor de Bases de Datos: programa (o conjunto) para mantener BBDD y responder
eficientemente consultas sobre ellas.
-Nivel externo o de vistas: recoge perspectivas de los usuarios y aplicaciones para cada
proceso (compras, matrícula, expedientes, etc.). Permite ocultar información por
cuestiones de seguridad (Ley de protección de datos, datos sensibles…).
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
Independencia: inmunidad de las aplicaciones ante cambios de la estructura del
almacenamiento y de los métodos de acceso.
-Independencia lógica: capacidad de cambiar el nivel conceptual sin cambiar las vistas
ni los programas de aplicación: añadir restricciones de dominio, nuevos atributos o
relaciones…
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
No usar BDR en: ficheros o NoSQL
Índices: búsquedas más ágiles, aunque suponen una sobrecarga para las actualizaciones de
datos. Sirven para crear un diccionario de datos. Conviene definirlos sobre las columnas con FK
cuando se utilice en consultas (join). Restricciones de unicidad: no permiten repeticiones de un
valor.
Restricciones:
-Fila
-Trigger (disparador)
Propiedades (ACID):
BEGIN TRANSACTION
COMMIT TRANSACTION
ROLLBACK TRANSACTION
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
Elementos de un SGBDR:
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
-Gestor de Transacciones: asegura la Atomicidad y la Durabilidad de las
transacciones a pesar de fallos en el sistema (ej. corte de luz, caída del S.O. ) o
de las transacciones establecidas en los programas.
Tipos de usuario:
-Usuarios especializados (data analysts, data designers): interactúan con el sistema sin
escribir programas, trabajan con el LDD y LMD; herramientas analíticas (OLAP)
Tema 2:
Modelo relacional (MR): sencillo y uniforme (colección de tablas y lenguajes declarativos), bien
fundamentado teóricamente para la independencia lógica y física de los datos.
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Relación = esquema de relación: tiene un nombre de relación R, una cabecera:
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
conjunto de n pares atributo-dominio, un cuerpo o instancia: conjunto de m tuplas, un
esquema: constituido por el nombre de relación y la cabecera, y un estado:
constituido por el esquema y el cuerpo. Se representa mediante una tabla.
Definido por:
Restricciones inherentes: una relación tiene propiedades (está formalizada) que no tiene una
tabla por ser un conjunto:
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Las filas están ordenadas en el orden de grabación física por defecto o según
el valor de la clave primaria.
-En cada celda puede haber uno o varios valores (en este caso se puede
obtener una tabla equivalente que cumple la regla de normalización).
Clave Candidata (CK): conjunto de atributos que identifican unívoca y mínimamente cada tupla
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
de la relación. Una relación tiene 1 o más CK.
-Clave Primaria (Primary Key): clave candidata que el usuario escoge para identificar las
tuplas de la relación. Cuando sólo hay una CK, es la PK.
-Claves Alternativas (Alternative Key): claves candidatas que no han sido escogidas
como clave primaria.
-Clave Ajena (FK): conjunto no vacío de atributos de una relación R2 cuyos valores han de
coincidir con los de una clave candidata de una relación R1 (vínculo de referencia). Las dos
claves se definen sobre el mismo dominio. R1 y R2 puede ser la misma relación.
-Aserción (CREATE ASSERTION): igual que check pero puede afectar a varios
elementos.
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Se pueden definir varios triggers para el mismo evento (definir orden de
ejecución sp_settriggerorder). Sólo puede haber un trigger INSTEAD OF por
tipo de operación. Crean tablas temporales inserted (filas afectadas por el
evento como se quieren guardar en la BD) y deleted (filas con sus valores
anteriores o que se quieren borrar), pueden afectar a una o varias filas. Se
ejecutan transaccionalmente, si hay error se debe gestionar el ROLLBACK
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
BEGIN RAISERROR (‘No puede coincidir el DNI', 16, 1)
ROLLBACK TRANSACTION
RETURN
END
END
R: nombre de la relación
A: atributos
D: dominios
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
1. Representación de la información: toda la información en la BD es representada de
forma explícita y única a nivel lógico, por medio de valores en columnas
2. Acceso garantizado: todo dato (valor atómico) debe ser accesible mediante una
combinación de tabla, un valor de su clave y el nombre de una columna.
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
representa en el nivel lógico igual que los datos ordinarios, de forma que los usuarios
autorizados puedan consultarla con el mismo lenguaje.
12. Regla de no subversión: si el sistema posee un interfaz de bajo nivel, este no puede
utilizarse para saltarse reglas de integridad y restricciones del lenguaje de mayor nivel.
¿No te llega para pagar Wuolah Pro? ¿Un año sin anuncios gratis? ¡Clic aquí!
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529
-Carga de datos y pruebas: validación de requisitos
No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
-Operación: puesta en marcha, mantenimiento y monitorización
-Crear tabla:
);
-Insertar fila:
-Buscar (consulta):
-Modificar filas:
-Borrar:
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4752529