Está en la página 1de 17

- Modelado de datos y diagramas ER

Modelo Relacional: En el modelo relacional las dos capas de diseño


conceptual y lógico, se parecen mucho. Generalmente se implementan
mediante diagramas de Entidad/Relación, tablas y relaciones entre éstas. A
las bases de datos relacionales se les denomina así porque almacenan los
datos en forma de “Relaciones” o listas de datos, es decir, en lo que
llamamos habitualmente “Tablas”.
Puntos principales:
- Todos los datos se representan en forma de tablas
- Las tablas están compuestas por filas (o registros) y columnas (o
campos) que almacenan cada uno de los registros.
- Las filas y las columnas, en principio, carecen de orden a la hora de ser
almacenadas
- El orden de las columnas lo determina cada consulta (realizada en SQL)
- Cada tabla debe poseer una clave primaria, esto es, un identificador
único de cada registro compuesto por una o más columnas.
- Para establecer una relación entre dos tablas es necesario incluir, en
forma de columna, en una de ellas la clave primaria de la otra. Esta se
llama Clave Foranea (Foreign Key)
EJEMPLO

Fuente/Mas info: https://www.campusmvp.es/recursos/post/Disenando-una-


base-de-datos-en-el-modelo-relacional.aspx
- Algebra relacional
Operaciones Fundamentales:
Las operaciones fundamentales del Algebra relacional son:
Seleccion σ
Proyeccion π
Union ∪
Diferencia −
Producto cartesiano ×
Renombramiento ρ
A partir de las operaciones fundamentales del Algebra relacional, es posible
generar nuevas que aunque no aumentan poder de expresion si facilitan la
escritura de consultas habituales. Entre estas operaciones estan: Interseccion,
Reunion natural, zeta y externa, division, etc.
- Comando SELECT, clausula FROM, WHERE, GROUP BY, ORDER
BY, HAVING
SELECT es utilizado para recuperar datos de una o más tablas, en otras
palabras, nos permite hacer consultas de los registros de las tablas.
INSERT es utilizado añadir o insertar registros a una tabla creada previamente,
su complemento es Insert into.
UPDATE es utilizado para modificar los datos de un conjunto de registros
existentes en una tabla
DELETE es utilizado para eliminar o borrar todo o una parte de los datos de la
tabla indicada por el argumento especificado después de la palabra clave
FROM.
TRUNCATE es utilizado para borrar todos los registros de una tabla, pero no la
tabla, es decir que quedaría una tabla vacía.

Clausulas básicas
Las cláusulas son condiciones y las utilizamos para especificar los datos que
deseamos seleccionar o manipular.
FROM se utiliza para especificar la tabla de la cual se van a consultar los
registros
GROUP BY se utiliza para separar en grupos específicos los registros
consultados.
ORDER BY se utiliza para ordenar los registros seleccionados tomando en
cuenta los parámetros que le indiquemos.
WHERE Se utilizar para determinar los registros seleccionados con la cláusula
FROM
HAVING es parecida a WHERE, ya que determina qué registros se
seleccionan. Cuando los registros se han agrupado utilizando GROUP BY, la
cláusula HAVING determina cuáles de ellos se van a mostrar.
- Operadores: Lógicos, aritméticos, concatenación, comparación,
conjuntos
Operadores Logicos: AND, OR, NOT.
AND: El operador AND muestra un registro cuando la primera condición y la
segunda se cumplen.
OR: El operador OR, muestra los registros cuando se cumple la primera
condición Ó la segunda.
NOT: Negación lógica. Devuelve el valor contrario de la expresión.
Operadores Aritmeticos: +, -, *, /.
Operadores de Concatenacion: El operador de concatenación es el signo
más (+). Puede combinar, o concatenar, dos o más cadenas de caracteres en
una única cadena. También puede concatenar cadenas binarias.
Operadores de Comparacion:
< Menor que
> Mayor que
<> Distinto de
<= Menor o igual que
>= Mayor o igual que
BETWEEN Intervalo
LIKE Comparación
In Especificar
- Orden de prioridad de los operadore (IMPORTANTE)

- Funciones numéricas de carácter, de fecha, de conversión y


agregadas
NUMERICAS

Función Propósito
ABS(n) Nos devuelve el valor absoluto de n
Nos devuelve el valor entero igual o inmediatamente
CEIL(n)
superior a n
Nos devuelve el valor entero igual o inmediatamente
FLOOR(n)
inferior a n
MOD(m,n) Nos devuelve el resto de la división de m entre n
POWER(m, Calcula la potencia de m elevado a exponente
exponente)
SIGN(valor) Nos devuelve el signo de valor
Función que nos sustituye valor por expresión siempre
NVL(valor, expresión)
que valor sea NULL
ROUND(número[, m]) Nos redondea numero a m decimales
SQRT(n) Nos devuelve la raíz cuadrada de n
TRUNC(número[,m ]) Trunca los números para que tengan m decimales.

De Carácter

Función Propósito
Nos devuelve el carácter cuyo
CHR(n)
valor en binario es n
Nos devuelve cad1 concatenada
CONCAT(cad1, cad2)
con cad2
UPPER(cad) Convierte cad a mayúsculas
LOWER(cad) Convierte cad a minúsculas
Con esta función añadimos
caracteres a cad1 por la
LPAD(cad1,n[,cad2])
izquierda hasta una longitud
máxima dada por n
Convierte la primera letra de cad
INITCAP(cad)
a mayúscula
Elimina un conjunto de
caracteres a la izquierda de cad,
LTRIM(cad [,set])
siendo set el conjunto de
caracteres a eliminar
Con esta función añadimos
caracteres de la misma forma
RPAD(cad1, n[,cad2]) que con la función LPAD pero
esta vez los añadimos a la
derecha
Hace lo mismo que LTRIM pero
RTRIM(cad[,set])
por la derecha
Sustituye un conjunto de
caracteres de 0 o más
REPLACE(cad,cadena_buscada caracteres, devuelve cad con
[,cadena_sustitucion] ) cada ocurrencia de
cadena_buscada sustituida por
cadena_sustitucion
Devuelve la subcadena de cad
que abarca desde m hasta el
SUBSTR(cad, m[,n])
numero de caracteres dados por
n.
Convierte caracteres de una
cadena en caracteres diferentes.
Devuelve cad1 con los caracteres
TRANSLATE(cad1,cad2,cad3)
encontrados en cad2 y
sustituidos por los caracteres de
cad3

FECHA

Función Propósito
SYSDATE Devuelve la fecha del sistema
ADD_MONTHS (fecha, n) Devuelve la fecha incrementada en n meses
Devuelve la fecha del último día del mes que
LAS_DAY (fecha)
contiene fecha
MONTHS_BETWEEN Devuelve la diferencia en meses entre la fecha1 y la
(fecha1, fecha2) fecha2
Devuelve la fecha del primer día de la semana
indicado por cad después de la fecha indicada por
NEXT_DAY (fecha, cad)
fecha. Cad será siempre un día de la semana
escrito con letras, por ejemplo Monday.

CONVERSION
Para realizar cualquier conversión que no se pueda completar implícitamente,
puede usar las funciones CAST o CONVERT .
La función CAST siempre utiliza la configuración de estilo predeterminada. Por
ejemplo, representará fechas y horas utilizando el formato AAAA-MM-DD.
La función CONVERT utiliza el estilo de fecha y hora que especifique. En este
caso, 3 especifica el formato de fecha dd / mm / aa.
Otro ejemplo de una función de conversión es la función PARSE . Esta función
convierte una cadena a un tipo de datos especificado.
En la sintaxis de la función, especifique la cadena que se debe convertir, la
palabra clave AS y luego el tipo de datos requerido.
AGREGADAS
AVG() - La media de los valores
COUNT() - El número de filas
MAX() - El valor más grande
MIN() - El valor más pequeño
SUM() - La suma de los valores
GROUP BY - Es una sentencia que va muy ligada a las funciones agregadas
- Filtros avanzados: IN, OR, NOT, Between, IS NULL
IN: Este operador devuelve aquellos registros cuyo campo indicado coincide
con alguno de los indicados en una lista.
OR: El operador OR, muestra los registros cuando se cumple la primera
condición Ó la segunda.
NOT: Devuelve el valor contrario de la expresión.
Between: Para indicar que deseamos recuperar los registros según el
intervalo de valores de un campo emplearemos el operador Between.
IS NULL: La función de Microsoft ISNULL () se utiliza para especificar cómo
manejar los valores NULL.
- Uso de Subqueries
Una subquery se define como una consulta (query) dentro de otra consulta.
Es posible colocar una subquery dentro de las consultas de tipo SELECT,
INSERT, UPDATE y DELETE. La subquery, por su parte, es siempre una
sentencia SELECT y debe ir encerrada entre paréntesis.
Una subquery que devuelve un valor simple puede ser colocada en
cualquier lugar en que pudiese haber una expresión. Las subconsultas se
tratan como una tabla virtual si van situadas en la clausula FROM. Pero se
pueden situar en la cláusula FROM, WHERE o HAVING de la consulta
principal.
Subconsultas de una sola fila
En este tipo de subquery se considera que se devuelve una sola fila como
un único valor. No se consideran en éste tipo consultas que devuelvan
varias columnas de una sola fila.
Subquery de múltiples filas
Este tipo de subquery devuelve más de una fila como un conjunto de
resultados. Se sitúa, generalmente en las cláusulas WHERE o HAVING.
Dado que devuelven múltiples filas, debemos utilizar algún operador de
comparación de conjuntos (IN, ALL, ANY).
Subquery correlacionada
Las consultas vistas hasta este momento hacen que el resultado de la
columna general dependa de los valores de la subquery. Pero también es
posible hacer que el resultado de la consulta interna dependa de valores
proporcionados por la consulta externa.
Ésto quiere decir que la consulta interna, se ejecuta una vez por cada fila
seleccionada por la consulta principal.
- Consideraciones y mejores prácticas del uso de Subquery

- Unión entre tablas, Cartesian, Joins, Inner Joins, Left, Right and
Full outer Joins
Producto Cartesiano: El producto cartesiano es un tipo de composición de
tablas, aplicando el producto cartesiano a dos tablas se obtiene una tabla
con las columnas de la primera tabla unidas a las columnas de la segunda
tabla, y las filas de la tabla resultante son todas las posibles
concatenaciones de filas de la primera tabla con filas de la segunda tabla.
Join: La sentencia SQL JOIN se utiliza para relacionar varias tablas. Nos
permitirá obtener un listado de los campos que tienen coincidencias en
ambas tablas:
Inner Join: Esta cláusula busca coincidencias entre 2 tablas, en función a
una columna que tienen en común. De tal modo que sólo la intersección se
mostrará en los resultados.
Left Join: A diferencia de un INNER JOIN, donde se busca una intersección
respetada por ambas tablas, con LEFT JOIN damos prioridad a la tabla de
la izquierda, y buscamos en la tabla derecha.
Si no existe ninguna coincidencia para alguna de las filas de la tabla de la
izquierda, de igual forma todos los resultados de la primera tabla se
muestran.
Right Join: En el caso de RIGHT JOIN la situación es muy similar al Left
Join, pero aquí se da prioridad a la tabla de la derecha.
Full outer Join: se encarga de mostrar todas las filas de ambas tablas, sin
importar que no existan coincidencias (usará NULL como un valor por
defecto para dichos casos).
- Sentencia CASE, IF
Case: La declaración de la sentencia CASE en SQL retorna un valor en una
condición especificada. Trataremos de usar una declaración de case en las
consultas que fueron seleccionadas junto con la cláusula Where, Order By y
Group By.
If: Una declaración condicional IF ... ELSE incluida en muchoslenguajes de
programación. IF ... ELSE funciona en expresiones booleanas que resultan
en VERDADERO o FALSO. Además, se pueden realizar diferentes
acciones en resultados de expresiones booleanas.
Diferencias:
1. IF es una declaración lógica para controlar el flujo del lote, mientras que
la declaración CASE determina el valor que se utilizará en una columna.
2. CASE se puede usar dentro de UPDATE / SELECT / ORDER BY para
determinar un valor, mientras que IF no se puede usar
- SENTENCIAS DDL
Las sentencias DDL se utilizan para crear y modificar la estructura de las
tablas así como otros objetos de la base de datos.}
CREATE - para crear objetos en la base de datos.
ALTER - modifica la estructura de la base de datos.
DROP - borra objetos de la base de datos.
TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los
espacios asignados a los registros.
- Vista
Las vistas (“views”) en SQL son un mecanismo que permite generar un
resultado a partir de un pedido (query) almacenado, y ejecutar nuevos
pedidos sobre este resultado como si fuera una tabla normal.

También podría gustarte