Está en la página 1de 16

República Bolivariana de Venezuela P

Ministerio del poder popular para la educación Superior

Instituto universitario politécnico “Santiago Mariño”


S
Maracaibo-Estado-Zulia
M

TRABAJO
BASES DE
DATOS
2 Corte
do

1mer 10%
Alumno: JESÚS MARQUINA
Cedula: 24.253.109
Profesor: KENNY SEBRIANT Teléfono: 0412-651-05-35
Teléfono: 0424-663-93-82 Correo: jesus.armando.marquina@gmail.com
INTRODUCCION

“SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de Edgar Frank
Codd como se describió en su artículo de investigación de 1970. El modelo relacional de datos para
grandes bancos de datos compartidos.”

Daremos inicio hablando sobre el lenguaje de consulta estructurado (SQL) que es un lenguaje de
base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza
para crear objetos QueryDef, como el argumento de origen del método OpenRecordSet y como la
propiedad RecordSource del control de datos. También se puede utilizar con el método Execute para
crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a través para
manipular bases de datos remotas cliente - servidor.

En este trabajo de investigación que corresponde a la unida 3 Modelo relacional de la materia


fundamentos de base de datos, se anexa información básica y sencilla acerca de cada uno de los
temas que componen esta fase, para el diseño y la creación de una base de datos. En primer lugar
se presenta un pequeño concepto acerca de lo que es álgebra relacional, así como su utilidad dentro
de las bases de datos, entre otras características que engloba este tema, que es uno de los más
importantes en el desarrollo de un sistema de base de datos, ya que es en esta etapa en la que se
aprenden la forma en la que se manipulara la información que contenga la BD. Posteriormente se
habla acerca de las operaciones elementales que se utilizan en el álgebra relacional para manipular
la información contenida en la BD. Para cada una de las operaciones se agrega una pequeña
definición, con el fin de conocer cuál es su función.

También hablaremos sobre el cálculo relacional (CR), que es una herramienta formal utilizada
como lenguaje de consulta a bases de datos relacionales (BDR). Frente al álgebra relacional (AR)
que provee de una colección de operadores que actúan sobre relaciones para obtener otras
relaciones, el CR formula la relación resultante en términos de las relaciones originales. Es decir,
mientras el AR es procedural (se indica un procedimiento para resolver el problema), el CR es
descriptivo (se indica cuál es el problema y no cómo resolverlo). El CR está basado en una rama de
la lógica matemática, llamada Lógica de Predicados, ó Cálculo de predicados de primer orden. Es
por ello, que al principio haremos una breve exposición de los fundamentos de dicha lógica de
predicados.

Estos son puntos sumamente importantes conocerlos y también manejarlos, Toda esta información
que desglosaremos a continuación es relevante para muchas áreas influyendo mas en el área de
sistemas. A continuación desglosaremos es tema…
ESQUEMA

 ¿Qué es el lenguaje de Consulta?

 Algebra Relacional

 Operadores

 El Cálculo Relacional

 Orientado a las tuplas

 Orientado a los Dominios

 Reglas para transformar el esquema conceptual (e-r) al relacional


DESARROLLO

1. ¿Qué es el lenguaje de Consulta?

Es un lenguaje en el que un usuario solicita información de la base de datos. Estos lenguajes


suelen ser de un nivel superior que el de los lenguajes de programación habituales. Los lenguajes de
consulta pueden clasificarse como procedimentales o no procedimentales. En los lenguajes
procedimentales el usuario instruye al sistema para que lleve a cabo una serie de operaciones en la
base de datos para calcular el resultado deseado.

En los lenguajes no procedimentales el usuario describe la información deseada sin dar un


procedimiento concreto para obtener esa información. La mayor parte de los sistemas comerciales
de bases de datos relacionales ofrecen un lenguaje de consulta que incluye elementos de los
enfoques procedimental y no procedimental.

2. Algebra Relacional

Se llama álgebra relacional a un conjunto de operaciones simples sobre tablas relacionales, a


partir de las cuales se definen operaciones más complejas mediante composición. Definen, por tanto,
un pequeño lenguaje de manipulación de datos.

También podríamos decir que es un lenguaje, que define una serie de operaciones, que se
realizan utilizando "operadores", cada uno de los cuales puede trabajar sobre uno o varios conjuntos
de datos produciendo como resultado un nuevo conjunto de datos.

El conjunto de datos resultante de una operación puede a su vez ser utilizado en una nueva
operación, en forma anidada, tal como se hace con las operaciones aritméticas. Esta propiedad es
conocida como "clausura".

3. Operadores

Es un método que consiste básicamente en crear o construir nuevas relaciones a partir de


relaciones existentes.

Existen 2 tipos de operadores algebraicos:


 Operadores básicos o primitivos.
 Operadores no básicos o derivados.

Operadores básicos o primitivos.

Se clasifican en:

1. Proyección (π).
2. Selección (σ).
3. Unión (U).
4. Diferencia (-).
5. Producto cartesiano (X).

 Proyección.

Este operador permite extraer columnas de una relación y de esta manera crea un subconjunto de
atributos de la relación, además elimina las filas duplicadas.

 Selección.

Este operador permite seleccionar un subconjunto de filas o registros de una relación y de acuerdo
a la condición planteada los registros serán seleccionados para formar parte de un nuevo
subconjunto.

 Unión.

La unión de 2 relaciones R y S es otra relación la cual va a tener los registros de R en S o en


ambas, además se eliminan los registros duplicados.

En esta relación R y S deben ser compatibles es decir que deben estar definidas sobre el mismo
conjunto de atributos.

 Diferencia.

La diferencia de 2 relaciones R y S es otra relación la cual va a tener los registros que están en R
pero no están en S.

En esta relación R y S deben ser compatibles.


 Producto cartesiano.

Es una relación que consiste en la concatenación de cada una de las filas de la relación R con
cada una de las filas de la relación S.

Operadores no básicos o derivados.

Se clasifican en:

1. Intersección (∩).
2. Unión natural ().
3. División (/).

 Intersección.

Es una relación que contiene el conjunto de todas las filas que están tanto en la relación R como
en S. R y S deben ser compatibles.

 Unión natural.

El resultado es una relación con los atributos de ambas relaciones y se obtiene combinando vas
filas de ambas relaciones que tengan el mismo valor en los atributos comunes.

El join se lo usa entre los atributos comunes de las entidades o tablas que poseen la clave
primaria de una tabla foránea correspondiente de otra entidad.

 División.

Define una relación sobre el conjunto de atributos C, incluido en la relación R, y que contiene el
conjunto de valores de S, que en las filas de R están combinadas con cada una de las filas de S.

4. El 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, a diferencia del Álgebra relacional que es de tipo
procedimental, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los
mismos resultados.
5. Orientado a las tuplas

El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre


una Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo
procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los
mismos resultados.

El cálculo relacional usa un enfoque completamente diferente al álgebra relacional. No obstante,


los dos lenguajes son lógicamente equivalentes. Esto significa que cualquier consulta que pueda
resolverse en un lenguaje puede resolverse en el otro. La solución para toda consulta en este tipo de
cálculo se define por:

Una lista de resultados

Una sentencia de cualificación

La lista de resultados está clara, son aquellos registros que cumplen las condiciones que
deseamos. La sentencia de cualificación contiene las condiciones que deseamos que cumplan los
registros de la lista de resultados. La diferencia entre el cálculo y el álgebra radica en que el cálculo
realiza la operación en un único paso, sin necesidad de tener que obtener tablas intermedias, el
álgebra realiza las operaciones paso a paso.

Normalmente el cálculo relacional se apoya en algún lenguaje de interrogación de bases de datos


como puede ser el SQL.

El cálculo relacional incluye un concepto nuevo denominado cuantificador, los cuantificadores


tratan de averiguar el número de registros afectados por una determinada operación, incluso antes
de realizarla. Según su naturaleza los podemos dividir en dos grupos:

 Cuantificadores existenciales
Son aquellos que tratan de averiguar el número de registros que devolvería un tipo de consulta.
Por ejemplo: saber el número de clientes de Madrid que han comprado el producto 2015. Si el
número de registros que satisfacen esta relación es mayor que cero, podemos generar la consulta
para lanzar posteriormente un informe, en caso contrario se puede enviar un mensaje al usuario para
que sepa que no hay ningún cliente con estas características.

 Cuantificadores universales
Son aquellos que indican que una condición se aplica a todas las filas de algún tipo. Se usa para
brindar la misma capacidad que la operación división del álgebra relacional.
Variables
Una variable es un nombre asociado a un elemento de datos que está situado en posiciones
contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa.

Toda variable pertenece a un tipo de dato concreto. En la declaración de una variable se debe
indicar el tipo al que pertenece. Así tendremos variables enteras, reales, booleanas, etc. Por otro
lado, distinguimos tres partes fundamentales en la vida de una variable:

Declaración
Iniciación
Utilización

 Declaración de variables

Esta es la primera fase en la vida de cualquier variable. La declaración se realiza en la sección


que comienza con la palabra var.

Nota: Toda variable que vaya a ser utilizada en Pascal tiene que ser previamente declarada.

 Iniciación de variables

Esto no es más que darle un valor inicial a una variable. Así como lo primero que se hace con
una variable es declararla, lo siguiente tiene que ser iniciarla. Esto se hace para evitar posibles
errores en tiempo de ejecución, pues una variable tiene un valor indeterminado después de
declararla. Principalmente, existen dos maneras de otorgar valores iniciales a variables:

 Mediante una sentencia de asignación


 Mediante uno de los procedimientos de entrada de datos (read o readln)

Veamos un ejemplo que reúne los dos casos:

begin
...
i:=1;
readln(n);
while i < n do begin
(* cuerpo del bucle *)
i := i + 1
end;
...
end.
 Utilización de variables

Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta es la parte que
presenta un mayor abanico de posibilidades. A continuación tienes unas cuantas:

 Incrementar su valor:

i := i + 1

 Controlar un bucle:

for i:=1 to 10 do ...

 Chequear una condición:

if i<10 then ...

 Participar en una expresión:

n := (Max - Min) div i

Constantes
Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe
un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

Como ya se ha comentado en el tema sobre las partes de un programa, las constantes se


declaran en una sección que comienza con la palabra reservada const. Después de declarar una
constante ya puedes usarla en el cuerpo principal del programa. Tienen varios usos: ser miembro en
una expresion, en una comparación, asignar su valor a una variable, etc.

En el siguiente ejemplo se contemplan varios casos:

const
Min = 0;
Max = 100;
Sep = 10;
var
i : integer;

begin
i := Min;
while i < Max do begin
writeln(i);
i := i + Sep
end
end.
En este ejemplo se declaran tres constantes (Min, Max y Sep). En la primera línea del cuerpo del
programa se asigna una constante a una variable. En la siguiente, se usa una constante en una
comparación. Y en la cuarta, la constante Sep interviene en una expresión que se asigna a una
variable. El resultado de ejecutar este programa sería una impresión en pantalla de los números: 0,
10, 20, 30, 40, 50, 60, 70, 80 y 90.

Se puede hacer una división de las constantes en tres clases:


 Constantes literales (sin nombre)
 Constantes declaradas (con nombre)
 Constantes expresión

 Constantes literales
Son valores de cualquier tipo que se utilizan directamente, no se declaran ya que no tienen
nombre. En el siguiente ejemplo tienes un par de constantes literales (el 3, el 4, y el 3.1416):
VolumenEsfera := 4/3 * 3.1416 * Radio * Radio * Radio;

 Constantes declaradas
También llamadas constantes con nombre, son las que se declaran en la
sección const asignándoles un valor directamente. Por ejemplo:

const
Pi = 3.141592; (* valor real *)
Min = 0; (* entero *)
Max = 99; (* entero *)
Saludo = 'Hola'; (* cadena caract. *)

 Constantes expresión
También se declaran en la sección const, pero a estas no se les asigna un valor directamente,
sino que se les asigna una expresión. Esta expresión se evalúa en tiempo de compilación y el
resultado se le asigna a la constante. Ejemplo:

const
Min = 0;
Max = 100;
Intervalo = 10;
N = (Max - Min) div Intervalo;
Centro = (Max - Min) div 2;
Tipos de cálculo relacional

 Cálculo relacional orientado a tuplas: Se procesan tuplas de una o más relaciones SQL
orientado a la tupla utilizando nombres de relación y etiquetas como variables de tupla.

 Cálculo relacional orientado a los dominios: Variables de tupla se reemplazan por variables de
dominio Se procesan dominios que alcanzan una o más relaciones.

 Cálculo Relacional de Tuplas

 Tuplas

Una tupla se define como una función finita que asocia unívocamente los nombres de los
atributos de una relación con los valores de una instanciación de la misma. En términos simplistas,
es una fila de una tabla relacional.

 Cálculo relacional basado en tuplas.


Está basado en el cálculo de predicados utilizando variables-tupla que representan tuplas, esto
obliga a introducir algunos cambios en las definiciones comentadas anteriormente, y que pasamos a
exponer.

Una consulta en TRC es de la forma:


{T | φ(T )}

Donde T es una variable tipo tupla y φ(T) es una fórmula que describe a T. El resultado de
esta consulta es el conjunto de todas las tuplas t para las cuales la fórmula es verdadera.

 Variable de tipo tupla


Una variable tipo tupla T es una variable capaz de tomar cualquier valor tupla que pertenece a
una relación (o tabla).

 Sintaxis de consulta en TRC


La sintaxis es definida a partir de la lógica de primer orden. Donde la variable a utilizar son de
tipo tupla. Una variable es libre en una fórmula (o subfórmula) si la (sub) fórmula no contiene ninguna
ocurrencia de cuantificadores que la limiten. En una consulta en TRC de la forma: {T | φ(T )}, T es la
única variable libre.
Sean las Relaciones

6. Orientado a los Dominios

Es un lenguaje de consulta formal que permite expresar las consultas a partir de fórmulas bien
formadas, donde cada variable se interpreta como variante sobre el dominio del atributo de una
relación. Al igual que el anterior, éste se deduce del cálculo de predicados, pero en este caso:

1. las variables están asociadas a los dominios de los atributos y se denota como relación (atributo1:
variable1, atributo2: variable2,…). Ejm: ModeloCarro(modelo: m, marca: c).

2. los predicados utilizados se construyen igual que para el cálculo relacional de tuplas.

Una lista de resultados


Una sentencia de cualificación

 Cuantificadores existenciales
Son aquellos que tratan de averiguar el número de registros que devolvería un tipo de consulta.
Por ejemplo: saber el número de clientes de Madrid que han comprado el producto 2015.

 Cuantificadores universales
Son aquellos que indican que una condición se aplica a todas las filas de algún tipo. Se usa para
brindar la misma capacidad que la operación división del álgebra relacional.
Variables
Una variable es un nombre asociado a un elemento de datos que está situado en posiciones
contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa.

 Declaración de variables
Esta es la primera fase en la vida de cualquier variable. La declaración se realiza en la sección que
comienza con la palabra var.

 Iniciación de variables
Esto no es más que darle un valor inicial a una variable. Así como lo primero que se hace con una
variable es declararla, lo siguiente tiene que ser iniciarla.

 Utilización de variables
Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta es la parte que
presenta un mayor abanico de posibilidades.

Constantes
Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe
un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

 Constantes literales
Son valores de cualquier tipo que se utilizan directamente, no se declaran ya que no tienen
nombre.

 Constantes declaradas
También llamadas constantes con nombre, son las que se declara la sección const asignándoles un
valor directamente.

 Constantes expresión
También se declaran en la sección const, pero a estas no se les asigna un valor directamente, sino
que se les asigna una expresión. Esta expresión se evalúa en tiempo de compilación y el resultado
se le asigna a la constante.
7. Reglas para transformar el esquema conceptual (e-r) al relacional
 Las tres reglas básicas para convertir un esquema en el modelo E/R al relacional son las
siguientes:

1) Todo tipo de entidad se convierte en una relación.

2) Todo tipo de interrelación N:M se transforma en una relación.

3) Para todo tipo de interrelación 1:N se realiza lo que se denomina propagación de clave (regla
general), o bien se crea una nueva relación. Observación: Esto implica una pérdida de semántica
con respecto al esquema E/R, ya que las interrelaciones N:M no se distinguen de las entidades y las
1:N se representan mediante una propagación de clave, desapareciendo incluso el nombre de la
interrelación
CONCLUSION

De manera general, este trabajo de investigación permite aprender las características básicas que
se deben de tomar en cuenta para poder manipular sin ningún problema una base de datos; poder
tener acceso a la información, borrarla, modificar o actualizarla.

Además se aprende a cómo definir qué datos se deben mostrar al ingresar alguna indicación,
como enlazar las tuplas o tablas de nuestro sistema de base de datos, entre otras acciones que en
un momento dado se requieran para que los usuarios que interactúen con el sistema puedan realizar
sus consultas, generen informes o realicen alguna otra operación con la información que contenga la
BD.

En conclusión en esta etapa del diseño y desarrollo de un sistema de base de datos, es


indispensable conocer a detalle las características de los datos que se vayan a ingresar en las
tablas, como se van a relacionar y como optimizar el acceso a la información. El álgebra relacional
requiere de que los creadores del sistema contemplen todos los tipos de acciones que los usuarios
en un momento dado necesiten realizar y que datos requerirán en cada consulta que realicen.

Analizamos que para la realización de una Base de datos la creación de consultas de base de
datos consta de archivos que permiten realizar muchas tareas diferentes con los datos que se
pueden ver. También se pueden utilizar para controlar los registros que visualiza Base de datos la
consulta no contiene información de base de datos, si no tan solo las instrucciones necesarias para
seleccionar los registros y campos requeridos de una base de datos.

Es muy importante el observar el proceso que se sigue en la organización para determinar los
requerimientos que se necesitan para la elaboración de un sistema y para ello se recurren a varias
técnicas de recopilación de información para que el proyecto satisfaga las necesidades de los
usuarios finales que es el que está en pleno contacto con él.

Otro aspectos importante sería el diseño y creación de la base de datos, donde existen distintos
modos de organizar la información y representar las relaciones entre por datos los tres modelos
lógicos principales dentro de una base de datos son el jerárquico, de redes y el relacional, los cuales
tiene ciertas ventajas de procesamiento y de negocios.

Otro punto necesario es la clase de bases de datos las cuales son, base de dato documental, base
de datos distribuidas y base de datos orientadas a objetos e hipermedia y tienen como función
derivar, almacenar y procesar datos dentro de una información.
Webgrafía

https://www.ceupe.com/blog/lenguaje-de-consulta-sql.html

https://es.wikipedia.org/wiki/Lenguaje_de_consulta

https://es.wikipedia.org/wiki/%C3%81lgebra_relacional

http://fcays.ens.uabc.mx/anterior/BD/AlgebraRelacional.pdf

https://es.wikipedia.org/wiki/C%C3%A1lculo_relacional_basado_en_tuplas

https://www.dsi.fceia.unr.edu.ar/downloads/base_de_datos/CalculoRelacional.pdf

https://es.slideshare.net/OLIVERABURGA/calculo-relacional-de-base-de-datos

https://es.slideshare.net/plataformaues/reglas-de-transformaciongisell-1

También podría gustarte