You are on page 1of 12

27/01/2016

Fundamentos de Bases de datos

Introduccin

Nivelacin - 2016
Ing. Martn Leiva Castillo
martin_leiva@hotmail.com

Objetivos del curso







Disear bases de datos relacionales para el soporte de


sistemas de procesamiento de transacciones
Programar bases de datos transaccionales usando
Microsoft SQL Server 2012
Administrar bases de datos usando Microsoft SQL Server
2012
Disear e implementar bases de datos para el soporte de
toma de decisiones

Principales herramientas


Microsoft SQL Server


Microsoft SQL Server 2012 Express
http://www.microsoft.com/es-es/download/details.aspx?id=29062


AllFusion Erwin Data Modeler 7

27/01/2016

Microsoft SQL Server 2012 Express (1)

Microsoft SQL Server 2012 Express (2)

Ambiente de procesamiento de archivos


REPORTES
ARCHIVO
CLIENTES

PROGRAMA DE
CLIENTES
CONSULTA

REPORTES

Bases de datos

ARCHIVO
PROVEEDORES

PROGRAMA DE
PROVEEDORES
CONSULTA

27/01/2016

Ambiente de procesamiento de archivos




Desventajas


Satisfacen necesidades especficas

Redundancia de datos

Aislamiento de los datos

Difcil acceso a los datos

Problemas de integridad de datos

Ambiente de administracin de datos


DATOS DE
CLIENTES

DATOS
DE
PROVEEDORES

REPORTES
PROGRAMA DE
CLIENTES
CONSULTA

Sistema de gestin
de bases de datos
(DBMS)
Base de datos

REPORTES
PROGRAMA DE
PROVEEDORES
CONSULTA

REPORTES

CONSULTA

Qu es una base de datos?




Es una coleccin de datos interrelacionados almacenados en


conjunto sin redundancias perjudiciales e innecesarias

Su finalidad es la de servir a una o ms aplicaciones de la


mejor manera posible

Los datos se almacenan de modo que resultan


independientes de los programas que los usan

Tipo de bases de datos





Existen varias categorizaciones


Las ms comunes son:



Bases de datos OLTP (On Line Transaction Processing)


Bases de datos OLAP (On Line Analytical Processing)

27/01/2016

Bases de datos OLTP





Bases de datos dinmicas donde la informacin se


modifica en tiempo real
Los datos se insertan, se eliminan, se modifican y se
consultan en lnea durante la operatividad de los sistemas
informticos
Estn diseadas para un mejor desempeo en la insercin,
eliminacin y modificacin de datos

Bases de datos OLAP







Bases de datos estticas donde la informacin no es


afectada en tiempo real
Los datos se consultan para el anlisis y toma de
decisiones
Estn diseadas para un mejor desempeo de las
consultas con grandes volmenes de datos
Los datos que utilizan principalmente se obtienen de las
bases de datos OLTP

Bases de datos OLTP


Logstica

Sistema de
logstica

Ventas

Sistema de
ventas

Personal

Sistema de
personal

Bases de datos OLTP

Sistemas
informticos

Bases de datos OLAP


Logstica

Ventas

Proceso de
extraccin,
transformacin y
carga de datos
(ETL)
Base de datos
OLAP

Personal
Bases de datos OLTP

27/01/2016

Sistema de gestin de base de datos (SGBD)




Database Management System o DBMS

Es un conjunto de programas especializados, diseados para


proveer un ambiente que sea conveniente y eficiente para la
descripcin, proteccin, almacenamiento y acceso a la base
de datos

Funciones de un DBMS


Definir los datos en forma separada a las aplicaciones que


los utilizan

Proporcionar un mtodo para insertar, modificar y eliminar


los datos

Proteger los datos de manera segura, confiable, consistente


y correcto

Permitir que mltiples usuarios compartan los datos

Permitir la recuperacin de los datos mediante un lenguaje


entendible

Permite:


Altos volmenes de informacin

Estructuras de almacenamiento

Manipulacin de datos

Seguridad de los datos almacenados

Mantener la integridad de datos

Beneficios de utilizar un DBMS




Mejora la integridad de los datos

Aumento de accesibilidad de los datos

Mejora en el control de los datos

Facilidad en el desarrollo y administracin de las aplicaciones

Mejora en la seguridad de los datos

Mejora el acceso concurrente

Sistemas de gestin de bases de datos


Logstica
Aplicativo de
logstica

Ventas

DBMS

Aplicativo de
ventas
Aplicativo de
personal

Personal
Consultas
Bases de datos

Programas

27/01/2016

Algunos DBMS

Abstraccin de datos
Visin 1

Visin 2

Visin 3

...

Visin n

Nivel
Conceptual

Nivel Fsico

Lenguajes de bases de datos

Independencia de datos
Visin 1

Visin 2

Visin 3

...


Independencia
Lgica de datos

Nivel
Conceptual


Independencia
Fsica de datos

Nivel Fsico

Lenguaje de definicin de datos (DDL)

Visin n


Sentencias que permiten crear, modificar o eliminar bases de datos

Tambin permiten crear, modificar o eliminar los componentes de


una base de datos (tablas, procedimientos, funciones, vistas, etc.)

Lenguaje de manipulacin de datos (DML)




Sentencias que permiten insertar, modificar y eliminar datos

Tambin permiten consultar datos

Lenguaje de control de datos (DCL)




Sentencias que permiten asignar o quitar permisos de acceso a los


datos

Restringe el acceso a los usuarios

27/01/2016

Administracin de base de datos




Definen el esquema lgico de la base de datos

Definen las estructuras de almacenamiento y los mtodos


de acceso

Modifican el esquema lgico y la organizacin fsica

Autorizan el acceso a los datos

Especifican las restricciones de integridad de datos

Definen y administran los procedimientos de respaldo y


recuperacin de datos

Monitorean el rendimiento de la base de datos

Instalan y configuran los servidores de datos

Modelos de datos

Tipo de modelos de datos

Modelos de datos


Un modelo es una representacin simplificada de la realidad

Un modelo de datos es un conjunto de herramientas


conceptuales que sirven para describir la estructura de una
base de datos

La estructura de la base de datos esta formada por los


datos, los vnculos entre datos, la semntica de datos y las
restricciones que deben de cumplirse para esos datos

Modelos de datos de alto nivel






Modelos de datos de bajo nivel





Modelos de datos conceptuales


Utilizan conceptos como entidades, atributos y relaciones
Modelos Entidad-Relacin
Modelos de datos fsicos
Describen formato de los registros, estructura de archivos y mtodos
de acceso

Modelos de datos de representacin





Modelos de datos de implementacin


Modelos ms comunes:




Modelo relacional de datos


Modelo de red
Modelo jerrquico

27/01/2016

Modelo relacional de datos

Modelo Relacional de Datos

Estructura de una Tabla

Basado en la lgica de predicados y en la teora de conjuntos

Formulado por Edgar F. Codd de IBM en 1970

Es el ms utilizado para modelar y administrar datos

Se basa en el uso de relaciones, que pueden considerarse en


forma lgica como conjuntos de datos llamadas tuplas

Se puede pensar en cada relacin como si fuese una tabla que


esta compuesta de registros (filas) y columnas (campos)

El nmero de filas de una tabla se llama cardinalidad de una


relacin

El nmero de columnas de una tabla se llama grado de una


relacin

Bases de datos relacionales




Columnas, campos o
Atributo


Filas, registros
o tuplas

El modelo relacional considera a la base de datos como una


coleccin de relaciones
Una relacin representa una tabla que no es ms que un
conjunto de filas, cada fila es un conjunto de campos y cada
campo representa un valor que describe el mundo real
Existen dos lenguajes relacionales formales para manipular los
datos:



lgebra relacional, permite describir la forma de realizar una consulta


Clculo relacional, slo indica lo que se desea devolver

El DBMS que gestiona las bases de datos relacionales reciben el


nombre de Sistema de Gestin de Bases de Datos Relacionales
(RDBMS)

27/01/2016

Esquemas

Instancias

Un esquema contiene la definicin de una estructura que


generalmente es una relacin o tabla

Un instancia es la aplicacin de un esquema a un conjunto


finito de datos

Determina la identidad de la relacin y qu tipo de


informacin podr ser almacenada (metadatos)

Es el contenido de una tabla en un momento dato o un


subconjunto de la informacin contenida en una tabla

Consta de:

Nombre o identificador de la relacin

Nombre de los campos de la relacin y sus dominios

El dominio define los valores permitidos en un campo. Se puede


considerar como equivalente el tipo de datos

Dependencias funcionales






Una dependencia funcional es una conexin entre dos o ms


atributos
Se dice que un conjunto de funciones es funcionalmente dependiente
cuando existe una relacin funcional entre ellas
Si y depende funcionalmente de x se denota x
y
Ejemplo: FechaNacimiento
Edad
Propiedades:


Dependencia funcional reflexiva


Si y esta incluido en x entonces x

Algunas columnas de una tabla

Algunas filas de una tabla

La instancia es ms dinmica que el esquema, pues los datos


que se almacenan en la base de datos pueden cambiar con
frecuencia

Normalizacin de base de datos





Es un proceso que consiste en aplicar una serie de reglas a las


relaciones que componen una base de datos relacional
Permiten:


Minimizar la redundancia de los datos

Disminuir problemas de actualizacin de los datos

Proteger la integridad de los datos

Formas normales:


Dependencia funcional aumentativa

Si x

y entonces xz

yz

Dependencia funcional transitiva


Si x

yyy

z entonces x

Primera Forma Normal (1FN)


Segunda Forma Normal (2FN)
Tercera Forma Normal (3FN)
Forma normal de Boyce-Codd (FNBC)
Cuarta Forma Normal (4FN)
Quinta Forma Normal (5FN)

27/01/2016

Consideraciones

Propiedades de las columnas

Cada tabla debe tener un nombre nico

Todos los datos de una columna deben ser del mismo tipo

No pueden haber dos filas iguales

El nombre de la columna es exclusivo en una tabla


Principales propiedades:


Cada fila debe identificarse unvocamente por una columna o


conjunto de columnas llamada clave primaria

La clave primaria puede ser generada mediante una secuencia


numrica incrementada automticamente cada vez que se
inserta una fila







Nombre
Tipo de dato
Longitud
Opcional / obligatorio
Valor predeterminado
Regla de validacin

Restricciones de base de datos

Ejemplo de columnas
Tabla: Alumno
Nombre

Tipo de
dato

Longitud

Obligatorio

codigo

Texto

apellidoPaterno

Texto

30

apellidoMaterno

Texto

30

nombres

Texto

30

fechaNacimiento

Fecha

No

fechaIngreso

Fecha

telefono
hermanos
estado

Texto

10

Nmero
Texto

12

Predeterminado

Una restriccin es una limitacin que obliga el cumplimiento


de ciertas condiciones en la base de datos

Limitan los datos que pueden ser almacenados en las tablas

Son:

Regla de validacin

S
S

Restricciones de dominio

Restricciones de clave

Debe ser mayor a los 15 aos


Fecha del sistema

No

Ingresante

Mayor o igual a 0
Ingresante, Matriculado, Egresado

Los valores de una columna deben ser del mismo tipo de dato

Toda tabla debe tener una clave primaria que identifica a una nica fila de la
tabla

Integridad referencial


Sirve para mantener la consistencia entre filas de dos tablas

10

27/01/2016

Claves








Ejemplo de claves

Una tabla no debe tener filas duplicadas


Una clave candidata es un conjunto de columnas que permiten
identificar a una nica fila de una tabla
Una tabla puede tener una o muchas claves candidatas
La clave primaria es la clave candidata que el diseador de base de
datos escoge para identificar las filas de una tabla
Las claves nicas o claves alternativas son las claves candidatas que
no han sido escogidas como clave primaria
La clave fornea o clave ajena es una referencia a una clave en otra
tabla. Determina la relacin existente entre dos tablas
Una clave compuesta es una clave que esta conformada por ms
de una columna

Claves candidatas

Tabla: Cliente
Codigo

RazonSocial

RUC

Telefono

0001

Representaciones Iigo SAC

0002

Comercializadora de Alimentos SA

5676895847

234576

0003

Diseo y estilos SRL

9860003456

435894

0004

House Center SAC

4536748998

456787

0005

Mundo Informtico SA

3456738344

453677

0006

Corporacin del Bosque SAC

2633295844

334456

Clave primaria

2345567890

453647

Claves nicas

Desarrollo de una Base de Datos

Ejemplo de claves forneas


Tabla: Escuela
Codigo

Captura y anlisis de
requisitos

Nombre

01

Agronoma

02

Biologa

03

Administracin

Diseo Lgico
Seleccin del DBMS

Tabla: Alumno
Codigo

Nombre

CodigoEscu

945678B

RAMIREZ/LOPEZ/VERONICA

956473C

FERNANDEZ/TORRES/MANUEL

02

990045A

LISBOA/CARDENAS/TOMAS

01

Clave primaria

01

034563B

GUINEA/ESTELA/MARIA

03

035466J

CARMONA/AQUILAR/LUIS

03

057839D

DIAZ/CHAVEZ/MARCELA

02

Clave primaria

Diseo Fsico

Construccin de Base
de Datos

Carga de Datos

Clave fornea

11

27/01/2016

Algunos trminos adicionales




Servidor de base de datos




NULL


Valor especial que puede tomar una columna en una fila cuando se
desconoce dicho valor

Bases de datos distribuidas




Computadora donde esta instalado el DBMS

Bibliografa







Apuntes del curso


http://es.wikipedia.org/wiki/Modelo_relacional
http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
http://es.wikipedia.org/wiki/Dependencia_funcional
http://es.wikipedia.org/wiki/L%C3%B3gica_de_primer_orden
http://es.wikipedia.org/wiki/Inferencia

Bases de datos dividida en partes y donde cada una de ellas se ubica


en diferentes computadoras

Migracin de base de datos




Paso de datos de una fuente de datos a una base de datos

12

You might also like