0% encontró este documento útil (0 votos)
10 vistas5 páginas

PROCESAMIENTO CON BASES DE DATOS SQL Y NoSQL

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas5 páginas

PROCESAMIENTO CON BASES DE DATOS SQL Y NoSQL

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

PROCESAMIENTO CON BASES DE DATOS SQL Y NoSQL

1. Evolución: de ficheros a bases de datos

Muchas bases de datos utilizan un sistema indexado.

Primeras bases de datos:

- Codasyl:
o Los datos no pertenecen a un programa
o Gestión propia de los datos
o 2 lenguajes: DDL(lenguaje de definición de estructuras) y DML (lenguaje de
manipulación)
- Jerárquicas (no se popularizaron):
o Relaciones padre-hijos
o Organización en árbol

Modelo relacional:

Tengo una serie de entidades (clientes, facturas, …) + una serie de relaciones entre ellas. Un
cliente tiene de 1 a más facturas 1:1..N. Ejemplos: 0..1:0..1 (es opcional (0) y como mucho
puede tener 1), M:N (muchos clientes pueden comprar mucho productos)

Hay atributos, un cliente tiene entidades, teléfono, sede social, … pero también hay relaciones
entre los atributos.

Representación gráfica, de manera visual se puede ver el modelo

Los usuarios indican la información a almacenar y lo que quieren consultar

El sistema gestiona el almacenamiento y el acceso a los datos

Cajitas amarillas son las entidades, los rombos las relaciones y las redondas son los atributos
Cualquier atributo que tiene un subrayado es un identificador.

Las entidades siempre se ven en singular, pero representan varias.

Entidad vs instancias: entidad sería libro, y las instancias pueden ser el señor de los anillos,
orgullo y prejuicio, etc..

Ejemplo:

- El departamento de recursos humanos programa entrevistas para los distintos puestos


que requiere la empresa.
- Los puestos son para trabajar en distintos cargos (niveles laborales) y para distintos
departamentos. Los niveles son transversales a la empresa
- Cada entrevista es realizada por uno o más empleados y un candidato. Cada empleado
tiene un rol distinto en la entrevista
- Las entrevistas se realizan en una fecha y duran un tiempo y el resultado puede ser:
descartado, pasa a la siguiente, hacer oferta
- Un candidato puede realizar múltiples entrevistas
Dept. HR  no es una entidad
Departamentos  si
Puestos  si
Entrevistas  puede ser si o puede ser no
Empresa  no

2. Base de datos relacional

Lo que en el modelo relacional son las entidades en las bases de datos son las tablas.

Tablas:

- Estructuras por columnas (atributos)


- Datos organizados por filas (registros)
- Puede tener un identificador de fila (clave primaria)

Columna (Atributo):

- Nombre
- Tipo (varchar, number, date, …)
- Constraints (Restricciones)

Valor:

- Almacenamiento independiente de representación


- Conversión implícita vs. Explicita
- NULL (no es igual a nada)

Foreign key (Relación):

- Las tablas se pueden relacionar


- Por defecto 1:0..N
- Columna(s) en tabla origen indican la fila tabla destino relacionada
- 1:1 mediante clave única
- M:N y atributos de relación mediate tabla intermedia
PROCESO

Modelado: definiciones de estructuras y relaciones

Acceso: Dar permisos de acceso a las estructuras

Operar con los datos: Insertar, modificar o borrar datos. Agrupación en transacciones

Consultar: consultar los datos disponibles

En el momento de modelar hay unas buenas prácticas a seguir:

- Primera (1NF): Las columnas no contienen valores compuestos (ej. Nombre y


apellidos)
- Segunda (2NF): Las claves identificativas compuestas por varias columnas, no
contienen un subconjunto de columnas que también es identificativo
- Tercera (3NF): Los valores de una columna no dependen de otra columna (ej. Libro
tenga columnas relacionadas con el autor)
- Resto (4NF, 5NF, 6NG): Orientadas a evitar que una tabla contenga información de
más de un concepto

Transacciones:

Transacciones son operaciones que se hacen como un bloque

- Atomicity
- Consistency
- Isolation
- Durability

3. SQL

Un solo lenguaje que tiene diferentes bloques:

- DDL (Definition): lenguaje definición de datos


o Create
o Drop
o Alter
o Truncate (eliminar el contenido de una tabla)
- DML (Manipulation): lenguaje para la manipulación de los datos
o Insert
o Update
o Delate
o Lock (bloquear la tabla para que nadie la toque)
- TCL (Transaction control): control de transacción
o Commit
o Savepoint
o Rollback
o Set (Transaction)
- DQL
o Select
- DCL data control language
o Grant
o Revoke (quitar permisos usuarios)

CREATE TABLE:

CREATE TABLE table1(nombre que le quiero dar)

(col1 TYPE NOT NULL, nombre type not null

Col2 TYPE NOT NULL, ubicación type not null

Col3 TYPE NULL, telefono type null

Col4 TYPE NOT NULL DEFAULT val, si no sabemos el valor default val nos crea uno

PRIMARY KEY (col1, col2) todo lo que forme la primary key no puede tener nulos. Es lo que
identifica el registro (puede ser una o más)
FOREIGN KEY (col3) REFERENCES table2(col_pk) para crear relaciones entre tablas

);

Varchar optimiza el espacio segun el tamaño del texto. NOS QUEDAMOS CON ESTE

Chart ocupa el espacio que le ponemos, ej- char(20)

En número el q más se utiliza es en NUMERIC O INTEGRER

En la p pongo cuantas cifras tiene el numero y en la s cuantas de estas son de decimales

Ej. Numeric (6,2)  0,01 o puedo 9999,99

Fecha mejor DATE O DATETIME

¿Cómo insertamos registros en una tabla?

INSERT INTO table1

(col1, col2, col4) -> no hace falta indicar todas las columnas , si una tiene nulos no hace falta
VALUES
(val1, val2, val4);

SELECT(6) – Comando que permite recuperar datos. Resultados que queremos obtener
(obligatorio)

INTO(8) – Dónde dejamos el resultado (opcional, sintaxis no universal)

FROM(1) – Conjunto principal de datos con los que trabajar (obligatorio)

JOIN(2) – Enlace entre conjuntos de datos (opcional)

WHERE(3) – Filtro de datos (opcional)


GROUP BY (4) – Agrupación de datos (opcional)
HAVING(5) Filtro sobre la agrupación (opcional y solo si tiene GROUP BY)

ORDER BY (7) – Ordenación del resultado (opcional)

Los números son el orden que en el que el sistema va a evaluar las ordenes

T1 es un diminutivo de la tabla

/**/ comentario en SQL

Con ON recuperare solo los datos que esten el recuadro verde

Con el LEFT JOIN recuperare los de la A, si no tiene B te da null

Con el RIGHT JOIN recuperare los DE B

También podría gustarte