Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DIS Diseño de Base de Datos 2002
DIS Diseño de Base de Datos 2002
Una base de datos relacional es percibida por el usuario como una colección de relaciones en
tablas bi-dimensionales.
Tabla: EMPLEADO
tabla (relación)
fila (tupla)
columna (atributo)
Una Clave Primaria (Primary Key) es una columna o conjunto de columnas que identifica
unívocamente a cada fila de la tabla. Cada tabla debe tener una clave primaria, la cual debe ser
única para cada tupla.
La clave primaria para la anterior tabla EMPLEADO es la columna EMPLEADO_NRO. Cada fila
de la tabla es unívocamente identificada por su valor de EMPLEADO_NRO.
Una clave primaria que consta de múltiples columnas es llamada Clave Primaria Compuesta.
Por ejemplo, la clave primaria compuesta para la tabla CUENTA consiste en una combinación
de las columnas BANCO_NRO y CUENTA_NRO. Cada fila de la tabla es unívocamente
identificada por los valores de BANCO_NRO y CUENTA_NRO.
Tabla: CUENTA
BANCO_NRO CUENTA_NRO SALDO FECHA_APERTURA
104 75760 12.000,50 21/10/1989
104 77956 100,10
105 89570 55.755,00 15/01/1985
103 55890 15.001,85 10/03/1971
105 76954 5,00 25/09/1991
Clave Primaria
Los valores de una clave primaria compuesta deben ser combinaciones únicas para cada tupla,
aunque los valores de cada columna puedan ser duplicados.
Ninguna parte de la clave primaria debe ser nula.
2
Diseño de Bases de Datos
De tal modo, como EMPLEADO_NRO es la clave primaria de EMPLEADO, entonces debe ser
definido como NO NULO.
Lo propio ocurre con BANCO_NRO y CUENTA_NRO para la tabla CUENTA.
Una tabla puede tener mas de una columna o combinación de columnas que pueden servir
como claves primarias de la tabla. Cada una de ellas es llamada Clave Candidata.
Por ejemplo, para la siguiente tabla EMPLEADO las Claves Candidatas son EMPLEADO_NRO
y LIQUIDACION_CODIGO:
Tabla: EMPLEADO
Si se selecciona una clave candidata para ser Clave Primaria, por ejemplo
EMPLEADO_NUMERO, la otra clave candidata será una Clave Alternativa
(LIQUIDACION_CODIGO).
Los nombres y apellidos de personas normalmente no son claves Candidatas porque no está
garantizado que sean únicos.
Una Clave Externa (Foreign Key) es una columna o combinación de columnas de una tabla,
que referencia a una clave primaria en la misma u otra tabla.
3
Diseño de Bases de Datos
Tabla: EMPLEADO
Clave Primaria
Tabla: DEPARTAMENTO
DEPTO_CODIGO DEPTO_NOMBRE
10 FINANZAS
15 OPERACIONES
12 PRODUCCION
25 VENTAS
Una FK debe concordar con un valor existente de clave primaria, o de lo contrario debe
ser NULA.
Por ejemplo, en la tabla CUENTA la FK BANCO_NRO debe ser NO NULA porque es parte de
la PK..
4
Diseño de Bases de Datos
Las restricciones de integridad de los datos aseguran que los usuarios realicen solamente
operaciones que mantengan a la base de datos en estado consistente.
Integridad de Entidades Ninguna parte de una Clave Primaria puede ser NULA.
Integridad Referencial Una Clave Externa debe concordar con un valor de Clave
Primaria existente o de lo contrario ser NULA.
Integridad de Columnas Una columna debe contener solo valores consistentes con el
formato de datos definido para la misma.
Integridad de Definiciones Los datos almacenados en una base de datos deben cumplir
del Usuario los requerimientos de la organización.
Los requerimientos de la organización (las “reglas del negocio”) pueden determinar también
el correcto estado de la base de datos. Tales requerimientos son llamados Restricciones de
Integridad de Datos Definidas por los Usuarios.
Por ejemplo, una organización puede tener las siguientes restricciones de integridad de datos
definidas por los usuarios:
- Una comisión por ventas no puede exceder el 50% del salario básico.
5
Diseño de Bases de Datos
El Diseño de Base de Datos es realizado durante la etapa de DISEÑO dentro del ciclo de
desarrollo de un sistema, en forma paralela con el diseño de la aplicación, y a partir de las
definiciones producidas en el Diccionario de Datos como resultado de la etapa de ANALISIS del
sistema.
El diseño de la base de datos es realizado en dos grandes actividades, cada una de las cuales
incluye distintos pasos:
ACTIVIDAD 1.
Mapeo del Modelo DER a tablas relacionales para producir un diseño inicial.
Pasos:
1.2. Mapeo de los atributos en las columnas de la tabla y documentación de datos ejemplo.
ACTIVIDAD 2.
Refinamiento del diseño inicial para producir un completo diseño de la base de datos.
Pasos:
En resumen, la etapa de diseño de base de datos a partir del modelo DER produce
especificaciones de diseño para base de datos relacional incluyendo definición de tablas
relacionales, índices, vistas y espacios físicos.
6
Diseño de Bases de Datos
ACTIVIDAD 1: Mapeo del DER a tablas relacionales para producir un diseño inicial.
Tabla: EMPLEADO
COLUM EMPL_ APELLI NOM- PUESTO INGRE SUEL- SALA- SUPER DEPTO
NA NRO DO BRE SO DO RIO VISOR _NRO
TIPO
CLAVE PK FK1 FK2
NULO/
UNICO NN,U NN NN NN NN
DATOS 7369 ARIAS MARIA CADETE 17/12/80 800 100 7902 20
EJEM- 7902 SMITH DANIEL ANALISTA 03/12/81 3.000 80 7566 50
PLO 7521 REY JULIO VENDEDOR 22/02/81 1.250 7698 30
7698 DIAZ RAUL GERENTE 01/05/81 2.850 50 7839 30
7839 RUIZ DANIEL PRESIDENTE 12/11/81 5.000 10
• Los tipos de clave válidos son PK para Clave Primaria y FK para Clave Externa.
• Se utilizan números para distinguir entre múltiples FK en una misma tabla, por ejemplo FK1
y FK2.
ALISTAMIENTO
*fecha de inscripción
o
fecha de finalización
o
calificación
para para
inscripto tomado
en por
ESTUDIANTE CURSO
#*número #*código
*apellido *nombre
o
*nombre precio
o o
teléfono duración
dictado por
docente en
INSTRUCTOR
#*código
*apellido
*nombre
o
teléfono
7
Diseño de Bases de Datos
Crear una Tabla para cada Entidad Simple (no subtipos ni supertipos) , llamándola con idéntico
nombre.
Tabla: INSTRUCTOR
COLUM-
NA
TIPO
INSTRUCTOR CLAVE
NULO/
UNICO
DATOS
EJEM-
PLO
Paso 1.2.: Mapeo de los atributos en las columnas de la tabla y documentación de datos
ejemplo.
Mapear cada atributo en una columna de la Tabla de la Entidad, indicando a los atributos
mandatorios como NO NULOS (NN).
Tabla: INSTRUCTOR
COLUM- CODI APELLI NOM TELE
NA GO DO BRE FONO
TIPO
INSTRUCTOR CLAVE
#*código NULO/
*apellido UNICO NN NN NN
*nombre DATOS 10 ROSAS JUAN 292251
ºteléfono EJEM- 81 PEREZ MARIA 564891
PLO 73 RIVAS LUCIA 312291
95 RIOS DANTE 839221
301 ALVEZ LUCAS 533166
• Los nombres de columna deben ser fácilmente referenciables a los nombres de los
atributos.
8
Diseño de Bases de Datos
Mapear el/los atributo/s que son parte del Identificador Unico (IU) de la Entidad como Clave
Primaria (PK), indicándolo en la/s columna/s correspondiente/s.
Tabla: INSTRUCTOR
COLUM- CODI APELLI NOM TELE
NA GO DO BRE FONO
TIPO
INSTRUCTOR CLAVE PK
#*código NULO/
*apellido UNICO NN,U NN NN
*nombre DATOS 10 ROSAS JUAN 292251
ºteléfono EJEM- 81 PEREZ MARIA 564891
PLO 73 RIVAS LUCIA 312291
95 RIOS DANTE 839221
301 ALVEZ LUCAS 533166
Si en el IU de una Entidad está incluida una o más relaciones, se deben adicionar a la tabla las
columnas de Clave Externa e indicarlas como parte de la Clave Primaria.
ALISTAMIENTO CURSO
*fecha inscripción para #*código
ºfecha finalización *nombe
ºcalificación tomado ºprecio
por ºduración
para
• Las Claves Primarias compuestas deben ser valores de combinaciones únicos, por lo tanto
se indicará con U1 en cada columna.
9
Diseño de Bases de Datos
Tabla: CURSO
COLUMNA CURSO_COD NOMBRE PRECIO DURACION INSTR_NUM
TIPO CLAVE PK FK
NULO/UNICO NN.U NN NN NN
DATOS 344 SQL 500 5 81
EJEMPLO 974 DISEÑO BD 600 6 73
401 DBA 400 3 95
717 DER 400 3 73
659 CASE 800 7 301
• Para las relaciones debe ser, las columnas FK se indican como NN.
COMPUTADORA MOTHERBOARD
#*número de serie integrada por #*código
*tipo de gabinete *procesador
*marca incorporada *mhz
en *coprocesador
10
Diseño de Bases de Datos
• La FK para relaciones 1:1 mandatorias siempre debe ser UNICA (U), pero no permite
valores NULOS (NN)
Para relaciones recursivas 1:M, adicionar una columna FK a la única Tabla. Esta FK hace
referencia a los valores de la columna PK.
supervisor de
EMPLEADO
#*número
*apellido
*nombre supervisado por
Tabla: EMPLEADO
COLUMNA EMPL_NRO APELLIDO NOMBRE SUPERV_NRO
TIPO CLAVE PK FK
NULO/UNICO NN, U NN NN
DATOS 7450 GONZALEZ MARIA
EJEMPLO 5579 DIAZ DANIEL 7450
6714 MERLO JUAN 5579
9451 RUIZ JOSE 7450
3040 SMITH ESTEBAN 9451
11
Diseño de Bases de Datos
Para relaciones recursivas 1:1, adicionar una FK UNICA (U) a la tabla. Esta FK debe hacer
referencia a los valores de la columna PK.
conyuge de
PERSONA
#*documento nro.
*apellido casado con
*nombre
Tabla: PERSONA
COLUMNA PERS_DOCNRO APELLIDO NOMBRE CONY_DOCNRO
TIPO CLAVE PK FK
NULO/UNICO NN,U NN NN U
DATOS 12345337 RODRIGUEZ DANIEL
EJEMPLO 23456723 DOMINGUEZ JUAN 06758497
06758497 SMITH MIRTA 23456723
11908974 ROBLES JUANA 09099876
09099876 JOHNSON RAUL 11908974
Las relaciones excluyentes, representadas por arcos, son una multiple alternativa de Clave
Externa. Puede elegirse entre dos formas distintas de diseño para mapear los arcos en Claves
externas:
12
Diseño de Bases de Datos
El Diseño Explícito de Arcos crea una columna de Clave Externa por cada relación incluida en
el arco:
poseida por
EMPRESA
poseedor de # *número
Tabla: CUENTA
COLUMNA CTA_NRO TIPO PERS_DOC SOC_COD EMPR_NUM
TIPO CLAVE PK PK FK1 FK2 FK3
NULO/UNICO NN,U1 NN,U1
DATOS 1024 1 12330045
EJEMPLO 0512 2 B4431
0977 2 22545323
1031 1 10844
2371 2 54101
• El Diseño Explícito de Arcos soporta múltiples FK con diferentes formatos . Por ejemplo,
PERS_DOC, SOC_COD y EMPR_NUM tienen distinto formato de columna.
• El software de aplicación debe controlar que la relación sea exclusiva entre las FK.
El Diseño Genérico de Arcos crea una sola columna FK y una columna para codificar las
relaciones del arco. Dado que las relaciones son exclusivas, solo un valor de FK existirá en
cada registro de la tabla.
poseida por
EMPRESA
poseedor de # *número
13
Diseño de Bases de Datos
Tabla: CUENTA
COLUMNA CTA_NRO TIPO POSE_NUM POSE_TIPO
TIPO CLAVE PK PK FK
NULO/UNICO NN,U1 NN,U1 NN NN
DATOS 1024 1 12330 P
EJEMPLO 0512 2 44431 S
0977 2 22545 P
1031 1 10844 E
2371 2 54101 E
• Si las relaciones bajo el arco son mandatorias, ambas columnas adicionadas deben ser NO
NULO (NN).
• Las FK deben compartir el mismo formato para todas las tablas referenciadas.
Se mapean los subtipos en la misma tabla que el supertipo. La misma tabla contendrá
instancias para todos los subtipos.
A TABLA
B A
Se utiliza una sola tabla para el diseño cuando los subtipos tienen pocos atributos específicos y
relaciones.
14
Diseño de Bases de Datos
2. Crear una columna TIPO para identificar cual Subtipo pertenece cada fila.
EMPLEADO #*número
*apellido
*nombre
EMPLEADO EMPLEADO
MENSUALIZADO JORNALIZADO
*salario *valor hora normal
*valor hora extra
miembro de
asignado a
DEPARTAMENTO AGREMIACION
#*código #*número
Tabla: EMPLEADO
COLUM EMP_ APELLID NOMB EMP_ MENS_ JOR_ JOR_ JOR_ DPTO_
NA NUM O RE TIPO SALAR VALHN VALHE AGRE COD
M
TIPO
CLAVE PK FK1 FK2
NULO/
UNICO NN,U NN NN NN NN
DATOS 4579 LOPEZ DANIEL M 500 40
EJEM 6631 SMITH JUANA M 600 35
PLO 1190 DIAZ RAUL M 400 40
370 ROBLE DIANA M 1.000 30
800 GOMEZ JULIA M 2.000 35
7147 ROCA JOSE J 8,50 12,75 201 35
6794 SANTO JUAN J 6,75 11,50 150 30
941 DENIS RAUL J 12,00 18,00 201 45
1020 CAMPO ROSA J 9,50 16,15 201 30
3560 REY DINO J 10,50 15,75 180 45
Las columnas de la Tabla EMPLEADO se derivan de los atributos y relaciones del Supertipo y
de todos sus Subtipos.
15
Diseño de Bases de Datos
• El diseño de Subtipos en Tabla simple requiere que una nueva columna TIPO sea creada
para identificar cada fila del Subtipo. La columna EMP_TIPO fue adicionada a la Tabla
EMPLEADO para este propósito.
Requerimiento de NO NULO (NN) del Subtipo no pueden ser forzados a nivel de la base de
datos.
Se mapean los Subtipos en Tablas separadas, una por cada Subtipo. Cada Tabla contiene
solamente instancias del Subtipo al cual pertenece.
A TABLA
B B
TABLA
C
16
Diseño de Bases de Datos
3. En cada Tabla de subtipo, crear columnas para los atributos del Supertipo.
5. En cada Tabla de Subtipo, crear columnas FK para las relaciones del Supertipo.
EMPLEADO #*número
*apellido
*nombre
EMPLEADO EMPLEADO
MENSUALIZADO JORNALIZADO
*salario *valor hora normal
*valor hora extra
miembro de
asignado a
DEPARTAMENTO AGREMIACION
#*código #*número
Tabla: EMPLEADO_MENSUALIZADO
COLUM EMP_ APELLI NOMB MENS_ DPTO_
NA NUM DO RE SALAR COD
TIPO
CLAVE PK FK
NULO/
UNICO NN,U NN NN NN NN
DATOS 4579 LOPEZ DANIEL 500 40
EJEM 6631 SMITH JUANA 600 35
PLO 1190 DIAZ RAUL 400 40
370 ROBLE DIANA 1.000 30
800 GOMEZ JULIA 2.000 35
17
Diseño de Bases de Datos
Tabla: EMPLEADO_JORNALIZADO
COLUM EMP_ APELLI NOMB JOR_ JOR_ JOR_ DPTO_
NA NUM DO RE VALHN VALHE AGREN COD
TIPO
CLAVE PK FK1 FK2
NULO/
UNICO NN,U NN NN NN NN NN NN
DATOS 7147 ROCA JOSE 8,50 12,75 201 35
EJEM 6794 SANTO JUAN 6,75 11,50 150 30
PLO 941 DENIS RAUL 12,00 18,00 201 45
1020 CAMPO ROSA 9,50 16,15 201 30
3560 REY DINO 10,50 15,75 180 45
Usar un diseño de Subtipos en Tablas separadas cuando haya muchos atributos específicos de
subtipo o relaciones.
La opcionalidad de los atributos de los Subtipos puede forzarse a nivel de la base de datos.
Y sus desventajas:
El acceso al Supertipo requiere del operador UNION o de una vista con el operador UNION.
El código de los programas de aplicación debe ser específico sobre la Tabla individual del
Subtipo.
18
Diseño de Bases de Datos
• La 3FN es una meta aceptada para eliminar la redundancia en el diseño de bases de datos.
Los datos desnormalizados no cumplen con las reglas de normalización. Por ejemplo el
siguiente conjunto de datos:
Tabla: PEDIDO
PEDIDO FECHA CLI_ CLI_NO PROVIN ITEM_ ITEM_ CANTI- PRECIO
_NRO NRO MBRE CIA CODIGO DESCR DAD
2301 23/06 101 Perez BS.AS. 3876 red 3 35.00
4011 raqueta 6 65,00
9132 pelotax 3 8 4,75
Tabla: PEDIDO
PEDIDO FECHA CLI_ CLI_NO PROVIN
_NRO NRO MBRE CIA
PK
2301 23/06 101 Perez BS.AS.
2302 25/06 107 Sports STA.FE
2303 26/06 110 Diaz CORD
19
Diseño de Bases de Datos
Tabla: PEDIDO_ITEM
PEDIDO ITEM_ ITEM_ CANTI- PRECIO
_NRO CODIGO DESCR DAD
PK,FK PK
2301 3876 red 3 35.00
2301 4011 raqueta 6 65,00
2301 9132 pelotax 3 8 4,75
2302 5796 pelotax 6 4 5,00
2303 4011 raqueta 2 65,00
2303 3141 funda 2 10,00
3. Crear una segunda Tabla con esas columnas y la/s columna/s de la PK de las cuales
dependen.
Por ejemplo, la anterior Tabla PEDIDO_ITEM no está en 2FN dado que PRECIO e
ITEM_DESCR dependen de ITEM_CODIGO pero no de PEDIDO_NRO.
Para convertir la Tabla a 2FN se remueven las columnas parcialmente dependientes, creando
una Tabla ITEM con esas columnas y las de PK de las cuales dependen.
3. Crear una segunda Tabla con esas columnas y la columna NO CLAVE de la cual dependen.
Por ejemplo, la Tabla PEDIDO resultante de la 1FN no esta en 3FN porque CLI_NOMBRE y
PROVINCIA dependen de CLI_NRO, el cual no es PK.. Se crea la Tabla CLIENTE.
20
Diseño de Bases de Datos
• Todos los atributos NO CLAVE son dependientes de la Clave Primaria, de toda la Clave
Primaria y de nada más que la Clave Primaria.
Un valor de la columna de Clave Externa (FK) debe corresponderse con un valor existente en
columna de Clave Primaria (PK) o sino debe ser NULO.
Restricción de borrado: Qué sucede si una fila conteniendo una Clave Primaria referenciada es
borrada?
Las especificaciones de restricción de borrado definen que deberá suceder si una fila que
contiene un Clave Primaria referenciada es borrada.
21
Diseño de Bases de Datos
Tomando el mismo ejemplo anterior, qué deberá suceder si un DPTO_NRO en el cual trabajan
los empleados es cambiado por otro DPTO_NRO?
22
Diseño de Bases de Datos
Un índice está asociado con una sola tabla física y contiene los valores de una o más columnas
de esa tabla.
Tabla: CURSO
COLUMNA CURSO_COD NOMBRE PRECIO DURACION INSTR_COD
TIPO CLAVE PK FK
NULO/UNICO NN.U NN NN NN NN
DATOS 344 SQL 500 5 81
EJEMPLO 974 DISEÑO BD 600 6 73
401 DBA 400 3 95
717 DER 400 3 73
659 CASE 800 7 301
Representación física:
Tabla: CURSO
RECNO CURSO_COD NOMBRE PRECIO DURACION INSTR_COD
1010 344 SQL 500 5 81
1011 974 DISEÑO BD 600 6 73
1012 401 DBA 400 3 95
1013 717 DER 400 3 73
1014 659 CASE 800 7 301
Un índice concatenado es un índice creado de un grupo de columnas de una sola Tabla. Una
Clave Compuesta se mapea mediante un índice concatenado.
23
Diseño de Bases de Datos
Por ejemplo:
Tabla de diseño:
Tabla: ALISTAMIENTO
COLUM FECHA_ FECHA_ CALIFI CURSO_ ESTUD_
NA INSCRI FINAL CACION COD NRO
TIPO
CLAVE PK,FK1 PK,FK2
NULO/
UNICO NN NN,U1 NN,U1
DATOS 20/07/91 29/07/91 344 47593
EJEM- 05/09/91 401 15402
PLO 14/06/91 28/06/91 A 717 51394
08/05/91 28/06/91 B 717 94572
05/05/91 21/05/91 A 401 51394
Tabla física:
Tabla: ALISTAMIENTO
RECNO FECHA_ FECHA_ CALIFI CURSO_ ESTUD_
INSCRI FINAL CACION COD NRO
5011 20/07/91 29/07/91 344 47593
5012 05/09/91 401 15402
5015 14/06/91 28/06/91 A 717 51394
5013 08/05/91 28/06/91 B 717 94572
5014 05/05/91 21/05/91 A 401 51394
I_ALISTAMIENTO_1 Indice
(Unico)
CURSO_ ESTUD_ RECNO
COD NRO
344 47593 5011
401 15402 5012
401 51394 5014
717 51394 5015
717 94572 5013
Se usan índices para implementar claves y soportar los requerimientos de acceso de las
aplicaciones.
• Claves de búsqueda
24
Diseño de Bases de Datos
Además:
• Un índice único referencia una columna o un conjunto de columnas que tienen valores
únicos en la Tabla.
• restringir accesos.
Una vista puede ser considerada como una ventana predefinida sobre la base de datos. No
tiene datos propios y refleja información desde otras Tablas. Es consultada como si fuese una
Tabla.
Una vista puede restringir lo que el usuario ve. Por ejemplo, un vista debe ser usada para
restringir a los usuarios la visión de los sueldos de la Tabla EMPLEADO:
Una vista puede ser usada para presentar datos normalizados en forma desnormalizada.
Por ejemplo, siguiendo las reglas de normalización, las Tablas PEDIDO y CLIENTE estan
separadas:
25
Diseño de Bases de Datos
Pedido Cliente
PED_NUM PED_ PED_CLI_ CLI_NRO APELLIDO NOMBRE
FECHA NRO
10145 10/06/1991 111 111 SMITH JUAN
27444 07/08/1991 550 342 DIAZ DANIEL
32157 08/09/1991 342 550 ROZAS MARTA
43010 30/07/1991 111 375 BLANCO JOSE
98710 10/05/1991 375
Una vista definida a través de ambas Tablas será usada para pre-juntar las Tablas de tal modo
que el usuario solo verá una sola Tabla:
Vista
PED_NUM PED_ CLI_NRO APELLIDO NOMBRE
FECHA
10145 10/06/1991 111 SMITH JUAN
27444 07/08/1991 550 DIAZ DANIEL
32157 08/09/1991 342 ROZAS MARTA
43010 30/07/1991 111 SMITH JUAN
98710 10/05/1991 375 BLANCO JOSE
Se deben considerar todas las otras opciones antes que la desnormalización, especialmente el
cambio o la adición a la estructura de los índices.
26
Diseño de Bases de Datos
Si un alto volumen de consultas de CUENTAs siempre acceden al nombre del banco, una
combinación de Tablas puede hacer que la redundancia de datos sea valiosa. La Tabla
CUENTA y la Tabla BANCO se combinan sobre BANCO_NRO:
Tabla: CUENTA
COLUM CTA_ SALDO BANCO_ BANCO_
NA NRO NRO NOMBRE
TIPO
CLAVE PK PK
NULO/
UNICO NN,U1 NN,U NN,U NN
DATOS 04157 100,00 301 CITY
EJEMPLO 75731 2.500,00 410 RIO
61134 9.791,00 301 CITY
94174 3.740,00 501 NACION
53109 5.940,00 410 RIO
MODELO ENE FEB MAR ABR MAY JUN JUL AGO SET OCT NOV DIC
Coupe 1000 1106 1020 1026 999 1435 1278 1698 920 978 989 886
Sedan 850 978 1000 1004 699 1336 1267 1765 940 995 766 823
Cabriolet 948 674 888 893 1000 1547 1449 1020 950 673 975 345
Van 1205 999 1016 1005 1001 1200 1030 1864 999 1040 897 745
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
Elegir el diseño de Tabla para vector de datos basándose en los requerimientos de acceso
funcional.
27
Diseño de Bases de Datos
• Las funciones que actuan por columnas (SUMA, PROMEDIO, etc.) facilitan su utilización
• Los reportes de salida que muestran todos los valores horizontalmente son fáciles de
producir.
Por ejemplo, un gerente general de ventas tiene 200 vendedores regionales a su cargo.
Frecuentemente consulta la cuota total de ventas y las ventas por dia para cada región. Las
cuotas de venta se establecen cuatrimestralmente. Las ventas diarias son actualizadas
semanalmente. Mantener datos de cuotas de venta y ventas por dia por región pueden ser
deseable:
Tabla: VENTAS_VENDEDOR
COLUMNA VENDED_N APELLIDO NOMBRE VENTAS_ VENTAS_ REGION_
RO CUOTA POR_DIA NRO
CLAVE
TIPO PK FK
NULO/
UNICO NN,U NN NN NN NN NN
DATOS 110 SMITH DANIEL 500.000 10.000 50
EJEMPLO 250 GONZALEZ MARIA 700.000 350.000 35
310 DIAZ JUAN 1.200.000 500.000 40
400 BLANCO JOSE 650.000 250.000 37
550 RUIZ RAUL 800.000 420.000 40
Tabla: REGION
COLUMNA REGION_NRO VENTAS_ VENTAS_POR_
CUOTA DIA
CLAVE TIPO PK
NULO/UNICO NN,U
DATOS 20 2.000.000 750.500
EJEMPLO 50 1.500.000 600.250
35 700.000 350.000
40 2.000.000 920.000
37 1.300.000 250.000
28
Diseño de Bases de Datos
En este paso, el Diseñador trabaja junto con el Administrador de Base de Datos para planificar
la disposición física de las Tablas e Indices de la base de datos.
29