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,140