Sei sulla pagina 1di 27

INTRODUCCION A BASE DE DATOS Y SQL

INTRODUCCIÓN A BASE DE DATOS Y SQL

Capitulo 1
2018

AUTOR : www.linkedin.com/in/ivancorderopaco01
INTRODUCCION A BASE DE DATOS Y SQL

Cap. 1. Implementando el diseño de la base de


datos
 Modelo de Entidad - Relación
 Entidad
 Relación
 Cardinalidad de las Relaciones
 Atributos
 Consideraciones en el Planeamiento del Diseño
Lógico de la Base de Datos
 Modelado de Elementos de Datos
 Tablas
 Restricciones de las Tablas
 Columnas No Descomponibles
 Restricciones en las columnas
 Clave Primaria (PRIMARY KEY)
 Clave Foránea (FOREIGN KEY)
INTRODUCCION A BASE DE DATOS Y SQL

MODELO ENTIDAD-RELACIÓN (DER)


• Propuesto por Peter P. Chen
• Un diagrama o modelo Entidad-Relacion (a veces denominado por sus
siglas. E-R “Entity relationship” o “DER” Diagrama de Entidad relación).
• Es una herramienta para el modelado de datos de un sistema de
información sus inter-relaciones y propiedades
• Mediante modelo E-R se pretende visualizar los objetos que pertenecen la
Base de Datos como Entidades las cuales tienen unos atributos y se
vinculan mediante Relaciones
• Aunque siguen siendo utilizados, los diagramas E/R van cayendo en el
desuso debido a la progresiva implantación del lenguaje unificado de
modelado (UML)
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER –ENTIDADES Y ATRIBUTOS


“Una persona, lugar, cosa,
concepto o suceso, real o
Entidad abstracto, de interés para la
Persona empresa" .

Entidad Auto Asignatura


Préstamo

Atributo atributo Cualquier característica o


propiedad que describe a
una entidad.
Nombre Patente
Apellido Marca
Persona Auto Modelo
Edad Motor
Teléfono Color
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – ATRIBUTO CLAVE

Atributo Clave Patente


clave Se puede identificar de qué automóvil se habla,
Marca
con sólo conocer el valor del atributo patente:
Auto Modelo *no existe una misma patente para dos
Motor
Color
automóviles distintos.

Marca Modelo Motor Color


Automovil (sin clave): resulta imposible
Peugeot 207 1.6 Rojo identificar a alguno de los 2 autos marca
Mercedes W116 3.0 Verde Peugeot:
Benz
Peugeot 207 1.6 Rojo
La clave puede estar conformada por más de un
Nombre atributo, así como puede ser un atributo
Proyecto Número
Localidad compuesto

La clave es elegida por el diseñador dentro de un conjunto de atributos que cumplen con la condición de identificar
una instancia de entidad.
A estos atributos les llamaremos claves candidatas y la clave elegida será la clave primaria.
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – RELACION

Relación Correspondencia entre dos entidades

Persona Auto
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – RELACION


• La relación debe tener un nombre que sea capaz de identificar
el tipo de correspondencia entre ambas entidades.
Generalmente estos nombres son verbos:
Persona posee Auto
Persona posee auto.
Auto pertenece a persona.

Persona es _de Auto

• Atributos en relaciones
Fecha_compra
A veces los atributos no son propios de ninguna
Persona compra Auto entidad…
Sino del hecho mismo de la relación:
Relaciones de tipo "histórico" donde debe
constar una fecha o una hora.
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – CARDINALIDAD


• Número de ocurrencias que se pueden dar de una relación:
con cuantas ocurrencias de B se puede relacionar A y con
cuantas ocurrencias de A se puede relacionar B.

(cardinalidad) (cardinalidad)
A R B
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – CARDINALIDAD


• Cardinalidad 1-1: cada ocurrencia • Cardinalidad 1-N: también llamada uno a
de una entidad se relaciona con muchos. Cada ocurrencia de una entidad
una ocurrencia de otra entidad. puede relacionarse con varias ocurrencias
de otra entidad.
• Cardinalidad N-1: varias ocurrencias de
una entidad pueden relacionarse con una
de otra entidad.

Ej.: una persona posee un automóvil.

1 1
Persona compra Auto
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – CARDINALIDAD


Cardinalidad N-M: también llamada muchos a Cardinalidad máxima de una relación: representa el número
muchos. Cada ocurrencia de una entidad máximo de ocurrencias de una entidad con las que se puede
puede relacionarse con varias ocurrencias de relacionar otra ocurrencia de entidad.
otra entidad y viceversa. Ej.: una persona puede tener como máximo tres automóviles.

Cardinalidad mínima de una relación: representa el número


mínimo de ocurrencias de una entidad con las que se puede
relacionar otra entidad.
Ej.: un automóvil debe pertenecer como mínimo a una
persona.

(mínimo, máximo) (mínimo, máximo)


A R B
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – DEMOSTRACION


• Aplicado a un ejemplo:
• Una persona puede comprar mínimo 1, máximo varios automóviles. Un auto puede
ser comprado por mínimo 1 persona y máximo 1 persona.

(1,1) (1,N)
Persona compra Auto

• Se lee de izquierda a derecha y luego de derecha a izquierda (o al revés): Una persona


compra uno o más autos, y un auto es comprado por sólo una persona.
• N ó M también se puede definir como un número entero específico
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – ENTIDA DEBIL Y


FUERTE
• Es débil cuando depende de otra para su existencia, sin la
cual no tiene sentido.
• Sus atributos no la identifican completamente, sino que sólo
la identifican de forma parcial. Entidad Débil
• Debe participar en una relación que ayuda a identificarla:
siempre debe haber una única interrelación que permita
completar su identificación.
• Esta interrelación debe ser 1:N, y la entidad débil debe estar
en el lado N.
• Si se elimina una ocurrencia de la entidad fuerte, se debe
eliminar las ocurrencias de la entidad débil asociadas.

Código
Nombre (1,1) (1,N) Número
Nr_hojas Libro tiene Ejemplar
Ejemplar Estado
Editorial Posición
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – GENERALIZACION


• Existe una jerarquía de tipos en la que se definen sucesivos
niveles de subtipos que corresponden a un supertipo.
Persona
• El tipo de entidad vehículo es una generalización del tipo de
entidad bicicleta, ya que todas las bicicletas son vehículos. El
tipo de entidad persona es una generalización de las
entidades hombre y mujer.

Hombre Mujer

•Son subtipos de la generalización o


supertipo (Es_un o Es_parte_de).
INTRODUCCION A BASE DE DATOS Y SQL

ELEMENTOS DE UN DER – HERENCIA


Herencia de atributos
Los atributos de los supertipos son heredados por los subtipos.
Cliente y empleado heredan los atributos de persona.
Cliente se describe mediante C.I., nombre y ciudad y
adicionalmente por el atributo dirección; empleado se describe
CI
mediante C.I, nombre y ciudad y adicionalmente por el atributo Persona Nombre
sueldo. Ciudad

(p,s)

Dirección Sueldo
Cliente Empleado
INTRODUCCION A BASE DE DATOS Y SQL

NORMALIZACION DE BASE DE DATOS


INTRODUCCION A BASE DE DATOS Y SQL

ETAPAS DESARROLLO DIAGRAMA E-R

Representar
Establecer las gráficamente el
Determinar las claves
Identificar las relaciones entre las esquema obtenido. 6.
primarias de las
entidades dentro del Identificar y describir entidades y obtener su Verificación. (Eliminar
entidades.
sistema. (Entidades los atributos de cada cardinalidad y su tipo. relaciones
(Discriminadores para
fuertes y entidades entidad. Explicitar los roles en redundantes, eliminar
entidades débiles en
débiles). las relaciones o añadir entidades,
identificación).
reflexivas. eliminar o añadir
atributos, ...)
INTRODUCCION A BASE DE DATOS Y SQL

MODELADO DE ELEMENTOS DE DATOS


• POSTERIOR AL DISENO DEL DIAGRAM E-R
• REVISAR EL DOMINIO DE LOS DATOS
• REVISAR LAS RELACIONES FUERTES Y DEBILES
• REVISAR LA RELACIONES (N M) DE MUCHOS A MUCHOS QUE
NORMALMENTE LLEGAR A CREAR UNA NUEVA TABLA.
INTRODUCCION A BASE DE DATOS Y SQL

PARA CREAR UNA BASE DE DATOS


• Creación de base de datos (DATABASE):
Sintaxis:
• CREATE DATABASE [nombreParaBaseDatos]
Ejemplo:
• CREATE DATABASE BD_PEDIDOS;

Para eliminar una BASE DE DATOS


•Creación de base de datos (DATABASE):
Sintaxis:
•DROP DATABASE [nombreParaBaseDatos]
Ejemplo:
•DROP DATABASE dbPedidos;
INTRODUCCION A BASE DE DATOS Y SQL

PARA CREAR SCHEMAS


• Creación de schema (DATABASE):
Sintaxis:
• CREATE SCHEMA [nombreParaEsquema]
Ejemplo:
• CREATE SCHEMA activosfijos;

• Creación de schema (DATABASE):


Sintaxis:
• CREATE SCHEMA [nombreParaEsquema]
Ejemplo:
• CREATE SCHEMA activosfijos;
INTRODUCCION A BASE DE DATOS Y SQL

PARA CREAR TABLAS


• Creación de tabla :
Sintaxis:
• CREATE TABLE [nombreSchema][nombreParaTabla]
Ejemplo:
• CREATE TABLE activosfijos.clientes(
nombre char(30),
Eliminación de tabla:
apellido char(30),
Sintaxis:
direccion char(30) DROP TABLE [nombreParaTabla]
); Ejemplo:
DROP TABLE activosfijos.clientes
INTRODUCCION A BASE DE DATOS Y SQL

PARA BORRAR TABLAS


• Borrar datos de una tabla (DATA):
Sintaxis:
• TRUNCATE TABLE [nombreParaTabla]
Ejemplo:
• TRUNCATE TABLE activosfijos.clientes;

Eliminar columna:
Sintaxis:
ALTER TABLE [nombreParaTabla]
DROP COLUMN [nombreColumna];
Ejemplo:
ALTER TABLE activosfijos.clientes
DROP COLUMN direccion
INTRODUCCION A BASE DE DATOS Y SQL

LLAVE PRIMARIA Y LLAVE FORANEA

ALTER TABLE [NOMBRE_TABLA] ADD CONSTRAINT


[NOMBRE_CONTRAINT] FOREIGN KEY ([CAMPO_TABLA])
REFERENCES [TABLA_EXTERNA] ([CAMPO_TABLA])
INTRODUCCION A BASE DE DATOS Y SQL

ELIMINAR CONSTRAINT
Sintaxys:
• ALTER TABLE [nombreEsquema][nombreTabla]
DROP CONSTRAINT [nombreRestriccion];
ejemplo:
INTRODUCCION A BASE DE DATOS Y SQL

EMPRESA DE PROYECTOS
INTRODUCCION A BASE DE DATOS Y SQL

OTROS EJEMPLOS PATRON DE DISEÑO EAV

Durante el diseño de un correcto modelo relacional de una base de datos, no cabe la duda la implementación
de un modelo genérico de tablas llamado “Atributos & Tipos” u otros lo llaman (EAV, Entity Attribute Value) en
sus siglas en ingles, el cual aumenta la flexibilidad y robustez del mismo.

La intención de este tipo de “patrón” de diseño por llamarlo de alguna forma, es que permite tener un dominio
detallado sobre todos los atributos que podamos asignarle a cualquier elemento que es almacenado, en pocas
palabras, cada registro habla por si solo y no tendrá libre interpretación, las aplicaciones que hacen uso de
estos valores serán dominados directamente por el manejador de base de datos, y al final todo este proceso
conlleva a una simple solución de auto-documentación e integridad de los datos.
INTRODUCCION A BASE DE DATOS Y SQL


LABORATORIO 1
Empresa que gestiona cliente, artículos y pedidos
• Se pide que realize un diagrama entidad relacion, ademas de su implementacion en base de datos
INTRODUCCION A BASE DE DATOS Y SQL

PRACTICA 1
Responda las preguntas a continuación envié las respuestas a correo del instructor:

1) Defina que elementos que tiene el diagrama entidad relación.


2) Defina el termino entidad débil.
3) Que sugerencia se dio en clases cuando se presente la cardinalidad de N:M de muchos a muchos.
4) Defina dependencia transitiva y dependencia funcional.
5) Es posible tener dos atributos clave para una entidad, explique si afirmación o negación.
6) Que es un modelo relacional de datos
7) Es posible asignar a atributo clave un valor Null
8) Según su criterio defina los pasos que se debe seguir cuando se diseña una base de datos.
9) Un buen diseño de base datos que características debería tener,(Ej.: Evitar información redundante.
10) En que etapa del diseño de base de datos debería aplicar las reglas de normalización.

Potrebbero piacerti anche