SlideShare a Scribd company logo
1 of 66
Download to read offline
BASES DE DATOS
RELACIONALES
Mg. Richard E. Mendoza G.
https://www.youtube.com/watch?v=jeEDe01wlsA
DATOS VS INFORMACION
• Los datos se caracterizan
por no contener ninguna
información.
• Puede ser una letra, una
palabra o una
descripción.
• Son utilizados como
diversos métodos para
comprimir la información
• Es un mensaje con un
contenido determinado,
emitido por una persona
hacia otra.
• Es un conjunto organizado
de datos que constituye un
mensaje.
• Conocimientos basados en
los datos a los cuales,
mediante un
procesamiento, se les ha
dado significado.
Una base de datos se puede
definir como un conjunto de
información relacionada que se
encuentra agrupada ó
estructurada formado por un
conjunto de datos almacenados
en discos que permiten el acceso
directo a ellos y un conjunto de
programas que manipulen ese
conjunto de datos.
BASES DE DATOS
BD RELACIONALES BD NO RELACIONALES
• Generalmente todo modelo tiene una
representación gráfica, para el caso de
datos el modelo más popular es el
modelo entidad-relación o diagrama E/R.
• Se denomina así debido a que
precisamente permite representar
relaciones entre entidades (objetivo del
modelado de datos).
• El modelo debe estar compuesto por:
✓Entidades
✓Atributos
✓Relaciones
✓Cardinalidad
✓Llaves
MODELO ENTIDAD RELACION
ENTIDADES
ATRIBUTOS
RELACIONES
• La representación gráfica de un tipo de
entidad en este modelo es un rectángulo
etiquetado en cuyo interior esta el
nombre del tipo de entidad.
• Las entidades se describen en una DB
mediante un conjunto de atributos.
• Las entidades tienen atributos.
o Ejemplo: las personas tienen
nombre, dirección, etc.
• Conjunto de entidades: Es un conjunto
de entidades del mismo tipo que
comparten las mismas propiedades.
o Ejemplo: conjunto de todas las
personas, empresas, árboles.
ENTIDAD
▪ Regulares o Fuertes: Son
aquellas cuyos ejemplares
tienen existencia por si
mismos.
▪ Débiles: En las cuales la
existencia de un ejemplar
depende de que exista un
cierto ejemplar, de un tipo de
entidad.
TIPOS DE ENTIDADES
Propiedad o característica de una
entidad. Las entidades se describen
en una base de datos mediante un
Conjunto de Atributos. Cada una de
las propiedades o características que
tiene un tipo de entidad o un tipo de
interrelación. El atributo le da una
determinada interpretación al
dominio.
ATRIBUTOS
dirección
EMPLEADO
nombre
fechanacim telefono
calle
provincia
ciudad
codpostal
edad
nss
dni
altura
nacionalidad
Conjunto de valores permitidos para cada atributo
❖Tipos de atributos:
• Simples y compuestos
• Univalorados y multivalorados
✓ E.j. multivalorado : numero-telefono
• Derivados
• Puede ser derivado de valores de otros atributos o
entidades
✓ E.j. edad, dada la fecha de nacimiento
DOMINIO
▪ Una asociación, vinculación o correspondencia entre
diferentes entidades.
▪ Una relación también puede tener atributos descriptivos
Impositor, ra
▪ Adj. y s. [Persona] Que ingresa dinero en una Institución
Bancaria.
Cliente Impositor Cuenta
Id_Cliente Nombre_Cliente Dir_Cliente Ciudad_Cliente Num_Cuenta Saldo
RELACIONES
Es el número de entidades con la cual otra
entidad puede asociar mediante una relación
Considerando una relación binaria entre el
juego de entidades A y el B, la cardinalidad
puede ser:
• Uno a uno
• Uno a mucho
• Muchos a Uno
• Muchos a muchos
CARDINALIDAD
Una entidad en A esta asociada con cualquier número
de entidades en B (0 ó más) y viceversa
Ejemplo: Un paciente en un hospital tiene un solo
cuarto y un cuarto pertenece a un solo paciente
CARDINALIDAD UNO A UNO
tiene
paciente cuarto
1 1
1
1
1:1
• Cuando se decide ingresar un paciente a un hospital
se le asigna un cuarto y en un cuarto puede estar un
paciente o ninguno (suponiendo un hospital privado).
paciente cuarto
n_paciente
i_paciente#
a_paciente
i_cuarto#
i_cuarto#
i_piso
q_costo
d_ingreso
CARDINALIDAD UNO A UNO
Una entidad en A esta asociada con cualquier número (0 ó
más) de entidades en B. Una entidad en B, puede estar
asociada a lo mucho con una entidad en A.
CARDINALIDAD UNO A
MUCHOS
tiene
persona cuenta
1 N
1
1
1:N
El titular de una cuenta de cheques puede tener cualquier
número de tarjetas, pero cada tarjeta pertenece a una sola
persona, las entidades son cliente y tarjeta
cliente tarjeta
n_cliente
i_cliente#
a_cliente
i_tarjeta#
i_password
q_limite
d_apertura i_cliente#
CARDINALIDAD UNO A
MUCHOS
Una entidad en A esta asociada con cualquier número de
entidades en B (0 ó más) y viceversa.
CARDINALIDAD MUCHOS A
MUCHOS
pertenece
médico proyectos
1 N
1
N
N:N
✓ En un proyecto de investigación puede haber cualquier
número de médicos, un médico puede participar en
cero o varios proyectos
medico proyecto
n_medico
i_medico#
a_medico
i_especial
i_proyecto#
n_proyecto
t_resumen
a_telefono
CARDINALIDAD MUCHOS A
MUCHOS
En el diseño de una base de datos no se permiten relaciones
“muchos a muchos”, cuando se tiene esto se crea una “relación”
entre ambas cuya llave primaria será una llave compuesta por las
llaves primarias de las entidades que está uniendo
medico proyecto
n_medico i_medico#
a_medico
i_especial
i_proyecto#
n_proyecto
t_resumen
a_telefono
medico-
proyecto
i_medico# i_proyecto#
CARDINALIDAD MUCHOS A
MUCHOS
❖ Son atributos que se usan para diferenciar una entidad
de otra, por ejemplo un medicamento de otro, o un
paciente de otro. Puede haber varias llave candidato.
❖ La llave primaria debe ser única y de preferencia no
cambie con el tiempo.
❖ Cada juego de entidades (tabla) debe tener una llave
primaria.
LLAVE PRIMARIA
(PRIMARY KEY)
❖ Claves (Llaves): Atributos que identifican una entidad dentro
de un conjunto de entidades.
❖ Superclave: Conjunto de atributos no vacío, que identifica en
forma única una entidad dentro de un conjunto de entidades.
Superclave = {superclaves}
❖ Clave candidata: Es una superclave para la cual ningún
subconjunto es superclave, excepto el mismo.
❖ Clave primaria. Es la clave candidata escogida por el
diseñador. Atributo o conjunto de atributos que permiten
identificar en forma única una tupla en la tabla y ningún
subconjunto de ella posee esta propiedad.
❖ Llave foránea: Es un atributo que es llave primaria en otra
entidad con la cual se relaciona. Relacionar las entidades.
LLAVE O CLAVES
▪ Los valores validos para un atributo deben tener asignado información
acerca de:
✓ Tipo de Datos. Los tipos básicos son entero, decimal, carácter y
fecha-hora.
✓ Longitud. Es el número de dígitos o caracteres en el valor de un
atributo.
✓ Formato de Fecha. Peste puede ser dd/mm/yyyy o yyyy/mm/dd.
✓ Rango. Especifica el intervalo entre los cuales se puede tomar
valor un atributo.
✓ Restricción. Son restricciones particulares sobre un atributo.
✓ Soporte de NULL. El atributo puede aceptar valores NULL.
✓ Default. El atributo toma un valor por defecto cuando se
instancia.
VALORES VALIDOS
Cardinalidad: obligatoria y opcional
Uno a uno obligatorio: un empleado en una empresa
tiene uno y solo un puesto, un puesto pertenece a un
solo empleado
Uno a muchos opcional: un profesor en la Fac. de
Ingeniería puede dar 0 o varias clases y una clase está
dada por uno y solo un profesor
Muchos a muchos obligatorio: una materia puede
pertenecer a una o varias carreras, una carrera está
formada por varias materias.
Uno a uno opcional: Un paciente puede estar asignado
a un cuarto o a ninguno. En un cuarto puede haber
cero o un paciente
1. Identificar entidades : Definir objetos como personas,
lugares o conceptos sobre los que se quiere tener
información.
2. Identificar atributos: Definir las “propiedades” de cada
entidad.
3. Determinar llave primaria de cada entidad.
4. Identificar relaciones entre las entidades.
5. Señalar cardinalidad entre las entidades.
METODOLOGIA
o Se tiene una empresa desarrollando varios
proyectos, a los que son asignados varios
empleados, pero cada empleado solo esta vinculado
a un proyecto, en un momento dado.
o Cada proyecto consume diferentes recursos en
cantidades determinadas; los empleados están a
cargo de un supervisor, que es un empleado
también.
o Los empleados pueden tener personas beneficiarias
(hijos, esposas, padres, etc.).
Ejercicio 1
PROYECTO
RECURSO
EMPLEADO
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Id_Proy Nom_Proy
Fecha_Ini
Duración
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Id_Proy Nom_Proy
Fecha_Ini
Duración
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume
Supervisa
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume Tiene
Supervisa
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Parentesco
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume Tiene
Supervisa
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Parentesco
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
1 m
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume Tiene
Supervisa
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Parentesco
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
1 m
n
m
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume Tiene
Supervisa
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Parentesco
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
1
1
m
m
n
m
Supervisor
Empleado
Docu_Emp
EJERCICIO 1
PROYECTO
RECURSO
EMPLEADO
Asignado
Consume Tiene
Supervisa
Id_Proy Nom_Proy
Fecha_Ini
Duración
Id_Rec
Nom_Rec
Desc_Rec
Nom_Emp
Dirección
Id_Emp
Ape_Emp
Teléfono
Estudios
Cant
Parentesco
Nom_Ben
Ape_Ben
Sexo Fecha_nac
Edad
Id_Ben
Edad
Fecha_nac
1
1
1
m
m
m
n
m
Supervisor
Empleado
Docu_Emp
EJERCICIO 1
BASES DE DATOS
RELACIONALES
DDL, DML Y DCL
Mg. Richard E. Mendoza G.
https://www.youtube.com/watch?v=BvmMGHtqY6Q
Texto
CHAR(n)
VARCHAR(n)
TEXT
Números
INTEGER
BIGINT
SMALLINT
DECIMAL(n, s)
NUMERIC (n, s)
Fecha/hora
DATE
TIME
DATETIME
TIMESTAMP
Lógicos
BOOLEAN
Tipo de Dato
Para llevar a la práctica un diagrama debemos ir más allá y darle
detalle con parámetros como:
Constraint Descripción
NOT NULL Se asegura que la columna no tenga valores nulos
UNIQUE Se asegura que cada valor en la columna no se repita
PRIMARY KEY Es una combinación de NOT NULL y UNIQUE
FOREIGN KEY Identifica de manera única una tupla en otra tabla
CHECK Se asegura que el valor en la columna cumpla
una condición dada
DEFAULT Coloca un valor por defecto cuando no hay un
valor especificado
INDEX Se crea por columna para permitir búsquedas más rápidas
Constraints (Restricciones)
Normalización
La normalización es el proceso de
organizar los datos en una base de
datos. Esto incluye la creación de
tablas y que establece relaciones entre
aquellas tablas según reglas diseñadas
para proteger los datos y hacer la
base de datos que es más flexible al
eliminar redundancia y dependencia
incoherente.
Las bases de datos relacionales se
normalizan para:
• Evitar la redundancia de datos.
• Evitar problemas de actualización de
los datos en las tablas.
• Proteger la integridad de los datos.
alumno nivel_curso nombre_curso materia_1 materia_2
Juanito Maestría
Data
engineering
MySQL Python
Pepito Licenciatura Programación MySQL Python
Sin Normalizar
La normalización en las bases de datos relacionales es uno
de esos temas que, por un lado es sumamente importante.
Vamos a tratar de entender las formas normales (FN) de
una manera simple para que puedas aplicarlas en tus
proyectos profesionales.
alumnos
alumno_id alumno nivel_curso nombre_curso materia
1 Juanito Maestría Dataengineering MySQL
1 Juanito Maestría Dataengineering Python
2 Pepito Licenciatura Programación MySQL
2 Pepito Licenciatura Programación Python
Primera forma normal (1FN)
La regla de la Primera Forma Normal establece que las
columnas repetidas deben eliminarse y colocarse en tablas
separadas.
Formalmente, una tabla está en primera
forma normal si:
•Todos los atributos son atómicos. Un
atributo es atómico si los elementos del
dominio son simples e indivisibles.
•No debe existir variación en el número de
columnas.
•Los campos no clave deben identificarse
por la clave (dependencia funcional).
•Debe existir una independencia del
orden tanto de las filas como de las
columnas; es decir, si los datos cambian de
orden no deben cambiar sus significados.
alumnos
alumno_id alumno nivel_curso nombre_curso
1 Juanito Maestría Dataengineering
2 Pepito Licenciatura Programación
materias
materia_id alumno_id materia
1 1 MySQL
2 1 Python
3 2 MySQL
4 2 Python
Segunda forma normal (2FN)
Para que se pueda ser Segunda Forma
Normal primero se deber ser 1FN, con la
inclusión de que todas las columnas que
formen parte de una clave candidata deben
de dar información sobre la clave completa.
Formalmente, una tabla está en segunda
forma normal si:
• Está en 1FN
• Sí los atributos que no forman parte de
ninguna clave dependen de forma
completa de la clave principal. Es decir,
que no existen dependencias parciales.
• Todos los atributos que no son clave
principal deben depender únicamente de
la clave principal.
alumnos
alumno_id alumno curso_id
1 Juanito 1
2 Pepito 2
materias
materia_id alumno_id materia
1 1 MySQL
2 1 Python
3 2 MySQL
4 2 Python
cursos
curso_id nivel_curso nombre_curso
1 Maestría Dataengineering
2 Licenciatura Programación
Tercera forma normal (3FN)
Esta FN nos ayuda a separar conceptualmente las entidades que no
son dependientes.
Formalmente, una tabla está en tercera forma normal si:
Se encuentra en 2FN
No existe ninguna dependencia funcional transitiva en los atributos
que no son clave
Esta FN se traduce en que aquellos datos que no pertenecen a la
entidad deben tener una independencia de las demás y debe tener
un campo clave propio.
alumnos
alumno_id alumno curso_id
1 Juanito 1
2 Pepito 2
materias
materia_id alumno_id materia
1 1 MySQL
2 1 Python
3 2 MySQL
4 2 Python
cursos
curso_id nivel_curso nombre_curso
1 Maestría Dataengineering
2 Licenciatura Programación
Cuarta forma normal (4FN)
Esta FN nos trata de atomizar los datos multivaluados de manera que
no tengamos datos repetidos entre rows.
Formalmente, una tabla está en cuarta forma normal si:
Se encuentra en 3FN
Los campos multivaluados se identifican por una clave única
Esta FN trata de eliminar registros duplicados en una entidad, es
decir que cada registro tenga un contenido único y de necesitar
repetir la data en los resultados se realiza a través de claves foráneas.
materias_por_alumno
mpa_id materia_id alumno_id
1 1 1
2 2 1
3 1 2
4 2 2
• SQL (por sus siglas en inglés Structured
Query Language; en español lenguaje de
consulta estructurada) es un lenguaje de
dominio específico utilizado en
programación, diseñado para
administrar, y recuperar información de
sistemas de gestión de bases de datos
relacionales. SQL consiste en un
lenguaje de definición de datos, un
lenguaje de manipulación de datos y un
lenguaje de control de datos.
SQL
Permite crear y modificar la estructura de una
base de datos.
• CREATE: Utilizado para crear nuevas tablas,
campos e índices.
• ALTER: Utilizado para modificar las tablas
agregando campos o cambiando la definición
de los campos.
• DROP: Empleado para eliminar tablas e
índices.
• TRUNCATE: Empleado para eliminar todos
los registros de una tabla.
• COMMENT: Utilizado para agregar
comentarios al diccionario de datos.
• RENAME: Tal como su nombre lo indica es
utilizado para renombrar objetos.
DDL (Data Definition Language)
Permite recuperar, almacenar, modificar,
eliminar, insertar y actualizar datos de una base
de datos.
SELECT: Utilizado para consultar registros de la
base de datos que satisfagan un criterio
determinado.
INSERT: Utilizado para cargar de datos en la
base de datos en una única operación.
UPDATE: Utilizado para modificar los valores
de los campos y registros especificados
DELETE: Utilizado para eliminar registros de
una tabla de una base de datos.
DML (Data Manipulation Language):
Permite crear roles, permisos e integridad
referencial, así como el control al acceso a
la base de datos.
GRANT: Usado para otorgar privilegios de
acceso de usuario a la base de datos.
REVOKE: Utilizado para retirar privilegios
de acceso otorgados con el comando
GRANT.
DCL (Data Control Language):
Permite administrar diferentes
transacciones que ocurren dentro de una
base de datos.
COMMIT: Empleado para guardar el
trabajo hecho.
ROLLBACK: Utilizado para deshacer la
modificación que hice desde el último
COMMIT.
TCL (Transactional Control Language):
Database T
able View
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE people (
person_id int,
last_name varchar(255),
first_name varchar(255),
address varchar(255),
city varchar(255)
);
CREATE VIEW v_brasil_customers AS
SELECT customer_name,contact_name
FROM customers
WHERE country = "Brasil";
Diagrama ER a
Diagrama Relacional
El programa debe presentar por medio de una GUI un menú con las siguientes opciones (pueden ser
botones o literalmente un menú):
o Gestionar Equipos, Registrar Partido y Ver Resultados
• Al seleccionar la opción de “Gestionar Equipos” se debe presentar una GUI con los siguientes elementos:
• Listado de Equipos registrados (Text Area)• Formulario para agregar, modificar y eliminar un equipo
• Cada equipo debe tener: id (puede ser autoincrementado), nombre del equipo, nombre del entrenador
• Al seleccionar la opción de “Registrar Partido” se le debe presentar un formulario por medio de una GUI
para solicitar la información del partido al usuario
• En cada partido se debe registrar: fecha, equipo local, goles equipo local, equipo visitante y goles del
equipo visitante
o En el formulario de partido se debe hacer uso de un Combo Box para la selección de los equipos (local y
visitante), en cada opción se debe presentar el nombre del equipo
• Al seleccionar la opción de “Ver Resultados”, el programa debe mostrar en una GUI el listado de partidos
registrados ordenados por fecha del más reciente al más antiguo indicando toda la información del partido
con el siguiente formato:
o {Fecha} – {Nombre Equipo Local} {(Goles Equipo Local)} VS {(Goles Equipo Visitante)} {Nombre Equipo
Visitante} Ejm. 22-04-2021 – UIS (2) VS (1) UNAB
• Se debe sobrescribir el método toString para que devuelva la información de cada partido según el
formato solicitadoa)
Creación de la base de datos bd_campeonato (preferiblemente MySQL o MariaDB) Configuración de la
nueva conexión (JDBC) a la base de datos bd_campeonato y creación de una clase para gestionar la
conexión
Ejemplo Interfaz 1
Ejemplo Interfaz 1
public class Conexion {
public static void main(String[] args) throws SQLException {
final String JDBC_DRIVER ="com.mysql.jdbc.Driver";
final String DB_URL="jdbc:mysql://localhost:3306/bd_campeonato";
final String USER="root";
final String PASS="";
Connection conexion=null;
try{
Class.forName(JDBC_DRIVER);
conexion=DriverManager.getConnection(DB_URL,USER,PASS);
PreparedStatement st=conexion.prepareStatement("INSERT INTO Equipo(equipo
_nombre) values('Cucuta Deportivo')");
st.executeUpdate();
st.close();}
catch(Exception e){
e.getMessage();
}finally{
if(conexion!=null){
if(!conexion.isClosed()){
conexion.close();}}}}}
"La motivación más importante para el trabajo de
investigación que dio como resultado el modelo
relacional fue el objetivo de proporcionar un
límite claro y nítido entre los aspectos lógicos y
físicos de la gestión de bases de datos".
Frank Codd

More Related Content

What's hot

Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
Carmen Sanchez
 
Estructura de una base de datos
Estructura de una base de datosEstructura de una base de datos
Estructura de una base de datos
Zcnp1234
 
Tm04 modelo de clases
Tm04 modelo de clasesTm04 modelo de clases
Tm04 modelo de clases
Julio Pari
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
rehoscript
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
Javier Rubiano Quiroga
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
Hugo Herrera
 

What's hot (20)

Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Estructura de una base de datos
Estructura de una base de datosEstructura de una base de datos
Estructura de una base de datos
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Tm04 modelo de clases
Tm04 modelo de clasesTm04 modelo de clases
Tm04 modelo de clases
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de Datos
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Diseño físico de base de datos - Part I
Diseño físico de base de datos - Part IDiseño físico de base de datos - Part I
Diseño físico de base de datos - Part I
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
Metodologia scrum presentacion
Metodologia scrum   presentacionMetodologia scrum   presentacion
Metodologia scrum presentacion
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 

Similar to Semana 6 Bases de Datos Relacionales

Diapositivas de informatica david
Diapositivas de informatica davidDiapositivas de informatica david
Diapositivas de informatica david
David Rodriguez
 
Presentacion bd
Presentacion bdPresentacion bd
Presentacion bd
Ilse Mari
 

Similar to Semana 6 Bases de Datos Relacionales (20)

Clase 4 y 5 Modelo Físico y DER
Clase 4 y 5   Modelo Físico y DERClase 4 y 5   Modelo Físico y DER
Clase 4 y 5 Modelo Físico y DER
 
Consuegra_ Delia_Taller1
Consuegra_ Delia_Taller1Consuegra_ Delia_Taller1
Consuegra_ Delia_Taller1
 
BBDD1_2022_Unidad02_Clase01.pdf
BBDD1_2022_Unidad02_Clase01.pdfBBDD1_2022_Unidad02_Clase01.pdf
BBDD1_2022_Unidad02_Clase01.pdf
 
Diapositivas de informatica david
Diapositivas de informatica davidDiapositivas de informatica david
Diapositivas de informatica david
 
Video
VideoVideo
Video
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Presentacion bd
Presentacion bdPresentacion bd
Presentacion bd
 
Cardinalidad
CardinalidadCardinalidad
Cardinalidad
 
Modelo de datos jesus marcano
Modelo de datos jesus marcanoModelo de datos jesus marcano
Modelo de datos jesus marcano
 
Base de Datos! :)
Base de Datos! :)Base de Datos! :)
Base de Datos! :)
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
 
ingeniería de sistemas base de datos.pdf
ingeniería de sistemas base de datos.pdfingeniería de sistemas base de datos.pdf
ingeniería de sistemas base de datos.pdf
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Basededatos
BasededatosBasededatos
Basededatos
 
Computacion ii.
Computacion ii.Computacion ii.
Computacion ii.
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelo entidad-relación, Modelo de Datos
 Modelo entidad-relación, Modelo de Datos Modelo entidad-relación, Modelo de Datos
Modelo entidad-relación, Modelo de Datos
 
Bdconcepbasicos2 ii
Bdconcepbasicos2 iiBdconcepbasicos2 ii
Bdconcepbasicos2 ii
 
Tema9 bases datos
Tema9 bases datosTema9 bases datos
Tema9 bases datos
 
Diseño logico de la base de datos
Diseño logico de la base de datosDiseño logico de la base de datos
Diseño logico de la base de datos
 

More from Richard Eliseo Mendoza Gafaro

More from Richard Eliseo Mendoza Gafaro (20)

CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEICUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
 
Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1
 
MANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASEMANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASE
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
 
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UXPARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
 
Explicación cadena de valor
Explicación cadena de valorExplicación cadena de valor
Explicación cadena de valor
 
MANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEBMANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEB
 
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCHMANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
 
CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2
 
CUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3DCUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3D
 
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOSMANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
CLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUDCLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUD
 
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIOCASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
 
MATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNAMATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNA
 
PREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTASPREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTAS
 

Recently uploaded

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfSO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
StayBe1
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdf
fernandolozano90
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
SalomeRunco
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
AlanCarrascoDavila
 

Recently uploaded (20)

NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Matematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosMatematica Basica Limites indeterminados
Matematica Basica Limites indeterminados
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdf
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfSO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
IG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendacionesIG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendaciones
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptx
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
 

Semana 6 Bases de Datos Relacionales

  • 1. BASES DE DATOS RELACIONALES Mg. Richard E. Mendoza G.
  • 2.
  • 3.
  • 5.
  • 6. DATOS VS INFORMACION • Los datos se caracterizan por no contener ninguna información. • Puede ser una letra, una palabra o una descripción. • Son utilizados como diversos métodos para comprimir la información • Es un mensaje con un contenido determinado, emitido por una persona hacia otra. • Es un conjunto organizado de datos que constituye un mensaje. • Conocimientos basados en los datos a los cuales, mediante un procesamiento, se les ha dado significado.
  • 7. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. BASES DE DATOS
  • 8.
  • 9. BD RELACIONALES BD NO RELACIONALES
  • 10. • Generalmente todo modelo tiene una representación gráfica, para el caso de datos el modelo más popular es el modelo entidad-relación o diagrama E/R. • Se denomina así debido a que precisamente permite representar relaciones entre entidades (objetivo del modelado de datos). • El modelo debe estar compuesto por: ✓Entidades ✓Atributos ✓Relaciones ✓Cardinalidad ✓Llaves MODELO ENTIDAD RELACION ENTIDADES ATRIBUTOS RELACIONES
  • 11. • La representación gráfica de un tipo de entidad en este modelo es un rectángulo etiquetado en cuyo interior esta el nombre del tipo de entidad. • Las entidades se describen en una DB mediante un conjunto de atributos. • Las entidades tienen atributos. o Ejemplo: las personas tienen nombre, dirección, etc. • Conjunto de entidades: Es un conjunto de entidades del mismo tipo que comparten las mismas propiedades. o Ejemplo: conjunto de todas las personas, empresas, árboles. ENTIDAD
  • 12. ▪ Regulares o Fuertes: Son aquellas cuyos ejemplares tienen existencia por si mismos. ▪ Débiles: En las cuales la existencia de un ejemplar depende de que exista un cierto ejemplar, de un tipo de entidad. TIPOS DE ENTIDADES
  • 13. Propiedad o característica de una entidad. Las entidades se describen en una base de datos mediante un Conjunto de Atributos. Cada una de las propiedades o características que tiene un tipo de entidad o un tipo de interrelación. El atributo le da una determinada interpretación al dominio. ATRIBUTOS dirección EMPLEADO nombre fechanacim telefono calle provincia ciudad codpostal edad nss dni altura nacionalidad
  • 14. Conjunto de valores permitidos para cada atributo ❖Tipos de atributos: • Simples y compuestos • Univalorados y multivalorados ✓ E.j. multivalorado : numero-telefono • Derivados • Puede ser derivado de valores de otros atributos o entidades ✓ E.j. edad, dada la fecha de nacimiento DOMINIO
  • 15. ▪ Una asociación, vinculación o correspondencia entre diferentes entidades. ▪ Una relación también puede tener atributos descriptivos Impositor, ra ▪ Adj. y s. [Persona] Que ingresa dinero en una Institución Bancaria. Cliente Impositor Cuenta Id_Cliente Nombre_Cliente Dir_Cliente Ciudad_Cliente Num_Cuenta Saldo RELACIONES
  • 16. Es el número de entidades con la cual otra entidad puede asociar mediante una relación Considerando una relación binaria entre el juego de entidades A y el B, la cardinalidad puede ser: • Uno a uno • Uno a mucho • Muchos a Uno • Muchos a muchos CARDINALIDAD
  • 17. Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa Ejemplo: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece a un solo paciente CARDINALIDAD UNO A UNO tiene paciente cuarto 1 1 1 1 1:1
  • 18. • Cuando se decide ingresar un paciente a un hospital se le asigna un cuarto y en un cuarto puede estar un paciente o ninguno (suponiendo un hospital privado). paciente cuarto n_paciente i_paciente# a_paciente i_cuarto# i_cuarto# i_piso q_costo d_ingreso CARDINALIDAD UNO A UNO
  • 19. Una entidad en A esta asociada con cualquier número (0 ó más) de entidades en B. Una entidad en B, puede estar asociada a lo mucho con una entidad en A. CARDINALIDAD UNO A MUCHOS tiene persona cuenta 1 N 1 1 1:N
  • 20. El titular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona, las entidades son cliente y tarjeta cliente tarjeta n_cliente i_cliente# a_cliente i_tarjeta# i_password q_limite d_apertura i_cliente# CARDINALIDAD UNO A MUCHOS
  • 21. Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa. CARDINALIDAD MUCHOS A MUCHOS pertenece médico proyectos 1 N 1 N N:N
  • 22. ✓ En un proyecto de investigación puede haber cualquier número de médicos, un médico puede participar en cero o varios proyectos medico proyecto n_medico i_medico# a_medico i_especial i_proyecto# n_proyecto t_resumen a_telefono CARDINALIDAD MUCHOS A MUCHOS
  • 23. En el diseño de una base de datos no se permiten relaciones “muchos a muchos”, cuando se tiene esto se crea una “relación” entre ambas cuya llave primaria será una llave compuesta por las llaves primarias de las entidades que está uniendo medico proyecto n_medico i_medico# a_medico i_especial i_proyecto# n_proyecto t_resumen a_telefono medico- proyecto i_medico# i_proyecto# CARDINALIDAD MUCHOS A MUCHOS
  • 24. ❖ Son atributos que se usan para diferenciar una entidad de otra, por ejemplo un medicamento de otro, o un paciente de otro. Puede haber varias llave candidato. ❖ La llave primaria debe ser única y de preferencia no cambie con el tiempo. ❖ Cada juego de entidades (tabla) debe tener una llave primaria. LLAVE PRIMARIA (PRIMARY KEY)
  • 25. ❖ Claves (Llaves): Atributos que identifican una entidad dentro de un conjunto de entidades. ❖ Superclave: Conjunto de atributos no vacío, que identifica en forma única una entidad dentro de un conjunto de entidades. Superclave = {superclaves} ❖ Clave candidata: Es una superclave para la cual ningún subconjunto es superclave, excepto el mismo. ❖ Clave primaria. Es la clave candidata escogida por el diseñador. Atributo o conjunto de atributos que permiten identificar en forma única una tupla en la tabla y ningún subconjunto de ella posee esta propiedad. ❖ Llave foránea: Es un atributo que es llave primaria en otra entidad con la cual se relaciona. Relacionar las entidades. LLAVE O CLAVES
  • 26. ▪ Los valores validos para un atributo deben tener asignado información acerca de: ✓ Tipo de Datos. Los tipos básicos son entero, decimal, carácter y fecha-hora. ✓ Longitud. Es el número de dígitos o caracteres en el valor de un atributo. ✓ Formato de Fecha. Peste puede ser dd/mm/yyyy o yyyy/mm/dd. ✓ Rango. Especifica el intervalo entre los cuales se puede tomar valor un atributo. ✓ Restricción. Son restricciones particulares sobre un atributo. ✓ Soporte de NULL. El atributo puede aceptar valores NULL. ✓ Default. El atributo toma un valor por defecto cuando se instancia. VALORES VALIDOS
  • 27. Cardinalidad: obligatoria y opcional Uno a uno obligatorio: un empleado en una empresa tiene uno y solo un puesto, un puesto pertenece a un solo empleado Uno a muchos opcional: un profesor en la Fac. de Ingeniería puede dar 0 o varias clases y una clase está dada por uno y solo un profesor Muchos a muchos obligatorio: una materia puede pertenecer a una o varias carreras, una carrera está formada por varias materias. Uno a uno opcional: Un paciente puede estar asignado a un cuarto o a ninguno. En un cuarto puede haber cero o un paciente
  • 28. 1. Identificar entidades : Definir objetos como personas, lugares o conceptos sobre los que se quiere tener información. 2. Identificar atributos: Definir las “propiedades” de cada entidad. 3. Determinar llave primaria de cada entidad. 4. Identificar relaciones entre las entidades. 5. Señalar cardinalidad entre las entidades. METODOLOGIA
  • 29. o Se tiene una empresa desarrollando varios proyectos, a los que son asignados varios empleados, pero cada empleado solo esta vinculado a un proyecto, en un momento dado. o Cada proyecto consume diferentes recursos en cantidades determinadas; los empleados están a cargo de un supervisor, que es un empleado también. o Los empleados pueden tener personas beneficiarias (hijos, esposas, padres, etc.). Ejercicio 1
  • 44. BASES DE DATOS RELACIONALES DDL, DML Y DCL Mg. Richard E. Mendoza G.
  • 45.
  • 47. Texto CHAR(n) VARCHAR(n) TEXT Números INTEGER BIGINT SMALLINT DECIMAL(n, s) NUMERIC (n, s) Fecha/hora DATE TIME DATETIME TIMESTAMP Lógicos BOOLEAN Tipo de Dato Para llevar a la práctica un diagrama debemos ir más allá y darle detalle con parámetros como:
  • 48. Constraint Descripción NOT NULL Se asegura que la columna no tenga valores nulos UNIQUE Se asegura que cada valor en la columna no se repita PRIMARY KEY Es una combinación de NOT NULL y UNIQUE FOREIGN KEY Identifica de manera única una tupla en otra tabla CHECK Se asegura que el valor en la columna cumpla una condición dada DEFAULT Coloca un valor por defecto cuando no hay un valor especificado INDEX Se crea por columna para permitir búsquedas más rápidas Constraints (Restricciones)
  • 49.
  • 50. Normalización La normalización es el proceso de organizar los datos en una base de datos. Esto incluye la creación de tablas y que establece relaciones entre aquellas tablas según reglas diseñadas para proteger los datos y hacer la base de datos que es más flexible al eliminar redundancia y dependencia incoherente. Las bases de datos relacionales se normalizan para: • Evitar la redundancia de datos. • Evitar problemas de actualización de los datos en las tablas. • Proteger la integridad de los datos.
  • 51. alumno nivel_curso nombre_curso materia_1 materia_2 Juanito Maestría Data engineering MySQL Python Pepito Licenciatura Programación MySQL Python Sin Normalizar La normalización en las bases de datos relacionales es uno de esos temas que, por un lado es sumamente importante. Vamos a tratar de entender las formas normales (FN) de una manera simple para que puedas aplicarlas en tus proyectos profesionales.
  • 52. alumnos alumno_id alumno nivel_curso nombre_curso materia 1 Juanito Maestría Dataengineering MySQL 1 Juanito Maestría Dataengineering Python 2 Pepito Licenciatura Programación MySQL 2 Pepito Licenciatura Programación Python Primera forma normal (1FN) La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. Formalmente, una tabla está en primera forma normal si: •Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son simples e indivisibles. •No debe existir variación en el número de columnas. •Los campos no clave deben identificarse por la clave (dependencia funcional). •Debe existir una independencia del orden tanto de las filas como de las columnas; es decir, si los datos cambian de orden no deben cambiar sus significados.
  • 53. alumnos alumno_id alumno nivel_curso nombre_curso 1 Juanito Maestría Dataengineering 2 Pepito Licenciatura Programación materias materia_id alumno_id materia 1 1 MySQL 2 1 Python 3 2 MySQL 4 2 Python Segunda forma normal (2FN) Para que se pueda ser Segunda Forma Normal primero se deber ser 1FN, con la inclusión de que todas las columnas que formen parte de una clave candidata deben de dar información sobre la clave completa. Formalmente, una tabla está en segunda forma normal si: • Está en 1FN • Sí los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir, que no existen dependencias parciales. • Todos los atributos que no son clave principal deben depender únicamente de la clave principal.
  • 54. alumnos alumno_id alumno curso_id 1 Juanito 1 2 Pepito 2 materias materia_id alumno_id materia 1 1 MySQL 2 1 Python 3 2 MySQL 4 2 Python cursos curso_id nivel_curso nombre_curso 1 Maestría Dataengineering 2 Licenciatura Programación Tercera forma normal (3FN) Esta FN nos ayuda a separar conceptualmente las entidades que no son dependientes. Formalmente, una tabla está en tercera forma normal si: Se encuentra en 2FN No existe ninguna dependencia funcional transitiva en los atributos que no son clave Esta FN se traduce en que aquellos datos que no pertenecen a la entidad deben tener una independencia de las demás y debe tener un campo clave propio.
  • 55. alumnos alumno_id alumno curso_id 1 Juanito 1 2 Pepito 2 materias materia_id alumno_id materia 1 1 MySQL 2 1 Python 3 2 MySQL 4 2 Python cursos curso_id nivel_curso nombre_curso 1 Maestría Dataengineering 2 Licenciatura Programación Cuarta forma normal (4FN) Esta FN nos trata de atomizar los datos multivaluados de manera que no tengamos datos repetidos entre rows. Formalmente, una tabla está en cuarta forma normal si: Se encuentra en 3FN Los campos multivaluados se identifican por una clave única Esta FN trata de eliminar registros duplicados en una entidad, es decir que cada registro tenga un contenido único y de necesitar repetir la data en los resultados se realiza a través de claves foráneas. materias_por_alumno mpa_id materia_id alumno_id 1 1 1 2 2 1 3 1 2 4 2 2
  • 56.
  • 57. • SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje de dominio específico utilizado en programación, diseñado para administrar, y recuperar información de sistemas de gestión de bases de datos relacionales. SQL consiste en un lenguaje de definición de datos, un lenguaje de manipulación de datos y un lenguaje de control de datos. SQL
  • 58. Permite crear y modificar la estructura de una base de datos. • CREATE: Utilizado para crear nuevas tablas, campos e índices. • ALTER: Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos. • DROP: Empleado para eliminar tablas e índices. • TRUNCATE: Empleado para eliminar todos los registros de una tabla. • COMMENT: Utilizado para agregar comentarios al diccionario de datos. • RENAME: Tal como su nombre lo indica es utilizado para renombrar objetos. DDL (Data Definition Language)
  • 59. Permite recuperar, almacenar, modificar, eliminar, insertar y actualizar datos de una base de datos. SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. INSERT: Utilizado para cargar de datos en la base de datos en una única operación. UPDATE: Utilizado para modificar los valores de los campos y registros especificados DELETE: Utilizado para eliminar registros de una tabla de una base de datos. DML (Data Manipulation Language):
  • 60. Permite crear roles, permisos e integridad referencial, así como el control al acceso a la base de datos. GRANT: Usado para otorgar privilegios de acceso de usuario a la base de datos. REVOKE: Utilizado para retirar privilegios de acceso otorgados con el comando GRANT. DCL (Data Control Language):
  • 61. Permite administrar diferentes transacciones que ocurren dentro de una base de datos. COMMIT: Empleado para guardar el trabajo hecho. ROLLBACK: Utilizado para deshacer la modificación que hice desde el último COMMIT. TCL (Transactional Control Language):
  • 62. Database T able View CREATE DATABASE test_db; USE test_db; CREATE TABLE people ( person_id int, last_name varchar(255), first_name varchar(255), address varchar(255), city varchar(255) ); CREATE VIEW v_brasil_customers AS SELECT customer_name,contact_name FROM customers WHERE country = "Brasil";
  • 64. El programa debe presentar por medio de una GUI un menú con las siguientes opciones (pueden ser botones o literalmente un menú): o Gestionar Equipos, Registrar Partido y Ver Resultados • Al seleccionar la opción de “Gestionar Equipos” se debe presentar una GUI con los siguientes elementos: • Listado de Equipos registrados (Text Area)• Formulario para agregar, modificar y eliminar un equipo • Cada equipo debe tener: id (puede ser autoincrementado), nombre del equipo, nombre del entrenador • Al seleccionar la opción de “Registrar Partido” se le debe presentar un formulario por medio de una GUI para solicitar la información del partido al usuario • En cada partido se debe registrar: fecha, equipo local, goles equipo local, equipo visitante y goles del equipo visitante o En el formulario de partido se debe hacer uso de un Combo Box para la selección de los equipos (local y visitante), en cada opción se debe presentar el nombre del equipo • Al seleccionar la opción de “Ver Resultados”, el programa debe mostrar en una GUI el listado de partidos registrados ordenados por fecha del más reciente al más antiguo indicando toda la información del partido con el siguiente formato: o {Fecha} – {Nombre Equipo Local} {(Goles Equipo Local)} VS {(Goles Equipo Visitante)} {Nombre Equipo Visitante} Ejm. 22-04-2021 – UIS (2) VS (1) UNAB • Se debe sobrescribir el método toString para que devuelva la información de cada partido según el formato solicitadoa) Creación de la base de datos bd_campeonato (preferiblemente MySQL o MariaDB) Configuración de la nueva conexión (JDBC) a la base de datos bd_campeonato y creación de una clase para gestionar la conexión Ejemplo Interfaz 1
  • 65. Ejemplo Interfaz 1 public class Conexion { public static void main(String[] args) throws SQLException { final String JDBC_DRIVER ="com.mysql.jdbc.Driver"; final String DB_URL="jdbc:mysql://localhost:3306/bd_campeonato"; final String USER="root"; final String PASS=""; Connection conexion=null; try{ Class.forName(JDBC_DRIVER); conexion=DriverManager.getConnection(DB_URL,USER,PASS); PreparedStatement st=conexion.prepareStatement("INSERT INTO Equipo(equipo _nombre) values('Cucuta Deportivo')"); st.executeUpdate(); st.close();} catch(Exception e){ e.getMessage(); }finally{ if(conexion!=null){ if(!conexion.isClosed()){ conexion.close();}}}}}
  • 66. "La motivación más importante para el trabajo de investigación que dio como resultado el modelo relacional fue el objetivo de proporcionar un límite claro y nítido entre los aspectos lógicos y físicos de la gestión de bases de datos". Frank Codd