Anda di halaman 1dari 8

BASE DE DATOS

Una Base De Datos (BDD) consiste en un conjunto de informaciones organizadas y estructuradas, que se encuentran
almacenadas en uno o varios ficheros (Tablas), y que pueden ser procesadas para generar ms informacin.
Una BDD es, por ejemplo, el conjunto de todas las fichas de un club.
Estas fichas (conjunto de Registros) estn organizadas en un fichero (Tablas), en donde se almacenan segn un nmero de
socio. Adems, estos datos pueden ser tratados para generar informacin nueva que no figura de forma explcita en la BDD,
informaciones como saber quines son los socios ms antiguos, los que no han pagado la cuota, etc.
Campos o atributos: es la unidad mnima de informacin que es posible crear o modificar en una BDD. Ejemplo: un
campo es DNI, otro Nombre, otro Direccin, etc.
Registros: un registro es un conjunto de campos relacionados entre s. Es decir, un registro es una ficha.
Tabla: una tabla es un conjunto de registros que tienen la misma estructura. Ejemplo: una tabla es el conjunto de todas
las fichas de los socios. Dentro de ella, se denomina fila a cada uno de los registros, y columnas a cada uno de los
campos.
BDD: es una agrupacin de una o varias tablas.
Clave: todos los registros tienen un campo que contiene un valor nico, caracterstico de l, y que lo identifica. Este
valor es la clave del registro. Ejemplo: una clave vlida puede ser el nmero de socio, ya que ste valor es nico para cada
uno de ellos y sirve para localizarlos. Tambin valdra como clave el DNI (que tambin posee un valor nico e irrepetible
para cada socio).
BDE: (Borland Database Engine, Motor de bases de datos de Borland) es un traductor entre nuestras aplicaciones y las
bases de datos a las que se desea acceder.
Alias: las BDD se encuentran almacenadas en archivos, y stos, a su vez, se encuentran dentro de una carpeta
(directorio) del disco duro. Para ahorrarnos el trabajo de tener que escribir la trayectoria completa de la carpeta en la que se
encuentra una BDD, se utilizan los alias, que son nombres simples que identifican a los directorios en los que se encuentran
nuestros datos, de tal forma que sea posible referirse a ellos mediante estos sobrenombres.
Indice: podramos decir que es una lista ordenada, en orden ascendente o descendente, de algunas columnas de una
tabla que nos permite acceder a sta de forma ms rpida. El indice puede ser con duplicados, o sin duplicados.

Tabla:
campo1

campo2

campo3

campoN

B.O.F. (Begin Of File)


re
gi
st
ro
s

puntero

E.O.F. (End Of File)

BDD relacional, con sus Tablas relacionadas entre s, a


travs de sus campos clave.
Ventas

Facturas

Articulos
Vendedores

Proveedores

Secciones

Database Desktop
Esta herramienta nos permite crear tablas de diferentes tipos (dBase, Paradox, Access...), as como crear consultas,
transferir datos de una tabla a otra, etc.
Tools Database Desktop
Gestin de alias:
File Working Directory seleccionar la ruta
Tools Alias Manager... pulsar el botn New
Creacin de tablas:
File New Table... Paradox7
Definicin de la tabla:
- Field Name: nombre del campo.
- Type: tipo de los datos que almacenar ese campo: numrico, alfanumrico, etc. Usar la barra espaciadora para ver
los diferentes tipos de datos
- Size: tamao del campo en bytes. Si el valor es alfanumrico, se debe indicar aqu cuantos caracteres (letras) se
almacenar.
- Key: indica si este campo es clave o no. Con la barra espaciadora se activa y desactiva.
Modificar una tabla:
Table Reestructure... / se puede usar el botn Reestructure.

El componente Table
Se encuentra en la solapa DataAccess. Permite acceder a los datos almacenados en una tabla de una BDD.
Propiedades DatabaseName: nombre de la BDD(alias)
Propiedades TableName: nombre de la tabla que queremos utilizar
Propiedades Active: True
Haciendo doble clic en el objeto Table, aparecer una ventana que tiene en la parte superior unos botones de navegacin.
Haciendo clic derecho sobre esa pequea lista puedo agregar los campos de la tabla. Si selecciono uno o varios elementos
de la lista y los muevo con el mouse hasta el formulario, se crear automticamente un Label y un Edit con los datos de ese
campo.

El componente DataSource

Se encuentra en la solapa DataAccess. Acta como un enlace entre un objeto Table y la aplicacin, proporcionando a sta
ltima una interfaz comn para manejar los datos de la tabla, a travs de uno o varios controles, que sern los encargados
de mostrar y modificar los datos de los registros.
Propiedades DataSet: nombre del componente Table, del cual se tomarn los datos. Ej: Table1.

El componente DBGrid
Se encuentra en la solapa DataControls. Presenta en el formulario una lista con todos los registros de la tabla.
Otros componentes son: DBEdit, DBText, DBMemo, DBCheckBox.
Propiedades DataSource: es el nombre del componente DataSource del que se tomarn los datos de la tabla
Propiedades DataField: indica con qu atributo (columna) trabajar ste componente

El componente DBNavigator
Se encuentra en la solapa DataControls. Permite movernos de un registro a otro, insertar nuevos registros, borrarlos,
modificarlos, etc. Los botones son, de izquierda a derecha:
- Primero (First): muestra los valores del primer registro almacenado en la tabla.
- Anterior (Prior): muestra los valores del registro anterior al actual.
- Siguiente (Next): muestra los valores del registro posterior al actual.
- Ultimo (Last): muestra los valores del ltimo registro almacenado en la tabla.
- Insertar (Insert): aade un nuevo registro a la tabla. Los componentes del formulario se ponen en blanco para que
podamos introducir los nuevos valores del registro.
- Borrar (Delete): elimina de la tabla el registro seleccionado.
- Editar (Edit): permite la edicin de los valores que se estn mostrando.
- Escribir (Post): escribe los cambios en el actual registro de la tabla.
- Cancelar (Cancelar): cancela la edicin del registro actual y restaura los valores anteriores a la edicin.
- Refrescar (Refresh): actualiza los datos de toda la tabla y de las estructuras internas.
Propiedades DataSource: es el nombre del componente DataSource del que se tomarn los datos de la tabla.

Accesos fsicos a la tabla utilizando FieldByName


FieldByName permite el acceso al objeto Tfield asociado a un determinado campo a partir del nombre del campo en la tabla.
Su sintaxis es la siguiente:
Function FieldByName(Const NombreCampo: String) := Tfield;
Ejemplo:
Table1.FieldByName(Producto).AsString := Coca Cola;

Inicio y Fin de la Tabla


Cuando en un desplazamiento sobre la tabla se llega a su inicio o a su final se modifican las propiedades Bof y Eof. La
propiedad Bof toma el valor True cuando se est en el primer registro de la tabla y la propiedad Eof toma el valor True
cuando se est en el ltimo registro de la tabla o cuando la tabla est vaca. Por ejemplo, para saber si se ha llegado al final
de la tabla sera:
If Table1.Eof = True then
ShowMessage(Est en el final de la tabla);

Bsquedas de Registros
El componente Table proporciona una serie de herramientas para realizar bsquedas de registros con la limitacin de que
slo se realizarn con campos indexados.
Mediante el mtodo FindKey se busca en la tabla para encontrar un registro en el que sus campos ndices coincidan con los
que se han pasado como argumentos en un array de valores separados por comas. Regresa un valor Falso o Verdadero
dependiendo de si tuvo xito o no en la bsqueda. Ejemplo:
If Table1.FindKey([Edit1.Text]) = True Then
ShowMessage('Producto Localizado')
Else
ShowMessage('Producto no encontrado');
Si deseamos que el sistema, en caso de que no encuentre el registro, se posicione en el registro ms cercano al buscado,
se puede usar la siguiente instruccin:
If Table1.FindKey([Edit1.Text]) = True Then
ShowMessage('Producto Localizado')
Else
Table1.FindNearest([Edit1.Text]);

El otro mtodo de bsquedas es Locate, el cual nos permite buscar por una condicin en un columna o por varias columnas.
No necesariamente por campos indexados. Locate es una funcin que devuelve True o False segn ha tenido xito o no, y si
su bsqueda fue exitosa, la tabla muestra la fila que cumpli la condicin. Para usar este mtodo se han de pasar una serie
de parmetros:
Locate(const KeyFields : string; const KeyValues : Variant; Options : TLocateOptions)
Ejemplo:
Table1.Locate ('Producto','CocaCola',[ loCaseInsensitive]);
Table1.Locate ('Producto','CocaCola',[ loPartialKey]);
Table1.Locate ('Producto',form1.TxtBuscar.Text,[loCaseInsensitive,loPartialKey]);

Bsquedas SQL
Para poder ejecutar una consulta SQL es necesario aadir un componente TQuery. Con el componente TQuery podemos
acceder a varias tablas a la vez o filtrar dinmicamente cualquier tipo de registros.
La ejecucin de una consulta SQL entrega como resultado una nueva tabla, las caractersticas de esta tabla son en principio
independientes de la base de datos.
Propiedades de TQuery:
Propiedad

Descripcin
Nombre de la base de datos a la que se accede.
Array de string que contiene la consulta que dar
lugar a la nueva tabla.
Provoca la presentacin inmediata de los datos
ejecutando la consulta.
Array que incluye los parmetros de una consulta.
Permite modificar los registros que fueron resultado
de una consulta.

Mtodos

Descripcin
Ejecuta la sentencia SQL sea o no de seleccin de
registros.
Ejecuta una consulta SQL de seleccin de
registros.
Cierra el componente.

DataBaseName
SQL
Active
Params
RequestLive
Mtodos de TQuery:
ExecSQL
Open
Close
First
Last
Next
Prior
Append
Insert
AppendRecord
InsertRecord
Delete
Edit

Navegacin por los registros de la tabla.

Mtodos para Insertar Registros.


Borrar el registro actual.
Permite modificar el registro actual.

El lenguaje de consulta estructurado (SQL) 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 mtodo
OpenRecordSet y como la propiedad RecordSource del control de datos. Tambin se puede utilizar con el mtodo Execute
para crear y manipular directamente las bases de datos Jet y crear consultas SQL para manipular bases de datos remotas
cliente - servidor.
El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se
combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Estos son los comandos del lenguaje SQL:
Comando
Descripcin
Utilizado para consultar registros de la base de datos que
SELECT
satisfagan un
criterio determinado
Utilizado para cargar lotes de datos en la base de datos en
INSERT
una nica
operacin.
UPDATE
Utilizado para modificar los valores de los campos y registros

especificados
Utilizado para eliminar registros de una tabla de una base de
datos

DELETE

Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular.
Clusula
Descripcin
Utilizada para especificar la tabla de la cual se van a
FROM
seleccionar los registros
Utilizada para especificar las condiciones que deben reunir
WHERE
los registros que se van a seleccionar
Utilizada para separar los registros seleccionados en grupos
GROUP BY
especficos
Utilizada para expresar la condicin que debe satisfacer cada
HAVING
grupo
Utilizada para ordenar los registros seleccionados de acuerdo
ORDER BY
con un orden especfico
Operadores lgicos:
Operador

NOT

Uso
Es el "y" lgico. Evala dos condiciones y devuelve un valor
de verdad slo si ambas son ciertas.
Es el "o" lgico. Evala dos condiciones y devuelve un valor
de verdad si alguna de las dos es cierta.
Negacin lgica. Devuelve el valor contrario de la expresin.

Operadores de comparacin:
Operador
<
>
<>
<=
>=
=
BETWEEN
LIKE
IN

Uso
Menor que
Mayor que
Distinto de
Menor Igual que
Mayor Igual que
Igual que
Utilizado para especificar un intervalo de valores.
Utilizado en la comparacin de un modelo
Utilizado para especificar registros de una base de datos

AND
OR

Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor
que se aplica a un grupo de registros.
Funcin
Descripcin
Utilizada para calcular el promedio de los valores de un
AVG
campo determinado
COUNT
Utilizada para devolver el nmero de registros de la seleccin
Utilizada para devolver la suma de todos los valores de un
SUM
campo determinado
Utilizada para devolver el valor ms alto de un campo
MAX
especificado
Utilizada para devolver el valor ms bajo de un campo
MIN
especificado
Ejemplos:
SELECT Nombre, Apellido, Edad FROM Empleados WHERE Edad > 25 AND Edad < 50;
SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR Sueldo = 100;
SELECT * FROM Empleados WHERE NOT Estado = 'Soltero';
SELECT * FROM Empleados WHERE (Sueldo > 100 AND Sueldo < 500) OR (Provincia = 'Madrid' AND Estado = 'Casado');
procedure TConsulta.CmdBuscar2Click(Sender: TObject);
var consulta : String;
begin

consulta := 'SELECT producto, precio FROM inventario.db WHERE producto LIKE'''+'%'+Edit1.Text+'%'+''''+'ORDER BY


producto';
QUERY1.SQL.Clear;
QUERY1.SQL.ADD(consulta);
QUERY1.Open;
end;

Quick Reports:
Instalar el componente para Borland Delphi 7:
The Quick Reports package is not installed in the IDE by default. To run
these demos you must first install dclqrt70.bpl.
To install, go to the IDE menu and select the "Component" menu item. From there,
select "Install Packages". In the dialog select the "Add" button and then browse
to the \bin directory of Delphi (default location is
c:\Program Files\Borland\Delphi7\bin). Select the file named dclqrt70.bpl.
The QuickReport pacakge is now installed and you can run the example programs.
Todo informe Quick Report debe contar con un componente TQuickReport, que es el que gestiona los elementos generales,
actuando como una plantilla del informe. Este componente se encuentra en el men de solapas que lleva el nombre
QReport.
Haciendo clic derecho sobre el componente accedemos al men contextual. Entrando a Report settings, podemos
modificar el formato de pgina del informe (tipo de papel a usar, mrgenes, tipografa, etc.). O bien en las propiedades del
componente QReport, en la propiedad Page. O tambin haciendo doble clic en el componente QReport.
La propiedad Show Progress activada en True, mostrar una ventana en la que se indicar que se est preparando el
informe, con una barra de progreso y un botn que permite cancelar el proceso.
Mediante la propiedad Record Count, podremos saber el nmero de registros que se han utilizado en la confeccin del
informe.
El componente TQRBand nos servir para definir cabeceras, cuerpo del informe, pies de pgina, etc. Por lo tanto existen
diferentes tipos o estilos de TQRBand. Generalmente la primera propiedad que estableceremos tras insertar un componente
de ste tipo en la ficha ser BandType, que puede tomar uno de los siguientes valores:
rbTitle
rbPageHeader
rbDetail
rbPageFooter
rbSummary

Ttulo de informe
Cabecera de pgina
Cuerpo del informe
Pie de pgina
Resumen final del informe

El componente TQRLabel es similar a un Tlabel, que nos permite insertar en las secciones de nuestro informe ttulos o
cualquier texto esttico que deseemos.
El componente TQRDBText nos permite insertar los datos en un informe, asignando a las propiedades DataSet y DataField
los valores adecuados para enlazar el componente con la columna de la tabla o consulta que corresponda.
El componente TQRSysData es idntico a un TQRLabel, con la diferencia de que cuenta con una propiedad Data en que
podemos seleccionar el tipo de informacin que contendr el control. Este componente se utiliza en una seccin de cabecera
o pie de pgina. Los valores que puede tomar sta propiedad son:
qrsTime
qrsDate
qrsDateTime
qrsPageNumber
qrsReportTitle
qrsDetailCount
qrsDetailNo

Hora actual
Fecha actual
Hora y fecha actuales
Nmero de pgina
Ttulo del informe
Nmero de registros
Nmero de registro actual

El componente TQRShape permite realzar el informe, mediante lneas, recuadros y otros elementos grficos. Las tres
propiedades fundamentales son Brush, Pen y Shape, con las que podremos establecer la trama y color de relleno, el
aspecto del borde y la figura a dibujar. A la propiedad Shape le podemos asignar los siguientes valores:
qrsRectangle
qrsCircle
qrsVertLine
qrsHorLine
qrsTopAndBottom
qrsRightAndLeft

Un rectngulo o cuadrado
Un circulo u valo
Una lnea vertical
Una lnea horizontal
Lneas horizontales arriba y abajo
Lneas verticales a izquierda y derecha

El componente TQRDBImage permite mostrar en el informe un grfico almacenado en una tabla. Las propiedades DataSet y
DataField debern ser asignadas para acceder al campo que contiene el grfico.
Si la imagen a incluir no forma parte de la base de datos, sino que es externa a ella, en lugar del control anterior usaremos
un TQRImage. Este es igual al anterior, sin las propiedades DataSet y DataField, a cambio de la propiedad Picture.
Como llamamos al reporte (informe) desde un botn de un formulario?
Ejemplo:
procedure TPrincipal.CmdReporteClick(Sender: TObject);
begin
Reporte.QuickRep1.Preview;
Form1.QuickRep2.Preview;
end;
Informes Maestro / Detalle
En ste tipo de informes los datos que se utilizan son obtenidos de dos o ms tablas. Para ello se utiliza el componente
TQRSubDetail, que establece un enlace entre los datos de la tabla de detalle y la tabla maestra.
Los datos que vamos a obtener pueden ser tanto de un componente TTable como de un TQuery.
Si, por ejemplo, tenemos las tablas Proveedores y Artculos, y deseamos crear un informe en el cual se visualicen los datos
del proveedor, y los artculos que ste vende, podemos hacerlo de la siguiente forma:
Crear el botn en el formulario (Proveedores) desde el cual llamaremos al Informe.
Insertar dos componentes TTable (uno para la tabla Proveedores y el otro para la tabla Artculos) y sus respectivos
componentes DataSource. Ajustar las propiedades de dichos componentes para que queden de la siguiente forma:
Table1 (Maestro)
Propiedades
DatabaseName:
ferreteria (nombre de la BDD)
Name:
Table1
TableName:
proveedores.db (nombre de la tabla)
Active:
True
DataSource1

Propiedades
DataSet:
Name:

Table2 (Detalle)Propiedades
DatabaseName:
Name:
TableName:
Active:
MasterSource:
MasterFields:
DataSource2

Propiedades
DataSet:
Name:

Table1
DataSource1
ferreteria
Table2
articulos.db
True
DataSource1 (para relacionar la tabla artculos con la de proveedores)
codprov (campo ndice que se relaciona con la tabla proveedores)
Table2
DataSource2

Abrir un nuevo formulario, en el cual disearemos el informe mediante el componente QuickRep. Colocamos dicho
componente en el formulario y le asignamos la siguiente propiedad:
QuickRep1
Propiedad
DataSet:
Form4.Table1 (hacemos referencia a la tabla proveedores)
De sta forma creo un enlace al Table1 dentro del formulario Proveedores (Form4), con el que trabajamos anteriormente.
Recordamos que Table1 es nuestra tabla Maestra.
Ahora utilizaremos el componente TQRBand. Asignando las siguientes propiedades:
QRBand1
Propiedades
BandType:
rbPageHeader (para ingresar el titulo del informe, usamos un QRLabel).
QRBand2
QRDBText1
QRBand3

Propiedades
BandType:
DataSet:
DataField:
Propiedades

rbDetail (para mostrar los datos del Table1)


Form4.Table1 (mostramos los datos de un campo de la tabla proveedores)
Razon (campo del nombre del proveedor)

BandType:
QRSubDetail1
QRDBText2
QRBand4
QRSysData1

Propiedades
DataSet:
DataSet:
DataField:
Propiedades
BandType:
Data

rbGroupHeader (hace un encabezado de grupo para los datos del Table2)


Form4.Table2 (hacemos referencia a la tabla articulos)
Form4.Table2 (mostramos los datos de un campo de la tabla articulos)
Denominacin (campo del nombre del producto que vende el proveedor)
rbPageFooter (para crear un pie de pgina)
qrsDateTime (ingresamos fecha y hora del informe)

QRBand1
QRDBText1
QRBand2
QRBand3
QRSubDetail1
QRBand4
QRDBText2
QRSysData
1

Anda mungkin juga menyukai