Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
Algebra Relacional
Operadores
El Cálculo Relacional
2. Algebra Relacional
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
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.
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.
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.
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
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.
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
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:
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:
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.
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.
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.
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.
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.
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.
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:
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.
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