Hechos/conceptos
(contenidos soporte)
ü Bases
de datos relacionales. Antecedentes históricos. Fundamentos. Características.
Conceptos básicos (tablas, atributos, tuplas, dominio, grado, cardinalidad,
claves, asociaciones de relaciones, claves ajenas, reglas de integridad,
definición de las relaciones: por
Extensión y por comprensión).
ü Requisitos
que deben cumplir las tablas para ser relaciones. Esquemas y subesquemas.
Dependencias funcionales (parciales, completa y transitiva).
ü Axiomas
de Armstrong. Eliminación de dependencias redundantes. Obtención de claves.
Base de Datos Relacional
Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Base de Datos Relacional
Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Características
- Una base
de datos relacional se compone de varias tablas o
relaciones.
- No
pueden existir dos tablas con el mismo nombre.
- Cada
tabla es a su vez un conjunto de registros,
filas o tuplas.
- Cada
registro representa un objeto del mundo real.
- Cada
una de estos registros consta de varias columnas,
campos o atributos.
- No
pueden existir dos columnas con el mismo nombre en una misma tabla.
- Los
valores almacenados en una columna deben ser del mismo tipo de dato.
- Todas
las filas de una misma tabla poseen el mismo número de columnas.
- No
se considera el orden en que se almacenan los registros en las tablas.
- No
se considera el orden en que se almacenan las tablas en la base de datos.
- La
información puede ser recuperada o almacenada por medio de sentencias
llamadas «consultas».
Elementos
Relaciones base y derivadas
En una
base de datos relacional, todos los datos se almacenan y se acceden a ellos por
medio de relaciones. Las relaciones que almacenan datos son llamados
"relaciones base" y su implementación es llamada "tabla".
Otras relaciones no almacenan datos, pero que son calculadas al aplicar
operaciones relacionales. Estas relaciones son llamadas "relaciones
derivadas" y su implementación es llamada "vista" o "consulta".
Las relaciones derivadas son convenientes ya que expresan información de varias
relaciones actuando como si fuera una sola.
Restricciones
Una
restricción es una condición que obliga el cumplimiento de ciertas condiciones
en la base de datos. Algunas no son determinadas por los usuarios, sino que son
inherentemente definidas por el simple hecho de que la base de datos sea
relacional. Algunas otras restricciones las puede definir el usuario, por
ejemplo, usar un campo con valores enteros entre 1 y 10.
Las
restricciones proveen un método de implementar reglas en la base de datos. Las
restricciones restringen los datos que pueden ser almacenados en las tablas.
Usualmente se definen usando expresiones que dan como resultado un valor
booleano, indicando si los datos satisfacen la restricción o no.
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.
Dominios
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
"todos los valores de este atributo deben de ser elementos del conjunto
especificado".
Distintos
tipos de dominios son: enteros, cadenas de texto, fecha, etc...
Clave única
Cada
tabla puede tener uno o más campos cuyos valores identifican de forma única
cada registro de dicha tabla, es decir, no pueden existir dos o más registros
diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de
campos se llama clave única.
Pueden
existir varias claves únicas en una determinada tabla, y a cada una de éstas
suele llamársele candidata a clave primaria.
Clave primaria
Una clave
primaria es una clave única elegida entre todas las candidatas que define
univocamente a todos los demas atributos de la tabla, para especificar los datos
que serán relacionados con las demás tablas. La forma de hacer esto es por
medio de claves foráneas.
Sólo
puede existir una clave primaria por tabla y ningún campo de dicha clave puede
contener valores NULL.
Clave foránea
Una clave
foránea es una referencia a una clave en otra tabla. Las claves foráneas no
necesitan ser claves únicas en la tabla donde estan y si a donde estan
referenciadas.
Por
ejemplo, el código de departamento puede ser una clave foránea en la tabla de
empleados, pero obviamente se permite que haya varios empleados en un mismo
departamento, pero existira solo un departamento.
Clave índice
Las
claves índice surgen con la necesidad de tener un acceso más rápido a los
datos. Los índices pueden ser creados con cualquier combinación de campos de
una tabla. Las consultas que filtran registros por medio de estos campos,
pueden encontrar los registros de forma no secuencial usando la clave índice.
Las bases
de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de
ellas es óptima para cierta distribución de datos y tamaño de la relación.
Los
índices generalmente no se consideran parte de la base de datos, pues son un
detalle agregado. Sin embargo, las claves índices son desarrolladas por el
mismo grupo de programadores que las otras partes de la base de datos.
Procedimientos almacenados
Un
procedimiento almacenado es código ejecutable que se asocia y se almacena con
la base de datos. Los procedimientos almacenados usualmente recogen y
personalizan operaciones comunes, como insertar un registro dentro de una
tabla, recopilar información estadística, o encapsular cálculos complejos. Son
frecuentemente usados por un API por seguridad o simplicidad.
Los
procedimientos almacenados no son parte del modelo relacional, pero todas las
implementaciones comerciales los incluyen...
Estructura
La base
de datos se organiza en dos marcadas secciones; el esquema y los datos (o
instancia).
El
esquema es la definición de la estructura de la base de datos y principalmente
almacena los siguientes datos:
- El
nombre de cada tabla
- El
nombre de cada campo
- El
tipo de dato de cada campo
- La
tabla a la que pertenece cada campo
Las bases
de datos relacionales pasan por un proceso al que se le conoce como normalización, el
resultado de dicho proceso es un esquema que permite que la base de datos sea
usada de manera óptima.
Los datos
o instancia es el contenido de la base de datos en un momento dado. Es en si,
el contenido de todos los registros.
Manipulación de la información
Para
manipular la información utilizamos un lenguaje relacional, actualmente se
cuenta con dos lenguajes formales el álgebra
relacional y el cálculo
relacional. El álgebra relacional permite describir la forma
de realizar una consulta, en cambio, el cálculo relacional sólo indica lo que
se desea devolver.
El
lenguaje más común para construir las consultas a bases de datos relacionales
es SQL
(Structured Query Language), un estándar implementado por los principales
motores o sistemas de gestión de bases de datos relacionales.
En el modelo
relacional los atributos deben
estar explícitamente relacionados a un nombre en todas las operaciones, en
cambio, el estándar SQL permite usar columnas sin nombre en conjuntos de
resultados, como el asterisco taquigráfico (*) como
notación de consultas.
Al
contrario del modelo relacional, el estándar SQL requiere que las columnas tengan
un orden definido, lo cual es fácil de implementar en una computadora, ya que
la memoria es lineal.
Es de
notar, sin embargo, que en SQL el orden de las columnas y los
registros devueltos en cierto conjunto de resultado nunca está garantizado, a
no ser que explícitamente sea especificado por el usuario.
Manejadores de base de datos relacionales
Existe
software exclusivamente dedicado a tratar con bases de datos relacionales. Este
software se conoce como SGBD (Sistema de gestión de base de datos
relacional) o RDBMS (del inglés Relational database management system).
Entre los
gestores o manejadores más actuales y populares encontramos: MySQL, PostgreSQL, Oracle y Microsoft
SQL Server.
Ventajas y desventajas
Ventajas
- Provee
herramientas que garantizan evitar la duplicidad de registros.
- Garantiza
la integridad referencial, así, al eliminar un registro elimina todos los
registros relacionados dependientes.
- Favorece
la normalización por ser más comprensible y aplicable.
Desventajas
- Presentan
deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica.
- No
se manipulan de forma manejable los bloques de texto como tipo de dato.
Las bases de datos orientadas a objetos (BDOO)
se propusieron con el objetivo de satisfacer las necesidades de las
aplicaciones anteriores y así, complementar pero no sustituir a las bases de
datos relacionales. Esto lo dijo el analista en sistemas wilson e.
AXIOMAS DE AMSTRONG
"AXIOMAS DE
AMSTRONG"
1. Reflexiva x->y
· Direccion->Estrato
· Nombre->Apellido
· Direccion->Telefono
· Sexo->Nombre
2.Aumentatividad x+y->z
· Nombre+Registro_medico->Especialidad
· Identificacion+Registro_medico->Nombre
· Registro_medico+Especialidad->Salario
· Nombre+Identificacion->Edad
3. Proyectividad x->y+z
· Registro_medico->Nombre+Especialidad
· Estrato->Direccion+Identificacion
· Sexo->Nombre+Identificacion
· Salario-> Registro_medico+Especialidad
4.Aditividad x+y->w+z
· Registro_medico+Identificacion->Nombre+Especialidad
· Nombre+Identificacion->Sexo+ Registro_medico
· Direccion+Telefono->Nombre+Identificacion
· Identificacion+ Registro_medico->Sexo+Edad
5. Transitividad x->y y->z x->z
· Nombre->Telefono Telefono->Direccion Nombre->Direccion
· Nombre->Sexo Sexo->Identificacion Nombre->Identificacion
· Direccion->Telefono Telefono->Estrato Direccion->Estrato
· Registro_medico->Nombre Nombre->Especialidad Registro_medico->Especialidad
1. Reflexiva x->y
· Direccion->Estrato
· Nombre->Apellido
· Direccion->Telefono
· Sexo->Nombre
2.Aumentatividad x+y->z
· Nombre+Registro_medico->Especialidad
· Identificacion+Registro_medico->Nombre
· Registro_medico+Especialidad->Salario
· Nombre+Identificacion->Edad
3. Proyectividad x->y+z
· Registro_medico->Nombre+Especialidad
· Estrato->Direccion+Identificacion
· Sexo->Nombre+Identificacion
· Salario-> Registro_medico+Especialidad
4.Aditividad x+y->w+z
· Registro_medico+Identificacion->Nombre+Especialidad
· Nombre+Identificacion->Sexo+ Registro_medico
· Direccion+Telefono->Nombre+Identificacion
· Identificacion+ Registro_medico->Sexo+Edad
5. Transitividad x->y y->z x->z
· Nombre->Telefono Telefono->Direccion Nombre->Direccion
· Nombre->Sexo Sexo->Identificacion Nombre->Identificacion
· Direccion->Telefono Telefono->Estrato Direccion->Estrato
· Registro_medico->Nombre Nombre->Especialidad Registro_medico->Especialidad
Enviar los ejemplos de AXIOMAS DE AMSTRONG, un buen fin de semana Gracias.
ResponderEliminaraQui estan mis ejemplos......
ResponderEliminarEjemplos de los Axiomas de Armstrong:
1.-Reflexividad:
• DNI -->Nombre
• País -->Ciudad
• Sexo -->Masculino
• Club Deportivo --> Real Madrid
2.-Proyectividad:
• DNI -->Nombre + Dirección
• País -->Ciudad + Barrio
• País -->Marca + Producto
3.- Aumentatividad:
• DNI + Dirección -->Nombre
• País + Ciudad -->Barrio
• País + Marca-->Producto
4.- Aditividad:
• DNI + Dirección -->Nombre + Teléfono
• País + Ciudad --> Barrio + Dirección
5.- Transitividad:
• DNI --> Código de Provincia Código Provincia--> Nombre de la Provincia DNI --> Provincia