Descarga la aplicación para disfrutar aún más
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
Compartir