Está en la página 1de 150

Bases de datos

M. en I. Carlos Corts Bazn


Instituto Politcnico Nacional
ESIME Culhuacan
Ingeniera en Computacin

M. en I. Carlos Corts Bazn

Unidad 1: Introduccin a los


sistemas de bases de datos
Evolucin de los sistemas de bases de datos.
Sistemas de administracin de bases de datos.
Arquitectura de sistema de administracin de base de datos.
Administrador de almacenamiento.
Administrador de consultas.
Administracin de transacciones.
Arquitectura cliente servidor.
Modelos de una base de datos.
Modelo fsico.
Modelo lgico.
Bases de datos globales.
2

M. en I. Carlos Corts Bazn

Introduccin (1/7)
Dato:
Representacin simblica de un atributo o variable
cuantitativa.
Describen hechos empricos, sucesos y entidades.
Aisladamente pueden no contener informacin relevante.
Cuando un conjunto de datos se examina conjuntamente se
puede apreciar la informacin contenida en dichos datos.

M. en I. Carlos Corts Bazn

Introduccin (2/7)
Base de datos (BD/DB):
Conjunto coleccin de datos almacenados en un medio

informtico no voltil.
Interrelacionados y estructurados de acuerdo con un modelo
capaz de recoger al mximo el contenido semntico.

M. en I. Carlos Corts Bazn

Introduccin (3/7)
Fichero:
Uso desmedido de memoria
Tiempos de proceso
Inconsistencia de los datos
Difcil de explotar los datos
Difcil de mantener
Concurrencia

M. en I. Carlos Corts Bazn

Introduccin (4/7)

M. en I. Carlos Corts Bazn

Introduccin (5/7)
Base de datos:
Ventajas:

Independencia de los datos respecto a los procesos


Coherencia en los resultados
Mejor disponibilidad de los datos
Acceso ms rpido y sencillo
Facilidad al compartir los datos entre usuarios
Mayor valor informativo
Mejor documentacin de la informacin
Mayor eficiencia en la interaccin entre el sistema y los datos
Reduccin de espacio de almacenamiento
Control de redundancia
Consistencia de los datos

M. en I. Carlos Corts Bazn

Introduccin (6/7)
Base de datos:
Desventajas:
Instalacin costosa
Personal especializado
Implementacin larga y difcil
Falta de rentabilidad a corto plazo
Desfase entre teora y prctica

M. en I. Carlos Corts Bazn

Introduccin (7/7)

M. en I. Carlos Corts Bazn

Evolucin de los sistemas de bases de


datos.

Tarjeta
perforada
(1890)

10

Cinta de
papel
perforado
(1940)

M. en I. Carlos Corts Bazn

Disco
magntico
(1950)

Modelo
jerrquico-DB
(1960)

Modelo de red-DB
(1960)

Modelo
relacional
(1970)

Sistemas de administracin de bases


de datos (SGDB)
Conjunto coordinado de programas, procedimientos y

lenguajes que suministra a distintos tipos de usuarios los


medios necesarios para describir, manipular y administrarlos
datos almacenados.
Caractersticas:
Control de redundancia
Restriccin de los accesos no autorizados
Cumplimiento de las restricciones de integridad
Respaldo y recuperacin

11

M. en I. Carlos Corts Bazn

Arquitectura de un SGDB
Esquema Interno: Describe la estructura fsica de almacenamiento

de la base de datos. Describe todos los detalles para el


almacenamiento, as como los caminos de acceso para la base de
datos
Esquema Conceptual: Describe la estructura de toda la base de
datos para una comunidad de usuarios. Oculta los detalles de las
estructuras fsicas de almacenamiento, concentra en describir
entidades, tipos de datos, vnculos, operaciones de los usuarios y
restricciones.
Esquema Externo o de vistas: Incluye varios esquemas externos o
vistas de usuario. Cada esquema externo describe la parte de la
base de datos que interesa a un grupo de usuarios determinado, y
oculta a ese grupo el resto de la base de datos.
12

M. en I. Carlos Corts Bazn

Arquitectura de un SGDB

13

M. en I. Carlos Corts Bazn

Independencia de los datos


Capacidad para modificar el esquema de un nivel del sistema

de base de datos sin tener que modificar el esquema del nivel


inmediato superior.
Dos tipos:
Independencia lgica es la capacidad de modificar el
esquema conceptual sin tener que alterar los esquemas
externos ni los programas de aplicacin.
Independencia fsica es la capacidad de modificar el
esquema interno sin tener que alterar el esquema
conceptual.
14

M. en I. Carlos Corts Bazn

Estructura de un SGDB
Administrador
USUARIOS
Programador
es

Usuarios
ADMINISTRADOR DE CONSULTAS
ADMINISTRADOR DE TRANSACCIONES

ADMINISTRADOR DE ALMACENAMIENTO

ndices

Archivos de datos

15

M. en I. Carlos Corts Bazn

Datos estadsticos
Diccionario de datos

Sistema
Gestor de la
Base de
Datos

Almacenamiento
en disco

Administrador de almacenamiento

Gestiona la reserva de espacio de almacenamiento en disco y

las estructuras de datos usadas para representar la


informacin.

16

M. en I. Carlos Corts Bazn

Administrador de transacciones
Una transaccin es una operacin que accede y actualiza una

parte de la base de datos.


El administrador de transacciones controla mltiples
transacciones ejecutando el paralelo sobre una misma base de
datos.
Objetivos:
Evitar que las transacciones interfieran unas con otras (control

de paralelismo).
Garantizar que la base de datos no sea daada en forma
irreparable (tcnicas de recuperacin).

17

M. en I. Carlos Corts Bazn

Administrador de consultas
Conjunto de herramientas que permite a los usuarios extraer,

manipular y modifica la informacin almacenada en la base


de datos.
Para realizar estas modificaciones se hace uso del lenguaje
SQL (Structured Query Language).

18

M. en I. Carlos Corts Bazn

Arquitectura cliente-servidor (1/2)


Modelo en el que las tareas se reparten entre los proveedores

de recursos o servicios, llamados servidores, y los


demandantes, llamados clientes.
Un cliente realiza peticiones al servidor, quien le da
respuesta. Esta arquitectura tambin se puede aplicar a
programas que se ejecutan sobre una sola computadora.

19

M. en I. Carlos Corts Bazn

Arquitectura cliente-servidor (2/2)

20

M. en I. Carlos Corts Bazn

Modelos de una base de datos


Es la primera fase del desarrollo de bases de datos:
Anlisis de requisitos: Perciben, identifican y describen los

componentes que conformarn la base de datos. Responde


a la pregunta Qu representar?. Se obtiene une squema
descriptivo usando lenguaje natural.
Conceptualizacin: Refina y estructura adecuadamente el
esquema descriptivo. Responde a la pregunta Cmo
presentar?.

21

M. en I. Carlos Corts Bazn

Modelo conceptual (1/3)


Busca una representacin normalizada que se apoya en

un modelo de datos que cumple determinadas


propiedades para llegar a un esquema conceptual
Se compone de tres partes:
Entidad: Es un objeto de datos que tiene ms propiedades que

su nombre.
Atributo: Es un objeto de datos al que se le asigna un valor.
Interrelacin: Es un objeto de datos que hace posible la
seleccin de una entidad por medio de una referencia a un
atributo de otra entidad
22

M. en I. Carlos Corts Bazn

Modelo conceptual (3/3)

EMPLEADO

NUM_EMPLEAD
O
NOMBRE

ES-UN

VENDEDOR

23

M. en I. Carlos Corts Bazn

CAMION

OBRERO

DEPARTAMENTO

Caractersticas del modelo conceptual


El esquema conceptual deber cumplir con los siguientes

objetivos:
Captar y almacenar el universo del problema mediante una

descripcin rigurosa.
Aislar la representacin de la informacin de las exigencias de
cada usuario.
Independizar la definicin de la informacin de los SGBD

24

M. en I. Carlos Corts Bazn

Modelo lgico
Convierte los esquemas conceptuales en un esquema

lgico que se ajuste al modelo de SGBD sobre el que se


vaya a implementar el sistema.
Los modelos ms comunes son:
El modelo relacional
El modelo de red
El modelo jerrquico.
El modelo orientado a objetos.

Los detalles de estos modelos se vern en unidades

posteriores.
25

M. en I. Carlos Corts Bazn

Modelo fsico
Especifica cmo se guardan los datos.
El diseador debe conocer muy bien toda la

funcionalidad del SGBD que se vaya a utilizar.


Es la implementacin de la base de datos en memoria
secundaria.
Los detalles de este modelo se ver en unidades
posteriores.

26

M. en I. Carlos Corts Bazn

Bases de datos globales


Funciona bajo en esquema de sistemas distribuidos.
Pueden existir mltiples servidores de bases de datos.
Toda la informacin generada debe ser replicada en una

base de datos global.


Mantienen la coherencia y se evita la inconsistencia de la
informacin.

27

M. en I. Carlos Corts Bazn

Unidad 2: Modelo relacional


Principios bsicos del modelo relacional
Diagramas de entidad relacin
Dependencias funcionales
Diseo de esquemas relacionales
Dependencias multi-evaluadas

28

M. en I. Carlos Corts Bazn

Principios bsicos del modelo


relacional
Esquema: describe la estructura de una base de datos, en un

lenguaje formal soportado por un SGDB

29

M. en I. Carlos Corts Bazn

Principios bsicos del modelo


relacional
Nombre, atributos y tupla

NOMBRE

30

ATRIBUTO 1

ATRIBUTO 2

ATRIBUTO 3

ATRIBUTO N

Tupla 1

Tupla 2

Tupla N

M. en I. Carlos Corts Bazn

Principios bsicos del modelo


relacional
Dominio: Conjunto finito de valores
Homogneos: del mimo tipo
Atmicos: son indivisibles (semntica)

Todo dominio tiene:


Nombre
Tipo de dato

Grado: Numero de atributos

31

M. en I. Carlos Corts Bazn

Dominios
Nombres

Pases

Sectores

Mxico
USA
Blgica

XXXX
25

Alimenticio
Agropecuario
Telecomunicaciones
.

EMPRESA

EMP_NOMBRE

EMP_PAIS

EMP_SECTOR

BIMBO

MEXICO

ALIMENTICIO

AT&T

USA

TELECOMUNICACIONES

GRUPO MODELO

BELGICA

ALIMENTICIO

Cardinalidad: 4
Grado: 3
32

M. en I. Carlos Corts Bazn

Atributos

T
u
p
l
a
s

Instancia
Aplicacin de un esquema a un conjunto de datos (contenido

de una tabla en un momento dado)


EMPRESA

33

EMP_NOMBRE

EMP_PAIS

EMP_SECTOR

BIMBO

MEXICO

ALIMENTICIO

AT&T

USA

TELECOMUNICACIONES

GRUPO MODELO

BELGICA

ALIMENTICIO

M. en I. Carlos Corts Bazn

Diagrama entidad relacin


Representa la realidad a travs de un esquema grfico
Ayuda a comprender las relaciones en la base de datos
Se compone de:
Entidad
Atributos
Relacin
Conjunto de relaciones

34

M. en I. Carlos Corts Bazn

Diagrama entidad relacin


Entidad: Objeto que existe y se distingue de otros objetos de

acuerdo a sus atributos:


Persona
Automvil
Casa

Atributos: Propiedades que describen a cada entidad en un

conjunto de entidades.
Relacin: asociacin o relacin matemtica entre varias
Entidades.
Conjunto de relaciones: Consiste en una coleccin, o
conjunto, de relaciones de la misma naturaleza.
35

M. en I. Carlos Corts Bazn

Diagrama entidad relacin


Restricciones: Son reglas que deben mantener los datos

almacenados en la base de datos. No se deben de quebrantar a


menos que tenga otra relacin de una tabla de uno a muchos.

36

M. en I. Carlos Corts Bazn

Diagrama entidad relacin


Cardinalidad:
Uno a uno (1:1)
Uno a muchos (1:N)
Muchos a uno (N:1)
Muchos a muchos (N:N)

37

M. en I. Carlos Corts Bazn

Simbologa

38

M. en I. Carlos Corts Bazn

39

M. en I. Carlos Corts Bazn

Dependencias funcionales
Un conjunto de atributos (A) depende funcionalmente de

otro conjunto de atributos (B) si para cada valor de A hay un


nico valor posible para B.

40

M. en I. Carlos Corts Bazn

Ejemplo

41

M. en I. Carlos Corts Bazn

Dependencia funcional completa


Un conjunto de atributos (A) tiene una dependencia

funcional completa sobre otro conjunto de atributo (B) si A


tiene dependencia funcional de B y adems no se puede
obtener de B un conjunto de atributos ms pequeos que
consiga una dependencia funcional de A.

42

M. en I. Carlos Corts Bazn

Ejemplo

43

M. en I. Carlos Corts Bazn

Dependencia funcional elemental


Se produce cuando A y B forma una dependencia funciona

completa y adems B es un nico atributo.

44

M. en I. Carlos Corts Bazn

Ejemplo

45

M. en I. Carlos Corts Bazn

Dependencia funcional transitiva


Se produce cuando tenemos tres conjunto de atributos A, B y

C. A depende funcionalmente de B, B depende


funcionalmente de C. Adems A no depende funcionalmente
de C. Entonces ocurre que A produce una dependencia
funcional transitiva sobre C.

46

M. en I. Carlos Corts Bazn

Ejemplo

47

M. en I. Carlos Corts Bazn

Cerradura
Sea F un conjunto de dependencias funcionales. Se denomina

cerradura de F al conjunto de todas las dependencias


funcionales implicadas por F. La cerradura de un conjunto de
dependencias funcionales F se denota como F+.

48

M. en I. Carlos Corts Bazn

Llaves y super llaves


Llave primaria (PK)

Llave secundaria o fornea (FK)


Super llave

49

M. en I. Carlos Corts Bazn

Normalizacin
El proceso de normalizacin de bases de datos consiste en

aplicar una serie de reglas a las relaciones obtenidas tras el


paso del modelo entidad-relacin al modelo relacional.

50

M. en I. Carlos Corts Bazn

1 Forma Normal

EMPRESA
EMP_ID

EMP_NOMBRE

EMP_CALLE

EMP_URL

EMP_SECTOR

CONTACTO
CNT_ID

51

CNT_NOMBRE

M. en I. Carlos Corts Bazn

CNT_APP

CNT_APM

CNT_CORREO

2 Forma Normal
EMPRESA
EMP_ID

EMP_NOMBRE

EMP_CALLE

EMP_SECTOR

CONTACTO
CNT_ID

CNT_EMP_ID

CNT_NOMBRE

CNT_APP

CORREO
CRR_ID

CRR_CNT_ID CRR_CORREO
URL

URL_ID

52

M. en I. Carlos Corts Bazn

URL_EMP_ID

URL_DIRECCION

CNT_APM

3 Forma Normal
EMPRESA
EMP_ID

EMP_NOMBRE

EMP_CALLE

EMP_SEC_ID

SECTOR
SEC_ID

SEC_NOMBRE
CONTACTO

CNT_ID

CNT_EMP_ID

CNT_NOMBRE

CNT_APP

CORREO
CRR_ID

CRR_CNT_ID CRR_CORREO
URL

URL_ID
53

M. en I. Carlos Corts Bazn

URL_EMP_ID

URL_DIRECCION

CNT_APM

4 Forma Normal
ALUMNO
ALM_ID ALM_NOMBRE

ALM_APP

ALM_APM

GRUPO
GPO_ID

GPO_ALM_ID GPO_PRO_ID

HORARIO
HOR_ID

HOR_POR_ID

HOR_GPO_ID

PROFESOR
PRO_ID

54

PRO_NOMBRE

M. en I. Carlos Corts Bazn

PRO_APP

PRO_APM

Prueba de escritorio EmpresaContacto


EMPRESA
EMP_ID

EMP_NOMBRE

EMP_CALLE

EMP_SEC_ID

BIMBO

FEMSA

GRUPO MODELO

CONTACTO

55

CNT_ID

CNT_EMP_ID

CNT_NOMBRE

CNT_APP

CNT_APM

FULANITO

RAMIREZ

SANCHEZ

SULTANITO

PEREZ

ORTIZ

CHANGUITO

LOPEZ

SALAS

M. en I. Carlos Corts Bazn

Prueba de escritorio EmpresaSector


EMPRESA
EMP_ID

EMP_NOMBRE

EMP_CALLE

EMP_SEC_ID

BIMBO

FEMSA

GRUPO MODELO

SECTOR

56

M. en I. Carlos Corts Bazn

SEC_ID

SEC_NOMBRE

ALIMENTICIO

TURISTICO

INDUSTRIAL

Prueba de escritorio Empresa-URL


EMPRESA
EMP_ID

EMP_NOMBRE

EMP_CALLE

EMP_SEC_ID

BIMBO

FEMSA

GRUPO MODELO

URL

57

URL_ID

URL_EMP_ID

URL_DIRECCION

bimbo.com.mx

gpobimbo.com.mx

femsa.com

M. en I. Carlos Corts Bazn

Prueba de escritorio ContactoCorreo


CONTACTO
CNT_ID

CNT_EMP_ID

CNT_NOMBRE

CNT_APP

CNT_APM

FULANITO

RAMIREZ

SANCHEZ

SULTANITO

PEREZ

ORTIZ

CHANGUITO

LOPEZ

SALAS

CORREO

58

CRR_ID

CRR_CNT_ID

CRR_CORREO

fulanito@hotmail.com

sultanito@hotmail.com

sultanito@gmail.com

M. en I. Carlos Corts Bazn

Unidad 3: Modelo de objetos


Clases, objetos e instancias
Representacin de objetos de estudio en clases
Lenguaje de descripcin de objetos (ODL)

59

M. en I. Carlos Corts Bazn

Conceptos bsicos (1/4)


Clase: definiciones de las propiedades y comportamiento de

un tipo de objeto concreto. La instanciacin es la lectura de


estas definiciones y la creacin de un objeto a partir de ellas.
Objeto: entidad provista de un conjunto de propiedades o

atributos (datos) y de comportamiento o funcionalidad


(mtodos) los mismos que consecuentemente reaccionan a
eventos. Se corresponde con los objetos reales del mundo
que nos rodea, o a objetos internos del sistema (del
programa). Es una instancia a una clase.
60

M. en I. Carlos Corts Bazn

Conceptos bsicos (2/4)


Herencia simple: Una clase implanta el tipo de objeto. Una

Subclase hereda propiedades de su clase padre, una subclase puede


heredar la estructura y los mtodos algunos de los mtodos.

Herencia mltiple. Cuando una clase hereda de mas de una

superclase se tiene herencia mltiple.

Mtodo: Algoritmo asociado a un objeto (o a una clase de

objetos), cuya ejecucin se desencadena tras la recepcin de un


"mensaje". Desde el punto de vista del comportamiento, es lo que
el objeto puede hacer. Un mtodo puede producir un cambio en
las propiedades del objeto, o la generacin de un "evento" con un
nuevo mensaje para otro objeto del sistema.

61

M. en I. Carlos Corts Bazn

Conceptos bsicos (3/4)


Constructores: Un constructor es un mtodo que

tiene el mismo nombre que la clase. Se ejecuta cuando se


crea un objeto de una clase. Por lo tanto, un constructor
contiene instrucciones para inicializar las variables de un
objeto.

Destructores: Un destructor es un mtodo que se

utiliza para destruir un objeto.


No todos los lenguajes orientados a objetos poseen
destructores.

62

M. en I. Carlos Corts Bazn

Conceptos bsicos (4/4)


Sobrecarga de mtodos: Una de las caractersticas de las

clases es que pueden tener mtodos sobrecargados, que son


mtodos que tienen el mismo nombre pero que necesitan
distintos datos para operar.
Polimorfismo: En general, las subclases heredan

los
mtodos de sus superclases y los utilizan como si fueran
suyos. Sin embargo, en algunas ocasiones no es posible
escribir un mtodo genrico que pueda ser usado por todas
las subclases.

63

M. en I. Carlos Corts Bazn

Lenguaje de definicin de objetos


(ODL) (1/2)

64

M. en I. Carlos Corts Bazn

Lenguaje de definicin de objetos


(ODL) (2/2)
OQL es un lenguaje declarativo del tipo de SQL que permite

realizar consultas de modo eficiente sobre bases de datos


orientadas a objetos.
OQL no posee primitivas para modificar el estado de los

objetos ya que las modificaciones se pueden realizar mediante


los mtodos que estos poseen.
La sintaxis bsica de OQL es una estructura

SELECT...FROM...WHERE..., como en SQL.


65

M. en I. Carlos Corts Bazn

Algunos motores que soportan (BDOO)


Oracle

SQL Server
ObjectDB (Java)
Zope Object Database (Python)

66

M. en I. Carlos Corts Bazn

Unidad 4: Lenguajes de consulta


Lenguajes de consulta de datos
Lenguaje estndar de consulta
Operaciones de seleccin y operacin
Operaciones de conjuntos
Algebra relacional
Procedimientos almacenados
67

M. en I. Carlos Corts Bazn

SQL
Structured Query Language

Establecido como el lenguaje de base de datos relacional

estndar.
Soportado, por diferentes productos.
El SQL publicado por ANSI e ISO.

68

M. en I. Carlos Corts Bazn

Clasificacin
Lenguaje de definicin de datos (DDL)
Create, Alter, Drop.

Lenguaje de manipulacin de datos (DML)


Insert, Update, Delete.

Lenguaje de control de datos (DCL)


Grant, Revoke.

Control de transacciones
Commit, Rollback, Savepoint

Restricciones de integridad
Referencial, datos.
69

M. en I. Carlos Corts Bazn

Usuarios
Conectarse:
SQL> CONN SYSTEM
C:\Documents and Settings\Usuario>sqlplus system/contarsea
Usuarios por defecto (administradores): sys / system

Ver usuario:
SHOW USER

Cambiar contrasea:
PASSW SYSTEM

Desconectarse:
SQL>DISC;

Salir de SQL:
QUIT
70

M. en I. Carlos Corts Bazn

Usuarios
Crear usuario:
CREATE USER NOMBRE_CUENTA

IDENTIFIED BY CONTRASEA
DEFAULT TABLESPACE NOMBRE_ESPACIO_DE_TABLA;
SQL>CREATE USER CARLOS

IDENTIFIED BY CONTRASENIA
DEFAULT TABLESPACE USERS;

71

M. en I. Carlos Corts Bazn

Privilegios de usuario
Conectarse:

SQL>GRANT CONNECT TO CARLOS;


Crear objetos:
SQL>GRANT RESOURCE TO CARLOS;

Borrar usuario:
DROP USER CARLOS CASCADE;

72

M. en I. Carlos Corts Bazn

Roles
CREATE ROLE programador;
GRANT CREATE session, CREATE table, CREATE view,
CREATE procedure,CREATE synonym, ALTER table,

ALTER view, ALTER procedure,ALTER synonym, DROP

table, DROP view, DROP procedure,DROP synonym,


TO usuario;
GRANT programador TO usuario;

73

M. en I. Carlos Corts Bazn

Tablespace
Unidad lgica de almacenamiento dentro de una base de

datos.
Crear tablespace:
CREATE TABLESPACE tbs_01

DATAFILE 'tbs_f2.dat'
SIZE 40M
ONLINE;

74

M. en I. Carlos Corts Bazn

Tablespace USERS

75

M. en I. Carlos Corts Bazn

Tablas (1/4)
Cada usuario es dueo de sus tablas

Rol para acceso a tablas con otro usuario


Referencia mediante usuario1.tabla1
Sinnimos pblicos:
CREATE PUBLIC SYNONYM S_NOMBRE

FOR USUARIO.TABLA;

76

M. en I. Carlos Corts Bazn

Tablas (2/4)
CREATE TABLE T_NOMBRE(
COL1 TIPO PRIMARY KEY,
COL2 TIPO,
COL3 REFERENCES T_REFERENCIA,

);

77

M. en I. Carlos Corts Bazn

Tablas (3/4)
CREATE TABLE T_NOMBRE (
COL1 TIPO,
COL2 TIPO

);
Restricciones (Constraints)
ALTER TABLE T_NOMBRE
ADD CONSTRAINT PK_NOMBRE
PRIMARY KEY (COL);
ALTER TABLE T_NOMBRE

ADD CONSTRAINT FK_NOMBRE


FOREIGN KEY (COLUMNA)
REFERENCES T_REFERENCIA(COLUMNA);

78

M. en I. Carlos Corts Bazn

Tablas (4/4)
SELECT *FROM ALL_TABLES;

DESCRIBET_NOMBRE;
DROP TABLE T_NOMBRE;

79

M. en I. Carlos Corts Bazn

Tipos de datos
VARCHAR2(size [BYTE | CHAR])

NVARCHAR2(size)
NUMBER [ (p [, s]) ]
FLOAT [(p)]

LONG
DATE
BINARY_FLOAT
BINARY_DOUBLE
TIMESTAMP
80

M. en I. Carlos Corts Bazn

ndices
CREATE TABLE T_PEDIDOS(
NUMPEDIDO NUMBER PRIMARY KEY,
FECPEDIDO DATE,
NUMCLIENT REFERENCES T_CLIENTES
CONSTRAINT PK_PEDIDOS (NUMPEDIDO) USING

INDEX TABLESPACE TS_IDX


)

81

M. en I. Carlos Corts Bazn

Lenguaje de manipulacin de datos


(DML)
COMMIT

DELETE
INSERT
LOCK TABLE
ROLLBACK

SAVEPOINT
SELECT
TRUNCATE
UNION

UPDATE
WHERE
82

M. en I. Carlos Corts Bazn

Insert - Insercin
INSERT INTO T_NOMBRE

VALUES (VALOR1, VALOR2....);


INSERT INTO T_NOMBRE (COL1, COL2.....)

VALUES (VALOR1, VALOR2....);


INSERT INTO T_NOMBRE (COL1, COL2.....)

SELECT ([sentencia Select])

83

M. en I. Carlos Corts Bazn

Update - Modificacin

UPDATE T_NOMBRE

SET COL1 = VAL1 [, COL2 = VAL2 ...]


[WHERE CONDICIN]

84

M. en I. Carlos Corts Bazn

Delete - Borrar
DELETE FROM T_NOMBRE

[WHERE CONDICIN]

85

M. en I. Carlos Corts Bazn

Select - Consulta
SELECT */ COL1, COL2,....

FROM T_NOMBRE
[WHERE condicin]
[GROUP BY COL1, COL2.... ]
[HAVING condicin-seleccin-grupos ]
[ORDER BY COL1 [ASC], COL2 [DESC]... ]

86

M. en I. Carlos Corts Bazn

Funciones
COUNT(*) o COUNT(DISTINCT columna)
SUM(columna)

AVG(columna)
MIN(columna)
MAX(columna)

87

M. en I. Carlos Corts Bazn

Subselects

SELECT COL1, COL2,....

FROM [SELECT]
WHERE COL1 = [SELECT];

88

M. en I. Carlos Corts Bazn

Where - Condicin
Select, Update, Delete
Operadores:
Aritmticos: =,<>,>,>=,<,<=
Booleanos: AND, OR, NOT
Especiales como: BETWEEN, IN, LIKE, IS NULL, EXISTS, ...

89

M. en I. Carlos Corts Bazn

Operadores especiales (1/2)


BETWEEN: Permite obtener todas las filas que se encuentran en un

intervalo de valores.

C_NOMBRE BETWEEN LIM_INF AND LIM_SUP


IN: Permite obtener todas las filas que sean iguales a alguno de los

valores descritos por extensin.

C_NOMBRE IN (VAL1, VAL2, .....)


LIKE: Permite imponer condiciones sobre series de caracteres o parte

de ellos.

WHERE C_NOMBRE LIKE 'marti%' [encontrar 'martin' y 'martinez']

90

M. en I. Carlos Corts Bazn

Operadores especiales (2/2)


IS NULL: Obtiene todas las filas que contengan un valor nulo en una

determinada columna.

C_NOMBRE IS NULL
EXISTS: Devuelve TRUE si una subconsulta devuelve al menos una fila.
NOT: Todas las condiciones que se pueden utilizar, pueden negarse

anteponiendo la partcula NOT delante de los operadores especiales: IN,


LIKE, BETWEEN.

Una sentencia SELECT, UPDATE y DELETE puede tener una o ms

condiciones unidas por un operador booleano AND o OR.

91

M. en I. Carlos Corts Bazn

Algebra relacional
El lgebra relacional se inspira en la teora de conjuntos para

especificar consultas en una base de datos relacional


Las consultas en la DB utilizan algebra relacional.
En las operaciones del lgebra relacional, tanto los operandos
como el resultado son relaciones (cierre relacional).

92

M. en I. Carlos Corts Bazn

Union
Es una operacin que, a partir de dos relaciones, obtiene una

nueva relacin, formada por todas las tuplas que estn en


alguna de las relaciones de partida.
La unin de dos relaciones T y S se indica T S.
Slo tiene sentido aplicar la unin a relaciones que tengan
tuplas similares.
Las relaciones deben de ser compatibles.

93

M. en I. Carlos Corts Bazn

94

M. en I. Carlos Corts Bazn

Interseccin
Es una operacin que, a partir de dos relaciones, obtiene

una nueva relacin formada por las tuplas que pertenecen a

las dos relaciones de partida.


La interseccin de dos relaciones T y S se indica T S.
Como la unin, slo se puede aplicar a relaciones que tengan
tuplas similares.
Las relaciones deben de ser compatibles.

95

M. en I. Carlos Corts Bazn

96

M. en I. Carlos Corts Bazn

97

M. en I. Carlos Corts Bazn

98

M. en I. Carlos Corts Bazn

Diferencia
Es una operacin que, a partir de dos relaciones, obtiene una

nueva relacin formada por todas las tuplas que estn en la


primera relacin y, en cambio, no estn en la segunda.
La diferencia entre las relaciones T y S se indica como T S.
Como la unin y la interseccin, slo se puede aplicar a
relaciones que tengan tuplas similares.
Las relaciones deben de ser compatibles.

99

M. en I. Carlos Corts Bazn

100

M. en I. Carlos Corts Bazn

Producto cartesiano
Es una operacin que, a partir de dos relaciones, obtiene una

nueva relacin formada por todas las tuplas que resultan de


concatenar tuplas de la primera relacin con tuplas de la
segunda.
T y S no tienen ningn nombre de atributo comn
El producto cartesiano de T y S se indica como T S.

101

M. en I. Carlos Corts Bazn

102

M. en I. Carlos Corts Bazn

Seleccin
Operacin que sirve para elegir algunas tuplas de una

relacin y eliminar el resto

103

M. en I. Carlos Corts Bazn

104

M. en I. Carlos Corts Bazn

Proyeccin
Operacin que sirve para elegir algunos atributos de una

relacin y eliminar el resto.

105

M. en I. Carlos Corts Bazn

106

M. en I. Carlos Corts Bazn

Combinacin
Operacin que, a partir de dos relaciones, obtiene una nueva

relacin formada por todas las tuplas que resultan de


concadenar tuplas de la primera relacin con tuplas de la
segunda, y que cumplen una condicin de combinacin
especificada.

107

M. en I. Carlos Corts Bazn

108

M. en I. Carlos Corts Bazn

Procedimientos almacenados
Se almacena en la base de datos para ser ejecutados

109

posteriormente.
Tiene acceso directo a los datos.
Presenta una comunicacin ms simple con el usuario.
Libera de trabajo al servidor de aplicaciones.
La implementacin varia dependiendo el SGBD.
Pueden incluir validacin de datos integrados a la estructura de la
DB (triggers )
Permiten encapsular un proceso grande y complejo.
Los procesos son ms rpidos.
Representa un ventaja cuando la DB es manipulada por varios
sistemas

M. en I. Carlos Corts Bazn

Procedimientos almacenados en
MySQL

110

M. en I. Carlos Corts Bazn

Procedimientos almacenados en
Oracle

CREATE [OR REPLACE] PROCEDURE nombre

[(argumento [{IN | OUT| IN OUT}] tipo, argumento [{IN


| OUT| IN OUT}] tipo)] {IS | AS}
cuerpo del procedimiento

111

M. en I. Carlos Corts Bazn

Procedimientos almacenados en
Oracle

112

M. en I. Carlos Corts Bazn

Ejecutar un procedimiento
almacenado

113

M. en I. Carlos Corts Bazn

IN, OUT, IN OUT

114

M. en I. Carlos Corts Bazn

Cursores

115

M. en I. Carlos Corts Bazn

Activar PUT_LINE

116

M. en I. Carlos Corts Bazn

Tarea
Qu son las funciones?
Qu son los disparadores?

Cul es la diferencia entre procedimientos, funciones y

disparadores?

117

M. en I. Carlos Corts Bazn

Unidad 5: Integridad y seguridad de


datos
Transacciones
Control de privilegios sobre una base de datos
Control de conexiones a un sistema de
administracin de base de datos
Respaldo y restauracin de informacin
Replicacin de informacin
118

M. en I. Carlos Corts Bazn

Transacciones
Consistencia: si un dato es modificado y este se encuentra en

varias tablas, se debe actualizar automticamente o bien, su


una operacin afecta a varias tablas, se debe asegurar que
todas las operaciones se realicen adecuadamente.
Secuencias de operaciones que se ejecutan automticamente.
Se realizan todas las operacin de una transaccin o no se
realiza ninguna.
Si existe un error, aseguran que despus de una actualizacin,
sea consistente la base de datos.

119

M. en I. Carlos Corts Bazn

Ejemplo de transaccin
Transferencia de dinero entre dos cuentas bancarias.

Se retira el dinero de una cuenta y se deposita en la otra, si

existe un error, no se lleva a cabo ninguna.


La base de datos debe ser consistente antes y despus de la
transaccin.

120

M. en I. Carlos Corts Bazn

Propiedades de una transaccin


Atomicidad: Se ejecutan todas las operaciones o ninguna.

Preservacin de la consistencia: Despus de una transaccin

la BD debe ser consistente.


Aislamiento: No muestra los cambios que realiza hasta que
termina.
Persistencia: Una vez que termina, los cambios permanecen
en la BD.

121

M. en I. Carlos Corts Bazn

Finalizacin de una transaccin


xito: Los cambios que efecta se hacen permanentes

(commit).
Fracaso: Si una operacin falla, los cambios realizados no se
reflejan en la BD, regresndola a su estado antes de la
transaccin (rollback).

122

M. en I. Carlos Corts Bazn

123

M. en I. Carlos Corts Bazn

LOG de la BD
Guarda todas las transacciones realizadas en la BD.

Suele ocuparse para deshacer o rehacer una transaccin.


Contiene:
Identificador de la transaccin.
Hora.
Identificador del registro afectado.
Tipo de operacin.
Valor anterior del registro.

Nuevo valor del registro.


Informacin adicional.
124

M. en I. Carlos Corts Bazn

Control de privilegios
Un SGDB tiene diferentes tipos de autorizacin:
Explicita: que sujetos pueden acceder a ciertos objetos, utiliza

una matriz de control de acceso.


Implcita: Una autorizacin definida sobre un objeto puede
deducirse a partir de otras.
Por otro lado existen:
Autorizacin positiva: Su parecencia indica la existencia de

autorizacin.
Autorizacin negativa: es la denegacin explicita de una
autorizacin.

125

M. en I. Carlos Corts Bazn

Control de conexin a un SGDB


Se encarga de conceder o denegar acceso a usuarios.

Ayuda a mantener la integridad de los datos en las

operaciones.
Tipos:
Acceso discrecional (DAC, Discretionary, Access Control):
los usuarios se encargan de establecer el control a travs de
privilegios.
Acceso obligatorio (MAC, Mandatory Access Control): son
ofrecidos por SGDB multinivel

126

M. en I. Carlos Corts Bazn

SGDB Multinivel
Ofrece datos con diferentes niveles o clases de

confidencialidad y usuarios con diferentes clases de


autoridad.
Contiene:
Componente jerrquico: alto secreto, secreto, confidencial, no

clasificado.
No jerrquico.
Los datos tienen un nivel de seguridad por si mismos

independientemente de los privilegios de usuario.


Se basa en el modelo Bell-LaPadula (Tarea).
127

M. en I. Carlos Corts Bazn

Respaldo y restauracin de una DB


Archivos de datos: informacin de usuarios y sistema.

Archivos de Log: contiene informacin de los cambios en la

BD.
Archivos de control: describen nombre, contenido y
localizacin de diversos archivos usados por el SGDB.
Dependiendo de la falla y del SGDB es el tipo de recuperacin.

128

M. en I. Carlos Corts Bazn

Causa de fallas
Fsicas: fallas de hardware.

Diseo: fallas en software (SO, SGBD)


Funcionamiento: fallas humanas.
Entorno: desastres naturales, fallas de corriente,

temperatura.

129

M. en I. Carlos Corts Bazn

Tipos de respaldos
Fsicos: se copian los archivos que soportan la BD. Entre

estos se encuentran los backups del SO, los backups en fro y


los backups en caliente.
Lgicos: slo extraen los datos de las tablas utilizando
comandos SQL .

130

M. en I. Carlos Corts Bazn

Respaldo del SO
Ms sencillo.

Ms tardado.
Sin acceso al sistema.
Pasos:
Detener la BD y el SO.
Iniciar el SO en modo SU.
Realizar respaldo de todos los archivos del SO.
Arrancar SO normalmente y luego la BD.

131

M. en I. Carlos Corts Bazn

Respaldo de la BD en fro
Implican parar la BD en modo normal y copiar todos los

archivos sobre los que se asienta. Antes de parar la BD hay


que parar tambin todos las aplicaciones que estn trabajando
con la BD. Una vez realizada la copia de los archivos, la BD se
puede volver a arrancar.

132

M. en I. Carlos Corts Bazn

Respaldo de la BD en caliente
Se realiza mientras la BD est abierta y funcionando en

modo ARCHIVELOG. Habr que tener cuidado de realizarlo


cuando la carga de la BD sea pequea. Este tipo de backup
consiste en copiar todos los archivos correspondientes a un
tablespace determinado, los archivos redo log archivados y
los archivos de control. Esto para cada tablespace de la BD.

133

M. en I. Carlos Corts Bazn

Respaldos lgicos
Estas utilidades permiten al DBA hacer copias de

determinados objetos de la BD, as como restaurarlos o


moverlos de una BD a otra. Estas herramientas utilizan
comandos del SQL para obtener el contenido de los objetos y
escribirlos en/leerlos de archivos (Export/Import).

134

M. en I. Carlos Corts Bazn

Recuperacin
Recuperacin de bloques: es el ms simple, se realiza automticamente. Se

produce cuando un proceso muere justo cuando est cambiando un bloque, y se


utilizan los registros redo log en lnea para reconstruir el bloque y escribirlo en
disco.

Recuperacin de threads: Se realiza automticamente cuando Oracle descubre

que una instancia muere dejando abierto un thread, entonces se restauran los
bloques de datos modificados que estaban en el cache de la instancia muerta, y
cerrando el thread que estaba abierto. La recuperacin se efecta
automticamente cuando la BD se levanta.

Recuperacin fsica:Se realiza como respuesta a un comando RECOVER. Se

utiliza para convertir los archivos de backup en actuales, o para restaurar los
cambios que fueron perdidos cuando un archivo de datos fue puesto offline sin
un checkpoint, aplicando los archivo redo log archivados y en lnea.

135

M. en I. Carlos Corts Bazn

Tarea

Investigar como se utilizan los comandos export e import en

Oracle.

136

M. en I. Carlos Corts Bazn

Replicacin
Mecanismo utilizado para propagar y diseminar datos en

137

un ambiente distribuido (diferentes servidores).


Permite mayor estabilidad y confiebilidad.
No depende de una BD centralizada.
Permite la alta disponibilidad (servicio continuo).
Cada servidor es independiente del resto.
La ubicacin de los servidores es transparente.
Servicio ininterrumpido.
Capacidad del servicio se incrementa.
Alto costo.

M. en I. Carlos Corts Bazn

Protocolos
Protocolos de replicacin.

Protocolos de recuperacin
Tarea:
Investigar los tipos de replicas.

138

M. en I. Carlos Corts Bazn

Unidad 6: Interfaces de consulta


Diseo de interface de consulta
Administradores de catlogos
Controles transaccionales
Generadores de reportes

139

M. en I. Carlos Corts Bazn

Diseo de interfaces de consulta


Establece la comunicacin entre el usuario que buscan

informacin y una DB.


Se forma por un conjunto de pantallas:

Consulta
Resultados
Visualizacin del documento completo
Informacin general
Ayudas.

Incluir un recuadro de bsqueda simple, minimizando las

bsquedas avanzadas.
Sencillez y Simplicidad
140

M. en I. Carlos Corts Bazn

Diseo de interfaces de consulta


Elementos (1/2):
Consulta simple o bsica: diseada para la mayora de los

usuarios.
Consulta avanzada o combinada: integran ms de un campo de
la DB.
Consulta de los ndices: consulta por medio de los ndices de los
campos.
Consulta por tema: Los datos son presentados en una
organizacin temtica.
Identificacin de la pgina: incluir un titulo que indique cual es
la pgina en la que se encuentra el usuario.
141

M. en I. Carlos Corts Bazn

Diseo de interfaces de consulta


Elementos (2/2):
Acotacin de la bsqueda a un campo o conjunto de campos.
Presentacin de los resultados: breve, extenso, con o sin tabla,

etc., nmero de registros a visualizar.


Ordenacin de los resultados: alfabtico, fecha, por
ponderacin, etc.
Botones para la ejecucin de acciones.

142

M. en I. Carlos Corts Bazn

Administracin de catlogos
La administracin de catlogos puede volverse complicada o

tediosa si no tenemos un buen anlisis o un diseo adecuado.


Consecuencias:
Nmero excesivo de catlogos.
Se crean tantas tablas como catlogos se necesitan.
Almacenan un nmero muy pequeo de registros.
Nmero de clases que se necesitan para poder realizar las

operaciones de alta, baja, modificacin y consultas.


Seguridad: mientras mas mens y sub mens se tengan, la
administracin de la seguridad se vuelve ms compleja.

143

M. en I. Carlos Corts Bazn

Posible solucin
Solo cuando los catlogos son pequeos.

144

M. en I. Carlos Corts Bazn

Control de transacciones
Termina la
transaccin

Comienza la
transaccin Transaccin
activa
Abortar

145

M. en I. Carlos Corts Bazn

Comprometida
parcialmente

Comprometida

Abortar
Fall

Fin
Abortada

Generadores de reportes
Representacin con formato de la informacin de la DB.

Su desarrollo es similar al de un formulario de datos.

146

M. en I. Carlos Corts Bazn

Generadores de reportes
Estructura:
Cabecera de pgina:
Encabezado del reporte: Contiene informacin que ir al principio del reporte.
Encabezado de pgina: Contiene informacin que aparecer en todas las pginas del
reporte, pueden ser las etiquetas de los campos.
Encabezado de grupo: Cuando el informe est dividido en grupos, aparecern los datos
del grupo.
Detalles: despliega los registros de una base de datos a partir de los criterios

establecidos para el reporte.


Pie de pgina:

Pie de grupo: Contiene la informacin que va al final del grupo, puede ser un valor

calculado.
Pie de pgina: Contiene la informacin que se requiere que aparezca en todas las
pginas, como lo es el nmero de pgina.
Pie de reporte: Contiene la informacin que va al final de todo el reporte, como puede
ser las sumas totales y nombres del responsable del reporte.
147

M. en I. Carlos Corts Bazn

Generadores de reportes
iReports, JasperReports

iText
Oracle Reports
DBxtra

CODISA QUERY BUILDER


Etc.

148

M. en I. Carlos Corts Bazn

Bibliografa
J. C. Date. Introduccin A los sistemas de bases de datos Sptima

149

edicin. Pearson Educacin, 2001, ISBN: 968-444-419-2.


Silberschatz, Abraham. Fundamentos de bases de datos Cuarta edicin.
Mc Graw Hill, 2002, ISBN: 0-07-228363-7.
Teaching Soft Group. Programacin en Oracle 11g SQL, SQL*PLUS y
PL/SQL. Alfaomega Ra-Ma, 2012, ISBN: 978-84-9964-118-8.
M. Ricardo, Catherine. Bases de Datos. Mc Graw Hill, 2009, ISBN 13:
978-970-10-7275-2.
M. Kroenke, David. Procesamiento de bases de datos Octava edicin.
Pearson Prentice Hall, 2003, ISBN: 970-26-0325-0.
G. Piattini, Mario. Tecnologa y diseo de bases de datos. Alfaomega RaMa, 2007, ISBN: 978-970-15-1268-5.
Abadal Falgueras, Ernest. Elementos para la evaluacin de interfaces de
consulta de bases de datos web. El profesional de la informacin, vol.
11, n 5, septiembre-octubre 2002.

M. en I. Carlos Corts Bazn

Referencias
Ayuda para Oracle, fuente: http://ora.u440.com/, fecha de

consulta: 4 de febrero de 2015.


Alternativa para el manejo de catlogos dentro de una
aplicacin, fuente:
http://www.oracle.com/technetwork/es/articles/database
-performance/administrar-catalogo-en-aplicacion-426186esa.html, fecha de consulta: 4 de febrero de 2015.

150

M. en I. Carlos Corts Bazn

También podría gustarte