Você está na página 1de 42

Clase 15

Bases de Datos
Javier Villanueva G.
Conceptos Básicos
► ¿Qué es un Dato?
 Conjunto de caracteres con algún significado.

► ¿Qué es una Base de Datos?


 Colección ordenada de datos
 Por lo general pertenecen al mismo contexto
 organiza los datos en forma sistemática cosa
que pueda ser consultada posteriormente.
Conceptos Básicos
► ¿Qué es un DBMS o SGBD?
 Es un programa que se ubica entre los usuarios
y los datos como tales.

► ¿Para Qué?
 Para no interactuar directamente con la
información.
 Acceso a la información a nivel lógico.
 Mayor grado de independencia entre las
aplicaciones y la información física.
Conceptos Básicos: DBMS
►… ¿Para Que?
 Menor redundancia de información
 Asegurar la consistencia de los datos
 Seguridad
 Integridad ante fallas (datos malos, fallas de
hardware, etc.)
 Control de Concurrencia
 Eficiencia
DBMS
DBMS
► Los DMBS deben ofrecer:
 DDL (Data Definition Language)
 DVL (Data Visualization Language)
 DCL (Data Control Language)

► SQL(Structured Query Language) es un


lenguaje que contiene todo lo anterior.
DBMS
► DBMS Gratis:
 mySQL
 PostgreSQL
 Firebird
 SQLite

► DBMS Comerciales:
 Oracle
 MS Access
 MS SQL Server
 dBase
 Etc.
Clasificación de Bases de Datos
► Se pueden clasificar según:
 Variabilidad  estáticas/dinámicas
 Contenido  bibliográfica/numérica/texto/
completo/directorios/multimedia/
bibliotecas genéticas/etc.
 Modelamiento de la Información …
Tipos de Bases de datos
► Bases Jerárquicas
 La información se representa con una estructura
de árbol
 Un nodo padre tiene muchos nodos hijos
 Los datos se almacenan como registros (una
fila)
 Los registros se componen de campos
(columnas)
 Un conjunto de registros se llama Fichero.
Tipos de Bases de Datos
► Pros:
 Es muy eficiente pues las relaciones se modelan
a nivel físico
► Contras:
 Las relaciones son unidireccionales  1:N
 Difícil evitar la redundancia  inconsistencias.
Tipos de Bases de Datos
► Bases de Datos de Red
 Igual a las Jerárquicas, pero en vez de árbol se
tienen grafos (dirigidos).

► Pros:
 Soluciona de manera eficiente la redundancia
de datos.
► Contras:
 Información difícil de Administrar dado que no
se abstrae de cómo se almacena físicamente la
información.
Tipos de Bases de Datos
► Bases de Datos Relacionales:
 Son las más populares hoy en día
 Se basa en el modelo de relaciones
 Representa la información como tablas
compuesta de tuplas(filas) y campos(columnas).
 No importa como se maneje físicamente la
información
 La información se puede consultar a través de
SQL.
Tipos de Bases de Datos
► Bases de Datos Orientadas a Objetos:
 Son muy recientes
 Trata de almacenar objetos completos (manteniendo su
comportamiento)
 Las operaciones sobre los datos las efectúan los mismos
objetos y no las aplicaciones que los consultan.

► Pros:
 Permite almacenar datos complejos como imágenes,
videos, sonidos, etc.
► Contras:
 Todavía no existe un lenguaje estándar para realizar las
consultas.
Modelo Relacional
► Una relación se puede ver como una tabla:

nombre apellido nacimiento sexo estado_civil


Manuel Vernard 01-01-1983 M Soltero
Francisca Lund 01-01-1986 F Casado

Tuplas
Atributos

► En el ejemplo, cada fila representa a una persona.


► El nombre de la relación es el nombre que se le da a
la tabla.
► Una tupla puede representarse como:
Persona(nombre,apellido,nacimiento,sexo,estado_civil)
Modelo Relacional
► Para identificar únicamente una tupla se utilizan
las llaves primarias, que no pueden repetirse.
► Por lo general se introduce un valor ficticio como
llave primaria.
► Los atributos se caracterizan por tener un nombre
y un dominio:
 El dominio dice que tipo de información puede
ingresarse para ese atributo.
 Los dominios deben ser “atómicos”
Modelo Relacional
► ¿Qué significa que un dominio debe ser “Atómico”?
 Su valor no puede ser dividido en dominios más
simples.
 Ej: Persona(nombre, apellido, nacimiento, hijos)  mal!
 Una persona puede tener más de un hijo!
 ¿Ej. correcto?
► Persona(*id_persona, nombre, apellido, nacimiento)
► Hijos(*id_persona, *id_hijo, nombre, apellido, nacimiento)

Llave Foranea
Normalización
► Estándar de conversión de relaciones entre
entidades.
► Trata de evitar:
 La redundancia de los datos
 inconsistencias de los datos
►A través de la normalización se llega al
modelo físico de los datos.
► Utiliza las llamadas formas normales (1FN,
2FN, 3FN, 4FN)
Normalización: 1FN
► Todos los dominios son “Atómicos”:
Código Nombre Cursos
1 Marcos Inglés
2 Lucas Contabilidad, Informática
3 Marta Inglés, Contabilidad

Tabla B
Tabla A Código Curso
Código Nombre 1 Inglés
1 Marcos 2 Contabilidad
2 Lucas 2 Informática
3 Marta 3 Inglés
3 Informática
Normalización: 2FN
► Todos los campos dependen directamente de la
clave. Código Empleado Código Dpto. Nombre Departamento Años
1 6 Juan Contabilidad 6
2 3 Pedro Sistemas 3
3 2 Sonia I+D 1
4 3 Verónica Sistemas 10
2 6 Pedro Contabilidad 5

Tabla A
Código Empleado Nombre
1 Juan
2 Pedro
3 Sonia
4 Verónica Tabla C
Código Empleado Código Departamento Años
Tabla B
1 6 6
Código Departamento Dpto.
2 3 3
2 I+D
3 2 1
3 Sistemas
6 Contabilidad 4 3 10
2 6 5
Normalización: 3FN
► los campos de la tabla dependen únicamente de
la clave (no dependen unos de otros).

Código Nombre Curso Aula


1 Marcos Informática Aula A
2 Lucas Inglés Aula B
3 Marta Contabilidad Aula C

Tabla A Tabla B
Código Nombre Curso Curso Aula
1 Marcos Informática Informática Aula A
2 Lucas Inglés Inglés Aula B
3 Marta Contabilidad Contabilidad Aula C
Normalización: 4FN
► paracualquier combinación clave - campo no
existen valores duplicados.
Geometría
Figura Color Tamaño
Cuadrado Rojo Grande
Cuadrado Azul Grande
Cuadrado Azul Mediano
Círculo Blanco Mediano
Círculo Azul Pequeño
Círculo Azul Mediano

Color Tamaño
Figura Color Figura Tamaño
Cuadrado Rojo Cuadrado Grande
Cuadrado Azul Cuadrado Pequeño
Círculo Blanco Círculo Mediano
Círculo Azul Círculo Pequeño
Modelo Entidad-Relación
► Permitediseñar conceptualmente una base
de datos a través de diagramas.
Modelo Entidad-Relación
► Entidad
 cualquier objeto, real o abstracto, que existe en un contexto
determinado o puede llegar a existir y del cual deseamos guardar
información
 Ej: PROFESOR, CURSO, ALUMNO.

► Entidad Fuerte:
 existen por sí mismas
 la existencia de un ejemplar en la entidad no depende de la
existencia de otros ejemplares en otra entidad.
 Ej: EMPLEADO, PROFESOR.
Profesor
► Entidad Débil
 Necesitan la existencia de ejemplares de otras entidades distintas
para existir.
 EJ: VENTA
Venta
Modelo Entidad-Relación
► Atributos
 Propiedades o características de las Entidades.
► Existen varios tipos:
 Obligatorios: tiene que tener un valor
 Opcional: puede no tener ningún valor
 Monoevaluado: tiene un único valor
 Multievaluado: puede tener más de un valor
 Derivados: su valor se puede obtener a partir de otros
atributos
 Compuestos: aquellos que se pueden descomponer en
más atributos.
Modelo Entidad-Relación
► Relación
 vinculación o correspondencia entre entidades.
► Ej:
Modelo Entidad-Relación
► Cardinalidad
 número máximo y mínimo de ejemplares de un
tipo de entidad que pueden estar asociadas,
mediante una determinada relación, con un
ejemplar de otra entidad.
 Pueden ser de la siguiente forma:
(0,n), (n,0), (1,n), (n,1), (0,1), (1,0), (0,0) ó (n,n).
Modelo Entidad-Relación Extendido

► Agregación:

Persona participa Proyecto

supervisa

Organización
Modelo Entidad-Relación Extendido

► Generalización
 identificar atributos comunes entre varias
entidades y factorizarlas.
► Especialización
 definición de subclases a partir de una entidad

Generalización Especialización
Metodología de Diseño
► Identificar las entidades.
► Identificar las relaciones.
► Identificar los atributos y asociarlos a entidades y
relaciones.
► Determinar los dominios de los atributos.
► Determinar los identificadores.
► Determinar las jerarquías de generalización (si las
hay).
► Dibujar el diagrama entidad-relación.
► Revisar el esquema conceptual local con el
usuario.
Ejemplo
► La asociación "Amigos de la Fiesta" desea recoger en una base de datos toda
la información acerca de las corridas de todos que se celebran en España y de
todos los datos relacionados con ellas.
 Se desea tener información acerca de cada corrida, identificada conjuntamente por
un número de orden, la feria en la que se celebra y el año de celebración (por
ejemplo: orden = 2, feria = San Isidro, Año = 1999).
 En una determinada corrida actúan una serie de toreros (mínimo 1 y máximo 3) de
los que desea guardar su DNI, nombre, apodo y fecha en que tomó la alternativa
(fecha en la que se convirtió en matador de toros). Además se desea saber quien
fue el torero que le dio la alternativa (padrino) en su día (un torero puede dar la
alternativa a varios toreros o a ninguno).
 En cada corrida un torero obtiene una serie de premios (cuántas orejas, cuántos
rabos y si salió por la puerta grande o no) de los que se desea mantener
información.
 Cada torero puede tener un apoderado del que es protegido. A su vez, un
apoderado lo puede ser de varios toreros. De él se desea saber su DNI, nombre,
dirección y teléfono.
 Una corrida se celebra en una plaza de toros de la que se desea saber su nombre
que se supone único, localidad, dirección y aforo. En una misma plaza se pueden
celebrar varias corridas de toros.
 En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por
el código de la ganadería a la que pertenece, el año en que nació y un número de
orden. Además se desea mantener información acerca de su nombre y color así
como el orden en que fue toreado.
 Cada toro pertenece a una ganadería determinada. De cada ganadería se pretende
saber su código, localidad y antigüedad (fecha de creación).
Solución
Reducción de E-R a Tablas
► Entidades
 Se genera una tabla con los atributos de una
entidad. La clave primaria de la tabla es la
misma que la de la entidad del modelo E-R.
Reducción de E-R a Tablas
► Entidades Débiles
 se genera una tabla con los atributos de la
entidad débil, mas la clave primaria de la
entidad fuerte. La clave primaria de la tabla
generada por la entidad débil estará formada
por los atributos clave de la entidad débil en el
modelo E-R más los atributos clave de la
entidad fuerte en el modelo E-R.
Reducción de E-R a Tablas
► Relaciones
 Si la relación es del tipo 1:1 y es obligatorio
(total) tipo de participación de ambas
entidades, solo es necesario una tabla con los
atributos de las entidades que participan en la
relación. Como clave primaria se puede tornar
cualquiera de las claves de las entidades.
Reducción de E-R a Tablas
► Relaciones
 Si la relación es del tipo 1:1 y el tipo de participación
de una entidad es obligatoria (total) y el de la otra es
opcional (parcial), son necesarias dos tablas. Cada una
contendrá los atributos de las entidades que participan
en la relación. En la tabla correspondiente a la entidad
con participación obligatoria se añade una columna
que contendrá la clave primaria de la otra entidad
(clave ajena). La clave primaria de cada tabla del
modelo relacional serán las mismas que las de las
entidades asociadas del modelo E-R.
Reducción de E-R a Tablas
► Relaciones
 Si la relación es del tipo 1:1 y el tipo de
participación es opcional (parcial) para las dos
entidades, entonces es necesario generar tres
tablas, una para cada entidad y otra para la
relación que deberá contener como atributos las
claves primarias de las entidades que participan
en la relación.
Reducción de E-R a Tablas
► Relaciones
 Cuando la relación es del tipo 1:N, y la entidad
del lado N es de participación obligatoria (total)
se necesita una tabla para cada entidad. A la
tabla que representa la entidad N se le añade
un atributo que contenga la clave primaria de la
entidad con la que se relaciona (clave ajena).
Reducción de E-R a Tablas
► Relaciones
 Cuando la relación es del tipo 1:N, y la entidad
del lado N es de participación optativa (parcial)
se necesitan tres tablas: una para representar
cada entidad y una para representar la relación.
Reducción de E-R a Tablas
► Relaciones
 Si la relación es del tipo N:M, se generan tres
tablas, una para cada entidad y otra que
contiene los atributos propios de la relación más
la claves primarias de las entidades que
participan en la relación.
Reducción de E-R a Tablas
► Relaciones
 En general, cuando la relación es entre una
entidad fuerte y una entidad débil, no necesita
ser representada en forma de tabla.
Reducción de E-R a Tablas
► Atributos Multievaluados
 Para estos atributos se generan tablas
separadas, con la clave primaria del conjunto
de entidades o relaciones al que pertenecen.
Reducción de E-R a Tablas
► Especialización y Generalización
 Se crea una tabla para el conjunto de entidades
del nivel mas alto.
 Para conjunto de entidades de nivel mas bajo,
se crea una tabla que incluya una columna para
cada uno de los atributos de ese conjunto de
entidades, mas una columna que contendría la
clave primaria del conjunto de entidades de
nivel superior.

Você também pode gostar