BASE DE DATOS I

Download Report

Transcript BASE DE DATOS I

BASE DE DATOS I
LSCA. Luis Alberto Lopez Camara
[email protected]
2291642105 movistar
2291570694 Telcel
[email protected] Messenger
1. Introducción a las Bases de
Datos
• ¿Qué es una Base de Datos?
“Una colección de datos lógicamente relacionados”
(Elmasri/Navathe)
• El sistema computacional que permite que un
conjunto de datos pueda ser mantenido y que esté
disponible cuando se requiera, se conoce como el
Sistema de Bases de Datos.
Base de datos
Una base de datos es una colección de archivos
relacionados con la finalidad de permitir el
manejo
de
la
información
para
su
procesamiento. Cada uno de dichos archivos
pueden ser vistos como una colección de
registros y cada registro está compuesto de una
colección de campos. Cada uno de los campos
de cada registro permite llevar información de
alguna característica o atributo de alguna
entidad del mundo real.
Sistema de Base de Datos
Un sistema de Base de Datos posee cuatro
componentes principales: la información, el equipo, los
programas y los usuarios
Programas de aplicación
Base de
datos
Usuarios Finales
¿Por qué utilizar un Sistema de Base
de Datos?
• Un sistema de Base de Datos ofrece a la
organización un control centralizado de su
información.
• Esto contrasta con un enfoque de archivos donde
cada aplicación tiene sus propios datos (archivos),
de modo que los datos están dispersos y difíciles de
controlar
Ventajas del enfoque de Base de Datos
• Disminución de redundancias de datos
• Evitar inconsistencias de datos
• Compartir datos
• Mantener la integridad
• Es posible definir y aplicar restricciones de
seguridad
• Independencia de datos.
Independencia de Datos
• Se define como “la inmunidad de las
aplicaciones ante cambios en la estructura de
almacenamiento y en la técnica de acceso a
los datos” (C. J. Date)
• O sea, las aplicaciones no dependen de la
estructura o técnica de acceso de los datos
• Para lograr este objetivo se concibe un
sistema de base de datos como una
arquitectura de tres niveles.
Arquitectura de tres niveles
• Nivel Interno: Más cercano al almacenamiento físico, o
sea se ocupa de cómo se almacenan
físicamente los datos.
• Nivel Conceptual: Es el nivel intermedio entre los otros
dos y presta una vista global o
comunitaria de los datos.
• Nivel Externo: Más cercano a los usuarios, se ocupa
de cómo los usuarios perciben los
datos (vistas individuales)
Arquitectura de 3 niveles
• El Esquema Interno describe la estructura física
de almacenamiento de la base de datos.
• El Esquema Conceptual describe la estructura de
toda la base de datos para una unidad de usuarios.
Describe entidades, atributos, vínculos, restricciones,
operaciones, etc.
• Esquema externo o vista de usuario describe la
parte de la base de datos que interesa a un grupo de
usuarios oculta a ese grupo el resto.
Características de la arquitectura de
tres niveles
• El objetivo de la arquitectura de tres niveles es la
separación entre las aplicaciones de usuario y la base
de datos física.
• Los tres esquemas (que corresponden a los tres
niveles) son sólo una forma de descripción de los
datos. Los únicos datos que existen están en el nivel
físico.
•Aunque algunos SGBD (Sistemas de Gestión de Base
de Datos) se basan en la arquitectura de tres niveles
no es fácil distinguir en ellos estos tres niveles.
Transformación de solicitudes entre
esquemas
• En un SGBD los usuarios hacen referencia sólo
a su esquema externo de base de datos, por lo
que al SGBD debe transformar una solicitud
expresada en “esquema externo” a “esquema
conceptual” y posteriormente a “esquema
interno” que actuará sobre los datos
almacenados.
• El proceso de transformar solicitudes de un
esquema
a
otro
se
conoce
como
correspondencia o mapping.
ARQUITECTURA DE TRES NIVELES
(Ejemplo)
Listado de alumnos por Asignatura
NIVEL EXTERNO
Asignatura de un Alumno
Alumno
Matricula
Cursa
Matricula
CveMateria
CveMateria
NomMateria
Nombre
Licenciatura
Semestre
Grupo
Asignatura
Creditos
NIVEL CONCEPTUAL
NIVEL INTERNO
Modelos de Bases de Datos
• Los sistemas de bases de datos pueden clasificarse de
acuerdo a las estructuras de datos y a los operadores
presentados al usuario.
• Entre los sistemas más antiguos se encuentran los modelos
de Red y Jerárquicos (pre-relacionales).
• Uno de los modelos más importantes es el Modelo
Relacional aparecido en los 70.
• Posteriormente aparecen los llamados sistemas postrelacionales entre los se cuentan:
• Sistemas Relacional Extendido
• Sistemas Orientados a Objeto
• Sistemas Deductivos, etc.
Modelo
Es una representación de la realidad
que contiene las características
generales de algo que se va a realizar.
En base de datos, esta representación
se elabora en forma gráfica.
Modelo de datos
Es una colección de herramientas
conceptuales para describir los datos,
las relaciones que existen entre ellos,
semántica asociada a los datos y
restricciones de consistencia.
Modelado de datos
Una de las herramientas que usan los
diseñadores de las bases de datos para
mostrar la relación lógica entre los
datos la constituye el modelo de datos.
El modelado de datos lo constituye un
mapa o diagrama de entidades y sus
relaciones.
Modelado de datos
 Por lo general el modelado de datos
incluye la comprensión de un problema
de negocios específico y el análisis de los
datos y la información necesarios para
producir una solución. Cuando se realiza a
nivel de toda la organización se denomina
modelado de datos de la empresa.
Modelado de datos de la
empresa
El modelado de datos de la empresa es
un método que se inicia con la
investigación de los datos generales y
las necesidades de información, a nivel
estratégico, de la organización; después
lleva a cabo un análisis de las
necesidades de datos e información
más específicos para las diversas áreas
y departamentos funcionales de la
organización.
Proceso de diseño de una base de
datos
Conjunto de etapas necesarias para pasar
de una determinada realidad a la base de
datos que la representa.
Los modelos de datos desempeñan un
importante papel en el proceso de diseño
de una base de datos al ofrecer
facilidades de abstracción que ayudan a
representar la realidad.
Objetivos de todo modelo
de datos
Formalización:
permite
definir
formalmente las estructuras permitidas y
las restricciones; establece la base para la
definición de un lenguaje de datos y
facilita una apreciación más objetiva de la
rigidez o flexibilidad de las estructuras de
datos, ayudando a la comparación formal
de distintos modelos de datos y a la
evaluación de los DBMS.
Objetivos de todo modelo de
datos
Diseño: es un elemento fundamental en el
desarrollo de una metodología de diseño
de bases de datos, en el cual se basan los
otros componentes de la metodología
(lenguajes,
documentación
y
otras
herramientas); permiten, además, prever
el impacto de los cambios del mundo real
en el sistema de información.
División de los modelos de
datos
 Modelos lógicos basados en objetos
Modelo Entidad - Relación
 Modelos lógicos basados en registros
Modelo Relacional
Modelo de Red
Modelo Jerárquico
 Modelos físicos de datos.
Modelo unificador
Memoria de elementos
Modelos lógicos basados en
objetos (modelo entidadrelación)

Denominado por sus siglas como: E-R;
Este modelo representa a la realidad a
través de entidades, que son objetos que
existen y que se distinguen de otros por
sus características, por ejemplo: un
alumno se distingue de otro por sus
características particulares como lo es el
nombre, o el numero de control asignado
al entrar a una institución educativa, así
mismo, un empleado, una materia, etc.
Tipos de entidades
Tangibles
:
Son todos aquellos objetos físicos que
podemos ver, tocar o sentir.
Intangibles:
Todos aquellos eventos u objetos
conceptuales que no podemos ver, aun
sabiendo que existen, por ejemplo: la
entidad materia, sabemos que existe, sin
embargo, no la podemos visualizar o
tocar.
Modelos lógicos basados en
registros
Se utilizan para describir datos en los
niveles
conceptual
y
físico.
Estos modelos utilizan registros e
instancias
para
representar
la
realidad, así como las relaciones que
existen entre estos registros (ligas) o
apuntadores.
Tipos de modelos de base de
datos
(lógicos basados en registros)
Definición: Son las diferentes alternativas
de organización y estructuración de la
información contenida en una base de
datos. Existen fundamentalmente tres
alternativas disponibles para diseñarlas:
Modelo red
Modelo jerárquico
Modelo relacional
Modelos físicos de datos
Se usan para describir a los datos en
el nivel más bajo, aunque existen muy
pocos
modelos
de
este
tipo,
básicamente capturan aspectos de la
implementación de los sistemas de
base de datos.
Etapas en el diseño de una BD y
tipos de modelos en los que se
apoyan
Mundo real
Universo del discurso
Modelado conceptual
Modelado lógico
Modelado interno
(Estructuras de datos)
Almacenamiento
físico
 Universidad, Biblioteca, Departamento de
formación de una empresa, Hospital,
Entidad bancaria, etc.
 Visión del mundo real bajo unos
determinados objetivos.
 Modelos conceptuales (Modelo E/R, etc).
 Modelos convencionales o de basede datos
(Modelo relacional, red, jerárquico, etc.)
 Modelos internos (registros internos o
almacenados, punteros, llaves primarias y
foraneas, agrupamientos, etc.)
 Estructuras físicas (registros físicos, bytes,
bits, campos, items, etc.)
Entidades y atributos
Entidad: Tipos generalizados de personas,
lugares o cosas (objetos), para los cuales
se recopilan, almacenan y mantienen
datos.
Atributo: característica de una entidad.
Entidades y atributos
 En una UNIVERSIDAD, las entidades son: ALUMNOS,
PROFESORES, SALONES, etc. En la entidad ALUMNO,
los atributos o características importantes son:
nombre, dirección, teléfono, carrera, matricula, etc.
 Si hablamos de una INDUSTRIA, las entidades de
interés
son:
DEPARTAMENTOS,
EMPLEADOS,
PRODUCTOS, etc. En la entidad DEPARTAMENTO, los
atributos o características importantes son: nombre
del departamento, nombre del director del
departamento, función del departamento, etc.
Jerarquía de datos
Base de datos : Conjunto de archivos
integrados y relacionados
Archivo : Grupo de de registros
relacionados
Registro
:
Conjunto
de
campos
relacionados
Campo : Grupo de caracteres
Jerarquía de datos
Base de datos de
recursos humanos
Archivo de
personal
 Archivo de personal
 Archivo de departamento
 Archivo de nómina
 000127 Carlos Vega
 000135 Felipe Rivera
Programador
Líder de proyectos
Registro
Campo del nombre
Caracteres (bytes)
 000127 Carlos Vega Líder de proyectos
11/11/1991
 Carlos
 1100 (Letra C en Binario).
Tablas
Un archivo de una base de datos también
puede ser representado como una tabla
en la que tenemos renglones y columnas,
cada renglón correspondiendo a un
registro del archivo y cada columna
correspondiendo a un campo.
datos vs archivos
convencionales
Independencia de datos - programas
Eliminación de información redundante
Integridad de los datos
Eliminación de información incongruente
Globalización de la información (Ente
general)
Compartición de información
Independencia de datos programas
En términos generales, se dice que una
aplicación es independiente de los datos si
es posible cambiar la estructura de
almacenamiento o la estrategia de acceso,
sin afectar de manera drástica los
programas que lo trabajan.
Eliminación de información
redundante
Uno de los puntos débiles del método
tradicional del manejo de archivos, en
cuanto a la administración de datos, es
que gran parte de ellos, por ejemplo, el
nombre y la dirección del cliente, se
duplica en dos o más archivos. Esta
duplicación de datos en archivos
independientes
se
conoce
como
redundancia de datos.
Integridad de la información
El grado hasta el cual los datos en
cualquier archivo individual son exactos.
La eficiente operación de una empresa
requiere de un alto grado de integridad de
los datos. Un ejemplo del control de la
integridad puede ser el no permitir
eliminar a un cliente con movimientos
pendientes de pago o saldo.
Eliminación de información
incongruente
Consiste en proveer mecanismos de
corrección de información incongruente o
mejor aún, en no permitir que esta
ocurra.
Globalización de la
información
Una de las principales ventajas del
manejo de la tecnología de bases de
datos en una organización es que permite
a los diferentes usuarios considerar la
información como un recurso corporativo
que carece de dueños específicos. La
información es considerada como un ente
general.
Compartición de
información
Esta característica es consecuencia de la
globalización de la información. En varios
sistemas, diferentes usuarios pueden
utilizar la misma entidad.
Sistema de administración
de base de datos (DBMS)
Es el nivel de software que provee el
acceso a la información a un alto nivel de
abstracción. En lugar de manipular
archivos, registros, índices, el programa
de aplicación opera en términos de
clientes, cuentas, saldos, etc.
DBMS
El DBMS es un conjunto de programas
que se encargan de manejar la creación y
todos los accesos a las bases de datos. Se
compone de un lenguaje de definición de
datos (DDL: Data Definition Language),
de un lenguaje de manipulación de datos
(DML: Data Manipulation Languaje), y de
un lenguaje de consulta (SQL: Structured
Query Language).
Lenguaje de definición de
datos
Es utilizado para describir todas las
estructuras de información y los
programas que se usan para construir,
actualizar e introducir la información
que contiene una base de datos.
Contiene un diccionario de datos que se
utiliza para almacenar y crear las
definiciones de los datos, incluyendo
localización,
forma
en
que
se
almacenan
y
algunas
otras
Descripción: Cantidad a
cobrar
Llave:
: No
Regla
: Mayor de
Cero
Lenguaje de manipulación de
datos
Es utilizado para escribir programas que
crean, actualizan y extraen información de
las bases de datos. El DBMS de las bases
de datos proporciona un lenguaje y
herramientas al programador para escribir
programas para registrar, extraer y
procesar datos dando respuestas a las
necesidades de las aplicaciones.
Lenguaje de consulta (SQL)
Es empleado por el usuario para extraer
información de la base de datos. Este
lenguaje permite al usuario hacer
requisiciones de datos sin tener que
escribir
un
programa,
usando
instrucciones como el Select, el Where y
el Join.
Método de admón de base de
datos
Datos de
Nómina
Inventarios
Facturación
Sistema de
Admón.
de base de
datos
Programa de
nóminas
Informes
Programa de
facturación
Informes
Programa de
control de
inventarios
Informes
Programa
de soporte
admvo.
Informes
Otros datos
Acceso a la base de datos
La secuencia conceptual de operaciones
que ocurren para accesar cierta
información que contiene una base de
datos es la siguiente:
1) El usuario solicita cierta información
contenida en la base de datos.
2) El DBMS intercepta este requerimiento y
lo interpreta.
3) El DBMS realiza las operaciones
necesarias para accesar y/o actualizar la
información solicitada.
información de bases de
datos
Usuarios
Interfase con
el usuario
DB MS
Interfase con la
base de datos
Base de datos
Administrador de la base de
datos
El DBA es la persona encargada de definir
y controlar las bases de datos corportivas,
además proporciona asesoría a los
desarrolladores, usuarios y ejecutivos que
la requieran.
Funciones del DBA
Apoyar y asesorar durante el proceso de
adquisición del DBMS, tanto del paquete
corporativo como los paquetes que
servirán de herramienta para usuarios
finales que deseen crear sus propias
bases de datos.
Definir la información que contendrán las
bases de datos corporativas.
Funciones del DBA
Mantener la relación y comunicación
estrecha con los especialistas del DBMS,
que suelen laborar con el proveedor que
vendió el paquete que maneja las bases
de datos.
Diseñar
las
estructuras
de
almacenamiento y estrategias de acceso a
las bases de datos.
Funciones del DBA
Atender y servir como punto de enlace
entre los usuarios de la organización,
asegurando que las necesidades de
información de los diferentes usuarios se
encuentren contenidas en las bases de
datos corporativas.
Definir estándares y procedimientos para
respaldar y recuperar la información que
contienen las bases de datos.
Funciones del DBA
Proporcionar asesoría técnica a analistas y
programadores
que
se
encuentran
desarrollando aplicaciones que crean y/o
accesan las bases de datos.
Arquitectura de un DBMS
 La arquitectura consta de 3 niveles que son:
 Nivel Interno. Es el más cercano al
almacenamiento físico. Se refiere a la forma de
almacenamiento de los datos.
 Nivel Externo. Es el más cercano al usuario, se
refiere a la forma en que el usuario final ''ve''
los datos.
 Nivel Conceptual. Es un nivel de indirección
entre los otros dos, se refiere a la forma en que
los diseñadores de sistemas ven los datos.
Trata de expresar como son los datos
realmente.
Arquitectura del DBMS
Vistas del DBMS
 Solo existe una vista interna.
 Solo existe una vista conceptual.
 Existen tantas vistas externas según se
necesiten.
 Entre una vista externa y la vista
conceptual existe un mapeo EXTERNO /
CONCEPTUAL.
Vistas del DBMS
 Entre la vista conceptual y la vista interna
existe un mapeo CONCEPTUAL /
INTERNO.
El nivel interno se refiere a la forma en la
que son almacenados / accesados
físicamente los datos.
Globalización de la
información
Una de las principales ventajas del
manejo de la tecnología de bases de
datos en una organización es que permite
a los diferentes usuarios considerar la
información como un recurso corporativo
que carece de dueños específicos. La
información es considerada como un ente
general.
Actualidad
Hoy en día, hablar de base de datos es
referirse a un activo de singular
importancia en cualquier organización;
por lo tanto, el objetivo de toda
organización no es sólo tener una BD,
sino una BD correctamente diseñada y
administrada, de forma tal que brinde
información correcta para la dinámica
de la organización, en el tiempo
adecuado y a la persona que la
Actualidad
Por otro lado, el proceso de conversión
a una eficiente tecnología de BD
requiere de una gran inversión para
toda organización, tanto en el software
de BD así como en las herramientas de
desarrollo y por ende la capacitación del
personal responsable de su aplicación y
operatividad; es por esta razón, que
este proceso debe ser planificado y
administrado en forma cuidadosa.
Actualidad
Las bases de datos con que cuente una
organización es un reflejo de la dinámica
de ella. Por lo tanto, su vigencia depende
de las necesidades de información que los
usuarios requieran a través de los
sistemas que interactúan con ellas.