Introducción a base de datos

Anuncio
Introducción a base de datos
Capitulo 1: Introducción
 Propósito de un sistema de base de datos
 Visión de los datos
 Lenguajes de base de datos
 Base de datos relacionales
 Diseño de base de datos
 Base de datos basada en objetos y semiestructuradas
 Almacenamiento de datos y consultas
 Gestión de transacciones
 Arquitectura de bases de datos
 Administradores y usuarios de base de datos
Database Management System (DBMS)
 DBMS contiene información sobre una empresa determinada

Colecciones de datos relacionados entre sí

Conjunto de programas para acceder a los datos

La finalidad es poseer un ambiente para almacenar y recuperar la
información de forma practica y eficiente.
 Aplicaciones de Base de datos

Bancos: todas las transacciones

Compañías aéreas: reservas, horarios

Universidades: inscripción, cursos

Ventas: clientes, productos, las compras

Comercio en línea: seguimiento de pedidos, recomendaciones
personalizadas

Producción: La producción, inventarios, pedidos, cadena de
suministro

Recursos humanos: los registros de empleados, salarios,
deducciones de impuestos
 Las bases de datos son parte esencial de casi todas las empresas
Propósito de los sistemas de base de datos
 Inicialmente, las aplicaciones de base de datos se construyeron
sobre los sistemas de archivos del sistema operativo
 Inconvenientes de la utilización de sistemas de archivos para
almacenar datos:

Redundancia e inconsistencia de los datos


Múltiples formatos de archivos, duplicidad de la información
en diferentes archivos.
Dificultad en el acceso a los datos

Necesidad de escribir un nuevo programa para llevar a cabo
una nueva tarea.

Aislamiento de datos – múltiples archivos y formatos

Problemas de integridad

Restricciones de integridad (Ejm. Saldo > 0), el programador
escribe código en la aplicación para hacer cumplir esta
restricción.

Cuando se añaden nuevas restricciones es difícil cambiar los
programas.
Propósito de los sistemas de base de datos
(Cont.)
 Inconvenientes de la utilización de sistemas de archivos para almacenar
datos:(cont.)
 Problemas de atomicidad
 Las fallas pueden dejar en un estado de inconsistencia a la base
de datos.
 Ejemplo: Transferencia de fondos de una cuenta a otra debe ser
atómica - debe ocurrir en su totalidad o no ocurrir en absoluto.
 Anomalías en el acceso concurrente
 El Acceso concurrente es necesario para un buen desempeño
 No controlar el acceso concurrente podría provocar inconsistencia
de la base de datos
– Ejemplo: Dos personas leen y actualización el saldo de una
cuenta, al mismo tiempo
 Problemas de seguridad
 No todos los usuarios de un sistema de base de datos deben
poder acceder a todos los datos
 Los Sistemas de Bases de datos ofrecen soluciones a todos los
problemas anteriormente mencionados
Niveles de abstracción de datos
 Nivel físico: describe cómo se almacenan realmente los datos.
Describe la estructura de datos compleja de bajo nivel.
 Nivel lógico: describe qué datos se almacenan en la base de datos y
que relación existe entre estos datos.

Se utiliza estructuras simples para describir la base de datos completa.

Los administradores de base de datos, utilizan este nivel de abstracción para decidir la
información que se debe mantenerse en BD.
 Nivel de vistas: Solo describe parte de la base de datos, muchos
usuarios de la base de datos no están interesados en todos los datos
de la base de datos
Visión de los datos
Una arquitectura para un sistema de base de datos
Ejemplares y esquemas

Similar a los Tipos de datos y las variables que se definen en un leguaje de
programación

Esquema – es la estructura lógica de la base de datos


Ejemplo: una base de datos que representa la información de un conjunto de
clientes, cuentas y la relación entre ellos.

Análogo al tipo de dato de una variable en un lenguaje de programación

Esquema Físico: Describe el diseño de la base de datos en el nivel físico.

Esquema Lógico: Describe el diseño de la base de datos en el nivel lógico
Ejemplar – representa el contenido de la base de datos en un determinado
punto de tiempo


Análogo con el valor de una variable definida en un lenguaje de programación
Independencia física respecto de los datos – Habilidad para modificar el
esquema físico sin cambiar el esquema lógico.

Las aplicaciones dependen del esquema lógico

En general, las interfaces entre los distintos niveles y componentes deben
estar bien definidos para que los cambios en algunas partes no afecten a los
demás.
Modelo de datos
 Una colección de herramientas conceptuales para describir




Datos
Relación entre datos
Semántica de los datos
Restricciones de consistencia de datos
 Modelo relacional
 El modelo entidad-relación
 Modelo de datos orientado a objetos
 Modelo de datos semiestructurados (XML)
 Otros modelos antiguos


Modelo de red
Modelo jerárquico
Lenguaje de manipulación de datos (LMD)
 Data Manipulation Language (DML)
 Lenguaje para acceder o manipular datos que están organizados de
acuerdo a un modelo de datos apropiado.

DML también conocido como lenguaje de consulta
 Dos tipos de lenguajes

LMDs Procedimentales – Necesitan que el usuario especifique
qué datos se necesitan y cómo obtener esos datos

LMDs declarativos (no procedimentales) – necesitan que el
usuario especifique qué datos se necesitan sin que haga falta
que especifique cómo obtener esos datos
 SQL es el lenguaje de consulta usado mas ampliamente
Lenguaje de definición de datos (LDD)
 Los esquemas de las bases de datos se especifican utilizando un
conjunto de expresiones definidas en el LDD
Ejemplo:
create table cuenta (
numero-cuenta char(10),
saldo
integer)
 Las instrucciones LDD generan un conjunto de nombres de tablas las
cuales se almacenan en un diccionario de datos.
 El diccionario de datos contiene los metadatos (datos acerca de los
datos)
 Esquemas de la base de datos

Lenguaje de almacenamiento y definición de datos
 Especifica la estructura de almacenamiento y los métodos de
acceso utilizados
 Restricciones de integridad
Restricciones de dominio
 Integridad referencial (references constraint en SQL)
 Asertos (condición que las BDs siempre deben cumplir)
Autorización


Modelo relacional
Atributos
 Un ejemplo de tabla del modelos relacional
Un ejemplo de base de datos relacional
SQL
 SQL: Lenguaje no procedimental ampliamente utilizado

Ejemplo: Encontrar el nombre del cliente con id_cliente 192-83-7465
select cliente.nombre_cliente
from
cliente
where cliente.id_cliente = ‘192-83-7465’

Ejemplo: Encontrar el saldo de todas las cuentas para un cliente con
id_cliente 192-83-7465
select cuenta.saldo
from
deposito, cuenta
where deposito.id_cliente = ‘192-83-7465’ and
deposito.numero_cuenta = cuenta.numero_cuenta
 Los programas de aplicación generalmente acceden a las bases de datos a
través de:

Extensiones del lenguaje que permiten incrustar sentencias SQL

API (ejm. ODBC/JDBC) los cuales permiten enviar consultas SQL a la
Base de datos
Diseño de base de datos
El diseño de la base de datos implica principalmente el diseño del esquema
de la base de datos.
 La especificación de requisitos de usuario es la fase inicial del diseño
de la base de datos donde se caracteriza los requisitos de los usuarios
 Diseño conceptual aplicar los conceptos del modelo de datos para
transformar los requisitos de usuario en un esquema conceptual de la
base de datos. También comprende la especificación de requisitos
funcionales que describen el tipos de operación o transacciones que se
llevan a cabo con los datos.
 Diseño lógico - Decidir un esquema relacional tomando en cuenta el
esquema conceptual de la base de datos.

Decisión de negocios - Qué atributos debemos almacenar en la base
de datos

Decisión informática – Modelo entidad relación o normalización.
 Diseño físico - Decidir sobre la distribución física de la base de datos
El modelo Entidad Relación
 Modela una empresa como una colección de entidades y la relación
entre dichas entidades

Entidad: una “cosa” u “objeto” dentro de la empresa que se
diferencia de otros objetos


Descrito por un conjunto de atributos
Relación: una asociación entre varias entidades
 Representado esquemáticamente mediante un diagrama de entidad-
relación:
Modelo de datos relacional orientado a objetos
 Extiende el modelo relacional tradicional con gran variedad de
características, como los tipos estructurados y las colecciones, así
como la orientación a objetos
 Permite que los atributos de las tuplas dispongan de tipos de datos
complejos, valores no atómicos, y relaciones anidadas.
 Preserva los fundamentos del modelo relacional, en particular el
acceso a los datos, mientras se extiende con mas capacidad el
modelo.
 Proporciona compatibilidad extendida con los actuales lenguajes
relacionales
XML: Extensible Markup Language
 Definido por la WWW Consortium (W3C)
 Se diseño inicialmente como una forma de añadir información de
marcas a los documentos de texto y no como una base de datos.
 La capacidad de especificar nuevas etiquetas, y crear estructuras
anidadas de etiquetas, hizo de XML sea una extraordinaria forma
de intercambiar datos.
 XML se esta convirtiendo en la base de la nueva generación para
intercambiar formatos de datos.
 Una amplia variedad de herramientas están disponibles para
analizar, navegar y consultar datos y documentos XML
Gestor de almacenamiento
 Gestor de almacenamiento es un programa que proporciona la
interfaz entre los datos de bajo nivel almacenados en la base de
datos y los programas de aplicación y las consultas remitidas al
sistema.
 El gestor de almacenamiento es responsable de las siguientes tareas:

Interacción con el gestor de archivos

Eficiente almacenamiento, recuperación y actualización de los
datos
 El gestor de almacenamiento implementa varias estructura de datos:

Archivos de datos

Diccionario de datos

Índices
Procesador de consultas
1. Interprete y compilador de instrucciones
2. Optimización de consultas
3. Motor de evaluación o ejecución de consultas
Procesador de consultas (Cont.)
 Evaluar diferentes alternativas para ejecutar una consulta dada

Expresiones equivalentes

Diferentes algoritmos para cada operación
 La diferencia de costo entre una buena y una mala manera de ejecutar
una consulta puede ser enorme.
 Necesidad de estimar el costo de las operaciones

Depende fundamentalmente de la información estadística sobre las
relaciones que debe mantener en la base de datos.

Necesidad de calcular las estadísticas de resultados intermedios
para calcular el costo de expresiones complejas
Gestión de transacciones
 Una transacción es un conjunto de operaciones que lleva a cabo una
única función lógica en una aplicación de base de datos.
 Componente de gestión de transacciones garantiza las
propiedades de atomicidad y de durabilidad, debiendo recuperarse a
un estado de consistencia cuando una transacción falla.
 Gestor de control de concurrencia controlar la interacción entre las
transacciones concurrentes para garantizar la consistencia de la base
de datos.
Estructura
del
Sistema
Arquitectura de la base de datos
La arquitectura de un sistema de base de datos esta fuertemente
influenciado por el tipo de sistema de computo, en la cual se ejecuta la
base de datos:
 Centralizado
 Cliente-servidor
 Paralelo (multi-procesador)
 Distribuido
Usuarios de la base de datos
Usuarios son diferenciados por la forma en que esperan interactuar con
el sistema
 Programadores de aplicaciones – interactúan con el sistema a
través de llamadas LMD
 Usuarios sofisticados – Formulan sus consultas en el lenguaje de
consultas de la base de datos, no usan un sistema aparte.
 Usuarios especializados – Escriben aplicaciones de base de datos
especializadas que no encajan en el marco tradicional de
procesamiento de datos. (Sistemas CAD, Sistemas de conocimiento y
expertos)
 Usuarios normales – Interactúan con el sistema invocando alguno
de los programas de aplicación escritos previamente.

Ejemplo, personas accediendo a bases de datos vía Web, Cajero
del banco
Administradores de base de datos
 Una de las principales razones de usar un SGBD es tener un
control centralizado tanto de los datos como de los programas
que tienen acceso a esos datos.
 Las funciones del DBA incluyen:
 La definición del esquema

La definición de la estructura de almacenamiento y del
método de acceso
 La modificación del esquema y de la organización física
 La concesión de autorización para el acceso a los datos
 El mantenimiento rutinario
Fin del capitulo 1
Descargar