bse de datos
En los capítulos anteriores vimos las reglas de mapeo para todos los tipos de relaciones (Ver diapositivas). En este capítulo recordaremos las reglas de mapeo más comunes y la creaciónclass las tablas de las mismas.
de Diagram
Factura
Recibo
-
nro_recibo
fecha
monto
Tiene
1
Tablas en SQL Server
create table recibo(
nro_recibo varchar(12)primary key,
fecha date not null,
monto money not null)
0..1
-
nro_factura
fecha
NIT
Monto
Mapeo
Recibo (nro_recibo, …………)
Factura (nro_factura,……,nro_recibo)
create table factura(
nro_factura varchar(12) primary key,
fecha date not null,
nit varchar(10) not null,
monto money not null,
nro_recibo varchar(12) not null,
foreign key(nro_recibo) referencesrecibo(nro_recibo))
2
class Diagram
Tablas en SQL Server
create table alumno(
codigo int primary key,
nombre varchar(30) not null,
paterno varchar(25) not null,
materno varchar(25),
cedulaID varchar(10) not null,
telefono varchar(10),
fecha_nac date not null)
create table carrera(
cod_carrera int primary key,
nombre varchar(30) not null)
Alumno
-
codigo
nombre
paterno
materno
cedulaIDtelefono
fecha_nac
Carrera
estudia
1..*
1..* -
cod_carrera
nombre
Mapeo
Alumno (codigo,……..)
Carrera (cod_carrera,.......)
Alumno_Carrera (codigo,cod_carrera,.….)
create table alumno_carrera(
codigo int not null,
cod_carrera int not null,
primary key(codigo,cod_carrera),
foreign key (codigo) references alumno(codigo),
foreign key (cod_carrera) referencescarrera(cod_carrera))
3
class Diagram
NotaVenta
-
id_venta
fecha
monto
DetalleVenta
1..* -
Tablas en SQL Server
create table notaVenta(
id_venta int primary key,
fecha date not null,
monto money not null)
cantidad
preciov
Mapeo
notaVenta (id_venta,……..)
detalleVenta (id_venta, id_detalle,.......)
create table detalleVenta(
id_venta int not null,
id_detalle int not null,cantidad int not null,
preciov money not null,
primary key(id_venta,id_detalle),
foreign key(id_venta) references notaVenta(id_venta))
4
class Diagram
class Diagram
Empleado
-
id_emp
nombre
paterno
materno
telefono
1
jefe
1..* subordinado
0..1
cuenta_padre
0..*
Cuenta
cuenta_hijo
codigo
nombre
Mapeo
Empleado (id_emp,……..,id_jefe)
Cuenta(codigo,……..,cuenta_padre)
Tabla en SQL Server
create table cuenta(
create table empleado(
codigo int primary key,
id_emp int primary key,
nombre varchar(30) not null,
nombre varchar(30) not null,
cuenta_padre int,
paterno varchar(30) not null,
foreign key(cuenta_padre) references
materno varchar(30),
cuenta(codigo))
telefono varchar(10),
id_jefe int not null,
foreign key(id_jefe)references empleado(id_emp))
Ing. Edwin Calle Terrazas
5
class Diagram
0..* parte_mayor
Parte
-
cod_parte
nombre
compone
0..* parte_menor
Mapeo
Parte (cod_parte,……..)
Compone (cod_parte_menor,cod_parte_mayor,…. )
Tabla en SQL Server
create table parte(
cod_parte int primary key,
nombre varchar(30) not null)
create table compone(
cod_parte_menor int,cod_parte_mayor int,
primary key(cod_parte_menor,cod_parte_mayor),
foreign key(cod_parte_menor) references parte(cod_parte),
foreign key(cod_parte_mayor) references parte(cod_parte))
GENERALIZACIÓN: Disjunto (en una sola tabla)
class Diagram
Forma
-
nro
nombre
Forma(nro,………………………, tipo)
Nro
-
altura
Circulo
-
radio
Altura
Radio
Tipo
1
Cuadrado
NombreCuadro1
5
---------
Cuadrado
2
Cuadro2
20
---------
Cuadrado
3
Circulo1
--------
10
Circulo
Mapeo
Forma (nro,………, tipo)
Tabla en SQL Server
create table forma(
nro_forma int primary key,
nombre varchar(30) not null,
altura int,
radio int,
tipo varchar(10))
Ing. Edwin Calle Terrazas
7
GENERALIZACIÓN: Solapamiento (en una sola tabla)...
Regístrate para leer el documento completo.