Anda di halaman 1dari 32

INTRODUCCIÓN

Introducción

Propósito de los sistemas de bases de datos


Lenguajes de bases de datos
Bases de datos relacionales
Diseño de bases de datos
Modelos de datos
Bases de datos interna
Usuarios y administradores de bases de datos
Estructura general
Historia de los sistemas de base de datos

Conceptos de Sistemas de Bases de Datos 1.2


Sistema de administración de base de datos
Database Management System (DBMS)
DBMS contiene información sobre una empresa en particular
Colección de datos interrelacionados
Conjunto de programas para acceder a los datos
Un entorno que es conveniente y eficiente de usar
Aplicaciones de Bases de Datos:
Banca: todas las transacciones
Líneas aéreas: reservas, horarios.
Universidades: matrícula, calificaciones.
Ventas: clientes, productos, compras.
Tiendas online: seguimiento de pedidos, recomendaciones
personalizadas.
Fabricación: producción, inventario, pedidos, cadena de suministro.
Recursos humanos: registros de empleados, salarios, deducciones
fiscales
Las bases de datos tocan todos los aspectos de nuestras vidas.
Conceptos de Sistemas de Bases de Datos 1.3
Propósito de los sistemas de bases de datos
En los primeros días, las aplicaciones de base de datos se crearon
directamente sobre los sistemas de archivos
Inconvenientes de usar sistemas de archivos para almacenar datos:
Redundancia e inconsistencia de datos
 Múltiples formatos de archivo, duplicación de información en
diferentes archivos.
Dificultad para acceder a los datos
 Necesidad de escribir un nuevo programa para realizar cada
nueva tarea
Aislamiento de datos - múltiples archivos y formatos
Problemas de integridad
 Las restricciones de integridad (por ejemplo, el saldo de una
cuenta> 0) se "entierran" en el código del programa en lugar
de estar explícitamente
 Es difícil añadir nuevas restricciones o cambiar las existentes.

Conceptos de Sistemas de Bases de Datos 1.4


Propósito de los sistemas de bases de
datos (Cont.)
Inconvenientes de usar sistemas de archivos (cont.)
Atomicidad de las actualizaciones
 Las fallas pueden dejar la base de datos en un estado incoherente
con actualizaciones parciales realizadas
 Ejemplo: la transferencia de fondos de una cuenta a otra debe
completarse o no suceder en absoluto
Acceso concurrente por múltiples usuarios
 Se necesita acceso concurrente para el rendimiento.
 Los accesos concurrentes no controlados pueden llevar a
inconsistencias
– Ejemplo: dos personas leyendo un balance y actualizándolo al
mismo tiempo
Problemas de seguridad
 Es difícil proporcionar al usuario acceso a algunos datos, pero no a
todos
Los sistemas de bases de datos ofrecen soluciones a todos los problemas
anteriores

Conceptos de Sistemas de Bases de Datos 1.5


Niveles de Abstracción
Nivel físico: describe cómo se almacena un registro (por ejemplo, un
cliente).
Nivel lógico: describe los datos almacenados en la base de datos y las
relaciones entre los datos.
type cliente = record
cliente_id : string;
cliente_nombre : string;
cliente_direccion: string;
cliente_ciudad : string;
end;
Nivel de vistas: los programas de aplicación ocultan detalles de los
tipos de datos. Las vistas también pueden ocultar información (como el
salario de un empleado) por motivos de seguridad.

Conceptos de Sistemas de Bases de Datos 1.6


Vista de Datos

Una arquitectura para un sistema de base de datos.

Conceptos de Sistemas de Bases de Datos 1.7


Instancias y esquemas
Similar a tipos y variables en lenguajes de programación
Esquema – la estructura lógica de la base de datos
Ejemplo: la base de datos consta de información sobre un conjunto de clientes
y cuentas y la relación entre ellos)
Análogo a escribir información de una variable en un programa
Esquema físico: diseño de base de datos a nivel físico
Esquema lógico: diseño de base de datos a nivel lógico
Instancia el contenido real de la base de datos en un momento determinado en el
tiempo
Análogamente al valor de una variable
Independencia física de datos – la capacidad de 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 definidas para que los cambios en algunas partes no influyan
seriamente en otras.

Conceptos de Sistemas de Bases de Datos 1.8


Modelos de Datos
Una colección de herramientas para describir
Datos
Relaciones de datos
Semántica de datos
Restricciones de datos
Modelo relacional
Modelo de datos Entidad-Relación (principalmente para el diseño
de bases de datos)
Modelos de datos basados en objetos (orientados a objetos)
Modelo de datos semiestructurados (XML)
Otros modelos más antiguos:
Modelo de red
Modelo jerárquico

Conceptos de Sistemas de Bases de Datos 1.9


Lenguaje de Manipulación de Datos
Data Manipulation Language (DML)
Lenguaje para acceder y manipular los datos organizados por el
modelo de datos apropiado
DML también conocido como lenguaje de consulta
Dos clases de lenguajes
Procedimental: el usuario especifica qué datos se requieren y
cómo obtenerlos.
Declarativo (no procedimental): el usuario especifica qué datos se
requieren sin especificar cómo obtener esos datos
SQL es el lenguaje de consulta más utilizado.

Conceptos de Sistemas de Bases de Datos 1.10


Lenguaje de Definición de Datos
Data Definition Language (DDL)
Notación de especificación para definir el esquema de base de datos
Ejemplo: create table account (
account_number char(10),
branch_name char(10),
balance integer)
El compilador DDL genera un conjunto de tablas almacenadas en un
diccionario de datos
El diccionario de datos contiene metadatos (es decir, datos sobre datos)
Esquema de 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 (por ejemplo, nombre_rama debe
corresponder a una rama válida en la tabla de sucursales))
Autorización
Conceptos de Sistemas de Bases de Datos 1.11
Modelo Relacional
Atributos
Ejemplo de datos tabular en el modelo relacional

Conceptos de Sistemas de Bases de Datos 1.12


Ejemplo de una Base de Datos Relacional

Conceptos de Sistemas de Bases de Datos 1.13


SQL

SQL: lenguaje no procedural ampliamente utilizado


Ejemplo: busque el nombre del cliente con id-cliente 192-83-7465
select customer.customer_name
from customer
where customer.customer_id = ‘192-83-7465’
Example: busque los saldos de todas las cuentas mantenidas por el
cliente con el ID de cliente 192-83-7465
select account.balance
from depositor, account
where depositor.customer_id = ‘192-83-7465’ and
depositor.account_number = account.account_number
Los programas de aplicación generalmente acceden a las bases de datos a
través de
Extensiones de lenguaje para permitir SQL embebido
Interfaz de programación de aplicaciones (por ejemplo, ODBC / JDBC)
que permite enviar consultas SQL a una base de datos

Conceptos de Sistemas de Bases de Datos 1.14


Diseño de Base de Datos
El proceso de diseño de la estructura general de la base de datos:

Diseño lógico - Decidir sobre el esquema de la base de datos. El diseño


de la base de datos requiere que encontremos una "buena" colección de
esquemas de relaciones.
Decisión empresarial: ¿qué atributos deberíamos registrar en la base
de datos?
Decisión de informática: ¿qué esquemas de relación debemos tener
y cómo deben distribuirse los atributos entre los diversos esquemas
de relación?

Diseño físico - Decidir sobre el diseño físico de la base de datos

Conceptos de Sistemas de Bases de Datos 1.15


El Modelo Entidad-Relación
Modela una empresa como un conjunto de entidades y relaciones
Entidad: una "cosa" u "objeto" en la empresa que se distingue de
otros objetos
 Descrito por un conjunto de atributos
Relación: una asociación entre varias entidades
Representado esquemáticamente por un diagrama entidad-relación:

Conceptos de Sistemas de Bases de Datos 1.16


Otros modelos de datos
Modelo de datos orientado a objetos
Modelo de datos relacional - Objeto

Conceptos de Sistemas de Bases de Datos 1.17


Arquitecturas de aplicaciones de bases
de datos

(web browser)

OAntigua Moderna

Conceptos de Sistemas de Bases de Datos 1.18


Sistema interno de gestión de bases de
datos
Administración de almacenamiento
Procesamiento de consultas
Procesamiento de transacciones

Conceptos de Sistemas de Bases de Datos 1.19


Administración de almacenamiento
El administrador de almacenamiento es un módulo de 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
enviadas al sistema.
El administrador de almacenamiento es responsable de las siguientes
tareas:
Interacción con el administrador de archivos.
Almacenamiento eficiente, recuperación y actualización de datos.
Cuestiones:
Acceso de almacenamiento
Organización de archivos
Indexación y hash

Conceptos de Sistemas de Bases de Datos 1.20


Procesamiento de consultas

1. Interpretación y traducción.
2. Optimización
3. Evaluación

Conceptos de Sistemas de Bases de Datos 1.21


Procesamiento de consultas (Cont.)
Alternative ways of evaluating a given query
Equivalent expressions
Different algorithms for each operation
Cost difference between a good and a bad way of evaluating a query can
be enormous
Need to estimate the cost of operations
Depends critically on statistical information about relations which the
database must maintain
Need to estimate statistics for intermediate results to compute cost of
complex expressions

Conceptos de Sistemas de Bases de Datos 1.22


Gestión de transacciones
Una transacción es una colección de operaciones que realiza una
única función lógica en una aplicación de base de datos
El componente de gestión de transacciones garantiza que la base de
datos permanezca en un estado coherente (correcto) a pesar de las
fallas del sistema (por ejemplo, fallas de energía y fallas del sistema
operativo) y fallas de transacciones.
El administrador de control de concurrencia controla la interacción
entre las transacciones concurrentes, para garantizar la consistencia
de la base de datos.

Conceptos de Sistemas de Bases de Datos 1.23


Estructura general del sistema

Conceptos de Sistemas de Bases de Datos 1.24


Historia de los sistemas de base de datos
1950s and early 1960s:
Data processing using magnetic tapes for storage
 Tapes provide only sequential access
Punched cards for input
Late 1960s and 1970s:
Hard disks allow direct access to data
Network and hierarchical data models in widespread use
Ted Codd defines the relational data model
 Would win the ACM Turing Award for this work
 IBM Research begins System R prototype
 UC Berkeley begins Ingres prototype
High-performance (for the era) transaction processing

Conceptos de Sistemas de Bases de Datos 1.25


Historia (cont.)
1980s:
Research relational prototypes evolve into commercial systems
SQL becomes industry standard

Parallel and distributed database systems
Object-oriented database systems
1990s:
Large decision support and data-mining applications
Large multi-terabyte data warehouses
Emergence of Web commerce
2000s:
XML and XQuery standards
Automated database administration
Increasing use of highly parallel database systems
Web-scale distributed data storage systems
2010s
Big Data
Bases de datos no relacionales
Conceptos de Sistemas de Bases de Datos 1.26
FIN
Usuarios de Bases de Datos
Users are differentiated by the way they expect to interact with
the system
Application programmers – interact with system through DML calls
Sophisticated users – form requests in a database query language
Specialized users – write specialized database applications that do
not fit into the traditional data processing framework
Naïve users – invoke one of the permanent application programs that
have been written previously
Examples, people accessing database over the web, bank tellers,
clerical staff

Conceptos de Sistemas de Bases de Datos 1.28


Administrador de Base de Datos
Coordinates all the activities of the database system
has a good understanding of the enterprise’s information resources
and needs.
Database administrator's duties include:
Storage structure and access method definition
Schema and physical organization modification
Granting users authority to access the database
Backing up data
Monitoring performance and responding to changes
 Database tuning

Conceptos de Sistemas de Bases de Datos 1.29


Arquitectura de Base de Datos

The architecture of a database systems is greatly influenced by


the underlying computer system on which the database is running:
Centralized
Client-server
Parallel (multiple processors and disks)
Distributed

Conceptos de Sistemas de Bases de Datos 1.30


Modelo de Datos Objeto-Relacional
Extend the relational data model by including object orientation and
constructs to deal with added data types.
Allow attributes of tuples to have complex types, including non-atomic
values such as nested relations.
Preserve relational foundations, in particular the declarative access to
data, while extending modeling power.
Provide upward compatibility with existing relational languages.

Conceptos de Sistemas de Bases de Datos 1.31


XML: Extensible Markup Language
Defined by the WWW Consortium (W3C)
Originally intended as a document markup language not a
database language
The ability to specify new tags, and to create nested tag structures
made XML a great way to exchange data, not just documents
XML has become the basis for all new generation data interchange
formats.
A wide variety of tools is available for parsing, browsing and
querying XML documents/data

Conceptos de Sistemas de Bases de Datos 1.32

Anda mungkin juga menyukai