Transcript Document

Base de Datos
Relacionales
DANIEL RODRIGUEZ VALDES
680191
Nayeli Ledezma
Xavier A. Rojas 718410
Definición de Base de
Datos
 Una
base de datos (BD) es un conjunto
de datos interrelacionados almacenados
en
conjunto,
sin
redundancias
innecesarias, de forma independiente de
los programas que acceden a ellos.
Base de Datos Relacional
 Base
de datos que cumple con el
modelo relacional.
 Permiten
establecer
interconexiones
(relaciones) entre los datos (que están
guardados en tablas), y a través de
dichas conexiones relacionar los datos de
ambas tablas, de ahí proviene su
nombre: "Modelo Relacional".
Base de Datos Relacional
 Las
tablas se representan gráficamente
como
una
estructura
rectangular
formada por filas y columnas.
 Cada columna almacena información
sobre una propiedad determinada de la
tabla (atributo).
 Cada fila posee una ocurrencia o
ejemplar de la instancia o relación
representada por la tabla (a las filas se las
llama también tuplas).
Representación de una
Tabla
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 y columnas).
 La relación entre una tabla padre y un
hijo se lleva a cabo por medio de las
llaves primarias y foráneas.
Terminología Relacional
 Tupla:
Cada fila de la tabla (cada
ejemplar que la tabla representa)
A
€ tributo: Cada columna de la tabla
G
€ rado: Número de atributos de la tabla
 Cardinalidad: Número de tuplas de una
tabla
D
€ ominio: Conjunto válido de valores
representables por un atributo
Tipos de Tablas
 Persistentes.
Sólo pueden ser borradas por
los usuarios:
 Base: Independientes, se crean indicando
su estructura y sus ejemplares.
 Vistas. Son tablas que sólo almacenan
una definición de consulta, resultado de
la cual se produce una tabla cuyos datos
proceden de las bases o de otras vistas e
instantáneas.”
Tipos de Tablas
 Instantáneas.
Son vistas (creadas de la
misma forma) que sí almacenan los datos
que muestra, además de la consulta que
dio lugar a esa vista.€
 Temporales. Son tablas que se eliminan
automáticamente por el sistema.
Llaves
 Candidatas
 Primarias
 Alternas
 Foráneas
Llaves Candidatas
 Es
un estado previo de las llaves primaria,
alterna o foránea.
 No
existen en la BD.
 Son
un conjunto de atributos que pueden
reconocer de forma única a una fila.
Llave Primaria
 Uno
o mas atributos que pueden
identificar de manera única a una fila.
Tipos
 Simple (una columna)
 Compuesta (2 o mas columnas)
Recomendaciones
 Preferentemente valores numéricos
 Preferentemente usar una sola columna
Llaves Alternas
 Son
el resto de llaves candidatas que no
son primaria.
 Pueden retornar mas de una fila
 NoLlavesAlternas = NoLlavesCandidatas 1
Ejemplo
 Llaves
Candidatas: IdEmpleado, Nombre,
Apellido, FechaNacimiento
 Llave
Primaria: IdEmpleado
 LlavesAlternas:
Nombre, Apellido,
FechaNacimiento
Llaves Foráneas
 Valor
de una columna contenido en una
tabla “hija” y que sirve para “referenciar”
a un elemento de la tabla “padre”.
Nota:
 Normalmente no son únicas.
 Pueden tener valores nulos.
Restricciones
 Se
trata de unas condiciones de obligado
cumplimiento por los datos de la base de
datos. Las hay de varios tipos.
 Inherentes
 Semánticas
Restricciones Inherentes
 Son
aquellas que no son determinadas
por los usuarios, sino que son definidas por
el hecho de que la base de datos sea
relacional. Por ejemplo:
 No puede haber dos tuplas iguales
 El orden de las tuplas no importa
 El orden de los atributos no importa
 Cada atributo sólo puede tomar un valor
en el dominio en el que está inscrito
Restricciones Semánticas
 El
modelo relacional permite a los
usuarios
incorporar
restricciones
personales a los datos. Las principales
son:
 Clave primaria. Hace que los atributos
marcados como clave primaria no
puedan repetir valores.
 Unicidad. Impide que los valores de los
atributos marcados de esa forma,
puedan repetirse.
Restricciones Semánticas
 Obligatoriedad.
Prohíbe que el atributo
marcado de esta forma no tenga ningún
valor.
 Integridad referencial. Prohíbe colocar
valores en una clave externa que no
estén reflejados en la tabla donde ese
atributo es clave primaria.
 Regla de validación. Condición que
debe de cumplir un dato concreto para
que sea actualizado.
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,
principalmente:
 El nombre de cada tabla
 El nombre de cada columna
 El tipo de dato de cada columna
 La tabla a la que pertenece cada
columna
Estructura
 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 sí, el contenido de todos los
registros.
Base de Datos Relacionales
 Tema
 Tema
4 Manipulación de la información
5 Manejadores de base de datos
relacionales
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
 el cálculo relacional
Álgebra relacional
 El
álgebra relacional es un conjunto de
operaciones que describen paso a paso
cómo computar una respuesta sobre las
relaciones, tal y como éstas son definidas
en el modelo relacional. Denominada de
tipo procedimental
PROYECCIÓN
 Permite
extraer columna de una relación,
dando como resultado un subconjunto
vertical de atributos de la relación,
señalada con la letra griega pi
mayúscula (¶) Como subíndice de ¶ se
coloca una lista de todos los atributos
que se desea aparezcan en el resultado.
La relación argumento se escribe
después de¶ entre paréntesis.
¶ Clave (Empleados)
EMPLEADOS
CLAVE
NOMBRE
DIRECCIÓN
001
Juan Carlos Torres
Méndez
Atasta
002
Mónica Comes Pérez
Centro
CLA
VE
001
002
003
004
003
Carmen Cruz Cruz
Tamute
004
Miguel Contreras León
Sabina
Selección
 El
operador de selección opta por tuplas
que satisfagan cierto predicado, se utiliza
la letra griega sigma minúscula (σ) para
señalar la selección. El predicado
aparece como subíndice de σ. La
Relación que constituye el argumento se
da entre paréntesis después de la σ.
CLAVE
NOMBRE
DIRECCIÓN
001
Juan Carlos Torres Méndez
Atasta
002
Mónica Comes Pérez
Centro
003
Carmen Cruz Cruz
Tamute
004
Miguel Contreras León
Sabina
¶ nombre σ nombre='Mónica Comes Pérez' (Empleados)
NOMBRE
Mónica
Comes Pérez
(X) PRODUCTO
CARTESIANO
 El
producto cartesiano de dos
conjuntos A x B es el conjunto de todos
los pares ordenados que se pueden
formar con un elemento perteneciente al
conjunto A y un elemento del conjunto B.
 Los elementos de A x B son pares
ordenados. Cada par que se forma con
un elemento del conjunto A y uno del
conjunto B, en ese orden y recibe el
nombre de par ordenado. Sus elementos
se colocan entre paréntesis, separados
por coma.
Cálculo relacional
 El
Cálculo relacional es un lenguaje de
consulta que describe la respuesta
deseada sobre una Base de datos sin
especificar como obtenerla
 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
integradas.
 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
 Con
la popularización de la informática,
la aparición de aplicaciones específicas
también trajo con ella la disponibilidad
de herramientas de gestión de datos que
dieron lugar a los denominados Sistemas
de Gestión de Bases de Datos,
identificados por sus siglas SGBD o por su
acrónimo en ingles DBMS (DataBase
Management Systems).
 Existe
software exclusivamente dedicado
a tratar con bases de datos relacionales.
 Entre los gestores o manejadores actuales
más populares encontramos: MySQL,
PostgreSQL, Oracle, DB2,INFORMIX,
Interbase, FireBird, Sybase y Microsoft SQL
Server.
Ventajas







El modelo relacional es eficiente en la organización y manejo de
grandes colecciones de datos. Permite restricciones de seguridad,
distinguiendo distintos perfiles de usuarios (operador, administrador,
Gerente) y asignándole a cada uno de ellos distintos tipos de
permisos (sólo lectura, lectura y escritura pero sólo de ciertas
tablas, etc.)
Posibilitan múltiples vistas de una misma base según los
requerimientos de información del sistema.
Posibilitan las bases de datos distribuidas: bases divididas en partes
que residen en lugares geográficamente distantes, pero que están
fuertemente vinculadas funcionando como una base de datos
Reducen los datos duplicados y redundantes evitando
inconsistencias.
Mantienen la integridad y calidad del sistema, ya que los datos
están separados de las aplicaciones. Toda lectura o escritura debe
pasar por el DBMS.
Permiten el acceso de varios usuarios en el mismo momento.
No requieren conocimientos de programación para acceder a los
datos.
Desventajas




Costo. Una de las desventajas de creación y mantenimiento del
sistema. Con el fin de establecer una base de datos relacional, por
lo general, se necesita comprar un software especial.
Limites estructurados. Algunas bases de datos relacionales tienen
límites en cuanto a la longitud de los campos. Al diseñar la base de
datos, debes especificar la cantidad de datos que pueden caber
en un campo. Algunos de los nombres o las consultas de
búsqueda son más cortos que el actual, y esto puede conducir a
la pérdida de datos
Bases de datos aisladas. Algunas bases de datos relacionales
tienen límites en cuanto a la longitud de los campos. Al diseñar la
base de datos, debes especificar la cantidad de datos que
pueden caber en un campo. Algunos de los nombres o las
consultas de búsqueda son más cortos que el actual, y esto puede
conducir a la pérdida de datos
Manejo de Gráficos. Presentan deficiencias con datos gráficos,
multimedia, CAD y sistemas de información geográfica
Pasos de Diseño para una
Base de Datos Relacional
Diseño Conceptual
 Esquema
conceptual
Descripción de alto nivel del contenido de
información de la base de datos, independiente
del SGBD que se vaya a utilizar
 Modelo conceptual
Lenguaje que se utiliza para describir esquemas
conceptuales
 Propósito
Obtener un esquema completo que lo
exprese todo
Diseño Lógico
 Esquema
lógico
Descripción de la estructura de la base de datos
según el modelo del SGBD que se vaya a utilizar.
 Modelo
lógico
Descripción de la estructura de la base de datos
según el modelo del SGBD que se vaya a utilizar.
 Propósito
Obtener una representación que use de la
manera más eficiente los recursos disponibles en
el modelo lógico para estructurar datos y modelar
restricciones
Diseño Físico
 Esquema Físico
Obtener una representación que use de la manera
más eficiente los recursos disponibles en el modelo
lógico para estructurar datos y modelar restricciones
 Se
expresa haciendo uso del lenguaje de
definición de datos del SGBD.
Por ejemplo en SQL las sentencias que se utilizan
son las siguientes:
CREATE DATABASE
CREATE TABLE
CREATE VIEW
CREATE INDEX
CREATE SCHEMA
CREATE SNAPSHOT
CREATE CLUSTER