Sei sulla pagina 1di 60

Base de Datos

Informática
Ing. Jorge Eduardo Marmolejo Aguirre

Semana 13
Propósito
• El estudiante describe los conceptos sobre una base de datos;
elabora tablas en una base de datos e identifica tipos de datos y
llaves primarias.

Ing. Jorge Eduardo Marmolejo Aguirre


Agenda del día

1. Sistemas Gestores de Base de Datos

2. Modelo Entidad - Relación

3. Modelo relacional

4. Restricciones

Ing. Jorge Eduardo Marmolejo Aguirre


1.
SISTEMAS GESTORES DE BASE DE
DATOS
Ing. Jorge Eduardo Marmolejo Aguirre
Concepto y origen de las BD y de los SGBD
• Una base de datos (BD) es un conjunto de datos
relacionados entre sí, organizados y estructurados, con
información referente a algo.
• Podremos utilizar una base de datos para cosas tan sencillas
como mantener un registro de nuestra agenda personal de
teléfonos, o tan complicadas como llevar toda la gestión de
una gran empresa u organización.

Ing. Jorge Eduardo Marmolejo Aguirre


Los años sesenta y setenta: sistemas
centralizados
• Los SGBD de los años sesenta y setenta (IMS de IBM, IDS de
Bull, DMS de Univac, etc.) eran sistemas totalmente
centralizados, como corresponde a los sistemas operativos
de aquellos años, y al hardware para el que estaban hechos:
– un gran ordenador para toda la empresa y una red de terminales sin
inteligencia ni memoria.

Ing. Jorge Eduardo Marmolejo Aguirre


Los años sesenta y setenta: Sistemas
Centralizados
• Los primeros SGBD en los años sesenta
todavía no se les denominaba así estaban
orientados a facilitar la utilización de grandes
conjuntos de datos en los que las
interrelaciones eran complejas.
• La arquitectura y tipo de aplicación era el Bill
of materials o Parts explosion, típica en las
industrias del automóvil, en la construcción
de naves espaciales y en campos similares.
Estos sistemas trabajaban exclusivamente
por lotes (batch).

Ing. Jorge Eduardo Marmolejo Aguirre


Aplicaciones SGBD en los años sesenta
• La emisión de facturas, el control de pedidos pendientes de
servir, el mantenimiento del fichero de productos o la
nómina del personal eran algunas de las aplicaciones
informáticas habituales en los años sesenta.

Ing. Jorge Eduardo Marmolejo Aguirre


Aplicaciones SGBD en los años sesenta
• Al aparecer los terminales de teclado, conectados al
ordenador central mediante una línea telefónica, se
empiezan a construir grandes aplicaciones on-line
transaccionales. Los SGBD estaban íntimamente ligados al
software de comunicaciones y de gestión de transacciones.

Ing. Jorge Eduardo Marmolejo Aguirre


Aplicaciones SGBD en los años sesenta
• El Data Base / Data Comunications.
• IBM denominaba Data Base/ Data Comunications (DB/DC).
• El software de comunicaciones y de gestión de transacciones
y de datos.
• Las aplicaciones típicas eran la reserva/compra de billetes a
las compañías aéreas y de ferrocarriles y, un poco más tarde,
las cuentas de clientes en el mundo bancario.

Ing. Jorge Eduardo Marmolejo Aguirre


Importante
• Puesto que los programas estaban relacionados con el nivel
físico, se debían modificar continuamente cuando se hacían
cambios en el diseño y la organización de la BD. La
preocupación básica era maximizar el rendimiento: tiempo
de respuesta y las transacciones por segundo.

Ing. Jorge Eduardo Marmolejo Aguirre


Los años ochenta: SGBD relacionales
• Los ordenadores minis, en primer lugar, y después los
ordenadores micros, extendieron la informática a prácticamente
todas las empresas e instituciones.
• Esto exigía que el desarrollo de aplicaciones fuese más sencillo.
• Los SGBD de los años setenta eran demasiado complejos e
inflexibles, y sólo los podía utilizar un personal muy cualificado.

Ing. Jorge Eduardo Marmolejo Aguirre


Aplicaciones SGBD en los años ochenta
• La aparición de los SGBD relacionales supone un avance
importante para facilitar la programación de aplicaciones con BD
y para conseguir que los programas sean independientes de los
aspectos físicos de la BD.
• Todos estos factores hacen que se extienda el uso de los SGBD.
• La estandarización, en el año 1986, del lenguaje SQL produjo una
auténtica explosión de los SGBD relacionales.
• Oracle aparece en el año 1980.

Ing. Jorge Eduardo Marmolejo Aguirre


Los años noventa: distribución.
• Al acabar la década de los ochenta, los SGBD relacionales ya se
utilizaban prácticamente en todas las empresas. A pesar de todo, hasta
la mitad de los noventa, cuando se ha necesitado un rendimiento
elevado se han seguido utilizando los SGBD pre relacionales.
• La necesidad de tener una visión global de la empresa y de
interrelacionar diferentes aplicaciones que utilizan BD diferentes, junto
con la facilidad que dan las redes para la intercomunicación entre
ordenadores, ha conducido a los SGBD actuales, que permiten que un
programa pueda trabajar con diferentes BD como si se tratase de una
sola. Es lo que se conoce como base de datos distribuida.

Ing. Jorge Eduardo Marmolejo Aguirre


Tendencias actuales
• Hoy día, los SGBD relacionales están en plena
transformación para adaptarse a tres tecnologías de
éxito reciente, fuertemente relacionadas:
– Multimedia.
– Internet y la web.
– Móviles

Ing. Jorge Eduardo Marmolejo Aguirre


Componentes de los sistemas gestores de
bases de datos
• Las SGBD son paquetes de software muy complejos que
debe proporcionar una serie de servicios que van a permitir
almacenar y explotar los datos de forma eficiente. Los
componentes principales se describen a continuación:
• Lenguajes de los SGBD
• EI diccionario de datos
• Seguridad e integridad de datos
• Usuarios de los SGBD
• Herramientas del SGBD

Ing. Jorge Eduardo Marmolejo Aguirre


Lenguajes de SGBD
• Todos los SGBD ofrecen lenguajes e interfaces apropiadas para
cada tipo de usuario: administradores, diseñadores,
programadores de aplicaciones y usuarios finales. Los lenguajes
permiten al administrador de la base de datos especificar los
datos que componen la BD, su estructura, las relaciones que
existen entre ellos, las reglas de integridad, los controles de
acceso, las características de tipo físico y las vistas externas de los
usuarios.

Ing. Jorge Eduardo Marmolejo Aguirre


Diccionario de datos
• EI diccionario de datos es el lugar donde se
deposita información sobre todos los datos que
forman la base de datos.
• Es una guía en la que se describe la base de
datos: los objetos que la forman.
• El diccionario contiene las características lógicas
de los sitios donde se almacenan los datos del
sistema, incluyendo nombre, descripción, alias,
contenido y organización; además identifica los
procesos donde se emplean los datos y los sitios
donde se necesita el acceso inmediato a la
información.

Ing. Jorge Eduardo Marmolejo Aguirre


Seguridad e integridad de datos
• Un SGBD proporciona los siguientes mecanismos para
garantizar la seguridad e integridad de los datos:
– Debe garantizar la protección de los datos contra accesos no autorizados,
tanto intencionados como accidentales. Asegura que sólo los usuarios
autorizados pueden acceder a la BD.
– Los SGBD ofrecen mecanismos para implantar restricciones de integridad en
la BD; Estás restricciones van a proteger la BD contra daños accidentales.
Los valores de los datos que se almacenan deben satisfacer ciertos tipos de
restricciones de consistencia y reglas de integridad, que especificara el
administrador de la BD. EI SGBD puede determinar si se produce una
violación de la restricción.

Ing. Jorge Eduardo Marmolejo Aguirre


Usuarios de los SGBD
• En los sistemas de gestión de bases de datos actuales existen diferentes
categorías de usuarios. Estás categorías se caracterizan par que cada una de ellas
tiene una serie de privilegios o permisos sobre los objetos que forman la BD.
• En los sistemas Oracle las categorías más importantes son:
– Los usuarios de la categoría DBA (Database Administrator), cuya función es
precisamente administrar la base, y que tienen el nivel más alto de privilegios.
– Los usuarios de la categoría RESOURCE, que pueden crear sus propios objetos, y
tienen acceso a los objetos para los que se les ha concedido permiso.
– Los usuarios del tipo CONNECT, que solamente pueden utilizar aquellos objetos para
los que se les ha concedido permiso de acceso.

Ing. Jorge Eduardo Marmolejo Aguirre


2.
MODELO ENTIDAD – RELACIÓN

Ing. Jorge Eduardo Marmolejo Aguirre


Definición
• Los diagramas o modelos
Entidad – Relación (denominado
por su siglas, ERD “Diagram
Entity Relationship”) son una
herramienta para el modelado de
datos de un sistema de
información. Estos modelos
expresan entidades relevantes
para un sistema de información,
sus inter-relaciones y
propiedades.

Ing. Jorge Eduardo Marmolejo Aguirre


Origen
• El modelo de datos Entidad – Interrelación (E-R), también
llamado Entidad – Relación, fue propuesto por Peter Chen en
1976 para la representación conceptual de los problemas del
mundo real. En 1988, el ANSI lo seleccionó como modelo
estándar para los sistemas de diccionarios de recursos de
información. Es un modelo muy extendido y potente para la
representación de los datos. Se simboliza haciendo uso de
grafos y de tablas. Propone el uso de tablas bidimensionales
para la representación de los datos y sus relaciones.
Ing. Jorge Eduardo Marmolejo Aguirre
Representación

Ing. Jorge Eduardo Marmolejo Aguirre


Entidad
• Es un objeto del mundo real, que tiene interés para la
empresa. Cada entidad se identifica por su nombre; por
ejemplo, la entidad ALUMNOS de un centro escolar, o la
entidad CLIENTES de un banco. Se representa utilizando
rectángulos.
• Hay dos tipos de entidades.

Ing. Jorge Eduardo Marmolejo Aguirre


Tipos de entidades

Entidad fuerte Entidad débil


• Es aquella que no depende de • Es aquella que necesita a otra
otra entidad para su existencia. entidad para existir.
• Por ejemplo, la entidad • Por ejemplo, la entidad NOTAS
ALUMNOS es fuerte, pues no necesita a la entidad ALUMNOS,
depende de otra para existir. pues sin alumnos no hay notas. Las
entidades débiles se relacionan
con la entidad fuerte con una
relación una a varios.

Ing. Jorge Eduardo Marmolejo Aguirre


Atributos o campos
• Atributos o campos: son las unidades de información que
describen propiedades de las entidades.
• Por ejemplo, la entidad ALUMNOS posee los siguientes atributos:
número de matrícula, nombre, dirección, ciudad y teléfono. Los
atributos toman valores; por ejemplo, el atribulo ciudad puede ser
Arequipa, Huancayo, etc. EI conjunto de valores permitido para
cada atributo se denomina dominio; par ejemplo, el dominio del
atributo nombre puede ser el conjunto de cadenas de texto de una
longitud determinada. Los atributos se representan mediante una
elipse con el nombre en su interior.
Ing. Jorge Eduardo Marmolejo Aguirre
Clave primaria o principal
• Clave primaria o principal (primary key): es el conjunto de
atributos que identifican de forma única a cada entidad. No
puede contener valores nulos, ha de ser sencilla de crear y no
ha de variar con el tiempo. EI atributo o los atributos que
forman Está clave se representan subrayados.
• Por ejemplo, el número de matrícula de un alumno de la
entidad ALUMNOS podría ser clave primaria. En la siguiente
ilustración se muestra la entidad ALUMNOS con sus
atributos y su clave.
Ing. Jorge Eduardo Marmolejo Aguirre
Representación de la entidad ALUMNOS y sus
Atributos

Ing. Jorge Eduardo Marmolejo Aguirre


Relación
• Es la asociación entre dos o más entidades. Tienen nombre
de verbo que las identifica con respecto a las otras
relaciones. Normalmente las relaciones no tienen atributos.
• Cuando surja una relación con atributos, eso significa que
debajo hay una entidad que aún no se ha definido, la cual
recibe el nombre de entidad asociada. Está entidad dará
origen a una tabla que contendrá esos atributos. Esto se
hace en el modelo relacional a la hora de representar los
datos, como se verá más adelante.
Ing. Jorge Eduardo Marmolejo Aguirre
Representación de una relación

Ing. Jorge Eduardo Marmolejo Aguirre


Diagrama E-R: Un proveedor suministra
muchos artículos

Ing. Jorge Eduardo Marmolejo Aguirre


Grado y cardinalidad de las relaciones
• Se define grado de una relación como el número de
conjuntos de entidades que participan en el conjunto de
relaciones o, lo que es lo mismo, el número de entidades que
participan en una relación. Las relaciones en las que
participan dos entidades son binarias o de grado dos; si
participan tres, serán ternarias o de grado 3. Los conjuntos
de relaciones pueden tener cualquier grado. Lo ideal es tener
relaciones binarias.

Ing. Jorge Eduardo Marmolejo Aguirre


Relación de grado 1
• Las relaciones en las que sólo participa
una entidad se llaman anillo o de grado
uno; relaciona una entidad consigo
misma, se las llama relaciones
reflexivas. Por ejemplo, la entidad
EMPLEADO puede tener una relación
JEFE DE consigo misma: un empleado
es JEFE DE muchos empleados y, a la
vez, el jefe es un empleado.
• Otro ejemplo puede ser la relación
DELEGADO DE los alumnos de un
curso: el delegado es alumno también
del curso.

Ing. Jorge Eduardo Marmolejo Aguirre


Relación de grado 2 y 3
• En la siguiente ilustración se
muestra una relación de grado
dos que representa un
proveedor que suministra
artículos, y otra de grado tres
que representa un cliente de
un banco que tiene varias
cuentas y cada una en una
sucursal.
Ing. Jorge Eduardo Marmolejo Aguirre
Relaciones binarias 1:1, uno a uno
• A cada elemento de la primera
entidad le corresponde sólo
uno de la segunda entidad, y a
la inversa.
• Por ejemplo, un clientes de un
hotel ocupa una habitación, o
un grupo de alumnos
pertenece a un aula, y a esa
aula sólo asiste ese grupo de
alumnos.

Ing. Jorge Eduardo Marmolejo Aguirre


Relaciones binarias 1:N, uno a muchos.
• A cada elemento de la primera
entidad le corresponde uno o
más elementos de la segunda
entidad, y a cada elemento de
la segunda entidad le
corresponde uno solo de la
primera entidad.
• Por ejemplo, un proveedor
suministra muchos artículos.

Ing. Jorge Eduardo Marmolejo Aguirre


Relaciones binarias M:N, muchos a muchos.
• A cada elemento de la primera
entidad le corresponde uno o
más elementos de la segunda
entidad, y a cada elemento de la
segunda entidad le corresponden
una o más elementos de la
primera entidad. Por ejemplo, un
vendedor vende muchos
artículos, y un artículo es vendido
por muchos vendedores.

Ing. Jorge Eduardo Marmolejo Aguirre


3.
MODELO RELACIONAL

Ing. Jorge Eduardo Marmolejo Aguirre


El modelo relacional
• EI modelo de datos relacional fue desarrollado por E.F. Codd para IBM a finales
de los años sesenta.
• Propone un modelo basado en la teoría matemática de las relaciones con el
objetivo de mantener la independencia de la estructura lógica respecto al modo
de almacenamiento y otras características de tipo físico.

Ing. Jorge Eduardo Marmolejo Aguirre


Objetivos
• Independencia física de los datos, esto es el modo de almacenamiento de los datos
no debe influir en su manipulación lógica.
• Independencia lógica de los datos, es decir los cambios que se realicen en los objetos
de la base de datos no deben repercutir en los programas y usuarios que acceden a
ella.
• Flexibilidad, para presentar a los usuarios los datos de la forma más adecuada a la
aplicación que utilicen.
• Uniformidad, en la presentación de las estructuras lógicas de los datos, que son
tablas, lo que facilita la concepción y manipulación de la base de datos por parte de
los usuarios.
• Sencillez, pues las características anteriores así como unos lenguajes de usuario
sencillos hacen que este modelo sea fácil de comprender y utilizar por el usuario.
Ing. Jorge Eduardo Marmolejo Aguirre
Estructura del modelo Relacional
• Como ya se ha indicado, la relación es el elemento básico del
modelo relacional y se representa como una tabla, en la que
se puede distinguir el nombre de la tabla, el conjunto de
columnas que representan las propiedades de la tabla y que
se denominan atributos, y el conjunto de filas, llamadas
tuplas, que contienen los valores que toma cada a uno de los
atributos para cada elemento de la relación.

Ing. Jorge Eduardo Marmolejo Aguirre


Elementos
• Una relación tiene una serie de elementos característicos que la
distinguen de una tabla:
– No admiten filas duplicadas.
– Las filas y columna, no están ordenadas.
– La tabla es plana. En el cruce de una fila y una columna sólo puede haber un
valor; no se admiten atributos multivaluados.

Ing. Jorge Eduardo Marmolejo Aguirre


Dominios y atributos
• Se define dominio como el conjunto finito de valores homogéneos (todos
del mismo tipo) y atómicos (son indivisibles) que puede tomar cada atributo.
Los valores contenidos en una columna pertenecen a un dominio que
previamente se ha definido. Todos los dominios tienen un nombre y un tipo
de datos asociado
• Se define atributo como el papel o rol que desempeña un dominio en una
relación. Representa el uso de un dominio para una determinada relación. EI
atributo aporta un significado semántico a un dominio. Por ejemplo, en la
relación ALUMNOS podemos considerar los siguientes dominios:
– Atributo NUM_MAT, dominio: conjunto de enteros formados por 4 dígitos.
– Atributo NOMBRE, dominio: conjunto de 15 caracteres.
– Atributo APELLIDOS, dominio: conjunto de 20 caracteres.
– Atributo CURSO, dominio: conjunto de 7 caracteres

Ing. Jorge Eduardo Marmolejo Aguirre


Tipos de dominios
• Dominios generales. son aquellos cuyos valores están
comprendidos entre un máximo y un mínimo.
– Por ejemplo, el Código_postal, que está formado por todos los números
enteros positivos de cinco cifras.
• Dominios restringidos. Son los que pertenecen a un conjunto
de valores específico.
– Por ejemplo, Sexo. que puede tomar los valores M o F.

Ing. Jorge Eduardo Marmolejo Aguirre


Relaciones
• La relación se representa mediante una tabla con filas y columnas. Un
SGBD sólo necesita que el usuario pueda percibir la BD como un
conjunto de tablas. Está percepción solo se aplica a la estructura lógica
de la BD (nivel externo y conceptual de la arquitectura a tres niveles
ANSI-SPARC); no se aplica a la estructura física de la BD, que se puede
implementar con distintas estructuras de almacenamiento.
• En el modelo relacional las relaciones se utilizan para almacenar
información sobre los objetos que se representan en la BD. Se
representa gráficamente como una tabla bidimensional en la que las filas
corresponden a registros individuales y las columnas a los, campos o
atributos de esos registros.
Ing. Jorge Eduardo Marmolejo Aguirre
La relación esta formada por
• Atributos (columnas). Se trata de cada una de las columnas de la tabla.
Las columnas tienen un nombre y pueden guardar un conjunto de
valores. Una columna se identifica siempre por su nombre, nunca por su
posición. EI orden de las columnas en una tabla es irrelevante.
• Tuplas (filas). Cada tupla representa una fila de la tabla. En la siguiente
ilustración aparece la tabla EMPLEADO con tres filas o tuplas.
• De las tablas se derivan los siguientes conceptos:
– Cardinalidad. Es el número de filas de la tabla. En el ejemplo anterior es tres.
– Grado. Es el número de columnas de la tabla. En el ejemplo anterior el grado es cinco.
– Valor. Está representado por la intersección entre una fila y una columna. Por ejemplo, son
valores de la tabla EMPLEADO: 13407, Milagros Suela Sarro, 1500.
– Valor Null. Representa la ausencia de información.

Ing. Jorge Eduardo Marmolejo Aguirre


Tabla

Ing. Jorge Eduardo Marmolejo Aguirre


Propiedades de las relaciones
• Las relaciones tienen las siguientes características:
– Cada relación tiene un nombre y este es distinto de los demás.
– Los valores de los atributos son atómicos: en cada tupla, cada atributo toma
un solo valor, Se dice que las relaciones Están normalizadas.
– No hay dos atributos que se llamen igual.
– EI orden de los atributos es irrelevante; no están ordenados.
– Cada tupla es distinta de las demás; no hay tuplas duplicadas.
– Al igual que en los atributos, el orden de las tuplas es irrelevante; las tuplas
no están ordenadas

Ing. Jorge Eduardo Marmolejo Aguirre


Claves
• En una relación no hay tuplas repetidas; se identifican de un
modo único mediante los valores de sus atributos. Toda fila
debe estar asociada con una clave que permita identificarla.
A veces la fila se puede identificar por un único atributo,
pero otras veces es necesario recurrir a más de un atributo.
• La clave debe cumplir dos requisitos:
– Identificación univoca: en cada fila de la tabla el valor de la clave ha de
identificarla de forma univoca.
– No redundancia: no se puede descartar ningún atributo de la clave para
identificar la fila.
Ing. Jorge Eduardo Marmolejo Aguirre
Clave
• Se define clave candidata de una relación como el conjunto de
atributos que identifican univoca y mínimamente (necesarios para
identificar la tupla) cada tupla de la relación. Siempre hay una
clave candidata, pues por definición no puede haber dos tuplas
iguales; habrá uno o varios atributos que identifiquen la tupla.
• Una relación puede tener más de una clave candidata, entre las
cuales se distinguen:
– Clave primaria o principal (primary key): aquella clave candidata que el usuario
escoge para identificar las tuplas de la relación. No puede tener valores nulos. Si
sólo existe una clave candidata, está se elegirá como clave primaria.
– Clave alternativa: aquellas claves candidatas que no han sido escogidas como
clave primaria

Ing. Jorge Eduardo Marmolejo Aguirre


4.
RESTRICCIONES

Ing. Jorge Eduardo Marmolejo Aguirre


Restricciones del modelo relacional
• En todos los modelos de datos existen restricciones que a la
hora de diseñar una base de datos se tienen que tener en
cuenta. Los datos almacenados en la BD han de adaptarse a
las estructuras impuestas por el modelo y deben cumplir una
serie de reglas para garantizar que son correctos.
• EI modelo relacional impone dos tipos de restricciones;
algunas de ellas ya las hemos citado en las propiedades de
las relaciones y las claves
Ing. Jorge Eduardo Marmolejo Aguirre
Restricciones inherentes al modelo
• Indican las características propias de una relación que han de
cumplirse obligatoriamente y que diferencian una relación
de una tabla: no hay dos tuplas iguales, el orden de las tuplas
y los atributos no es relevante, cada atributo solo puede
tomar un único valor del dominio al que pertenece y ningún
atributo que forme parte de la clave primaria de una relación
puede tomar un valor nulo.

Ing. Jorge Eduardo Marmolejo Aguirre


Restricciones semánticas o de usuario
• Restricciones semánticas o de usuario: representan la semántica
del mundo real. Estás hacen que las ocurrencias de los esquemas
de la base de datos sean válidos. Los mecanismos que
proporciona el modelo para este tipo de restricciones son los
siguientes:
– La restricción de clave primaria (PRIMARY KEY): permite declarar uno o varios
atributos como clave primaria de una relación.
– La restricción de unicidad (UNIQUE): permite definir claves alternativas. Los
valores de los atributos no pueden repetirse.
– La restricción de obligatoriedad (NOT NULL): permite declarar si uno o varios
atributos no pueden tomar valores nulos

Ing. Jorge Eduardo Marmolejo Aguirre


Restricciones semánticas o de usuario
• Integridad referencial o restricción de clave ajena (FOREIGN
KEY): se utiliza para enlazar relaciones, mediante claves
ajenas, de una base de datos. La integridad referencial indica
que los valores de la clave ajena en la relación hijo se
corresponden con los de la clave primaria en la relación
padre.
• La restricción de verificación (CHECK): Está restricción
permite especificar condiciones que deban cumplir los
valores de los atributos.
Ing. Jorge Eduardo Marmolejo Aguirre
Preguntas

Ing. Jorge Eduardo Marmolejo Aguirre


¿Qué hemos aprendido?

Ing. Jorge Eduardo Marmolejo Aguirre


Reflexionemos

Ing. Jorge Eduardo Marmolejo Aguirre


Gracias por su atención

Ing. Jorge Eduardo Marmolejo Aguirre


jmarmolejo@continental.edu.pe