Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Captulo 6
Objetivos
Comprender cmo transformar los modelos de datos en los diseos de la base de datos. Identificar las claves primarias y comprender cundo utilizar una clave suplente. Comprender el uso de restricciones de integridad referencial. Entender el uso de acciones de integridad referencial. Representar entidades dbiles como tablas.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-2
Objetivos
Representar los subtipos y supertipos como tablas. Representar relaciones recursivas como tablas. Representar relaciones ternarios como tablas. Poder implementar acciones de integridad referencial requeridas por la cardinalidad mnima.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-3
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-4
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-5
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-6
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-8
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-9
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-11
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-12
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-13
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-14
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-15
Domain constraint los valores de columna deben estar en un conjunto dado de valores especficos. Range constraint los valores de columna deben ser dentro de un determinado intervalo de valores. Intrarelation constraintlos valores de columna estn limitados en comparacin a los valores de otras columnas de la misma tabla. Interrelation constraint valores de columna estn limitados en comparacin a los valores de otras columnas de otras tablas [referential integrity constraints on foreign keys].
6-16
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-17
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-18
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-19
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-21
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-22
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-23
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-24
Representando relaciones de muchos a muchos-N:M Asociacin de Relaciones Atributos multivalor Relaciones de archeotipos e instancias
Archetype/Instance Relationships
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-25
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-26
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-27
As a data model
As a database design
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-28
As a data model
As a database design
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-29
As a data model
As a database design
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-30
As a data model
As a database design
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-31
As a data model
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-32
As a database design
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-33
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-34
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-35
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-36
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-37
MUST Constraint
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-39
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-40
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-41
Se utilizar el trmino action en el sentido de minimum cardinality enforcement action. Ninguna accin debe ser tomada para las relaciones O-O.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 6-42
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-43
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-44
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-45
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-47
Todo child tengan un parent. Las operaciones no deben crear orphans. Hasta que las restricciones de integridad referencial estn bien definidas. Que la columna de clave fornea no sea nula NOT NULL..
6-48
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
Implementacin de acciones para relaciones de M-O Vea la figura 6-28(b) (diapositiva 45 en esta presentacin) El DBMS no ofrece mucha ayuda. Los desencadenantes u otros cdigos de aplicacin tendrn que ser por escrito.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-49
Todas las acciones en ambas figuras 6-28(a) y figura 6-28(b) deben ser aplicadas simultneamente. Ser necesaria la programacin de aplicaciones complicadas y de cuidado.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 6-50
Acciones en child
Establezca restricciones de integridad referencial y clave externa a NOT NULL.
Un nuevo EMPLOYEE debe poseer un DEPARTMENT vlido o no permitir la insercin. Un EMPLOYEEs puede ser reasignado a un DEPARTMENT diferente si un DEPARTMENT es vlida, desactive la actualizacin.
Implementacin de acciones para las relaciones de O-M: DEPARTMENT and EMPLOYEE DEPARMENT es parentEMPLOYEE es child. Debe haber al menos una fila de child para cada parent en todo momento. Acciones en parent:
DEPARTMENT slo se pueden crear filas cuando se crea una relacin a una fila de child REQUIERE UN DESENCADENADOR. DEPARTMENT slo se pueden actualizar las claves primarias si al menos un EMPLOYEE Tambin se actualiza la clave fornea REQUIERE UN DESENCADENADOR.. Puede un DEPARTMENT ser eliminado?
Ses el EMPLOYEE que se requiere.
6-53
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
Acciones en child
OK para insertar un nuevo EMPLOYEE. Debe haber un EMPLOYEE para cada departamento.
No se puede cambiar clave fornea de EMPLOYEE- (DEPARTMENT) if last EMPLOYEE en el DEPARTMENT. No puede eliminar un EMPLOYEE if last EMPLOYEE en el DEPARTMENT.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-54
DEPARMENT es parentEMPLOYEE es child. Todos los anteriores se le aplica el mismo tiempo! (M-O y O-M) Esto crea conflictos que requieren programacin cuidadosa para evitar o solucionar problemas tales como: Al insertar un nuevo DEPARTMENT se ejecutar un desencadenador que intenta crear uno nuevo EMPLOYEE, pero la fila de EMPLOYEE est cotejada por el DBMS para validar el DEPARTMENT antes que la transaccin sea completada. Si se trata de eliminar un DEPARTMENT con cualquier EMPLOYEEs encontraremos el descencadenador trigger en EMPLOYEE el eliminar no permitir eliminar el ltimo EMPLOYEE, por lo que no podemos eliminar el DEPARMENT.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 6-55
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-56
Necesita documentacin escrita. Puede utilizar la figura 6-2b(b) como un boilerplate document y rellenar para cada situacin especfica.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-57
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-58
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-59
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-60
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-61
Requisitos de aplicacin
Requisitos de aplicacin de View Ridge: Realizar un seguimiento de los clientes y artistas interesados. Registro de las compras de la Galera. Registro de las compras de arte de los clientes Lista de los artistas y obras que han aparecido en la Galera. Informe de cun rpido se han vendido obras de un artista y en qu margen. Mostrar el inventario actual en una pgina Web.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 6-62
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-63
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-64
Tambin podemos utilizar una clave suplente para ARTIST. Esto cambiar las relaciones de identificacin de las relaciones no identificadas. WORK y TRANS se convierten en entidades dbiles, non-ID-dependent. Claves forneas:
TRANS.CustomerID es NULL permite la adqusicin sin una venta inmediata a un cliente CUSTOMER. Todas las otras claves son forneas- NOT NULL.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 6-65
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-66
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-67
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-68
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-69
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-70
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-71
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-72
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-73
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-74
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-75
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-76
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
6-77