Download - Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

Transcript
Page 1: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

2.2.2. Llaves.

Definición de llave

Es un identificador, en una base de datos.

Clasificación de las llaves en bases de datos

Súper llave: conjunto de uno o más atributos que "juntos" identifican de manera única a una entidad

Llave candidata: es una súper llave mínima Llave primaria: la seleccionada para identificar a los elementos de un conjunto de

entidades.

Ejemplo:

Teniendo los atributos de la entidad "persona"

Nombre Dirección Teléfono CURP

o Las superllaves serían: Nombre y Dirección Nombre y CURP CURP

o Las llaves candidatas serían Nombre y Dirección CURP

o La llave primaria sería CURP

LLAVE PRIMARIA O IDENTIFICADORA.

Cada instancia de una entidad debe ser unívocamente identificable, de manera tal que cada registro de la entidad debe estar separado y ser unívocamente identificable del resto de los registros de esa misma entidad; y quien permite esta identificación es la llave primaria. La llave primaria, que generalmente se identificada por medio de la letra @, puede ser un atributo o una combinación de atributos.

En consecuencia en cada archivo solo podrá existir un único registro que posea un valor determinado para su llave primaria. En otras palabras no puede existir en un archivo un registro que cuente con el mismo valor de otro registro en el campo de la llave primaria; la llave primaria no puede tener valores repetidos para distintos registros.

La llave primaria debe permitirle a un Sistema de Gestión de Base de Datos (SGBD), correctamente proyectado, generar un error si un usuario intenta incluir un nuevo registro cuya llave primaria coincida con la de otro registro ya existente en el archivo.

Page 2: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

En el caso de la Base de Datos de compras, descripta anteriormente (ver 3.1.Estructura de una Base de datos), las llaves primarias de cada archivo son:

ARCHIVO DE PRODUCTOS: @ Código artículo ARCHIVO DE PROVEEDORES: @ Código proveedor ARCHIVO ORIGEN DE LOS PRODUCTOS: @(Código proveedor + Código producto).

2.2.3. Cardinalidad de las entidades en una relación.

En base al número de instancias involucradas en cada relación, éstas presentan un cardinalidad, que puede ser:

(Muchos a Muchos)

(Uno a Muchos)

(Uno a Uno)

* Una-Una (1:1), significa que cada entidad de la primera relación se va a relacionar con una entidad de la segunda relación y viceversa. P. ejemplo. r1-r2 ‘’‘

Una-Muchas (1:N)’‘’, las entidades de la relación r1 se pueden relacionar con varias entidades de la relación r2. Pero las entidades de la relación r2 r2solo pueden asociarse con una entidad de r1. P. ejemplo. r1

* Muchas-Una (N:1), las entidades de r1 solo pueden asociarse con una entidad de r2. Mientras que las entidades de r2 pueden asociarse con varias entidades contenidas en r1. P. ejemplo. r1 r2

* Muchas-Muchas (N:M), las entidades de ambas relaciones pueden asociarse con varias entidades de la contraria. P. ejemplo. r1 r2

Es importante mantener guías o reglas para poder tener una documentación uniforme y consistente de todos los datos.

Entidades: una sola palabra (en singular) y con mayúsculas Atributos:

Page 3: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

o FirstName o first_name o de relacion: VendorID, ProductName

Valores: definir que valores son válidos (NULL no es un valor)

Ejemplo con datos:

Page 4: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

2.2.4. Dependencia de existencia y de identificación.

Page 5: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

Page 6: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

2.2.5. Generalización y especialización.

Es el principio de "herencia"

Las entidades de bajo nivel heredan todos los atributos de las entidades de mayor nivel

Si se considera de arriba hacia abajo se considera como especialización

Si se considera de abajo hacia arriba se considera como generalización

Especialización y generalización

Nota: es importante mencionar que las entidades de menor nivel no poseen una llave primaria, únicamente la entidad de nivel superior es la que tiene entre sus atributos dicha llave y en consecuencia la "hereda" a las entidades especializadas.

Restricciones en las generalizaciones

De pertenencia al nivel más bajo

Page 7: Web viewNombre y CURP . CURP . Las llaves candidatas serían . Nombre y Dirección . CURP . La llave primaria sería . CURP . LLAVE PRIMARIA O IDENTIFICADORA

FUNDAMENTOS DE BASES DE DATOS23 de septiembre de 2009

Definido por condición: alguna condición (inclusive atributo) en el nivel alto define si una entidad puede o no pertenercer al nivel más bajo.

Definido por usuario: dadas ciertas condiciones basadas en el juicio de la experiencia se decide si se puede o no pertenecer a dicho nivel.

De pertenencia entre entidades en el nivel bajo

Disjuntas (disjoint): una entidad no puede pertenecer a 2 conjuntos de entidades de dicho nivel

Traslape (overlapping): una entidad si puede pertenercer a 2 conjuntos de entidades