Introducción a Bases de datos
Por Viktor Ml. Justo Vasquez
Que es una Base de datos?
Un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso.
¡¿y ya?!
Mas o menos, desde el punto de vista informático una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.
ahora, ¿Que es un sistema de bases de datos?
Un sistema de bases de datos, es una manera eficiente, confiable, conveniente y segura almacenar y acceder cantidades masivas de información persistente de múltiples usuarios.
Modelo RElacional
En el modelo relacional una base de datos esta diseñada de manera que todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información.
Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real.
modelo de Datos
- Relacional
- De grafo
- No relacional
Esquema de BD
El esquema define la estructura de la base de datos, la manera en como se relacionas las tablas dentro de estas. Y que tipos de datos voy a utilizar para representar cada información.
Por ejemplo, si guardo información de estudiantes puedo tener ID como un entero auto-incrementable o un hash único, Indice si un string o un float, ect...
Conceptos importantes
llave (key): un campo (o combinación de campos) donde cada valor (o combinación de valores) es único.
NULL : valor que toma un campo cuando es desconocido o no asignado.
Ejemplo
Aplicando a una universidad.
Un joven con cédula aplicando a una universidad, le preguntan el pasado académico y algunos hobbies.
Anomalías en el diseño
- Redundancia
- Updates inconsistentes
- Deletes inconsistentes.
Diseño por descomposición
Empezar por una GRAN relación e ir descomponiendo en partes mas pequeñas
Terminamos con una db normalizada en Boyce-Codd
Dependencia Funcional
ejemplo:
Aplica(Cedula, nombreEstudiante, Universidad)
- Redunda, Update & Delete Inconsistentes
dado que Cedula → NombreEstudiante
entonces Cedula es Llave.
- Ya que cada Cedula SIEMPRE ira relacionado con el mismo nombre, pero no viceversa.
- Cedula y nombre del Estudiante solo deberian de estar una vez
Dependencia transitiva
Persona(FechaDeNacimiento, Edad, Conduce)
Si FechaDeNacimiento → Edad y
Edad → Conduce
entonces
FechaDeNacimiento → Conduce
C será un dato simple (dato no primario), B,será un otro dato simple (dato no primario), A, es la llave primaria (PK). Decimos que C dependerá de B y B dependerá funcionalmente de A.
Dependencia Multivalor
Curso(CursoID, Libro, Profesor)
Como cada profesor y cada libro son independientes del otro la tabla tiene dependencia multivalor, si fuéramos a agregar un libro a la clase deberíamos, en ese caso, agregar una linea por cada profesor.
Por ende
CursoID -->> Libro & CursoID -->> Profesor
Normalizacion
1NF: Valores atómicos
2NF: Un solo primary key
3NF: Nada excepto la clave
BCNF: No a las dependencias funcionales
4NF: no la las dependencias multi valores
Introduccion a Bases de datos
By Viktor Ml. Justo Vasquez
Introduccion a Bases de datos
Second Half of the first .NET Class
- 1,180