Download Bases de Datos Relacionales Principios de Diseño y Normalización

Document related concepts

Base de datos relacional wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Modelo relacional wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Transcript
Bases de Datos Relacionales
Principios de Diseño y Normalización
Lic. Gabriel Asato
Bases de Datos Relacionales
Garantizan la Consistencia Interna de los Datos
Las bases de datos relacionales se construyen a partir
de establecer enlaces entre distintas tablas a través de
un campo y atributos comunes.
Objetivo
Evitar la aparición de anomalías de:
●
Borrado
●
Edición
●
Ingreso de Datos
¿Cómo?
Asegurando que cada dato que no sea una clave
dependa únicamente de la clave. Este proceso de
construcción de la base de datos se denomina
NORMALIZACION
El concepto de BDR fue introducido por primera vez por
E.F. Codd, 1970.
Lic. Gabriel Asato
Bases de Datos Relacionales
Anatomía de una Tabla
Campos
Registro
s
Datos
La tabla sin normalizar se denomina TABLA UNIVERSAL
Lic. Gabriel Asato
Bases de Datos Relacionales
Tipos de Datos y Restricciones
Tipos
●
Numéricos (enteros, reales, punto flotante)
●
Binario
●
Fechas
●
Lógicos (TRUE, FALSE)
●
Texto, Caracteres
●
Geometría
Dominio
●
Definido por el tipo de dato
●
Definido por una lista enumerada de valores
Lic. Gabriel Asato
Bases de Datos Relacionales
Modelo Entidad-Relación (ERM)
●
Representación conceptual y abstracta de los datos.
●
Metodología de modelado de base de datos
●
Se distinguen los siguientes objetos básicos:
●
Entidades
●
Atributos (de las entidades)
●
Relaciones (que relacionan entidades)
Lic. Gabriel Asato
Chen, 1976
Bases de Datos Relacionales
Modelo Entidad-Relación (ERM)
Afloramientos
Ubicación
Forma
Descripción
Hay
Muestras
de Roca
Localización
Descripción
Clasificación
Color
Lic. Gabriel Asato
Bases de Datos Relacionales
¿Que es son las claves?
●
Clave primaria
●
●
Clave compuesta
●
●
Identifica unívocamente a la entidad. Es única e irrepetible para cada una de las
entidades y no puede cambiar a lo largo de la vida de la BD
Es una clave primaria creada a partir de la combinación de varios atributos
Clave foránea
●
Es la clave, que no es primaria, pero permite generar una relación entre tablas o
entidades
Lic. Gabriel Asato
Bases de Datos Relacionales
Tipos de Relaciones
Sitios
Uno a Uno
Afloramientos
Afloramientos
Uno a Muchos
Muestras
de Roca
Muestras
de Roca
Muchos a Muchos
Minerales
Lic. Gabriel Asato
Bases de Datos Relacionales
Normalización de Datos
Es un mètodo de diseño que minimiza la redundancia de datos y reduce los
problemas que generan las anomalías de ingreso, borrado y actualización de
datos.
●
●
Este proceso consiste en aplicar varias formas normales al diseño de la
base de datos
La tabla original (universal) es dividad en tablas más pequeñas con
estructuras de relación bien formadas
Lic. Gabriel Asato
Ejemplo Tabla Areas Mineras
IDENTIFICADOR
AREA
N Area
NOMBRES YACIMIENTOS
SUS1
3
Zona 1
S. Martin, Custodio, Salamanca
Cu
12
Zona 6
Cajoncillo
U
Cu
13
El Fraile
U
Cu
14
La Yesera
Cu
17
Las Abritas
U
18
Alemania
U
Cantera Amarilla, Cantera Azul
Zn
23
La Despedida
U
30
El Coro
Clz
31
Juramento
Cu
Puente de Plata
Yes
15
El Zorrito
U
32
Cuchuma
Ptr
22
35
Lic. Gabriel Asato
Area BB
Paraje el Solitario
SUS2
Cu
Cu
Ag
Cu
Bases de Datos Relacionales
Primera Forma Normal
●
No debe haber columnas repetidas en una línea.
●
No debe haber columnas con más de un valor.
●
●
Como resultado la primera forma normal simplifica atributos y hace que las
consultas sean más sencillas de realizar.
Se trata de tratar de controlar la repetición de elementos
Lic. Gabriel Asato
1FN
IDENTIFICADOR
AREA
N Area
NOMBRES YACIMIENTOS
SUS
3
Zona 1
S. Martin
Cu
3
Zona 1
Custodio
Cu
3
Zona 1
Salamanca
Cu
12
Zona 6
Cajoncillo
U
12
Zona 6
Cajoncillo
Cu
13
El Fraile
U
13
El Fraile
Cu
14
La Yesera
Cu
17
Las Abritas
Cu
17
Las Abritas
U
18
Alemania
U
22
Area BB
Cantera Amarilla
Zn
22
Area BB
Cantera Azul
Zn
La Despedida
Cu
23
Lic. Gabriel Asato
Bases de Datos Relacionales
Segunda Forma Normal
●
Remover las redundancias verticales
●
●
Cada atributo debe ser dependiente en forma funcional a una clave primaria
●
●
●
Es decir que los datos no se deben repetir a lo largo de las líneas.
Relación Funcional. La propiedad de una o más atributos a los que les
corresponden uno y tan sólo un valor de otros atributos.
Los atributos no dependientes se mueven a otras tablas más pequeñas.
2FN mantiene la integridad de los datos
●
Previene los problemas originados por las anomalías de inserción, modificación
y borrado
Lic. Gabriel Asato
2FN
Detección de Relaciones Funcionles
IDENTIFICADOR AREA
Lic. Gabriel Asato
N Area
NOMBRES YACIMIENTOS
SUS
3
Zona 1
S. Martin
Cu
3
Zona 1
Custodio
Cu
3
Zona 1
Salamanca
Cu
12
Zona 6
Cajoncillo
U
12
Zona 6
Cajoncillo
Cu
2FN
Atributos Independientes se Mueven a Otras Tablas
IDENTIFICADOR
AREA
3
12
N Area
NOMBRES YACIMIENTOS
Zona 1
Zona 6
S. Martin
Custodio
13
Salamanca
14
Cajoncillo
El Fraile
17
La Yesera
18
22
23
Las Abritas
Area BB
Alemania
Cantera Amarilla
Cantera Azul
La Despedida
Lic. Gabriel Asato
SUS
Desc
Cu
Cobre
U
Uranio
Zn
Zinc
Bases de Datos Relacionales
Tercera Forma Normal
●
Todos los items deben estar directamente relacionados a una clave primaria
●
Remover dependencias transitivas
●
●
Dependencia transitiva. Dos entidades separadas existen dentro de una tabla
●
Las dependencias transitivas son separadas y movidas a tablas más pequeñas
3FN mantiene la integridad de los datos
●
●
●
Crea tablas sin datos foráneos
Previene los problemas originados por las anomalías de inserción, modificación
y borrado
En general, se considera normalizada una base de datos según la 3FN.
Lic. Gabriel Asato
3FN
Las Tablas
IDENTIFICADOR
AREA
N Area
3
Zona 1
12
Zona 6
13
14
17
18
22
Area BB
23
Lic. Gabriel Asato
IDENTIFICA
DOR AREA
Id Yac
NOMBRES
YACIMIENTOS
Id Yac
SUS
SUS
Desc
3
001
S. Martin
001
Cu
Cu
Cobre
3
002
Custodio
002
Cu
U
Uranio
3
003
Salamanca
003
Cu
Zn
Zinc
12
004
Cajoncillo
004
U
13
006
El Fraile
005
Cu
14
008
La Yesera
006
U
17
009
Las Abritas
007
Cu
18
010
Alemania
008
Cu
22
011
Cantera
Amarilla
009
Cu
22
012
Cantera Azul
009
U
23
013
La Despedida
010
U
011
Zn
012
Zn
013
Cu
Modelo de BD
con DBDesigner 4
Lic. Gabriel Asato
Resumen Normalización
●
●
●
No debe haber más de un dato en una columna, no debe haber repeticion
de mismos tipos datos en diferentes columnas
Detectar relaciones funcionales y separar los elementos detectados en
tablas menores
Las tablas se relacionan a través de claves.
Lic. Gabriel Asato
Bases de Datos Relacionales
Ejercicio: Modelado de una Base de Datos
Diseñar una base de datos
Realizar la normalización de tabla universal
●
BDesigner 4. http://www.fabforece.net/dbdesigner4
●
Tutorial: http://www.phlonx.com/resources/nf3/nf3_tutorial_spanish.pdf
Lic. Gabriel Asato
Módulo II BDR
Bases de Datos Relacionales
Consultas y Restricciones
Lic. Gabriel Asato
Introducción a la Consulta de BD
Variables Numéricas
Representan Números
Comparación Matemática

Variables Tipo Carácter
No tienen sentido matemático
Definen cualidades
Comparación alfanumérica

●
> < <> =
●
●
Se pueden utilizar para hacer cálculos o
clasificaciones

Lic. Gabriel Asato
●
equivalente ==, eq,
contiene (Contains)
Simililar o como (Like)
Distinto NOT,
nq
=
Consultas y Lógica del Boole
NOT == ~ A (complemento)
U
A
B
U
OR == Unión de A con B
A
B
U
AND == Intersección de A con B
A
Lic. Gabriel Asato
B
Consultas. Lógica de Boole en Mapas
Uso del AND
Seleccionar provincias tal que:
( Sup_km2 > 30.000 ) AND ( Sup_km2 < 100.000 )
Lic. Gabriel Asato
Consultas. Lógica de Boole en Mapas
Uso del OR
Seleccionar Yacimientos tal que:
( Mena = ‘ORO’ ) OR ( Mena = ‘Cobre’ )
Lic. Gabriel Asato
Consultas. Lógica de Boole en Mapas
Uso del NOT
Seleccionar Yacimientos tal que:
Mena NOT ‘Cobre’
Lic. Gabriel Asato
Conjunto de Instrucciones SQL
SQL es un lenguaje estándar de consulta de base de datos relacionales
SQL significa Simple Query Languaje
ESTRUCTURA BASICA
SELECT <CAMPOS> FROM <TABLA> WHERE <CONDICIONES>
Ejemplo:
SELECT yac_nom.ID, yac_nom.NOMBRE FROM
yac_nom;
donde:
yac_nom.ID
yac_nom.NOMBRE
son items.
Yac_nom
es el nombre de la tabla de nombres de yacimientos
Lic. Gabriel Asato
ID
1
2
3
3
4
4
5
6
7
8
9
10
11
12
12
12
12
13
14
15
16
17
NOMBRE
El Torno
Aluviones de Santa Catalina
Palca Ingenio
La Perdida
La Perdida
Palca Ingenio
Eureka
Azules
San Francisco
Azules
San Francisco
Oratorio
Oratorio
Casa Amarilla
Rosario
Cruz del Sur
Cartelone
Pucará Chico
Vitella o Casa Blanca
El Rodeo
El Rodeo
Nazareno
Ejemplos de Consulta SQL con Tablas Relacionadas
SELECT yac_nom.nombre, dep_asoc.asociacion
FROM yac_nom, dep_asoc
WHERE yac_nom.asoc_id = dep_asoc.asoc_n ;
Lic. Gabriel Asato
Bases de Datos Relacionales
Consultas y Restricciones
●
●
Los operadores para consulta de datos son también utilizados para definir
conjuntos o subconjuntos de datos dentro de una población.
Es decir que estos operadores se utilizan para definir las restricciones o
ámbitos de aplicación de un tipo de dato.
p.e. Yacimientos_económicos = Yacimientos.Ley >= valor
Lic. Gabriel Asato
Bases de Datos Relacionales
Diccionarios, Terminología y Clasificaciones
(authority tables, data standards)
●
Son tablas que albergan la nomenclatura estándar utilizada por la
organización.
●
Eumerated attributes, authority tables.
●
Controlan la correcta entrada de datos.
Lic. Gabriel Asato
Bases de Datos Relacionales
Ejemplo
OZMIN Mineral Deposits Database (Australia Geoscience)
Commodities
Types
SITES
COMMODITIES
DEPOSITS
DEPOSREFS
DEPOSDATA
Bibliographic
Reference
Database
DeposAttribMins
A Union of
Deposattribs &
AGSO Minerals
REGROCKS
REGSTRUCT
RegAttribs
REGROCKDATA
RegAttribMins
A Union of
RegAttribs &
AGSO Minerals
Ewers & Ryburn, 1993
Lic. Gabriel Asato
Aplicaciones Institucionales
(servicios geológicos)
●
Biblioteca
●
Repositorio de muestras, análisis y estudios.
●
Paleontología
●
GIS
●
Catastro Minero
●
Etc, etc.
Lic. Gabriel Asato
Consejos
●
●
Evite a toda costa el Síndrome de la Tabla Excel (produce información
inconsistente, difícil de mantener y con tendencia monopólica)
Propóngase como objetivo mejorar el diálogo (creando lenguajes comunes)
con informáticos especialistas en BDR.
●
Convierta las bases de datos institucionales en servicios a la comunidad.
●
Promueva la capacitación continua.
Software BDR
●
Posgres
●
FireBird
●
MySQL
●
Oracle
Lic. Gabriel Asato