Está en la página 1de 65

ACTIVIDAD DE

PROYECTO
MODELAR LA BASE DE DATOS
DATO
Palabras y números que por si solo no tienen ningún
significado.
BASE DE DATOS

• Conjunto de datos relacionados y organizados de tal forma que tengan


sentido esos datos.
Ejemplos de BD. Directorio telefónico, biblioteca.
SISTEMA GESTOR DE BASES DE DATOS
(SGBD)

Programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario


y las aplicaciones. Se compone de un lenguaje de definición de datos, de un
lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD
permiten definir los datos a distintos niveles de abstracción y manipular dichos
datos, garantizando la seguridad e integridad de los mismos.
• Algunos ejemplos de SGBD son Oracle,PostgreSQL, MySQL, MS SQL
Server, etc.
Lenguaje de Definición de Datos (DDL)

Un lenguaje de definición de datos (Data Definition Language, DDL por sus


siglas en inglés) es un lenguaje proporcionado por el sistema de gestión de
base de datos que permite a los usuarios de la misma llevar a cabo las tareas
de definición de las estructuras que almacenarán los datos así como de los
procedimientos o funciones que permitan consultarlos.
Lenguaje de Manipulación de Datos (DML)

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es


un idioma proporcionado por los sistemas gestores de bases de datos que
permite a los usuarios de la misma llevar a cabo las tareas de consulta o
modificación de los datos contenidos en las Bases de Datos del Sistema Gestor
de Bases de Datos.
Administrador de bases de datos(DBA)
Es el profesional informático encargado de la administración de una o
varias bases de datos gestionando su uso y funcionamiento .
SQL

SQL corresponde a la expresión inglesa Structured Query


Language (entendida en español como Lenguaje de Consulta Estructurado),
la cual identifica a un tipo de lenguaje vinculado con la gestión de bases de
datos de carácter relacional que permite la especificación de distintas clases
de operaciones entre éstas. Gracias a la utilización del álgebra y de cálculos
relacionales, el SQL brinda la posibilidad de realizar consultas con el
objetivo de recuperar información de las bases de datos de manera sencilla.
COMPONENTES DE UNA BASE DE DATOS

• CAMPO: es el nombre de la unidad de información.


Almacena datos de un mismo tipo.
• REGISTRO: colección de datos iguales o de diferente tipo
que están relacionado. Conjunto de campos.
• ARCHIVO: colección de registros relacionados y organizados
Ejemplo: dos archivos diferente pero
relacionados forman una base de datos
TRANSACCIONES

Son unidades lógicas de trabajo, formadas habitualmente


por un conjunto de operaciones que han de ejecutarse
como si de una única operación se tratara.
USUARIOS

• ADMINISTRADOR: Es el que se encarga de generar y modificar los


esquemas (lógico y de vistas) de la base de datos, así como de las cuestiones
de seguridad (control de acceso y recuperación/almacenamiento de datos).
El almacenamiento y recuperación se realiza con una política de copias de
respaldo (normalmente en cintas) e implementando sistemas de
redundancia RAID (varios dispositivos físicos anticaída del sistema)
OTROS USUARIOS.

• Programadores de aplicaciones: crean aplicaciones que acceden a los


datos de la base de datos mediante el DML embebido en los lenguajes de
programación.
• Usuarios sofisticados: utilizan consultas mediante DML, utilizando en una
interfaz de comandos instrucciones de SQL puro.
• Usuarios normales: acceden a la base de datos mediante las aplicaciones
que los programadores han diseñado para tal efecto.
MODELO DE BASE DE DATOS

Son herramientas conceptuales que permiten definir los datos, las relaciones entre los datos.
Hay dos tipos de modelos:
• Lógicos: orientados a objetos o a registros.
• Físicos.
MODELO RELACIONAL

Permite visualizar la estructura de una base de datos y las relaciones entre los datos. Consistente en el
almacenamiento de datos en tablas compuestas por filas, o tuplas, y columnas o campos. 

DIAGRAMA O MODELO ENTIDAD RELACIÓN E/R


Permite representar gráficamente la estructura lógica de la base de datos.
• Entidad: Es un objeto que existe y es diferenciable de otros, se escribe en
singular. Una entidad pueden ser:
Concreta: persona, empleado, casa, auto..
Abstracta: cuenta bancaria, curso, empresa..
Se representa con un rectángulo.
DEPENDENCIAS DE EXISTENCIA

La existencia de un conjunto de entidades x dependerá de la existencia de otro


conjunto de entidades y cuando una entidad del primer conjunto de entidades no
pueda existir si no existe una entidad del segundo conjunto de entidades. A x se le
denomina conjunto de entidades subordinadas o débiles; a y, conjunto de
entidades dominantes. Esta dependencia de existencia hace que si se borra el
conjunto de entidades y, el conjunto de entidades x también sería borrado de
forma automática.
Ejemplo de participación de un conjunto de entidades E en un
conjunto de relaciones R:

“Pagos” es una entidad porque tiene una serie de atributos que le hacen tener vida
propia por sí misma, pero no se puede pensar en un pago sin relacionarlo con un
préstamo. Si los préstamos desaparecen, también los pagos. El doble rectángulo
indica que es un conjunto de entidades débil.
Hay dos tipos de participación de un conjunto de entidades E en un conjunto de
relaciones R:
• Participación total: Cada entidad de E participa al menos en una relación de R.
Suele producir dependencia de existencia. Este tipo de participación se denota
por una doble raya.
• Participación parcial: Las entidades de E no tienen porqué pertenecer a una
relación de R. Este tipo de participación se denota mediante una línea simple
Restricciones

Una restricción es una limitación que obliga el cumplimiento de ciertas


condiciones en la base de datos. Algunas no son determinadas por los
usuarios, sino que son inherentemente definidas por el simple hecho de que la
base de datos sea relacional. Algunas otras restricciones las puede definir el
usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Dominios
Un dominio describe un conjunto de posibles valores para cierto atributo. Como
un dominio restringe los valores del atributo, puede ser considerado como una
restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos
los valores de este atributo deben ser elementos del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no


procedurales etc.
CLAVES

Una clave es un atributo que permite diferenciar una entidad (o relación) del
resto dentro del mismo conjunto de entidades (o de relaciones).
Superclave:

Aplica una clave o restricción a varios atributos de la entidad, para así


asegurarse que en su conjunto no se repitan varias veces y así no poder entrar
en dudas al querer identificar un registro.
Clave primaria

Una clave primaria es una clave única elegida entre todas las candidatas que
define unívocamente a todos los demás atributos de la tabla, para especificar
los datos que serán relacionados con las demás tablas. La forma de hacer esto
es por medio de claves foránea
Clave foránea

Una clave foránea es una referencia a una clave en otra tabla, determina la
relación existente en dos tablas. Las claves foráneas no necesitan ser claves
únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la
tabla de empleados. Se permite que haya varios empleados en un mismo
departamento, pero habrá uno y sólo un departamento por cada clave distinta
de departamento en la tabla de empleados.
Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los
datos. Los índices pueden ser creados con cualquier combinación de campos
de una tabla. Las consultas que filtran registros por medio de estos campos,
pueden encontrar los registros de forma no secuencial usando la clave índice.
Los índices generalmente no se consideran parte de la base de datos, pues son
un detalle agregado.
COMPONENTES DE DIAGRAMA ENTIDAD
RELACION
Los componentes básicos de este diagrama son:
• Elipses.
o Elipse simple: atributo.
o Elipse doble: atributo multivalorado.
o Elipse discontinua: atributo derivado
• Rectángulos.
o Rectángulo simple: conjunto de entidades fuerte.
o Rectángulo doble: conjunto de entidades débil.
• Rombos.
o Rombo simple: conjunto de relaciones.
o Rombo doble: conjunto de relaciones en una entidad débil.
• Líneas.
o Líneas simples: unen atributos con los conjuntos de entidades, atributos con los conjuntos de atributos o conjuntos de entidades con conjuntos de
relaciones (relación de participación parcial).
o Líneas dobles: indican una relación de participación total.
• Relación: relación entre entidades, también llamado mapeo o cardinalidad.

• Unión entre entidades:


• Atributos:

Valores asociados a cada una de las propiedades de una entidad. Toda entidad
queda representada por medio de un conjunto de atributos. Los atributos tienen
un dominio (conjunto de valores que puede tomar). El conjunto de pares
atributo-valor sirven para describir a cada entidad.
Ejemplo: empleado se puede describir mediante el conjunto:
{(cedula, 879542), (nombre, Rocio),(ciudad, Medellín)}
Tipos de atributos:

•Atómicos o Simples: Atributo formado por un único valor.


•Compuestos: Atributo formado por varios valores que podemos descomponer.
•Univalorados: Aceptan un único valor.
•Multivalorado: pueden tener un conjunto de valores para una misma entidad.
•Nulos: Asociado a atributos que no son aplicados o no se conocen. Los valores
NULL pueden dar problemas en operaciones de recuperación de datos.
•Derivados: Aquellos que se obtienen a partir de otros atributos. A veces
aparecen por razones de eficiencia en las búsquedas. Tienen un tratamiento
especial; se guardan en columnas calculadas, aunque lo habitual es que no se
guarden.
GRADO DE RELACIONES

Se refiere al número de entidades que participan en una relación. 
RELACIONES UNARIAS
• Las relaciones en las que sólo participan una entidad se les denomina
unarias, de anillo o grado 1;
• Relaciona una entidad consigo misma por lo que también se les llaman
relaciones reflexivas

ejemplo:
CONJUNTO DE RELACIONES BINARIAS

Las relaciones que en las que participan dos entidades son binarias o de grado
dos.

Ejemplo: En una aula se encuntra un grupo, y en un grupo se encuentran


alumnos
RELACIÓN TERNARIA

Cuando en la relación participan tres entidades serán ternarias o de 
grado tres. 
Este tipo de relación es poco común. Pero se presenta de igual manera
CARDINALIDAD

Expresa el número de entidades que están asociadas a otra mediante un conjunto de


relaciones.
Tipos de cardinalidades (para conjuntos de relaciones binarias):
Uno a uno (1,1): una entidad de A se puede relacionar con una de B.
Uno a varios o varios a uno (0,n) 0 (1,n): determina que un registro de una entidad puede
estar relacionado con varios de otra entidad, pero en esta entidad puede existir solo una vez.
Varios a varios (n,n): varias entidades de A se pueden relacionar con varias entidades de B.
• La clave primaria de un conjunto de entidades se indica subrayando los atributos que
la componen
• Los atributos de las relaciones van unidos a los rombos que representan las relaciones
mediante una línea simple.
• Cuando sea necesario, los papeles se indicarán mediante etiquetas situadas sobre las
líneas que unen los conjuntos de entidades con los de relaciones para señalar su
función.
• Las entidades fuertes tienen atributos claves, en tanto las entidades débiles no tienen
atributos claves propios.
• La relación de cardinalidad se representa mediante una flecha en la parte de “varios”.
De esta forma, las representaciones serían:

Muchos a muchos
Uno a uno
Casos de las relaciones (1:1)

Cuando la relación es de 0 a 1 y de 1 a 1 tenemos que pasar la clave primaria de la entidad (1:1) a la entidad de (0:1),
pasando a ser foránea.
Si ambas son (0:1) la relación se transforma en una tabla teniendo como clave primaria la concatenación
De las claves primarias asociadas que además también serán foráneas
RELACION UNO A MUCHOS

Un aspecto importante a tener en cuenta es que cuando realicemos las


relaciones entre tablas debemos incluir en las tablas secundarias las claves
foráneas, es decir, en una relación de uno a muchos (1,m o 1,∞) la clave
principal de la tabla “uno” tendrá que ir como clave foránea en la tabla
“muchos” para poder efectuar la relación correctamente. Además es necesario
que tanto la clave principal como la foránea tengan asignado el mismo tipo de
datos (número, texto, …)
RELACIÓN DE MUCHOS A MUCHOS
La relación se convierte en una tabla nueva que une las 2 entidades que se estaban
relacionando originalmente. La nueva tabla tendrá su propia llave primaria. Es un
campo o una combinación de campos que identifica de forma única a cada fila de una
tabla. y tendrá 2 llaves foráneas, las cuales corresponden a las llaves primarias de las
otras dos tablas. Adicionalmente tendrá los campos. Los campos son cada una de las
columnas que forman la tabla. adicionales que sean requeridos. El nombre para la
nueva tabla puede ser el mismo de la relación u otro que sea más adecuado.
La cardinalidad mantiene la misma regla aplicada en los casos anteriores. Se
colocará un 1 donde se encuentran las llaves primarias, y una M donde se encuentra
las llaves foráneas, transformándose así en dos relaciones de uno a muchos (1:M).
NOTA

• Cardinalidad Máxima (CM): es el número máximo de ocurrencias de una


entidad B asociada con una entidad A.
• Cardinalidad Mínima (Cm): es el número mínimo de ocurrencias de un
TALLER

• País-Continente
• Cliente-Producto
• Empleado – Departamento
• Cliente – Pedido
• Computador-Espacio
• Alumno-Profesor
• Estudiante – Colegio
• Estudiante – Libro (préstamo)
Técnica para el modelado de datos utilizando diagramas
entidad relación.

No es la única técnica pero sí la más utilizada. Brevemente consiste en


los siguientes pasos:
1. Se parte de una descripción textual del problema o sistema de
información a automatizar (los requisitos).
2. Se hace una lista de los sustantivos y verbos que aparecen.
3. Los sustantivos son posibles entidades o atributos.
4. Los verbos son posibles relaciones.
5. Analizando las frases se determina la cardinalidad de las relaciones y
otros detalles.
6. Se elabora el diagrama (o diagramas) entidad-relación.
7. Se completa el modelo con listas de atributos y una descripción de
otras restricciones que no se pueden reflejar en el diagrama.
Modelar las siguiente BD

1. Una escuela desea tener una base de datos, que almacene los datos
principales de un alumno, la carrera que estudia, las materias que cursa y los
profesores que le imparten clase.
De igual manera se desea llevar un registro de las materias que imparte cada
profesor.
2. Le contratan para hacer una BD que permita apoyar la gestión de un
sistema de ventas. La empresa necesita llevar un control de proveedores,
clientes, productos y ventas. Un proveedor tiene un RUT, nombre,
dirección, teléfono y página web. Un cliente también tiene RUT, nombre,
dirección, pero puede tener varios teléfonos de contacto. La dirección se
entiende por calle, número, comuna y ciudad. Un producto tiene un id
único, nombre, precio actual, stock y nombre del proveedor. Además se
organizan en categorías, y cada producto va sólo en una categoría. Una
categoría tiene id, nombre y descripción. Por razones de contabilidad, se
debe registrar la información de cada venta con un id, fecha, cliente,
descuento y monto final. Además se debe guardar el precio al momento de
la venta, la cantidad vendida y el monto total por el producto.
3. En una universidad las facultades son dirigidas por un decano y a su vez, un decano
dirige una facultad.
Cada facultad cuenta con una serie de docentes, pero cada docente solo puede
pertenecer a una facultad.
Cada docente dicta varias asignaturas, así mismo una misma asignatura la pueden
dictar docentes diferentes.
Los estudiantes inscriben las asignaturas que le corresponde cada semestre.
De las facultades interesa saber cuál es su nombre, ubicación y número de bloque.
De los decanos se requiere la cedula, nombres, apellidos y celular.
De los docentes se debe registrar la cedula, nombres, apellidos y título.
Cada asignatura tiene un código, nombre y número de créditos que es un valor
numérico.
De los estudiantes se debe registrar identificación, nombres, apellidos y dirección de
residencia .
4. Una empresa vende productos a varios clientes. Se necesita conocer los
datos personales de los clientes (nombre, apellidos, dni, dirección y fecha
de nacimiento).
Cada producto tiene un nombre y un código, así como un precio unitario.
Un cliente puede comprar varios productos a la empresa, y un mismo
producto puede ser comprado por varios clientes.
Los productos son suministrados por diferentes proveedores. Se debe
tener en cuenta que un producto sólo puede ser suministrado por un
proveedor, y que un proveedor puede suministrar diferentes productos.
De cada proveedor se desea conocer el NIF, nombre y dirección”.
5. “Se desea informatizar la gestión de una empresa de transportes que reparte paquetes por toda
España. Los encargados de llevar los paquetes son los camioneros, de los que se quiere guardar el
dni, nombre, teléfono, dirección, salario y población en la que vive.
De los paquetes transportados interesa conocer el código de paquete, descripción, destinatario y
dirección del destinatario. Un camionero distribuye muchos paquetes, y un paquete sólo puede
ser distribuido por un camionero.
De las provincias a las que llegan los paquetes interesa guardar el código de provincia y el
nombre. Un paquete sólo puede llegar a una provincia. Sin embargo, a una provincia pueden
llegar varios paquetes. De los camiones que llevan los camioneros, interesa conocer la matrícula,
modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas diferentes,
y un camión puede ser conducido por varios camioneros”.
RELACIONES RECURSIVAS- ROL DE LAS
ENTIDADES
En los diagramas E-R se indican papeles mediante etiquetas en las líneas que unen rombos con
Rectángulos. A veces en las líneas de relación se indican roles. Los roles representan el papel que
juega una entidad en una determinada relación.

Un empleado que tiene el rol de jefe,


dirige o supervisa a uno o más.

Hay una jerarquía de empleados, diferenciándose en los subordinados que tengan. El conjunto de
relaciones “Trabaja para” es reflexiva, con lo que el papel del conjunto de entidades “Empleados” no
es obvio. En cambio, si se dice que un jefe puede tener varios empleados, su papel en la relación es
más claro.
MODELO ENTIDAD RELACIÓN EXTENDIDA-ERE
Loa diagramas de Entidad-Relación no cumplen su propósito con eficiencia. Por
ese motivo se suelen utilizar los diagramas Entidad-Relación Extendidos que
incorporan algunos elementos más al lenguaje.
• Subclase
• Superclase
• Herencia
• Especialización
• Categoría
E-R extendido: Especialización

La especialización consiste en el proceso de designación de un


subgrupo dentro de un determinado conjunto de entidades. Estos
subgrupos serán designados atendiendo a los atributos específicos de
cada subgrupo.
La relación básica que determina una especialización es la relación
“ES”; ésta es una relación de superclase-subclase porque relaciona una
clase padre con una clase hijo.
Ejemplo: algunas entidades del conjunto
de entidades “Cuenta corriente” tienen
atributos específicos. Dicho conjunto de
entidades se puede especializar en tres
subgrupos: cuentas normales, cuentas
oro y cuentas senior, cada uno de ellos
con sus atributos específicos. Por otra
parte, el conjunto de entidades “Cuenta
corriente” tiene unos atributos
genéricos, que aparecen en todos los
subgrupos: número de cuenta,
descubierto, coste por mantenimiento y
coste mensual.
GENERALIZACIÓN.
La generalización es una relación que permite expresar similitud entre un conjunto
de entidades de nivel más bajo, sintetizando un conjunto de entidades de un nivel
más alto a partir de atributos comunes.
La generalización se obtiene mediante diseño ascendente; esto permite resaltar
similitudes y economizar la representación ya que no se repiten atributos.
Las diferencias fundamentales entre la especialización y la generalización son
principalmente dos:
• El punto de partida: la especialización se obtiene mediante un diseño
descendente mientras que la generalización se obtiene mediante un diseño
ascendente.
• El objetivo global: el objetivo de la especialización es diferenciar entidades, el de
la generalización es sintetizarlas.
• La especialización y la generalización
son inversiones simples una de la otra
Se representan en un diagrama E-R del mismo modo
Son perfectamente intercambiables.
HERENCIA.
Tanto en la generalización como en la especialización se produce herencia de atributos.
Características de la herencia:
• Los conjuntos de entidades de niveles inferiores heredan los atributos de los conjuntos de entidades
superiores.
• La herencia se aplica a través de todas las relaciones.
• Existirá una jerarquía de conjuntos de entidades cuando se tengan más de dos niveles de relaciones “ES”
Se denomina retículo de una jerarquía al conjunto de entidades de nivel más inferior que participa en más
de un conjunto de relaciones de tipo “ES”.
Restricciones de diseño sobre la
especialización/generalización
LIGADURAS DE DISEÑO EN ESPECIALIZACIÓN
Las ligaduras de diseño indican las relaciones existentes entre entidades padre y
entidades hija. Estas relaciones suelen ser especializaciones o generalizaciones
que benefician en gran medida al diseño de la solución del problema.
Algunos puntos importantes a determinar en las ligaduras de diseño son los
siguientes:
a) Determinar pertenencia: se debe determinar si el conjunto de entidades
padre es de un determinado conjunto de entidades hijo. Esta pertenencia
puede ser determinada mediante los siguientes métodos:
I. Definida por condición: para que la entidad padre pertenezca a una entidad hija, debe
cumplir una determinada condición o predicado. Por ejemplo, las generalizaciones
quedan definidas por un atributo denominado atributo discriminante
II. Definida por el usuario: el usuario determina la pertenencia o no de la entidad padre en
una entidad hija. Por ejemplo, el usuario decide a qué proyecto está asignado cada
empleado:
b) Cuantificar la pertenencia: se debe determinar si un conjunto de entidades de
nivel alto puede pertenecer a más de un conjunto de entidades de nivel más
bajo. Atendiendo a esta cuantificación se pueden definir los siguientes
términos:
I. Conjunto de entidades disjunto: un padre pertenece a un hijo o a otro, no puede
pertenecer a dos hijos a la vez. Este tipo de ligadura debe ser explicitada, es decir, debe
quedar representada en el diagrama entidad-relación. Por ejemplo, dado un documento,
puede ser un artículo o un libro, no ambas cosas a la vez.

Un artículo nunca podría


estar en libro, ni libro podría
estar en artículo. Lo
identificamos por la figura
II. Solapado: una entidad padre puede pertenecer a más de una entidad hija. Por ejemplo, las personas pueden ser
tanto empleados como estudiantes, como ambas cosas a la vez:

Si n se coloca
nada es porque
es solapado

c) Ligadura de completitud: especifica si un conjunto de entidades de un nivel más alto tiene o no que
pertenecer a un conjunto de entidades de un nivel más bajo. La ligadura de completitud puede ser de
dos tipos:

i. Total: cada entidad padre debe pertenecer al menos a una entidad hijo.
ii. Parcial: cada entidad padre no tiene porqué pertenecer a una entidad hijo
Si tenemos una persona que a la
fuerza tiene que ser Cliente o
Empleado y no guardamos
información de nadie mas
Sería relación Total y lo
representamos con una doble línea
entre el nivel superior y el triángulo
Además de Clientes y
Empleados se puede guardar
otro tipo como Proveedores
DIAGRAMA ENTIDAD/RELACIÓN EXTENDIDO

También podría gustarte