You are on page 1of 21

Chapter 1: Introduccin

Propsito de las Bases de Datos Vistas de los Datos Modelos de Datos Lenguaje de Definicin de Datos Lenguaje de Manipulacin de Datos Manejo de Transacciones Manejo de Almacenamiento Administrador de la Base de Datos Usuarios de las Bases de Datos Estructura General de un Sistema de Base de Datos

Database System Concepts

1.1

Silberschatz, Korth and Sudarshan

Sistema Administrador de Base de Datos(DBMS)


Coleccin de datos interrelacionados Conjunto de programas que accesan los datos El DBMS contiene informacin sobre una organizacin El DBMS provee un ambiente conveniente y eficiente para usar

la informacin Aplicaciones de Base de Datos:



Bancos: Transacciones Aerolneas: reservaciones, itinerarios Universidades: registro, calificaciones

Ventas: clientes, productos, transacciones Manufactura: produccin, inventario, ordenes, cadena de suministro Recursos Humanos: registro de empleados, salarios, impuestos

Casi cada aspecto de nuestras vidas!!

Database System Concepts

1.2

Silberschatz, Korth and Sudarshan

Propsito de un Sistema de BD
Antiguamente, las aplicaciones de Bases de Datos se

construan directamente a partir de sistemas de archivos


Problemas con el uso de sistemas de archivos para

almacenar datos:
Redundancia e inconsistencia de datos
Multiples formatos, duplicacin de informacin en diferentes

archivos

Dificultad para acceder a los datos


Se necesita escribir un programa para acceder a los datos

Aislamiento de datos
Multiples archivos y formatos no existe homogeneidad

Problemas de Integridad
Las restricciones de integridad (e.g. saldo > 0) se escriben en

los programas
Difcil de agregar nuevas constantes o cambiar existentes

Database System Concepts

1.3

Silberschatz, Korth and Sudarshan

Propsito de un sistema de Base de Datos(Continuacin)


Problemas con el uso de sistema de archivos(cont.)

Atomicidad de las transacciones


Las fallas pueden dejar la base de datos en un estado

inconsistente
Por ejemplo, transferir fondos de una cuenta debe de ser realizado

compleatmente o no se debe realizar nada.

Acceso concurrente por varios usuarios


Es necesario para lograr eficiencia Pero puede ocurrir problemas.

E.g. Dos personas actualizando y consultando saldo simultneamente

Problemas de seguridad
Los sistemas de bases de datos ofrecen soluciones a todos los

problemas anteriores.

Database System Concepts

1.4

Silberschatz, Korth and Sudarshan

Niveles de Abstraccin
EL Nivel Fsico describe cmo un registro (por ejemplo:

customer) es almacenado
El nivel Lgico describe los datos almacenados en la base de

datos type customer = record name : string; street : string; city : integer; end;
El Nivel de Vistas permite abstraer slo la informacin

necesaria para cierto propsito (ejemplo: seguridad o simplicidad)

Database System Concepts

1.5

Silberschatz, Korth and Sudarshan

Vista de los datos


Arquitectura de un sistema de base de datos

Database System Concepts

1.6

Silberschatz, Korth and Sudarshan

Instancias y Esquemas
Concepto similar al de tipos y variables en lenguajes deprogramacin Esquema(Schema) La estructura de la base de datos

Ejemplo: la base de datos consiste de informacin acerca de un conjunto de clientes y cuentas y las relaciones entre ellos Analogo al tipo de una variable en un programa
Instancia (Instance) El contenido de la base de datos en un instante

determinado
Analogo al valor de una variable
Independencia Fsica de los datos La habilidad de modificar el

esquema fsico sin cambiar el esquema lgico.


Las aplicaciones dependern del esquema lgico

Database System Concepts

1.7

Silberschatz, Korth and Sudarshan

Modelos de Datos
Son colecciones de herrramientas y notaciones para

describir:

datos Relaciones entre datos Semntica de los datos Restricciones de los datos

Modelo Entidad-Relacin
Modelo Relacional Otros Modelos:

Orientado a Objetos Modelos Semi Estructurados (xml) Red y Jerrquicos

Database System Concepts

1.8

Silberschatz, Korth and Sudarshan

Modelo Entidad-Relacin

Ejemplo de un esquema en el modelo entidad-relacin

Database System Concepts

1.9

Silberschatz, Korth and Sudarshan

Modelo Entidad-Relacin(Cont.)
E-R modela el mundo real a travs de:

Entidades (objetos)
E.g. customers, accounts, bank branch

Relaciones entre entidades


E.g. la cuenta A-101 pertenece a Johnson

El conjuunto de relaciones depositor asocia clientes (customers)

with cuentas (accounts) Se utiliza extensivamente en el diseo de Bases de Datos

El diseo expresado en E-R es normalmente convertido al modelo relacional para su almacenamiento y procesamiento

Database System Concepts

1.10

Silberschatz, Korth and Sudarshan

Modelo Relacional
Atributos

Ejemplo de una tabla en el modelo relacional


Customerid 192-83-7465 019-28-3746 192-83-7465 321-12-3123 019-28-3746 customername customerstreet Alma customercity Palo Alto Rye Palo Alto Harrison Rye accountnumber A-101

Johnson
Smith Johnson Jones Smith

North
Alma Main North

A-215
A-201 A-217 A-201

Database System Concepts

1.11

Silberschatz, Korth and Sudarshan

Ejemplo de una Base de Datos Relacional

Database System Concepts

1.12

Silberschatz, Korth and Sudarshan

Lenguje de Definicin de Datos(DDL)


Notacin para definir un esquema

E.g. create table account ( account-number char(10), balance integer)


El compilador DDL genera un conjunto de tablas almacenadas

en un diccionario de datos
El Diccionario de Datos contiene metadatos(i.e., datos acerca

de los datos)
Esquema de la Base de Datos Lenguaje de almacenamiento y definicin de datos
Especifica la estructura de almacenamiento y los mtodos de

access
Normalmente est incluido en el DDL

Database System Concepts

1.13

Silberschatz, Korth and Sudarshan

Lenguaje de Manipulacin de Datos(DML)


Lenguaje usado para acceder y manipular los datos

Tambin se le conoce como query language o lenguaje de consultas


Existen dos clases de Lenguajes

Procedural El usuario especifica que datos son requeridos y cmo acceder a ellos Nonprocedural El usuario slo especifica qu datos necesita
SQL es el lenguaje de consultas mas utilizado

Database System Concepts

1.14

Silberschatz, Korth and Sudarshan

SQL
SQL: lenguaje no-procedural de consultas ms utilizado

E.g. Encuentra el nombre del cliente con id 192-83-7465 select customer.customer-name from customer where customer.customer-id = 192-83-7465 E.g. Encuentra los saldos de todas las cuentas pertenecientes al cliente con id: 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 aplicacin generalmente acceden a la B.D. a

travs de:
Extensines del lenguaje de programacin que permiten SQL embebido Interfaces de aplicacin (API)(e.g. ODBC/JDBC) que permiten enviar consultas de SQL a la B.D.
Database System Concepts 1.15 Silberschatz, Korth and Sudarshan

Usuarios de las Bases de Datos


Los diferentes tipos de ususrios interactan de manera diferente

con la Base de Datos


Programadores de Aplicacin Escriben programas que

interactan con la B.D. a travs de llamados DML


Usuarios sofisticados Escriben consultas a la base de datos

utilizando DML
Uusarios Finales Acceden a la B.D. a travs de los programas

de aplicacin
E.g. Gente accesando bases de datos en la web, ajeros de bancos, personal administrativo, etc.

Database System Concepts

1.16

Silberschatz, Korth and Sudarshan

Administrador de la Base de Datos

Coordina todas las actividades de las bases de datos.

Debe entender bien las necesidades de la informacin de la organizacin


Funciones del Administrador de la Base de Datos:

Definicin del esquema Definicin de almacenamiento y mtodos de acceso Modificacin de esquemas cando sea necesario Otorgar permisos a los diferentes usuarios Especificar restricciones de integridad Monitorear rendimiento y tomar medidas de acuerdo a ste

Database System Concepts

1.17

Silberschatz, Korth and Sudarshan

Manejo de Transacciones
Una transaccin es una coleccin de operaciones que realizan

una sola funcin lgica (Ejemplo una transferencia de fondos de una cuanta a otra en un banco)
El componente de manejo de transacciones de una base de

datos debe asegurar que asegurar que la misma quede en un estado consistente (correcto) a pesar de fallas en el sistema.
El manejador de concurrencia controla la interaccin de

transacciones que se realizan de manera simultnea para asegurar la consistencia de la B.D.

Database System Concepts

1.18

Silberschatz, Korth and Sudarshan

Manejo del Almacenamiento


El manejador de almacenamiento es otro componente de la B.D.

que provee la interface entre el lenguaje de consulta y los datos almacenados en la memoria permanente
Este componente es responsible de:

Interaccin con el sistema de archivos

Almacenamiento , recuperacn y modificacin de los datos.

Database System Concepts

1.19

Silberschatz, Korth and Sudarshan

Estructura Tpica de una B.D.

Database System Concepts

1.20

Silberschatz, Korth and Sudarshan

Arquitecturas de Aplicacin

Arquitectura de dos capas. Los programas utilizan JDBC/ODBC para comunicar con la B.D. Arquitectura de tres capas. Aplicaciones web y aplicaciones que utilizan middleware

Database System Concepts

1.21

Silberschatz, Korth and Sudarshan

You might also like