Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 4-1
Objetivos
Disear bases de datos actualizables para almacenar datos recibidos de otra fuente Utilizar SQL para acceder la estructura de las tablas. Entender las ventajas y desventajas de la normalizacin. Entender la denormalizacin. Disear una bases de datos de slo lectura para almacenar datos de bases de datos actualizables.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-2
Objetivos
Reconocer y ser capaz de corregir los problemas de diseo comunes: El problema de multivalor, varias columnas El problema de valores inconsistentes El problema de los valores que faltan El problema de columna de observaciones de propsito general
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-3
Se deben almacenar estas dos tablas como son, o debemos combinarlas en una tabla nueva en la base de datos?
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 4-5
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-6
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-7
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-9
Comprobacin de la validez de las supuestas restricciones de integridad referencial Para encontrar los valores de claves extranjeros que violan la restriccin de los foreign key:
SELECT FROM WHERE Buyer SKU_DATA Buyer NOT IN (SELECT Buyer FROM SKU_DATA, BUYER WHERESKU_DATA.BUYER = BUYER.BuyerName);
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-10
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-11
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-12
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-13
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-14
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-15
Dependencias multivalor
La anomalas de las dependencias multivalor son muy problemticas. Coloque siempre las columnas de una dependencia multivalor en una tabla separada (4NF).
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-18
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-19
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-20
Denormalizacin
Para bases de datos de slo lectura, la normalizacin rara vez es una ventaja.
Application processing speed is more important.
Denormalizacin es la unin de los datos de tablas normalizados antes de almacenar los datos. La data es almacena en una tabla nonormalizada.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 4-21
Tablas normalizadas
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-22
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-23
Tablas personalizadas
Las bases de datos de slo lectura a menudo estn diseadas con muchas copias de los mismos datos, pero con cada copia personalizada para una aplicacin especfica.
Tablas personalizadas
PRODUCT_PURCHASING (SKU, SKU_Description, VendorNumber, VendorName, VendorContact_1, VendorContact_2, VendorStreet, VendorCity, VendorState, VendorZip) PRODUCT_USAGE (SKU, SKU_Description, QuantitySoldPastYear, QuantitySoldPastQuarter, QuantitySoldPastMonth) PRODUCT_WEB (SKU, DetailPicture, ThumbnailPicture, MarketingShortDescription, MarketingLongDescription, PartColor) PRODUCT_INVENTORY (SKU, PartNumber, SKU_Description, UnitsCode, BinNumber, ProductionKeyCode)
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-25
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-26
Valores inconsistentes
Inconsistent values se producen cuando usuarios diferentes, o diferentes fuentes de datos, utilizan formas ligeramente diferentes del mismo valor de datos:
Codificaciones diferentes:
SKU_Description = 'Corn, Large Can' SKU_Description = 'Can, Corn, Large' SKU_Description = 'Large Can Corn
Diferente ortografa:
Coffee, Cofee, Coffeee
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 4-28
Valores inconsistentes
Particularmente problemticos son los valores de las claves primarias y forneas. Para detectar:
Utilice la comprobacin de la integridad referencial ya discutido para comprobar las claves. Utilizar la clusula SQL GROUP BY en columnas sospechosas.
SELECT FROM GROUP BY SKU_Description, COUNT(*) AS NameCount SKU_DATA SKU_Description;
4-29
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-30
Valores nulos
Loa valores nulos son ambiguos:
Puede indicar que un valor es inadecuado;;
DateOfLastChildbirth no es apropiado para un hombre..
Puede indicar que un valor es apropiado y conocida, pero que nunca se ha introducido;
DateOfLastChildbirth es apropiado para una mujer y pueden ser conocidas, pero nadie lo ha grabado en la base de datos.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 4-31
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
4-32