Base de Datos *Herramientas para consultas y edición de datos
Conjunto de datos almacenados y organizados con el fin *Interfaz grafica
de facilitar su acceso y recuperación mediante un *Mantener integridad de datos y concurrencia
ordenador. *Control de acceso a usuarios
Ventajas Modelos de base de datos
*Rápidos de actualizar y consultar Representación general → diagrama entidad-relación
*Almacenar y acceder a grandes volúmenes *Nivel conceptual → fácil de entender, sin aspectos
*Fácil acceso desde un sistema informático técnico
*Trabajo simultaneo por varios usuarios *Nivel lógico → estructura de datos, tipos de información
*Seguridad: restricción de uso *Nivel físico → como se guardarán los datos
*Control de redundancia: evitar duplicación de datos
1.Modelo Jerárquico
Etapas de Desarrollo Grandes volúmenes de datos
*Obtención y análisis de requerimientos Estructuras estables
*Diseño del sistema Gran rendimiento
*Desarrollo e implementación del sistema → construye
app → como integrarla en dispositivos Problema
*Pruebas y mantenimiento → estudia funcionamiento → Redundancia de datos, registros duplicados
mejoras
2.Modelo de Red
Tipos de Bases Evolución al modelo anterior
*Estáticas Solución a redundancia de datos
- Solo lectura
- Almacenamiento 3.Modelo Transaccional
Transferencia entre cuentas bancarias
*Dinámicas Envío y recepción de datos
- Pueden actualizarse Poco comunes
- Cambios en registros Alta velocidad
No hay redundancia o duplicación de datos
Teorema de CAP
Es un sistema distribuido no se puede garantizar 4.Modelo Relacional
características anteriores. Problemas reales
Administrar datos
*Consistencia Uso de relaciones
*Disponibilidad Utilización de tablas: como unidad de almacenamiento
*Tolerancia a particiones principal
Bases relacionales Llaves o claves → permiten identificar registros → evitan
→ plan preciso de desarrollo duplicación de datos
→ consistencia de datos
*Primarias
Bases no relacionales Identifican como único cada registro en una tabla
→ sistema distribuido
→ grandes cantidades de datos *Secundarias → foráneas
→ estructura de datos variables Proceden de otra tabla
Establecen relaciones entre 2 tablas
Sistema SGBD
Software que permite administrar bases de datos.
6.Uso y manipulación
Diseño correcto
Evita datos redundantes Índice= permite acceso eficaz a los datos, secuencia de
Errores en producción registro con 2 campos
Cambios en el diseño posteriores
Maximiza rendimiento ENTIDADES
Alumn Id Nombre Apellid Apellid Fecha Matri
alumn 1 2 Nac
Id Nombre Apellid Edad Matrícula Profe Id Nombre Apellid Apellid Cédula
Estudiante
Estudiante o profe 1 2
1 Raúl Rico 35 li-es-001 Curso Id Tema Titulo Durac
curso
2 Juan Pérez 22 li-es-002
Pago Id pago Fecha Concep Monto
3 Raúl Rico 35 li-es-003
Factur Id Fecha RFC Nombre Direc Monto
a factura
Id Tema Título Duración Id
Curso Profesor
Restricciones de integridad
1 Tecnologí Introd a 03:00 2
a Datos *Llaves o claves
Curso
2 Fotografía Fotografía 02:00 3 *Cardinalidad en la relación
De *Restricción de dominios
Retrato
3 Educación Gestión 08:00 2 *Integridad referencial
Escolar
Superior Estudiante
Id_estudiante: int
Id Nombre Apellido Cédula Nombre: varchar(30)
Profesor Apellido_p: varchar (15)
Profesor
1 Manuel Velásque 125966- Apellido_m: varchar(15)
z NM
Dt_nacimiento: date
2 Mónica Torres 892342-EG
Matricula: varchar(18)
3 Cristina Aguirre 357795-VS
Ventajas Pago
Id_pago: int
*Proporcionan herramientas para que no se dupliquen
Dt_pago: date
registros
Concepto: varchar(50)
*Favorece normalización Monto: float
*Garantiza integridad referencial
Factura
Desventajas Id_factura: int
*Presenta deficiencias al trabajar con datos, gráficos, RFC: varchar(12)
multimedia o sistemas de información geográfica Nombre: varchar(100)
*No permite manipular bloques de texto como tipo dato Direccion: varchar(10)
Monto: float
Pasos
1. Análisis de requisitos Curso
→ planificación inicial: objetivos, acciones, sistema, Id_curso: int
cantidad de usuarios Tema: varchar(30)
→ recolección información de uso y requisitos del sistema Titulo: varchar(30)
2.Diseño conceptual Duración: time
→ definir entidades y relaciones
→ crea esquema conceptual Profesor
Id_profesor: int
3.Elección sistema SGBD
Nombre: varchar(30)
4.Diseño lógico
Apellido_p: varchar(15)
5.Diseño físico
Apellido_m: varchar(15)
Cédula: varchar(20) *Compartir y centralizar datos
Ventajas SGBD
*Permiten acceder, modificar o extraer información de Características ACID
datos Atomicidad → Si operación se realizó
*Recuperan la información si el sistema se corrompe Consistencia → Datos permanecen igual después
*Controlan el acceso a los datos cualquier transacción
*Aseguran la integridad de los datos Aislamiento → Cada transacción es independiente
*Realizan copias de seguridad de la base de datos Durabilidad → Operación es permanente
DBMS relacionales Categorías
Oracle DDL → Crear, modificar, eliminar estructuras
MySQL DML → Creación, actualización, eliminación, extracción
DB2 de datos
DCL → Administrar acceso a información
DBMS tradicionales
Modelo Jerárquico MySQL8 (Lenguaje código abierto)
Modelo de Red
Mejoras
DBMS NoSQL → almacén clave-valor *Creación y asignación de roles
No requieren esquemas fijos *Indices
Evitan operaciones JOIN *Persistencia de configuración
Almacenan datos desnormalizados *Conjunto de caracteres
Escalan horizontalmente *Nuevas funciones para validación de esquemas
Ejemplos: CMS vs Frameworks
- MongoDB Joomla CakePHP
- Memcache DB Wordpress Codelgniter
- Redis Drupal Laravel
- Apache Casandra Magento
- HBase
Características
Evolución base datos *Motores de almacenamiento
Perforadora Tarjetas → H. Hollerith *Multiplataforma
Modelo Relacional → E. Frank *Indexación de campos de texto
Sistema SGBD Relacional → L. Ellison *Alto rendimiento y escalabilidad
SQL → IBM *Protección de datos y seguridad
Interfaces Graficas Tipos de Datos
- MySQL Workbench INTEGER → enteros
- PHP MyAdmin Smallint / Tinyint / Mediumint / Bigint
- SequelPro
- Navigate Pto flotante
- CLI Float / Double / Real
Ventajas Bases Datos STRING → cadena de caracteres
*Independencia de datos Char-Varchar / Binary-Varbinary / Enum / Set
*Consistencia, integridad y redundancia datos
*Acceso rápido a datos Text → textos
*Seguridad Tinytext / Text / Mediumtext / Longtext
ZF → zero fill(rellena automáticamente con cero espacios
Pto fijo → exacto a la izquierda)
Decimal (M, O) / Numeric AI → auto_incremental(genera automáticamente valores
numéricos cada vez que se inserta un registro)
BLOB G → generate(permite insertar/modificar valores)
TinyBlob / Blob / MediumBlob / LongBlob sustituye a INSERT / UPDATE
Nombre → VARCHAR(45) FK → foreign key
Estatus → ENUM(“activo”, “desactivo”) *restrict: no modif.
Alergias → SET(“polen”, “hongos”, “ácaros”, “alimentos”) *cascade: borra/actualiza registros de tabla dependiente
Dirección → MEDIUMTEXT *no action
Date → Formato YYYY-MM-DD *set null: establece a null el valor de FK
(1000-01-01 / 9999-12-31)
Datetime → YYYY-MM-DD HH:MM:SS Términos
(1000-01-01 00:00:00 / 9999-12-31 23:59:59) INDEX → acepta duplicados en columnas.
Timestamp → zona horaria UNIQUE → columna debe contener valores únicos.
1970-01-01 00:00:01 UTC / 2038-01-19 03:14:07 UTC FULLTEXT → búsqueda sore columna cadena de
Time → HH:MM:SS -838:59:59 / 838:59:59 caracteres.
Year → YYYY 1901 a 2155 SPATIAL → búsquedas sobre columnas espaciales.
Rangos: 1 a 69 → 2001 a 2069 PRIMARY → valor único, solo 1 por tabla.
70 a 99 → 1970 a 1999 Rol → colección de privilegios asignado a un usuario.
SELECT → extraer resultados.
Tipo JSON → Javascript DUAL → tabla ficticia cuando no hay tablas de referencia.
Formato almacenamiento optimizado WHERE → sentencia que cumple un registro en un criterio
Espacio requirido LONGTEXT / LONGBLOB especifico.
AUTO_INCREMENT → genera automáticamente valores
Datos espaciales numéricos secuenciales de forma ascendente.
Valores {geometry – point – linestring – polygong}
Colección {multipoint – mutilinestring – multipolygong – Operadores Aritméticos → permiten emplear más de una
geometrycollection} condición en clausula WHERE.
TRUE 1
Términos FALSE 2
Llave foránea= 1 o mas columnas de 1 tabla que NULL –
contienen datos que coinciden con la llave primaria de AND && ambas condiciones deben cumplirse
otra tabla. OR ││ puede cumplirse 1 condición o ambas
Charset= conjunto de símbolos de codificaciones. != diferente <>
Collection= conjunto de reglas para comparar caracteres. IS NOT NULL no nulo
Engine= motor almacenamiento encargado de almacenar, XOR se cumple solo 1 condición
manejar, recuperar información de tablas. IN devuelve valores que coinciden
InnoDB= transacciones, claves foráneas y bloqueos.
MyIsam= consultas. FLOOR → devuelve parte entera de un número.
DATEDIFF → cuenta el tiempo transcurrido entre 1era y
Simbología 2da fecha especificada en días.
PK → primary key(registro que no se repite) ABS → devuelve valor absoluto de un número.
NN → not null CEIL → redonde valor hacia arriba.
UQ → unique TRUNCATE → indica cantidad de semanas.
B → binary(cadena de caracteres)
UN → unasigned(sin valores negativos)