Está en la página 1de 11

BASES DE DATOS I

MODELO DE ENTIDADESRELACIONES EXTENDIDO


DERIVACIN del ESQUEMA RELACIONAL

curso 2008

Modelo de Entidades-Relaciones (M.E.R.)


9 Un modelo de datos proporciona una coleccin integrada de
conceptos para describir los datos, las relaciones existentes entre
los mismos y las restricciones aplicables a los datos, dentro de una
organizacin.
9 El modelo de entidades y relaciones (introducido por Chen en
1976) se ha consolidado como una de las principales tcnicas para
el diseo de bases de datos.
9 Es simple y poderoso para modelar abstracciones del mundo
real y fcilmente traducible a un esquema de Base de Datos.
9 Existen variaciones y extensiones (M.E.R.E.). No hay un enfoque
de diagramacin estndar, pero s un conjunto de construcciones
comunes.

27/08/08

Bases de Datos I
M. del Fresno

Elementos bsicos
Entidades (fuertes o dbiles)
Relaciones (de diferente grado y cardinalidad)
Atributos (identificadores y descriptores)
Ejemplo:

correlat

(0,n)

ALUMNO

(0,n)

(0,n)
cursa

#matric.
nombre

(0,n)

MATERIA

posee

(1,1)

ao

#materia

dni

(0,n)

nom_mat

CARRERA
Id_carrera

27/08/08

nombre

Bases de Datos I
M. del Fresno

Entidades (fuertes y dbiles)


Entidades fuertes tienen existencia propia
a1
a2

A ( a1, a2, )

Entidades dbiles necesitan de otra entidad para determinar la


existencia de sus instancias
a1
.

b1

A ( a1, . . . )
B ( a1, b1, . . . )
27/08/08

Bases de Datos I
M. del Fresno

Relaciones
Una relaci
relacin es una asociaci
asociacin entre instancias de una o m
ms entidades
Grado de la relaci
relacin determina cu
cuntas entidades participan de la
relaci
relacin
- binarias
- unarias (o recursivas)
- n-arias (ternarias, etc.)
Cardinalidad o conectividad de la relaci
relacin especifica el n
nmero de
posibles instancias de la relaci
relacin para cada entidad participante:
- 1:1, 1:N, N:N (en relaciones binarias)
- 1:1:1, 1:1:N, 1:N:N
1:N:N,, N:N:N (en relaciones ternarias)
Participaci
Participacin en la relaci
relacin indica si la existencia de una entidad
requiere la existencia de la entidad asociada (mandatoria o total)
o no es requerida en todos los casos (opcional o parcial)
27/08/08

Bases de Datos I
M. del Fresno

Relaciones unarias

a1
a2

a1
a2

A (a1, . . . )

A (a1, . . . , a1_R)

R-A (a1, a1_R)


renombrar el atributo

27/08/08

Bases de Datos I
M. del Fresno

Relaciones binarias

a1
a2

b1

N:1 A ( a1, . . . , b1 )
Si el vnculo es mandatorio
no puede omitirse el valor
en la referencia
( campo no nulo)

B ( b1, . . . )
1:1

A ( a1, . . . , b1 )
B ( b1, . . . , a1 )

N:N

A ( a1, . . . )

R ( a1, b1 )

B ( b1, . . . )
27/08/08

Bases de Datos I
M. del Fresno

Relaciones ternarias

a1

ABC
C
c1
A ( a1, . . . )
B ( b1, . . . )
C ( c1, . . . )

27/08/08

b1

N:N:N

R ( a1, b1, c1 )

1:N:N

R ( a1, b1, c1 )

1:1:N

R ( a1, b1, c1 )

1:1:1

R ( a1, b1, c1)

Bases de Datos I
M. del Fresno

Jerarquas: subtipos-supertipos
a1
a2

Exclusivas

< tipo_a >

(o disjuntas)

c1

b1

Compartidas
d1

TablaA ( a1, a2, ., tipo_a )


TablaB ( a1, b1 )
TablaC ( a1, c1 )
TablaD ( a1, d1 )
TablaE ( a1, e1 )
27/08/08

(o
superpuestas)

e1

al ser una jerarqua exclusiva


se debe incluir el atributo tipo
en este caso no, porque la
jerarqua es compartida
Bases de Datos I
M. del Fresno

Derivacin de Tablas: Resumen


Transformaci
Transformacin de Entidades :
Se crea una relacin por cada entidad
Todo atributo de la entidad se transforma en un atributo de la
tabla relacional
El identificador de la entidad se transforma en la clave primaria
de la tabla relacional
Transformaci
Transformacin de Relaciones :
En las interrelaciones unarias o binarias con cardinalidad 1:N se
adicionan los atributos identificatorios de la entidad del lado 1 a
la entidad del lado N
Las relaciones binarias N:N y n-arias se transforman en una
nueva tabla relacional con los atributos claves de las entidades
participantes en la relacin y los atributos propios de la relacin
(si los tiene)
27/08/08

Bases de Datos I
M. del Fresno

10

Ejemplo M.E.R.E de BD de Productos


Apellido
Nombre
Direccion

Razon Social
Contacto

CATEGORIA

Id Categoria
Nom_categ
Descripcion

pertenece

EMPRESA

<tipo_cliente>

COND_VTA

Codigo P
Nombre

PRODUCTO

PERSONA

Id Cond.
Descripcion

CLIENTE

1
posee

cond_
pedido

Cantidad

tiene

CUIT
Telefono
Fecha ult.
compra

N
PRESENTACION

27/08/08

Id Presentacion
Descripcion
Cantidad
Precio
Lim.inferior
Lim.superior

PEDIDO

Bases de Datos I
M. del Fresno

Id Pedido
Fecha
Hora

11

Ejemplo Derivacin
Categoria (Id Categoria, Nom_categ, Descripcion)
Producto (Codigo P, Nombre, Id Categoria)
Presentacion (Codigo P, Id Presentacion, Descripcion, Cantidad, Precio,
Lim_inferior, Lim_superior)
Cliente (CUIT, telefono, fecha ult_compra, tipo_cliente)
Empresa (CUIT, Razon Social, Contacto)
Persona (CUIT, Apellido, Nombre, Direccion)
Pedido (Id Pedido, Fecha, Hora, CUIT)
Cond_Vta (Id Cond, Descripcion)
Cond_Pedido (Id Pedido, Codigo P, Id Presentacion, Id Cond, Cantidad)
27/08/08

Bases de Datos I
M. del Fresno

12

SQL (Structured Query Language)


SQL lenguaje est
estndar para los DBMS
Algunas de las funciones del lenguaje son:
9 Definicin de datos
DDL

Creacin de objetos (CREATE)


Modificacin de objetos definidos (ALTER)
Eliminacin de objetos definidos (DROP)

9 Actualizacin de los datos

DML

Insercin (INSERT)
Actualizacin (UPDATE)
Eliminacin (DELETE)

9 Consulta de datos

Los objetos pueden ser:


tablas,
vistas,
ndices,
dominios,
etc.

Seleccin (SELECT)
27/08/08

Bases de Datos I
M. del Fresno

13

SQL Definicin de Datos


La definici
definicin de los datos se realiza a trav
travs de las sentencias de
DDL (Data Definition Language)
Language) del SQL.
9 Sus comandos permiten definir la semntica del esquema relacional:
qu tablas o relaciones se establecen, sus dominios, asociaciones,
restricciones, etc.
9 Los datos o informacin para el DBMS se guardan en tablas
9 Las tablas son identificadas unvocamente por sus nombres y
contienen filas y columnas
9 Las columnas contienen el nombre, el tipo de dato y restricciones
asociadas a la columna
9 Las filas contienen los registros o datos de las columnas (instancias)
27/08/08

Bases de Datos I
M. del Fresno

14

SQL Creacin de Tablas


CREATE TABLE <nombre-tabla>
( {<nom-columna> {tipo-dato | dominio} [NOT NULL] [UNIQUE]
[DEFAULT <valor-defecto>] [CHECK (condicion)], }
[ [ CONSTRAINT <nom-constraint>] PRIMARY KEY (<lista-columnas-PK>)]
[ [ CONSTRAINT <nom-constraint>] UNIQUE (<lista-columnas-UN>)]
[ [ CONSTRAINT <nom-constraint>] FOREIGN KEY (<lista-columnas-FK>)
REFERENCES <tabla-padre> [(<lista-columnas-REF>)]
[ MATCH {SIMPLE | PARTIAL | FULL} ]
[ ON UPDATE <modalidad> ] ]
[ ON DELETE <modalidad> ]
[ [ CONSTRAINT <nombre-constraint>] CHECK (condicion) ] );
<modalidad>::= NO ACTION | CASCADE | SET NULL |
SET DEFAULT | RESTRICT
27/08/08

Bases de Datos I
M. del Fresno

15

SQL Tipos de Datos Predefinidos


9 Numricos:
INTEGER - valores enteros
SMALLINT - valores enteros pequeos
NUMERIC(p,e) valores flotantes (p: nro. total de dgitos, e: decimales)

9 Caracteres:
CHAR(n) - cadenas de caracteres alfanumricos de longitud fija n
VARCHAR(n) - cadenas de caracteres alfanumricos de longitud variable
(n: longitud mxima)

9 Boolean
valores TRUE, FALSE y UNKNOWN

9 Datetime:
TIME - valores de HOUR, MINUTE and SECOND
DATE - valores de YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
TIMESTAMP - valores de YEAR, MONTH, DAY, HOUR, MINUTE,SECOND
tomados del sistema
27/08/08

Bases de Datos I
M. del Fresno

16

SQL Creacin de Tablas


Ejemplos:
Ejemplos:

CATEGORIA (Id Categoria, Nom_categ, Descripcion)

CREATE TABLE CATEGORIA


( Id_Categoria INTEGER,
Nom_categ
CHAR(30) NOT NULL,
Descripcion
VARCHAR(50)
PRIMARY KEY (Id_Categoria) ) ;
PRODUCTO (Codigo P, Nombre, Id_Categoria)
CREATE TABLE PRODUCTO
( CodigoP
INTEGER,
Nombre
CHAR(30),
Id_Categoria INTEGER NOT NULL DEFAULT 0,
PRIMARY KEY (CodigoP),
CONSTRAINT FK_Categ FOREIGN KEY (Id_Categoria)
REFERENCES CATEGORIA
ON DELETE NO ACTION
ON UPDATE CASCADE ) ;
27/08/08

Bases de Datos I
M. del Fresno

17

SQL Modificacin de Tablas


Se proveen 6 opciones:

Agregar una nueva columna


Eliminar una columna
Agregar una nueva restriccin a la tabla
Eliminar una restriccin
Asignar un valor predeterminado a una columna
Eliminar el valor predeterminado a una columna

ALTER TABLE <nom-tabla>


[ ADD [ COLUMN] <nom-columna> {tipo-dato|dominio} [NOT NULL]
[UNIQUE] [DEFAULT <valor-defecto>][CHECK (condicion)] ]
[ DROP [COLUMN] <nom-columna> [RESTRICT | CASCADE ] ]
[ ADD [ CONSTRAINT <nombre-constraint>] <definicin-restriccin> ]
[ DROP CONSTRAINT <nombre-constraint>] [RESTRICT | CASCADE ] ]
[ ALTER [COLUMN] SET DEFAULT <valor-defecto> ]
[ ALTER [COLUMN] DROP DEFAULT ]
27/08/08

Bases de Datos I
M. del Fresno

18

SQL Modificacin de Tablas


Ejemplos:
Ejemplos:
ALTER TABLE CATEGORIA
ADD COLUMN Porc_IVA NUMBER(4,2) DEFAULT 21 ;
ALTER TABLE EMPRESA
DROP COLUMN Contacto ;

//opcin por defecto: RESTRICT

ALTER TABLE PRODUCTO


ADD CONSTRAINT U_nom UNIQUE (Nombre) ;
ALTER TABLE CATEGORIA
ALTER Descripcion SET DEFAULT No asignada;
ALTER TABLE PRODUCTO
DROP CONSTRAINT FK_Categ ;
27/08/08

Bases de Datos I
M. del Fresno

19

SQL Eliminacin de Tablas


DROP TABLE <nom-tabla> [CASCADE | RESTRICT]

Se elimina la definicin de la tabla y todas las filas que contiene.


Si es CASCADE, la operacin se lleva a cabo y se eliminan todos
los objetos dependientes de la tabla (tambin los objetos que
dependan a su vez de ellos).
Si es RESTRICT, se rechaza si hay objetos definidos a partir de la
tabla (Es la opcin por defecto).
Ejemplos:
DROP TABLE Cond_Pedido ;
DROP TABLE Categoria CASCADE ; La eliminacin se
propagara tambin sobre otras tablas!!
Nota: Se debe tener (mucha) precaucin en el uso de la opcin CASCADE
27/08/08

Bases de Datos I
M. del Fresno

20

10

SQL Actualizaciones de Datos


Sentencias del DML para agregar, modificar y eliminar datos de
tablas:
INSERT

INSERT INTO <nom-tabla> [ ( <lista-columnas> ) ]


VALUES (lista-valores) | SELECT . ;

DELETE

DELETE FROM <nom-tabla>


[ WHERE <condition> ] ;

UPDATE

UPDATE <nom-tabla>
SET <nom-col1> = <valor1> [,<nom-col2> = <valor2> ]
[ WHERE <condicin> ] ;

27/08/08

Bases de Datos I
M. del Fresno

21

SQL Actualizaciones de Datos


Ejemplos:
INSERT INTO Categoria (Id_Categoria, Nom_categ)
VALUES ( 208, Monitores );
Descripcin puede ser nulo y Porc_IVA
tomara su valor por defecto (21)

INSERT INTO Producto VALUES ( 1234, Samsung SyncMaster 550s, 208 );


UPDATE Presentacion SET Precio = Precio*2 ; Duplica el precio de todos
los productos de la BD

UPDATE Categoria SET Nom_categ = Monitores L17,


Descripcion= Monitor Tec. LCD 17 pulg WHERE Id_Categoria = 215;
DELETE FROM Cond_Pedido; Elimina todas las tuplas de Cond_Pedido
DELETE FROM Presentacion WHERE Cantidad = 0;
27/08/08

Bases de Datos I
M. del Fresno

22

11

También podría gustarte

  • BD
    BD
    Documento18 páginas
    BD
    Ernesto Castillo
    Aún no hay calificaciones
  • Cuerpo PTI
    Cuerpo PTI
    Documento11 páginas
    Cuerpo PTI
    DES9911
    Aún no hay calificaciones
  • Reporte
    Reporte
    Documento1 página
    Reporte
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Atienza Oscar
    Atienza Oscar
    Documento202 páginas
    Atienza Oscar
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Descargas
    Descargas
    Documento2 páginas
    Descargas
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Fichaj
    Fichaj
    Documento2 páginas
    Fichaj
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • PTI Tonino y Zevallos - Corregido
    PTI Tonino y Zevallos - Corregido
    Documento45 páginas
    PTI Tonino y Zevallos - Corregido
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Diagram A Des Plie Gue Component Es
    Diagram A Des Plie Gue Component Es
    Documento14 páginas
    Diagram A Des Plie Gue Component Es
    Gorri213
    Aún no hay calificaciones
  • Clase 1
    Clase 1
    Documento13 páginas
    Clase 1
    SCRIBSADITH
    Aún no hay calificaciones
  • 15 El Desarrollo Del Software PDF
    15 El Desarrollo Del Software PDF
    Documento12 páginas
    15 El Desarrollo Del Software PDF
    Edward Cl
    Aún no hay calificaciones
  • Ecocardio Basica
    Ecocardio Basica
    Documento31 páginas
    Ecocardio Basica
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • 1proy1 Metodologia Rup
    1proy1 Metodologia Rup
    Documento12 páginas
    1proy1 Metodologia Rup
    Yoe Rincones
    Aún no hay calificaciones
  • Hemorragia Cerebral Tac
    Hemorragia Cerebral Tac
    Documento30 páginas
    Hemorragia Cerebral Tac
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Leccion 3
    Leccion 3
    Documento26 páginas
    Leccion 3
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • RBC
    RBC
    Documento11 páginas
    RBC
    Víctor Abel C
    Aún no hay calificaciones
  • 1proy1 Metodologia Rup
    1proy1 Metodologia Rup
    Documento12 páginas
    1proy1 Metodologia Rup
    Yoe Rincones
    Aún no hay calificaciones
  • b2c 05022014 c13-03532843
    b2c 05022014 c13-03532843
    Documento2 páginas
    b2c 05022014 c13-03532843
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Convocatoria OTIC 2014
    Convocatoria OTIC 2014
    Documento1 página
    Convocatoria OTIC 2014
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • (Jimmy Criptoy) Anaya - Multimedia.Desarrollo - Web.con - Php.y.mysql.2006 PDF
    (Jimmy Criptoy) Anaya - Multimedia.Desarrollo - Web.con - Php.y.mysql.2006 PDF
    Documento487 páginas
    (Jimmy Criptoy) Anaya - Multimedia.Desarrollo - Web.con - Php.y.mysql.2006 PDF
    kurro_69
    Aún no hay calificaciones
  • SI Laboral 1
    SI Laboral 1
    Documento14 páginas
    SI Laboral 1
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Administración II
    Administración II
    Documento112 páginas
    Administración II
    Abel SP
    Aún no hay calificaciones
  • Administración II
    Administración II
    Documento112 páginas
    Administración II
    Abel SP
    Aún no hay calificaciones
  • LG
    LG
    Documento1 página
    LG
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Direccion IP
    Direccion IP
    Documento1 página
    Direccion IP
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Ejemplo Perl
    Ejemplo Perl
    Documento1 página
    Ejemplo Perl
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Ejemplo Perl
    Ejemplo Perl
    Documento1 página
    Ejemplo Perl
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • 08 0278 CS
    08 0278 CS
    Documento101 páginas
    08 0278 CS
    Javier Ulloa
    Aún no hay calificaciones
  • Costo de Vida para Asistentes
    Costo de Vida para Asistentes
    Documento13 páginas
    Costo de Vida para Asistentes
    Jens Angulo Rodriguez
    Aún no hay calificaciones
  • Diseño de Una Red
    Diseño de Una Red
    Documento51 páginas
    Diseño de Una Red
    pcsolution
    100% (1)