Sei sulla pagina 1di 41

TPICOS ESPECIALES EN DISEO DE BASE DE DATOS

1. INTRODUCCIN 2. BASE DE DATOS 3. EL MODELO RELACIONAL 4. MTODO DE OBSERVACIN DIRECTA 5. TALLER PRCTICO

CARLOS FELIPE REYES CONTRERAS

2010

BASE DE DATOS
1. CONCEPTO 2. SISTEMA DE GESTIN DE BASE DE DATOS 3. ABSTRACCIN DE DATOS 4. INSTANCIAS Y ESQUEMAS

SISTEMA DE GESTIN DE BASE DE DATOS


Conjunto de programas para crear (implementar) y mantener una base de datos computarizada

PROGRAMAS

COMPONENTES

INTERFAZ DATOS

Componentes de un SGBD
Usuarios Ingenuos Programadores de aplicacin Usuarios Sofisticados DBA Interfaces de aplicacin Programadores de aplicacin Consultas Planificacin de BD

Precompilador de lenguajes de manipulacin de datos

Procesador de Consultas

Compilador de lenguajes de definicin de datos

Cdigo objeto de programas de aplicacin

Gestor de Archivos

Sistema de Gestin de Bases de Datos

Gestor de Archivos Almacenamiento en disco

Archivo de datos Diccionario de Datos

BASE DE DATOS

Independencia Organizacin

CARACTERSTICAS
ARCHIVOS DE DATOS

Seguridad Escalabilidad

INTRODUCCIN
MUNDO REAL SISTEMA DE INFORMACIN

REPRESENTACIN LGICA

ABSTRACCIN DE DATOS

1. NIVEL FSICO 2. NIVEL CONCEPTUAL 3. NIVEL DE VISIN

OBJETIVOS Y ALCANCES
ENTIDADES 1. Lugares 2. Cosas 3. Personas 4. Concepto ATRIBUTOS

Instancias y Esquemas

BASE DE DATOS

INSTANCIA

estado que presenta una base de datos en un tiempo dado

ESQUEMA DE BASE DE DATOS:

Descripcin de las estructuras que definen la base de datos.

LENGUAJES DE BASE DE DATOS

1. LENGUAJE DE DEFINICIN DE DATOS - DDL 2. LENGUAJE DE MANIPULACIN DE DATOS - DML 3. LENGUAJE DE CONTROL DE DATOS - DCL

MODELO RELACIONAL

1. DEFINICIN 2. DIAGRAMA DE RELACIONES 3. CLAVES 4. GRADO DE RELACIN

DEFINICIN
El modelo relacional de BD se basa en una percepcin de un mundo real que consiste en una coleccin de objetos bsicos llamados entidades, y relaciones entre estos objetos. Una Entidad: es un objeto que es distinguible de otros objetos por medio de un conjunto especfico de atributos.
Atributos Atrib 1 Registros Atrib 2 Atrib 3

DEFINICIN
El modelo entidad relacin (E-R) se basa en una percepcin de un mundo real que consiste en una coleccin de objetos bsicos llamados entidades, y relaciones entre estos objetos. Una Entidad: es un objeto que es distinguible de otros objetos por medio de un conjunto especfico de atributos.
Atributos Atrib 1 Registros Atrib 2 Atrib 3

DIAGRAMA DE RELACIONES

EJEMPLO DIAGRAMA ENTIDAD - RELACIN

TblUsrio CdgoUsu TblTpoUsrio CdgoTpo NmbreTpo NmbreUsu ClveUsu FchaCrcionUsu FchaUltmoUsu Estdousu CdgoPrc (FK) CdgoTpo (FK)

TblTpoUsrioPrcso CdgoTpo (FK) CdgoPrc (FK)

TblPrcso CdgoPrc NmbrePrc NmbreFrmPrc DscrpcionPrc VldarPrc

CLAVES
Claves (Llaves): Atributos que identifican una entidad dentro de un conjunto de entidades. Clave candidata: Atributos que identifican individualmente una entidad. Clave primaria (Llave Primaria): Es la clave candidata escogida por el diseador. Llave fornea: Es un atributo que es llave primaria en otra entidad con la cual se relaciona. Las llaves forneas son las que permiten relacionar las tablas en las bases de datos.

Uno a uno. 1:1. Una entidad del conjunto de entidades E1 se relaciona con una nica entidad del conjunto de entidades E2 y viceversa.

Uno a muchos. 1:n. Una entidad del conjunto de entidades E1 se relaciona con muchas entidades del conjunto de entidades E2 y una entidad del conjunto de entidades E2 solo puede estar relacionada con una entidad del conjunto de entidades E1.

Muchos a muchos. n:n. Una entidad del conjunto de entidades E1 esta relacionada con muchas entidades del conjunto de entidades E2 y viceversa.

FORMAS NORMALES
1. PRIMERA FORMA NORMAL 2. SEGUNDA FORMA NORMAL 3. TERCERA FORMA NORMAL

MTODO DE OBSERVACIN DIRECTA


Se basa en los objetivos y alcances del sistema
1. 2. 3. 4. 5. 6. 7. 8. IDENTIFICACIN DEL MUNDO REAL IDENTIFICACIN DE ENTIDADES TILES IDENTIFICACIN DE ATRIBUTOS TILES SELECCIN DE CLAVES CANDIDATAS CLAVE PRINCIPAL IDENTIFICACIN DE RELACIONES DIRECTAS ENTRE ENTIDADES DEFINICIN DE TIPOS DE RELACIN REPRESENTACIN LGICA DE ENTIDADES RELACIONES DIAGRAMA DE RELACIONES

CASO PROPUESTO
Sistema que facilite el registro y control acadmico de para una universidad

Registro de informacin bsica del estudiante Registro de informacin bsica del docente Registro de la Matrcula del estudiante Asignacin de carga docente Registro de notas parciales segn polticas institucionales Listado de cada asignatura Listado de notas parciales y definitivas Listado de estudiantes clasificado por carrera Un estudiante solo puede cursar un programas acadmicos Un docente puede dictar asignaturas independiente del programa

ENTIDADES

UNIVERSO

IDENTIFICAR ENTIDADES TILES

ENTIDADES
ESTUDIANTE
CDIGO NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

UNIVERSIDAD
ASIGNATURA
CDIGO NOMBRE

DOCENTE
CDIGO NOMBRE CDULA TTULO DIRECCIN TELFONO TIPO

CARRERA

CDIGO NOMBRE ACUERDO ICFES

ENTIDADES TILES ENCONTRADAS

RELACIONES ENTRE ENTIDADES


DETERMINAR SI EXISTEN RELACIONES DIRECTAS ESTUDIANTE ESTUDIANTE ESTUDIANTE DOCENTE DOCENTE CARRERA

? ? ? ? ? ?

ASIGNATURA DOCENTE CARRERA ASIGNATURA CARRERA ASIGNATURA

SI NO SI SI NO SI

TIPO DE RELACIN
ESTUDIANTE
1 N

ASIGNATURA
N 1

DETERMINAR TIPO DE RELACIN

N
ESTUDIANTE
1 N

CARRERA
1 1

DOCENTE
1 N

ASIGNATURA
N 1

CARRERA
1 N

ASIGNATURA
N 1

ESTUDIANTE - ASIGNATURA
ESTUDIANTE
CDIGO-EST NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

ASIGNATURA
1
CDIGO-ASG NOMBRE

EST-ASG
N CDIGO-EST CDIGO-ASG GRUPO NOTADEF N

Las relaciones N N requieren una nueva tabla. En esta tabla como mnimo deben ir las dos claves principales de las Entidades que participan en la relacin; a su vez estas dos claves formarn parte de la clave principal de la relacin. Puede suceder que se requieran atributos adicionales para conformar la clave principal. Tambin es posible que la relacin requiera atributos propios de la relacin; como por ejemplo en este caso los atributos Grupo y Nota Definitiva.

CASOS ESPECIALES
ESTUDIANTE CIUDAD (1 N)
EST-CIUD

1 ESTUDIANTE
CDIGO-EST NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

N 1 CIUDAD
CDIGO-CIU NOMBRE

CDIGO-CIU

Las relaciones 1 N o N 1 no requieren de una nueva tabla. Estas se disuelven. Para disolver esta relacin lo que se hace es adicionar el atributo clave principal de la entidad duea del 1 a la entidad duea de la N.

CASOS ESPECIALES
DOBLE RELACIN ESTUDIANTE CIUDAD (1 N)
1 ESTUDIANTE CIUDAD
CDIGO-CIU NOMBRE

CIUDAD
CDIGO-CIU NOMBRE

CDIGO-EST NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

Ciudad de Nacimiento

Ciudad de Domicilio

CDIGO-CIU-NAC CDIGO-CIU-DOC

CASOS ESPECIALES
DOBLE RELACIN ESTUDIANTE CIUDAD (1 N)
1 ESTUDIANTE
CDIGO-EST NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

CIUDAD
CDIGO-CIU NOMBRE

CDIGO-CIU-NAC CDIGO-CIU-DOC

N N

CASOS ESPECIALES
ESTUDIANTE - ASIGNATURA
1 N

ASIGNATURA
CDIGO-ASG NOMBRE

EST-ASG
CDIGO-EST N CDIGO-ASG GRUPO

ESTUDIANTE
CDIGO-EST NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

NOTADEF

EST-ASG
CDIGO-EST CDIGO-ASG PREVIOS TRABAJOS QUICES FALLAS N

LENGUAJE ESTRUCTURADO DE CONSULTA - SQL


STRUCTURE QUERY LANGUAGE

1. LENGUAJE DE DEFINICIN DE DATOS - DDL 2. LENGUAJE DE MANIPULACIN DE DATOS - DML 3. LENGUAJE DE CONTROL DE DATOS - DCL

LENGUAJE DE MANIPULACIN DE DATOS


DML
SENTENCIA SELECT

1. CONSULTAS DE RECUPERACIN 2. CONSULTAS DE ACCIN


SENTENCIAS: INSERT UPDATE DELETE

SENTENCIA SELECT
SELECT lista de seleccin FROM lista de tablas [WHERE condicin de recuperacin ] [GROUP BY lista de agrupacin ] [HAVING condicin de agrupacin ] [ORDER BY lista de ordenacin]

SENTENCIA SELECT
TABLA.columna [ [AS] alias]

SELECT lista de seleccin FROM lista de tablas

CAMPO [WHERE condicin de recuperacin ] EXPRESIN [GROUP BY * 0.16 (TABLA1.columna + 100) lista de agrupacin ] FUNCIN AGREGADA [HAVING condicin de agrupacin ] [ORDER BY lista de ordenacin]
SUM(expr), MAX(expr), COUNT(*)

SENTENCIA SELECT
SELECT lista de seleccin FROM lista de tablas [WHERE condicin de recuperacin ], tablan tabla1, tabla2, .... [GROUP BY listade agrupacin ] tabla1 [AS] alias1, ... [HAVING condicin de agrupacin ] [ORDER BY lista de ordenacin]

WHERE [Condicin]
Asociar dos tablas por medio de un campo comn

1. CONDICIONES DE RELACIN

n1 Para n tablas condiciones de relacin

2. CONDICIONES DE SELECCIN

Filtrado de registros que cumplen una condicin

CONDICIN
<expresin1> operador <expresin2>

Relacionales: =, <, >, <=, >=, <> Lgicos: AND, OR, NOT

campo [ NOT ] BETWEEN valor1 AND valor2

expresin [ NOT ] IN (valor1, valor2, . . .) Comodines: expresin LIKE modelo %_ *?

APLICACIN

BASE DE DATOS

USUARIO

OBJETOS BD

ESTUDIANTE
CDIGO-EST NOMBRE CDULA FECHA NACIMIENTO DIRECCIN TELFONO

ASIGNATURA
1
CDIGO-ASG NOMBRE

EST-ASG
N CDIGO-EST CDIGO-ASG GRUPO NOTADEF N