Sunteți pe pagina 1din 90

Prof. Ing. Edward R. Martínez L., Ma.

2018-20
Base de Datos
 Una base de datos es una colección de archivos
relacionados que permite el manejo de la información
de alguna compañía. Cada uno de dichos archivos
puede ser visto 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 algún atributo de una entidad del
mundo real.
 Es un conjunto de datos persistentes que es utilizado
por los sistemas de aplicación de alguna empresa
dada.
 Es una costumbre referirse a los datos de la base de
datos como "persistentes“.
 Por persistentes queremos decir, de manera intuitiva,
que el tipo de datos de la base de datos difiere de otros
datos más efímeros, como los datos de entrada, los
datos de salida, las instrucciones de control, las colas
de trabajo, los bloques de control de software, los
resultados intermedios y de manera más general,
cualquier dato que sea de naturaleza transitoria.
Sistemas de Bases de Datos
 Un sistema de bases de datos es básicamente un
sistema computarizado para llevar registros.
 Es básicamente un sistema computarizado para
guardar registros; es decir, es un sistema
computarizado cuya finalidad general es almacenar
información y permitir a los usuarios recuperar y
actualizar esa información con base en peticiones.
Funciones de un SMBD (SistemaManejador
de Bases de Datos) o DBMS (Database
Management System)
 Definición de datos
 Manipulación de Datos
 Seguridad e integridad de los datos
 Recuperación y concurrencia de los datos
 Diccionario de datos
 Desempeño
Operaciones que los usuarios de un
SMBD pueden realizar
 Agregar nuevos archivos vacíos a la base de datos
(CREATE);
 Insertar datos dentro de los archivos existentes
(INSERT);
 Recuperar datos de los archivos existentes (RECALL,
Select);
 Modificar datos en archivos existentes (UPDATE);
 Eliminar datos de los archivos existentes (DELETE);
 Eliminar archivos existentes de la base de datos(ZAP,
PACK).
Componentes Principales de un
SMBD
 Hardware
 Datos
 Usuarios
 Software
Componentes
 Datos, que producen Información:
 Integrada
 Compartida

 Hardware (Equipo)
 Volúmenes de Almacenamiento secundario
 Procesador o procesadores y la memoria
principal

Ing. Edward Martínez L., Ma. 11


 Software o Programas
 DBMS (Data Base Management System)

 Usuarios
 Programador de aplicaciones
 Usuario final
 DBA (Administrador de Base de Datos)

Ing. Edward Martínez L., Ma. 12


Ventajas de la utilización de
sistemas de Bases de Datos
 Compacto
 Rápido
 Menos laborioso
 Actual
 Ofrece un control centralizado de la
información

Ing. Edward Martínez L., Ma. 13


 Es posible controlar la inconsistencia
 Es posible compartir los datos
 Es posible disminuir la redundancia
 Es posible hacer cumplir las normas
 Es posible aplicar restricciones de seguridad
 Es posible mantener la integridad
 Es posible equilibrar requerimientos
opuestos

Ing. Edward Martínez L., Ma. 14


Arquitectura de las Bases de Datos
 Nivel interno:
 El nivel más bajo de abstracción describe cómo se
almacenan realmente los datos.
 Nivel conceptual:
 Describe qué datos son realmente almacenados en la
base de datos y las relaciones que existen entre los datos.
 Nivel externo:
 Describe sólo parte de la base de datos completa.

Ing. Edward Martínez L., Ma. 15


Ing. Edward Martínez L., Ma. 16
Función del DBA (Database
Administrator)
 Definición de esquema Conceptual
 Definición de esquema Interno
 Vincularse con los usuarios
 Definir las verificaciones de seguridad e integridad
 Definir procedimientos de respaldo y recuperación
 Supervisar el desempeño y responder a cambios en los
requerimientos

Ing. Edward Martínez L., Ma. 17


DBMS, Manejador de Archivos y
Manejador de Discos.

Ing. Edward Martínez L., Ma. 18


Ej. BD. La base de datos de la cava
de vinos (archivo CAVA).
NICHO# VINO PRODUCTOR AÑO BOTELLAS LISTO

2 Chardonnay Buena Vista 1997 1 1999


3 Chardonnay Geyser Peak 1997 5 1999
6 Chardonnay Simi 1996 4 1996
12 Joh. Riesling Jekel 1998 1 1999
21 Fumé Blanc Ch. St. Jean 1997 4 1999
22 Fumé Blanc Robt. Mondavi 1996 2 1998
30 Gewurztraminer Ch. St. Jean 1998 3 1999
43 Cab. Sauvignon Windsor 1991 12 2000
45 Cab. Sauvignon Geyser Peak 1994 12 2002
48 Cab. Sauvignon Robt. Mondavi 1993 12 2004
50 Pinot Noir Gary Farrel 1996 3 1999
51 Pinot Noir Fetzer 1993 3 2000
52 Pinot Noir Dehlinger 1995 2 1998
58 Merlot Clos du Bois 1994 9 2000
64 Zinfandel Cline 1994 9 2003
72 Zinfandel Rafanelli 1995 2 2003
Ing. Edward Martínez L., Ma. 19
Ing. Edward Martínez L., Ma. 20
Instrucción en SQL:

SELECT VINO, NICHO#, PRODUCTOR


FROM CAVA
WHERE LISTO = 2000

Ing. Edward Martínez L., Ma. 21


Ejemplos de inserción,
modificación y eliminación.
Inserción de datos nuevos:

INSERT
INTO CAVA ( NICHO#, VINO, PRODUCTOR, AÑO,
BOTELLAS, LISTO )
VALUES ( 53, 'Pinot Noir', 'Saintsbury', 1997, 6, 2001 ) ;

Ing. Edward Martínez L., Ma. 22


Modificación de datos existentes:

UPDATE CAVA
SET BOTELLAS = 4
WHERE NICHO# = 3 ;

Eliminación de datos existentes:

DELETE
FROM CAVA
WHERE NICHO# = 2 ;

Ing. Edward Martínez L., Ma. 23


Base de datos Ejemplo.
Proveedores y Partes.

Ing. Edward Martínez L., Ma. 24


Ing. Edward Martínez L., Ma. 25
Ing. Edward Martínez L., Ma. 26
Base de Datos Relacional
 Es una base de datos que cumple con el Modelo
Relacional.

 Modelo Relacional
 Es el Fundamento formal o teoría en la que se basan los
Sistemas Relacionales.

Ing. Edward Martínez L., Ma. 27


Aspectos de una Base de Datos
Relacional.
 Aspecto estructural: El usuario percibe la
información de la base de datos como tablas
y nada más que tablas.
 Aspecto de integridad: Estas tablas satisfacen
ciertas restricciones de integridad.
 Aspecto de manipulación: Los operadores
disponibles para que el usuario manipule
estas tablas —por ejemplo, para fines de recuperación
de datos— son operadores que derivan tablas a partir
de tablas.

Ing. Edward Martínez L., Ma. 28


Operadores de Manipulación de
Datos.
 En particular, tres de estos operadores son
importantes:
restringir, proyectar y juntar (este último operador
también es conocido como combinar
o reunir).

Ing. Edward Martínez L., Ma. 29


Operaciones Definición
 La operación restringir (también conocida como
seleccionar) extrae las filas especificadas
de una tabla.
 La operación proyectar extrae las columnas
especificadas de una tabla.
 La operación juntar reúne dos tablas con base en
valores comunes de una columna común.

Ing. Edward Martínez L., Ma. 30


Departamento - Empleados

Ing. Edward Martínez L., Ma. 31


Ing. Edward Martínez L., Ma. 32
Ing. Edward Martínez L., Ma. 33
Ing. Edward Martínez L., Ma. 34
Arquitectura de los Sistemas de
Bases de Datos (Cap. 2).
 Niveles de la arquitectura.
 Interno
 Externo
 Conceptual
 (Ver diapositivas anteriores y abundar con el tema 2
del Libro de C. J. Date.)

Ing. Edward Martínez L., Ma. 35


Ver .PDF. Con material Virtual.
Fases:
 Determinar la finalidad de la base de datos: esto le
ayudará a estar preparado para los demás pasos.
 Buscar y organizar la información necesaria: reúna
todos los tipos de información que desee registrar en la
base de datos, como los nombres de productos o los
números de pedidos.
 Dividir la información en tablas: divida los
elementos de información en entidades o temas
principales. Cada tema pasará a ser una tabla.
 Convertir los elementos de información en
columnas: se indica qué información se requiere
almacenar en cada tabla. Cada elemento se convertirá
en un campo y se mostrará como una columna en la
tabla. Por ejemplo, una tabla Empleados podría incluir
campos como Apellido y Nombre.
 Especificar claves principales: se indica la clave
principal de cada tabla. La clave principal es una
columna que se utiliza para identificar
inequívocamente cada fila, como Id. de producto o Id.
de pedido.
 Definir relaciones entre las tablas: se tiene que
examinar cada tabla y decida cómo se relacionan los
datos de una tabla con las demás tablas. Se agrega
campos a las tablas o se crea nuevas tablas para
clarificar las relaciones según sea necesario.
 Ajustar el diseño: se requiere analizar el diseño para
detectar errores. Se crea las tablas y se agrega algunos
registros con datos de ejemplo. Se comprueba si puede
obtener los resultados previstos de las tablas. Se realiza
los ajustes necesarios en el diseño.
 Aplicar las reglas de normalización: se requiere
aplicar las reglas de normalización de los datos para
comprobar si las tablas están estructuradas
correctamente. Se realiza los ajustes necesarios en las
tablas.
SQL.
 SQL es el lenguaje estándar para trabajar con bases de
datos relacionales y es soportado prácticamente por
todos los productos en el mercado.
 SQL incluye operaciones tanto de definición como de
manipulación de datos.
 Structure Queries Language SQL.
SQL Incrustado.
 Es código SQL trabajando desde un Lenguaje de
Programación.
Definición de Datos.
Ver Figura Libro.

Ing. Edward Martínez L., Ma. 45


CREACION DE UNA TABLA DE CLIENTES DENTRO DE LA BASE
DE DATOS VENTAS.

use ventas
create table cliente
(
Codigo varchar(10) primary key,
Nombre varchar(15),
Apellido varchar(15),
Direccion varchar(40),
Tel varchar (12),
Email varchar(40),
Limitec money,
Edad int,
)
Manipulación.
 Ver libro.

Ing. Edward Martínez L., Ma. 47


Tipos de datos.
CHARACTER [ VARYING J (n) , INTEGER, DATE
BIT [ VARYING ] (n), SMALLINT, TIME
NUMERIC (p,q), FLOAT (p), TIMESTAMP
DECIMAL (p,q), INTERVAL

Ing. Edward Martínez L., Ma. 48


El Catálogo.
 El estándar de SQL incluye especificaciones para un
catálogo estándar denominado Esquema de
información.
 Un catálogo de SQL consiste en los descriptores de
una base de datos individual,* mientras que un
esquema de SQL consiste en los descriptores de esa
parte de la base de datos que pertenece a un usuario
individual.

Ing. Edward Martínez L., Ma. 49


 En otras palabras, puede haber cualquier cantidad de
catálogos (uno por base de datos), cada uno dividido
en cualquier número de esquemas. Sin embargo, es
necesario que cada catálogo incluya exactamente un
esquema denominado INFORMATION_SCHEMA y,
desde la perspectiva del usuario, es ese esquema (como
ya indicamos) el que realiza la función normal de
catálogo.
 El Esquema de información consiste entonces en un
conjunto de tablas de SQL cuyo contenido en efecto
refleja con precisión todas las definiciones de los
demás esquemas del catálogo en cuestión.

Ing. Edward Martínez L., Ma. 50


Vistas.
 El siguiente es un ejemplo de una definición de vista de
SQL:

CREATE VIEW BUEN_PROVEEDOR


AS SELECT V#, STATUS, CIUDAD FROM V
WHERE STATUS > 15 ;

Ing. Edward Martínez L., Ma. 51


ejemplo de una consulta SQL
frente a esta vista:
 SELECT V#, STATUS FROM BUEN_PROVEEDOR
WHERE CIUDAD = 'Londres' ;

 SELECT BUEN_PROVEEDOR.V#,
BUEN_PROVEEDOR. STATUS FROM ( SELECT V#,
STATUS, CIUDAD
FROM V
WHERE STATUS > 15 ) AS BUEN_PROVEEDOR WHERE
BUEN_PROVEEDOR.CIUDAD = 'Londres' ;

Ing. Edward Martínez L., Ma. 52


Transacciones.
 En SQL, las instrucciones análogas de nuestro
COMMIT y ROLLBACK se llaman COMMIT WORK y
ROLLBACK WORK, respectivamente (en ambos
casos, la palabra reservada WORK es opcional).
 Cada vez que el programa ejecute una instrucción de
"inicio de transacción" y no tenga una transacción en
progreso, se iniciará implícitamente una transacción.
 Todas las instrucciones expuestas en esta presentación
son de inicio de transacción (por supuesto, con
excepción de COMMIT y ROLLBACK).

Ing. Edward Martínez L., Ma. 53


Ver ejercicios del Libro: 1.6, 1.7,
1.8, 1.9.
Del libro Introducción a los
Sistemas de Bases de Datos.
Autor: C. J. Date
Ej. BD. La base de datos de la cava
de vinos (archivo CAVA).
NICHO# VINO PRODUCTOR AÑO BOTELLAS LISTO

2 Chardonnay Buena Vista 1997 1 1999


3 Chardonnay Geyser Peak 1997 5 1999
6 Chardonnay Simi 1996 4 1996
12 Joh. Riesling Jekel 1998 1 1999
21 Fumé Blanc Ch. St. Jean 1997 4 1999
22 Fumé Blanc Robt. Mondavi 1996 2 1998
30 Gewurztraminer Ch. St. Jean 1998 3 1999
43 Cab. Sauvignon Windsor 1991 12 2000
45 Cab. Sauvignon Geyser Peak 1994 12 2002
48 Cab. Sauvignon Robt. Mondavi 1993 12 2004
50 Pinot Noir Gary Farrel 1996 3 1999
51 Pinot Noir Fetzer 1993 3 2000
52 Pinot Noir Dehlinger 1995 2 1998
58 Merlot Clos du Bois 1994 9 2000
64 Zinfandel Cline 1994 9 2003
72 Zinfandel Rafanelli 1995 2 2003
Ing. Edward Martínez L., Ma. 55
1.6 Muestre los efectos que tienen las siguientes operaciones SQL de
recuperación sobre la base de
datos de la cava de vinos mostrada en la figura 1.1.

a. SELECT VINO, PRODUCTOR


FROM CAVA
WHERE NICHO# = 72 ;

b. SELECT VINO, PRODUCTOR


FROM CAVA
WHERE AÑO > 1996 ;

C. SELECT NICHO#, VINO, AÑO


FROM CAVA WHERE LISTO < 1999 ;

d. SELECT VINO, NICHO#, AÑO


FROM CAVA
WHERE PRODUCTOR = 'Robt. Mondavi'
AND BOTELLAS > 6 ;
1.8 Muestre los efectos de las siguientes
operaciones SQL de actualización sobre la base
de datos de la cava de vinos de la figura 1.1.
a. INSERT
INTO CAVA ( NICH0#, VINO, PRODUCTOR, AÑO, BOTELLAS, LISTO )
VALUES ( 80, 'Syrah', 'Meridian', 1994, 12, 1999 ) ;

b. DELETE
FROM CAVA
WHERE LISTO > 2000 ;

C. UPDATE CAVA
SET BOTELLAS = 5
WHERE NICHO# = 50 ;

d. UPDATE CAVA
SET BOTELLAS = BOTELLAS + 2
WHERE NICHO# = 50 ;
1.9 Escriba instrucciones SQL para realizar las
siguientes operaciones en la base de datos de la
cava de vinos:
a. Obtenga el número de nicho, el nombre del vino y el
número de botellas de todos los vinos Geyser Peak.
b. Obtenga el número de nicho y el nombre de todos los
vinos que tengan en existencia más de cinco botellas.
c. Obtenga el número de nicho de todos los vinos rojos.
d. Agregue tres botellas al nicho número 30.
e. Elimine de las existencias todo el Chardonnay.
f. Agregue una entrada para un nuevo caso (12 botellas)
de Gary Farrell Merlot: nicho número
55, año 1996, listo en el 2001.
Resp.
Pasos para el Modelo E-R
 Identificar las Entidades
 Establecer los Atributos de las Entidades
 Identificar las Relaciones
 Construir el Diagrama E-R
 Realizar el Modelo Conceptual de la B.D.
 Para estos fines tomar en cuenta que:
 Toda Entidad se convierte en una tabla de la B.D.
 Los atributos se convierten en campos de las tablas.
 Las relaciones de mucho a mucho, se representan en tablas
con los datos necesarios de ambas entidades.
 Para las relaciones de uno a muchos (1:n), el atributo que es
identificador único en la tabla de la parte 1 de la relación, pasa
ha ser un atributo de la parte n de la relación.
Ver concepto del PDF. Modelo E-R.
Notación Diagrama Entidad - Relación
ENTIDAD

RELACION

Cardinalidad (Grado de la Relación)


A B Una entidad A está relacionada con una B.
Es Obligatoria.

A B Una entidad A está relacionada con Cero o una B.


Es Opcional.
Tipos de Relaciones
A B Una entidad A se relaciona
con una entidad B. (1:1)

Una entidad A se relaciona con


A B muchas entidades B. (1:N)

A B Muchas entidades A se relacionan


con muchas entidades B. (N:M)
 Ver ejemplo de “Sistema de Ventas en Archivo de
Word”
Realice el Modelo E-R:
Problema 1 (*): Artículos y encargos
Una base de datos para una pequeña empresa debe contener información acerca de
clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en
documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por
cliente), Saldo, Límite de crédito (depende del cliente, pero en ningún caso debe
superar los 3.000.000 pts), Descuento.
• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen,
Existencias de ese artículo en cada fábrica, Descripción del artículo.
• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera
está formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo
del pedido son varias líneas, en cada línea se especifican el número del artículo pedido
y la cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin
embargo, dado el uso de distribuidores, se usará: Número de la fábrica (único) y
Teléfono de contacto. Y se desean ver cuántos artículos (en total) provee la fábrica.
También, por información estratégica, se podría incluir información de fábricas
alternativas respecto de las que ya fabrican artículos para esta empresa.
Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye
hora.
Se pide hacer el diagrama ER para la base de datos que represente esta información.
Ing. Edward Martínez L., Ma. 70
Ing. Edward Martínez L., Ma. 71
Ing. Edward Martínez L., Ma. 72
Ing. Edward Martínez L., Ma. 73
Ing. Edward Martínez L., Ma. 74
Ing. Edward Martínez L., Ma. 75
Ing. Edward Martínez L., Ma. 76
Ing. Edward Martínez L., Ma. 77
Ing. Edward Martínez L., Ma. 78
Ing. Edward Martínez L., Ma. 79
Ing. Edward Martínez L., Ma. 80
Ing. Edward Martínez L., Ma. 81
Ing. Edward Martínez L., Ma. 82
Ing. Edward Martínez L., Ma. 83
Debe ser Clase#,
error en el ejemplo

Ing. Edward Martínez L., Ma. 84


Ing. Edward Martínez L., Ma. 85
Práctica de Normalización de Bases de Datos.
Tabla: Renta
CAMPO TIPO TAMAÑO DECIMALES CLAVE
Norenta N 10 0 Primaria
Fecha Date 8 -
Placa A/N 12 -
NombreClien A/N 25 -
Apellido A/N 25 -
Tel. A/N 12 -
Cédula A/N 14 -
Marca A/N 20 -
Color A/N 20 -

Ing. Edward Martínez L., Ma. 86


Cont.
CAMPO TIPO TAMAÑO DECIMALES CLAVE

Cant.Dias N 3 0

Precio N 14 2

Total N 14 2

Fecha Entrega Date 8 -

Ing. Edward Martínez L., Ma. 87

S-ar putea să vă placă și