Logo Studenta

clase 4

¡Este material tiene más páginas!

Vista previa del material en texto

Pág  1
BASES DE DATOS
LICENCIATURA EN ANALISIS DE SISTEMAS
BASES DE DATOS I 
MÓDULO 2
MODELO DE IMPLEMENTACIÓN
Pág  2
BASES DE DATOS
Modelo Relacional
El modelo Relacional es conceptual, por lo tanto puede implementarse en 
diversos Tipos de DBMS’s
Para cada tipo de DBMS existe un conjunto de heurísticas que se deben aplicar
Las heurísticas más naturales son las que permiten derivar el modelo Relacional 
obtenido en una base de datos Relacional
Heurísticas
Entidades
Relaciones
Pág  3
BASES DE DATOS
Heurística Entidades
Cardinalidad 1aN
Toda entidad del modelo conceptual, se transforma en una tabla en el modelo de 
implementación.
Personas
Personas
Documento: INT NOT NULL
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL
Pág  4
BASES DE DATOS
Heurística Entidades
Restricción de Clave del Modelo Relacional
Toda relación (tabla) debe tener, al menos, una clave candidata (subconjunto de 
atributos para el cual no existan dos tuplas con la misma combinación de valores).
Personas
Documento: INT NOT NULL
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL
Restricción de Clave
Identificar todas las 
claves candidatas
Personas
Documento: INT NOT NULL AK
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL AK
Personas
Documento: INT NOT NULL PK
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL AK
Restricción de Clave
Seleccionamos una a la 
que será la Primaria
Pág  5
BASES DE DATOS
Heurística Relaciones
Cardinalidad 1aN
La clave primaria del lado 1 de la relación se exporta como clave foránea del lado N de 
la relación
Marcas
MarcaId: INT NOT NULL PK
Nombre: VARCHAR (30) NOT NULL AK
Articulos
ArticuloId: INT NOT NULL PK
Descripcion: VARCHAR (60) NOT NULL
CodBarras: VARCHAR(15) NOT NULL AK
Importe: REAL NOT NULL
ArticulosMarcas
Articulos
ArticuloId: INT NOT NULL PK
Descripcion: VARCHAR (60) NOT NULL
CodBarras: VARCHAR(15) NOT NULL AK
Importe: REAL NOT NULL
MarcaId: INT NOT NULL FK
Pág  6
BASES DE DATOS
Heurística Relaciones
Cardinalidad 1a1 – Caso I
Se decide mantienen las entidades en distintas tablas. Recomendado para relaciones de 
tipo Uno a Uno (ó cero).
Personas
Documento: INT NOT NULL PK
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL AK
Alumnos
Libreta: INT NOT NULL PK
FecIngreso: DATE NOT NULL
Documento: INT NOT NULL FK
Personas Alumnos
Heurística
Idem a las relaciones 1 a N
Pág  7
BASES DE DATOS
Heurística Relaciones
Cardinalidad 1a1 – Caso II
Se decide fusiona las entidades una única. 
Recomendado para relaciones de tipo Uno a Uno.
Factura
Letra: VARCHAR(1) NOT NULL PK
NumPunVenta: INT NOT NULL PK
NumComprobante: BIGINT NOT NULL PK
Fecha: DATE NOT NULL
Importe: REAL NOT NULL
Facturas Recibos
Recibos
Numero: INT NOT NULL PK
Fecha: DATE NOT NULL
Importe: REAL NOT NULL
Ventas
VentaID: INT NOT NULL PK
FacLetra: VARCHAR(1) NOT NULL AK1
FacNumPunVenta: INT NOT NULL AK1
FacNumComprobante: BIGINT NOT NULL AK1
Importe: REAL NOT NULL
RecNumero: INT NOT NULL AK2
RecFecha: DATE NOT NULL
Pág  8
BASES DE DATOS
Heurística Relaciones
Cardinalidad NaM
No pueden implementarse en un modelo relacional, pues generan grupos repetitivos 
(atributos con valores no atómicos). Deben rediseñarse a nivel de modelo conceptual
Clientes Articulos
Ventas
Clientes Articulos
ArtVentas
Heurísticas
Aplicar las ya definidas para 
las entidades y relaciones
Pág  9
BASES DE DATOS
1 Queda administrada por el DBMS.
Se libera de código a las aplicaciones.
Se simplifican bloqueos y concurrencia.
La PK ocupa menor espacio de almacenamiento.
Al derivar PK como FK, se libera aún más.
En la actualidad el tamaño de la BD es un
aspecto muy importante a considerar.
2
3
4
5
6
SCENE
Claves Autonumeradas
Es posible definir atributos autonumerados (llamados también 
autoincrementales, secuenciales, identidad, etc) y hacerlos clave primaria de la 
tabla a diseñar
Pág  10
BASES DE DATOS
SCENE
Claves Autonumeradas
Aplicado en la tabla (entidad) personas
Personas
Documento: INT NOT NULL
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL
Personas
PersonaId: SERIAL NOT NULL PK
Documento: INT NOT NULL AK
Nombre: VARCHAR(60) NOT NULL
FecNacimiento: DATE NOT NULL
Domicilio: VARCHAR(100) 
Cuil: VARCHAR(15) NOT NULL AK2
Pág  11
BASES DE DATOS
Preguntas

Continuar navegando