40
CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

Embed Size (px)

Citation preview

Page 1: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

CONCEPTOS INTRODUCTORIOS DE BASES

DE DATOS

Prof. Nelliud D. Torres

Page 2: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

Conceptos de Estructuras de Datos

• Una estructura de Datos:– Puede ser un archivo o tabla que contiene datos

relacionados a personas, lugares, cosas o eventos que interactúan con el sistema.

– Los sistemas clásicos son: File-oriented y utilizan ese formato para interactuar con el sistema (File processing system)

– Actualmente los sistemas se trabajan bajo la estrucutra de Base de Datos (Database system)

Page 3: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

DEFINICIÓN BASE DE DATOSUna Base de Datos consiste de una colección de datos interrelacionados y un conjunto de programas que permiten acceder esos datos.  Su objetivo primordial es proporcionar un medio ambiente que sea conveniente y eficiente tanto al extraer como al almacenar datos.  Su orientación es a nivel empresarial como la entidad central en donde todas sus operaciones se fusionan al utilizar esta herramienta (centralizado). 

Page 4: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

ALGUNAS VENTAJAS DE LAS BASES DE DATOS

1. Obtener más información de la misma cantidad de data – El usuario tiene la oportunidad de poder obtener más datos útiles si el sistema está programado en una base de datos.

2. Compartir los Datos – Diferentes sistemas en la misma empresa pueden compartir sus datos sin problema.

3. Se refuerza la estandarización – En las Bases de Datos es más facil estandarizar procesos.

4. Redundancia controlada – La duplicidad de los datos es mínima.

5. Consistencia – Al no haber tanta redundancia, los datos que se modifican pueden ser accedidos sin problemas de que no este sincronizado el cambio.

6. Integridad - La Base de datos tiene la capacidad de validar datos independientemente del programa.

Page 5: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

ALGUNAS VENTAJAS DE LAS BASES DE DATOS (CONT.)

7. Seguridad – La Base de datos permite diseñar distintos niveles de seguridad sin tener que programarlo.

8. Flexibilidad y rapidez al obtener datos – El usuario puede tener acceso a los datos sin intervención del personal de IT.

9. Aumenta la productividad de los programadores – Los programadores no se dedican a programar validación ni seguridad, ni se tienen que preocupar por el Diseño. Se pueden dedicar a la programación.

10. Mejora el mantenimiento de los programas – Los datos son separados de los programas, de este modo el mantenimiento de los programas no afecta la Base de Datos.

11. Independencia de los Datos – Si existe un cambio en los datos, esto no tiene impacto en la programación.

Page 6: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

ALGUNAS DESVENTAJAS DE LAS BASES DE DATOS

1. Tamaño - Requiere de mucho espacio en disco duro y también requiere de mucha memoria principal (RAM) para poder correr adecuadamente.

2. Complejidad – Es difícil de utilizar y requiere adiestramiento del personal técnico.

3. Costo – Las licencias comerciales son caras. 4. Requerimientos adicionales de equipo – Generalmente se

requiere más equipo del normal parar poder aguantar los requerimientos de una Base de Datos. (memoria, velocidad del procesador, disco duro, etc.)

5. Mayor impacto en caso de falla - Si un componente de la Base de Datos sufre un desperfecto, se detiene las operaciones del producto por completo. 

6. Complejo recuperar los datos - En caso de un accidente que corrompa la Base de datos, el proceso de recuperación  y de devolver a  la Base de Datos a su estado anterior al problema, es mucho mas complejo de ejecutar que en sistemas tradicionales.

Page 7: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

BASE DE DATOS - TÉRMINOS

• Entidades – Algo importante que deseamos almacenarlo. Por ejemplo: Una persona, evento, lugar, categoría o cualquier otra cosa que se le pueda nombrar.

• Relaciones – Define como las entidades se relacionan entre si.

• Atributos – Datos que deseamos guardar en una entidad y como resultado, la describe.

Page 8: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

TERMINOLOGÍA

TRADICIONAL BASE DE DATOSBASE DE DATOS

RELACIONAL

Archivo Entidad Tabla

Record Instancia Fila

Campo Atributo Columna

Page 9: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

EJEMPLO DE ENTIDADES

• ESTUDIANTE• EMPLEADO• CLIENTE• MATRÍCULA• CURSOS• DEPARTAMENTO• LIBRO• PRESTAMO

Page 10: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

EJEMPLOS DE ATRIBUTOS

ENTIDAD CLIENTE• número• nombre• dirección• teléfono• crédito• e-mail

ENTIDAD ESTUDIANTE• número• nombre• edad• genero• departamento• igs• escuela procedencia

Page 11: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

REGLAS PARA DIAGRAMAR• Las entidades van en una caja (rectangular)

sin bordes preferiblemente.

• Los nombres de las entidades se escriben en singular y en mayúsculas.

• Cada nombre debe ser único.

• Se puede poner un alias a una entidad que tenga más de un nombre entre paréntesis.

• Los nombres de los atributos van en letra minúscula.

Page 12: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

EJEMPLOS ENTIDADES EN DIAGRAMAS

CLIENTEnúmeronombredirecciónteléfonocréditoe-mail

ESTUDIANTEnúmeronombreedadgeneroseguro socialdepartamentoigsescuela procedencia

ESTADIO(PARQUE)

nombredirecciónteléfonocapacidad sillascapacidad carros

Page 13: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

IDENTIFICADOR ÚNICO (UID)

Cada instancia (record) de una entidad necesita tener un campo que lo diferencie de los demás records o instancias que coexisten en la entidad. Este campo se convertirá en el Unique Identifier (UID).

Page 14: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

Ejemplos de UIDCLIENTE

númeronombreseguro socialdirecciónteléfonocréditoe-mail

ESTADIO(PARQUE)

idnombredirecciónteléfonocapacidad sillascapacidad carros

El número del cliente es muy buen candidato para un UID ya que su valor es único

El seguro social también podría ser un buen candidato para un UID.

En el caso de un estadio, necesitamos crear un atributo artificial (id) que posea un valor único para que identifique cada instancia (record) de la entidad.

Page 15: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES

Es una asociación bidireccional (ambas direcciones) e imprecindible entre dos entidades o entre una entidad y ella misma.

Page 16: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES - SINTAXIS

La sintaxis que vamos a utilizar para determinar las relaciones va a ser:

CADA entidad-1

nombre de la relación

entidad-2

TIENE QUE SER

O

PUEDER SER

UNO O MÁS

O

UNO Y SOLO UNO

Page 17: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES - COMPONENTES

• Nombre de la relación – Se utiliza una palabra que haga sentido al unir la relación entre dos entidades

• Opcionalidad – Sólo se puede indicar “tiene que ser” o “puede ser”

• Grado o Cardinalidad - Sólo se puede indicar “Uno o más” o “Uno y solo uno”

Page 18: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES - EJEMPLOS

DEPARTAMENTO - EMPLEADOCada DEPARTAMENTO puede ser habitado por uno o más EMPLEADO(s)

ESTUDIANTE - CURSOCada ESTUDIANTE puede tomar uno o más CURSO(s)

EDIFICIO – APARTAMENTOCada EDIFICIO tiene que poseer uno o más APARTAMENTO(s)

Page 19: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES - DIAGRAMASLas relaciones se pueden diagramar de la siguiente forma:1. Una línea une las dos entidades2. El nombre de la relación va en minúsculas3. El diagrama de Opcionalidad es:

• Puede ser• Tiene que ser

4. El diagrama de Grado o Cardinalidad es:• Uno o más• Uno y solo uno

Page 20: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES – DIAGRAMAS - EJEMPLOS

DEPARTAMENTO - EMPLEADOCada DEPARTAMENTO puede ser habitado por uno o más

EMPLEADO(s)

DEPARTAMENTO

idlocalizacióndescripción

EMPLEADO

numeronombreseguro social

habitado por

El nombre de la relación se pone arriba o abajo de la línea que une las dos entidades.

Page 21: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES – DIAGRAMAS - EJEMPLOS

ESTUDIANTE - CURSOCada ESTUDIANTE puede tomar uno o más CURSO(s)

ESTUDIANTE

númeronombreseguro social

CURSO

códigosemestredescripción

tomar

Page 22: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES – DIAGRAMAS - EJEMPLOS

EDIFICIO – APARTAMENTOCada EDIFICIO tiene que poseer uno o más APARTAMENTO(s)

EDIFICIO

idlocalizacióndescripción

APARTAMENTO

númeropisocantidad cuartos

poseer

Page 23: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

IMPORTANTE

UNA RELACIÓN ES BIDIRECCIONAL. Por lo tanto hay que detallar y diagramar la relación también del otro lado.

FINALMENTE LOS DIAGRAMAS QUEDARÍAN ASÍ:

Page 24: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES – DIAGRAMAS - EJEMPLOS

DEPARTAMENTO - EMPLEADOCada DEPARTAMENTO puede ser habitado por uno o más

EMPLEADO(s)

Cada EMPLEADO tiene que estar asignado a uno y solo un DEPARTAMENTO

DEPARTAMENTO

idlocalizacióndescripción

EMPLEADO

numeronombreseguro social

habitado por

estar asignado

Page 25: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES – DIAGRAMAS - EJEMPLOS

ESTUDIANTE - CURSOCada ESTUDIANTE puede tomar uno o más CURSO(s)

CadaCURSO puede ser tomado por uno o más ESTUDIANTE(S)

ESTUDIANTE

númeronombreseguro social

CURSO

códigosemestredescripción

tomar

tomado por

Page 26: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

RELACIONES – DIAGRAMAS - EJEMPLOS

EDIFICIO – APARTAMENTOCada EDIFICIO tiene que poseer uno o más APARTAMENTO(s)

Cada APARTAMENTO tiene que ser poseido por uno y solo un EDIFICIO

EDIFICIO

idlocalizacióndescripción

APARTAMENTO

númeropisocantidad cuartos

poseer

poseido por

Page 27: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

EJEMPLO DE UN ERD DE UN SISTEMA DE COMPRAS

CLIENTE

númeronombreseguro social

ALMACEN

iddescripciónlocalización

ORDEN

númerotipofecha

ARTÍCULO

numerodescripciónpeso

el originador de

originado por

emitida para

incluido en

almacenado en

el depósito para

Page 28: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

TIPOS DE RELACIONES

EXISTEN 3 TIPOS DE RELACIONES ENTRE LAS ENTIDADES

1. Muchos a uno (M : 1)

2. Muchos a muchos (M : M)

3. Uno a uno (1 : 1)

Page 29: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

MUCHOS A UNOM a 1 o M : 1

1. Tiene un grado de uno o más en una parte de la relación y de uno y solo uno en la otra parte.

2. Es el tipo de relación más común dentro de las bases de datos.

3. Las relaciones de muchos a uno que sea obligatoria en ambas partres es rara.

Page 30: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

MUCHOS A UNO - EJEMPLO

DEPARTAMENTO

idlocalizacióndescripción

EMPLEADO

numeronombreseguro social

habitado por

estar asignado

M∞

1

Page 31: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

MUCHOS A MUCHOSM a M o M : M

1. Tiene un grado de uno o más en ambas

partes.

2. También es un tipo de relación común.

3. Pueden ser opcionales en una o en

ambas partes.

Page 32: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

MUCHOS A MUCHOS - EJEMPLO

M

M

ESTUDIANTE

númeronombreseguro social

CURSO

códigosemestredescripción

tomar

tomado por

Page 33: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

UNO A UNO1 a 1 o 1 : 1

1. Tiene un grado de uno y sólo uno en ambas partes.

2. Este tipo de relación es raro y más aún si ambas partes son obligatorias.

3. Este tipo de relación podría indicar que ambas relaciones se puedan convertir en solo una.

Page 34: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

UNO A UNO - EJEMPLO

11

CARRO

tablillamarcamodelo

MOTOR

númerodescripción

posee

está asignado

Page 35: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

CONVENCIONES DE LOS ATRIBUTOS

1. Los nombres de los atributos se crean pensando en el usuario (debe entenderlos)

2. EL nombre de la entidad no debe incluirse como parte del nombre del atributo

3. Deben ser específicos y descriptivos. (Ej. cantidad devuelta, fecha de nacimiento, etc.)

Page 36: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

SÍMBOLOS PARA LOS ATRIBUTOS

1. * - Significa obligatorio (el atributo debe ser llenado por el usuario, no se puede dejar en blanco)

2. 0 – Significa opcional, el usuario no está obligado a llenar ese atributo.

3. # - Identifica un atributo que es UID (también hay que ponerle el símbolo de obligatorio).

4. (#) - UID segundario. Por ejemplo: seguro social.

Page 37: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

UID’s EN RELACIONES• Cuando deseamos que un UID se utilize en

otra entidad realcionada, utilizamos el símbolo:

• Cuando deseamos incluir un UID como un campo foráneo (foreign key) en la otra entidad relacionada, utilizamos el símbolo:

• IMPORTANTE: En la entidad que lleva uno de esos dos símbolos,en el ERD NO se le especifíca el atributo.

Page 38: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

EJEMPLOS DE DIAGRAMAS COMPLETOS DE SISTEMAS

tener ubicado

estar ubicado en

rentar

rentado por

tener

creada por

contener

contenido en

SLIP

#* id

* numero

* largo

* renta anual

* nombre del bote

* tipo de bote

FACILIDAD

#* id

* nombre

* dirección

* ciudad

* estado

* zipcode

SERVICIO

#* id

* descripción

CLIENTE

#* id

* nombre

* dirección

* ciudad

* estado

* zip code

SOLICITUD

#* id

* descripción

* status

* estimado de horas

* horas usadas

o fecha próximo servicio

SISTEMA RENTA DE LOTES DE

BOTES

Page 39: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

ESTUDIANTE#* id* nombreo inicial* apellido paterno* apellido materno* género(#) seguro socialo e-mailo celularo comentarios

DEPARTAMENTO

#* id

* nombre

PROGRAMA

#* id

* nombre

PUEBLO

#* id

* nombre

SOLICITUD#* id* tipo de solicitud* fecha de solicitud

UNIVERSIDAD

#* id

* nombre

PERIODO

#* id

* nombre

estar compuesto de pertenecer a pertenecer a

estar habitado por

el originador de

originada por

seleccionada por

el originador de

creada paracreada para

creada para seleccionado por

SISTEMA SOLICITUD VIAJES INTERNACIONALES

Page 40: CONCEPTOS INTRODUCTORIOS DE BASES DE DATOS Prof. Nelliud D. Torres

DIAGRAMA PARA REPRESENTAR LAS RELACIONES ENTRE LAS ENTIDADES

Modelación conceptual y lógica

Modelación Física (Access)

Uno a uno (1 : 1)

Uno a Muchos (1 : M)

Muchos a Muchos (M : M)

No aplica

AA BB

BBAA

AA BB