Diseño de una BD - 2

35
Paola A. Cifuentes Berríos Ingeniero en Computación e Informática Magister en Administración de Tecnologías de la Información (c)

description

base de datos

Transcript of Diseño de una BD - 2

Page 1: Diseño de una BD - 2

Paola A. Cifuentes BerríosIngeniero en Computación e Informática

Magister en Administración de Tecnologías de la Información (c)

Page 2: Diseño de una BD - 2

CONTENIDOS1. Introducción2. El Modelo Relacional (MR)3. SGBD Relacional4. Definiciones preliminares

4.1 Propiedades de las relaciones4.2 Tipos de relaciones4.3 Claves o llaves

5. Esquema y estado de una base de datos6. Reglas de integridadReferencias Bibliográficas

2

Page 3: Diseño de una BD - 2

1. Introducción Las fases para construir una base de datos contemplan tres

tipos de modelado: conceptual, lógico y físico.

El Modelo Entidad Relación (MER) se considera un modelo conceptual ya que permite representar a un alto nivel la información utilizada en algún problema o negocio.

3

Page 4: Diseño de una BD - 2

El modelado lógico da como resultado el "esquema de la base de datos" (database schema) a partir del cual se podrá realizar el modelado físico en el DBMS/SGBD.

Para el modelado lógico utilizaremos el modelo relacional, introducido por Edgar Frank Codd en 1970.

4

Page 5: Diseño de una BD - 2

2. El Modelo Relacional (MR) En este modelo los datos se representan como una

colección de relaciones. Cada relación se asemeja a una tabla de valores. Cada tabla de valores está conformada por filas y columnas.

5

AtributosNombre de la relación o tabla

Filas o tuplas

Page 6: Diseño de una BD - 2

3. SGBD Relacional Es un tipo de software exclusivamente dedicado a tratar con

bases de datos relacionales. Es conocido como Sistema de Gestión de Bases de

Datos Relacionales o RDBMS (Relational DatabaseManagement System). Ejemplos: MySQL PostgreSQL Oracle DB2 Informix Microsoft SQL Server

6

Page 7: Diseño de una BD - 2

4. Definiciones preliminares El modelo relacional se basa en el concepto matemático de

relación, que gráficamente se representa mediante una tabla.

Codd, que era un experto matemático, utilizó una terminología perteneciente a las matemáticas, en concreto de la teoría de conjuntos y de la lógica de predicados.

7

Page 8: Diseño de una BD - 2

Relación o tabla El modelo relacional proporciona un manera simple de

representar los datos: una tabla bidimensional llamada relación.

8

Page 9: Diseño de una BD - 2

Fila o tupla Cada uno de los renglones en una relación conteniendo

valores para cada uno de los atributos.

Las tuplas de una relación no siguen ningún orden.

9

Page 10: Diseño de una BD - 2

Columna o atributos Los atributos son las columnas de un relación y describen

características particulares de ella.

10

Page 11: Diseño de una BD - 2

Dominio y tipos de datos Se debe considerar que cada atributo (columna) debe ser

atómico, es decir, que no sea divisible, no se puede pensar en un atributo como un "registro" o "estructura" de datos.

Atómico: cada valor es indivisible Para especificar un dominio se definen tipos de datos (data

types) para cada dominio. Ejemplo:

Edad de una persona= Valor entero entre 0 y 115 años.

11

Page 12: Diseño de una BD - 2

Un dominio describe un conjunto de posibles valores para cierto atributo.

Como un dominio restringe los valores del atributo, puede ser considerado como una restricción.

Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este atributo debe ser elemento del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, etc.

12

Page 13: Diseño de una BD - 2

Restricciones (constraints) Las restricciones proveen un método de implementar

"reglas" en la base de datos. Algunas son inherentemente definidas por el simple hecho

de que la BD sea relacional. Otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.

Las restricciones limitan los datos que pueden ser almacenados en las tablas.

Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.

13

Page 14: Diseño de una BD - 2

4.1 Propiedades de las relaciones Cada relación tiene un nombre, y éste es distinto del

nombre de todas las demás. Los dominios sobre los que se definen los atributos son

escalares, por lo que los valores de los atributos son atómicos. De este modo, en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones están normalizadas.

No hay dos atributos que se llamen igual. El orden de los atributos no importa: los atributos no están

ordenados. Cada tupla es distinta de las demás: no hay tuplas

duplicadas. El orden de las tuplas no importa: las tuplas no están

ordenadas.

14

Page 15: Diseño de una BD - 2

Grado de una relación Es el número de atributos que contiene. La relación CLIENTES es de grado cinco porque tiene cinco

atributos. Esto quiere decir que cada fila de la tabla es una tupla con cinco valores.

15

Page 16: Diseño de una BD - 2

Cardinalidad de una relación Es el número de tuplas que contiene. Ya que en las

relaciones se van insertando y borrando tuplas a menudo, la cardinalidad de las mismas varía constantemente.

16

Page 17: Diseño de una BD - 2

4.2 Tipos de relaciones En un SGBD relacional hay dos tipos de relaciones:

Relaciones base. Son relaciones reales que tienen nombre, y forman parte directa de la base de datos almacenada. Se dice que las relaciones base son relaciones autónomas.

Vistas. También denominadas relaciones virtuales, son relaciones con nombre y derivadas (no autónomas). Que son derivadas significa que se obtienen a partir de otras relaciones; se representan mediante su definición en términos de esas otras relaciones. Las vistas no poseen datos almacenados propios, los datos que contienen corresponden a datos almacenados en relaciones base.

17

Page 18: Diseño de una BD - 2

4.3 Claves o llaves Ya que en una relación no hay tuplas repetidas, éstas se

pueden distinguir unas de otras, es decir, se pueden identificar de modo único.

La forma de identificarlas es mediante los valores de sus atributos.

Se denomina superclave a un atributo o conjunto de atributos que identifican de modo único las tuplas de una relación.

Se denomina clave candidata a una superclave en la que ninguno de sus subconjuntos es una superclave de la relación.

18

Page 19: Diseño de una BD - 2

El atributo o conjunto de atributos K de la relación R es una clave candidata para R si, y sólo si, satisface las siguientes propiedades: Unicidad: nunca hay dos tuplas en la relación R con el

mismo valor de K. Irreducibilidad (minimalidad): ningún subconjunto de

K tiene la propiedad de unicidad, es decir, no se pueden eliminar componentes de K sin destruir la unicidad.

Cuando una clave candidata está formada por más de un atributo, se dice que es una clave compuesta.

Una relación puede tener varias claves candidatas. Las claves candidatas que no son escogidas como clave

primaria son denominadas claves alternativas.19

Page 20: Diseño de una BD - 2

Llave o clave primaria Se denomina clave primaria de una relación a aquella

clave candidata que se escoge para identificar sus tuplas de modo único.

20

Page 21: Diseño de una BD - 2

Llave o clave foránea Una clave ajena o foránea es una referencia a una clave en

otra tabla y determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la

tabla donde están pero sí deben ser únicas donde están referenciadas.

Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.

21

Page 22: Diseño de una BD - 2

5. Esquema y estado de una base de datos Una base de datos relacional es un conjunto de

relaciones. Para representar el esquema de una base de datos

relacional se debe dar el nombre de sus relaciones, los atributos de éstas, los dominios sobre los que se definen estos atributos, las claves primarias y las claves ajenas.

22

Page 23: Diseño de una BD - 2

Esquema de la base de datos Es el nombre que se le da a una relación y el conjunto de

atributos en ella.

En un modelo relacional, un diseño consiste de uno o más esquemas, a este conjunto se le conoce como "esquema relacional de base de datos" (relational databaseschema) o simplemente "esquema de base de datos" (database schema).

23

Page 24: Diseño de una BD - 2

Estado de la base de datos Los datos que la base de datos contiene en un determinado

momento conforman el estado de la base de datos, o como también se denomina: una ocurrencia de la base de datos.

La distinción entre el esquema y el estado de la base de datos es muy importante. Cuando definimos una nueva base de datos, sólo especificamos su esquema al SGBD. En ese momento, el estado de la base de datos es el estado vacío, sin datos.

Cuando se cargan datos por primera vez, la base datos pasa al estado inicial. De ahí en adelante, siempre que se realice una operación de actualización de la base de datos, se tendrá un nuevo estado.

24

Page 25: Diseño de una BD - 2

Ejemplo El esquema de la base de datos de la empresa es el

siguiente:

25

Page 26: Diseño de una BD - 2

En el esquema anterior, los nombres de las relaciones aparecen seguidos de los nombres de los atributos encerrados entre paréntesis. Las claves primarias son los atributos subrayados.

Las claves ajenas se representan mediante los siguientes diagramas referenciales:

26

Page 27: Diseño de una BD - 2

A continuación se muestra un estado de la base de datoscuyo esquema se acaba de definir:

27

Page 28: Diseño de una BD - 2

6. Reglas de integridad Una vez definida la estructura de datos del modelo

relacional, se deben estudiar y definir las reglas de integridad que los datos almacenados en dicha estructura deben cumplir para garantizar que son correctos.

Hay además dos reglas de integridad muy importantes que son restricciones que se deben cumplir en todas las bases de datos relacionales y en todos sus estados (las reglas se deben cumplir todo el tiempo). Estas reglas son la regla de integridad de entidades y la regla de integridad referencial.

28

Page 29: Diseño de una BD - 2

Integridad de dominio Al definir cada atributo sobre un dominio se impone una

restricción sobre el conjunto de valores permitidos para cada atributo.

A este tipo de restricciones se les denomina restricciones de dominios.

29

Page 30: Diseño de una BD - 2

Antes de definir las reglas de integridad de entidad y referencial, es preciso conocer el concepto de nulo.

30

Page 31: Diseño de una BD - 2

Campos Nulos (NULL) Cuando en una tupla un atributo es desconocido, se dice

que es nulo. Un nulo no representa el valor cero ni la cadena vacía ya

que éstos son valores que tienen significado. El nulo implica ausencia de información, bien porque al

insertar la tupla se desconocía el valor del atributo, o bien porque para dicha tupla el atributo no tiene sentido.

Ya que los nulos no son valores, deben tratarse de modo diferente, lo que causa problemas de implementación. De hecho, no todos los SGBD relacionales soportan los nulos.

31

Page 32: Diseño de una BD - 2

Identificador único (integridad de entidad) La primera regla de integridad se aplica a las claves

primarias de las relaciones base: ninguno de los atributos que componen la clave primaria puede ser nulo.

Por definición, una clave primaria es una clave irreducible que se utiliza para identificar de modo único las tuplas. Que es irreducible significa que ningún subconjunto de la clave primaria sirve para identificar las tuplas de modo único.

32

Page 33: Diseño de una BD - 2

Integridad referencial Aplica a las claves ajenas o foráneas: si en una relación hay

alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos.

33

Llave foránea

Llave principal

Page 34: Diseño de una BD - 2

Definidas por el usuario Además de las dos reglas de integridad anteriores, es

posible que sea necesario imponer ciertas restricciones específicas sobre los datos que forman parte de la estrategia de funcionamiento de la empresa. A estas reglas se las denomina reglas de negocio.

Por ejemplo, si en cada oficina de una determinada empresa sólo puede haber hasta veinte empleados, el SGBD debe dar la posibilidad al usuario de definir una regla al respecto y debe hacerla respetar.

34

Page 35: Diseño de una BD - 2

Referencias Bibliográficas Marqués, Mercedes. (2014). Base de Datos. Documento

PDF, en http://www.uji.es/bin/publ/edicions/bdatos.pdf, Recuperado el 01/08/2015.

Date, C. J. “Introducción a los sistemas de bases de datos”. Ed. Pearson Prentice Hall. 7ª Edición. / ISBN: 968-444-419-2

Valderrey, Pablo. “Gestión de bases de datos”. España: RA-MA Editorial, 2014. ProQuest ebrary. Web. 10 August 2015.

35