Repaso

Chuleta de repaso

Resumen de repaso: léelo la víspera, no sustituye al estudio.

Diagrama entidad-relación

  • Entidad □ · Relación ◇ · Atributo ○. Clave subrayada.
  • Multivalorado: óvalo doble. Derivado: óvalo discontinuo. Compuesto: cuelga de sus partes. Opcional: (0,1).
  • (mín,máx) junto a la entidad = en cuántas ocurrencias de la relación participa. Mín 0 = opcional; 1 = obligatoria. Máx 1 o n.
  • 1:1 · 1:N · N:M según los máximos. Grado: binaria, reflexiva (roles), ternaria.
  • Débil: doble rectángulo + doble rombo + clave parcial (subrayado discontinuo).
  • Método: sustantivos → entidades; verbos → relaciones; cardinalidades; atributos y claves; revisar.

E-R → modelo relacional

  • Entidad → tabla (PK = identificador). Compuesto → una columna por parte. Derivado → no se guarda.
  • Multivalorado → tabla (FK + atributo), PK = ambos.
  • Débil → PK = FK propietaria + clave parcial.
  • 1:N → FK en el lado de máximo 1 (+ atributos de la relación).
  • 1:1 → FK (única) en el lado obligatorio (mín 1); si da igual, en cualquiera.
  • N:M / n-aria → tabla nueva con una FK por entidad; PK = combinación.
  • Reflexiva 1:N → FK a la propia tabla. N:M → tabla con 2 FK a la misma tabla.
  • Integridad referencial: RESTRICT · CASCADE · SET NULL · SET DEFAULT.

SQL: SELECT

  • SELECT [DISTINCT] cols FROM t [JOIN t2 ON …] [WHERE …] [GROUP BY … [HAVING …]] [ORDER BY …] [LIMIT n]
  • Orden lógico: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
  • Predicados: IN · BETWEEN · LIKE (% _) · IS [NOT] NULL. Con NULL, = no sirve.
  • Agregados: COUNT(*) cuenta filas; COUNT(col) no cuenta NULL; SUM · AVG · MIN · MAX.
  • WHERE filtra filas; HAVING filtra grupos.
  • JOIN: INNER (solo coincidencias), LEFT (todas las de la izquierda).

SQL: subconsultas

  • IN / NOT IN (lista) · escalar (= (SELECT MAX…)) · > ALL / > ANY.
  • EXISTS / NOT EXISTS (correlacionadas): «existe / no existe alguna fila que…».
  • «Todos» = NOT EXISTS (… NOT EXISTS …).
  • NOT IN con NULL en la lista no devuelve nada.
  • DML: INSERT INTO t (cols) VALUES (…) · UPDATE t SET c=… WHERE … · DELETE FROM t WHERE …

Bases de datos y SGBD

  • BD: integridad, seguridad, persistencia, independencia de datos, menos redundancia.
  • 3 niveles: externo (vistas) · lógico · físico.
  • SGBD: DDL, DML, DCL, integridad referencial, seguridad, concurrencia/transacciones (ACID), recuperación.
  • Relacional: sin tuplas repetidas, sin orden, valores atómicos. NoSQL: clave-valor, documentos, columnas, grafos (BASE).

Codificación

  • m bits → 2m valores. Hex = 4 bits/dígito; octal = 3.
  • Sin signo: 0…2n−1. C2: −2n−1…2n−1−1 (un cero). Signo-mag. y C1: dos ceros.
  • −x en C2 = invertir bits + 1. Overflow: positivos suman negativo.
  • ASCII 7 bits ('A'=65, 'a'=97, '0'=48) · ISO-8859-1 · Unicode (UTF-8 1–4 bytes).
  • IEEE 754: S/E/M; simple 32 (8 exp, sesgo 127), doble 64 (11 exp, sesgo 1023).
  • Imagen: píxeles RGB 24 bits · Audio: muestreo (Hz, bits) · Vídeo: fotogramas + audio + metadatos.

Arquitectura y niveles

  • Von Neumann: CPU + memoria + E/S + buses; programa almacenado (1945).
  • UC (PC, IR) · ALU · registros (MAR, MDR, flags). Ciclo: fetch → decode → execute.
  • Memoria: registros → caché → RAM → SSD/HDD (más rápida = más cara y pequeña). RISC (ARM) vs CISC (x86).
  • Niveles: electrónico → máquina → SO → lenguajes → aplicación; cada capa oculta complejidad y ofrece interfaz.

Sistemas operativos

  • Funciones: procesos, memoria, E/S, ficheros, seguridad, interfaz.
  • Procesos: estados (nuevo, listo, ejecución, bloqueado, terminado), PCB, planificación (FCFS, SJF, Round Robin, prioridades), hilos, deadlock.
  • Memoria: paginación (páginas/marcos), segmentación, memoria virtual, fallo de página, LRU/FIFO.
  • E/S: polling · interrupciones · DMA. Ficheros: contigua · enlazada · indexada. RAID 0/1/5.
  • Tipos: mono/multiusuario, mono/multitarea, lotes, interactivo, tiempo real, distribuido.

Historia y tipos de sistemas

  • Ábaco → Pascalina (1642) → Babbage (Máquina Analítica) + Lovelace → Hollerith (tarjetas) → Turing/Shannon.
  • Z3 (1941, relés) · Mark I (1944) · ENIAC (1945, válvulas) · von Neumann · UNIVAC I (1951).
  • Generaciones: válvulas → transistores → circuitos integrados → microprocesador → PC (años 80) → móviles/nube/IA.
  • Propósito general (PC) vs específico: diseño propio, bus industrial (Modbus, CAN, PROFIBUS), microcontrolador (Arduino, PIC), PC industrial, PLC.