Вы находитесь на странице: 1из 71

INTRODUCCION A LA PROGRAMACION

V.- TIPOS DE DATOS COMPUESTOS


Los tipos de datos compuestos son aquellos que
estn formados por varios tipos de datos, ya
sean estructurados en grupos o datos bsicos.
LOS DATOS A PROCESAR PUEDEN SER:

SIMPLES o BASICOS
Ocupan solo una casilla de memoria. (enteros, reales, caracteres, booleanos).
Ejem.- 567

ESTRUCTURADOS.- Hacen referencia a un grupo de casillas de memoria


-Arreglos o vectores, archivos, rboles, registros, Bases de Datos, etc.
Para la implementacin de sistemas de software
se requiere cualquiera de las siguientes
estructuras:

Cadenas
Estructuras o registros
Funciones
Arreglos (arrays) y matrices
Apuntadores
Pilas, colas
Archivos
Bases de Datos
ESTRUCTURA DE DATOS ( ARREGLOS )

ARREGLOS O VECTORES.
ESTRUCTURADOS.- Hacen referencia a un grupo de casillas de memoria

Es una coleccin finita, homogenea y ordenada de elementos


Finita.- Indica el nmero mximo
Homogenea.- Son del mismo tipo (entero, reales, caracteres)
Ordemada.- Llevan un rden consecutivo a traves de un ndice

Ejem.- A= 34 45 12 05 93 Datos
(0) (1) (2) (3) (4) Indices
ESTRUCTURA DE DATOS ( ARREGLOS )

ARREGLOS O VECTORES.
ESTRUCTURADOS.- Hacen referencia a un grupo de casillas de memoria
Los ndices hacen referencia a los componentes (datos) en forma individual.

Ejem.- A= 34 45 12 05 93 Datos
(0) (1) (2) (3) (4) Indices

En forma individual.- A[2]= 12

Cuanto vale A[1], A[4] ?


VECTORES.

Un vector es un array (arreglo) unidimensional, es decir, slo utiliza


un ndice para referenciar a cada uno de los elementos. Su declaracin
ser:

tipo nombre [tamao];

Ejemplo: int vector[10];

El tipo puede ser cualquiera de los ya conocidos y el tamao indica el


nmero de elementos del vector ( se debe indicar entre corchetes [ ]
).
Practica 51. Rellenamos un vector del 0 - 9

/* Declaracin de un array. */
#include <stdio.h>
main()
{
int vector[10],i;
for (i=0;i<10;i++) vector[i]=i;
for (i=0;i<10;i++) printf(" %d",vector[i]);
}

Nota: En el ejemplo puedes observar que la variable i es utilizada como ndice, el primer for sirve
para rellenar el vector y el segundo para visualizarlo. Como ves, las posiciones van de 0 a 9 ( total
10 elementos ).
OPERACIONES CON ARREGLOS O VECTORES.

Las operaciones bsicas con Arreglos son:

Lectura de un arreglo
Despliegue de datos de un arreglo
Llenado de un arreglo
Ordenacion de un arreglo
Bsqueda de datos en un arreglo
LLENADO/LECTURA DE UN ARREGLO

Pseudocodigo:
Dame los 10 datos ?
PARA i desde 0 hasta 10 incrementa
LEE A[i].

Codigo en C o C++
printf ("Dame los 10 datos");
for (i=0; i<10; i++)
{
scanf ("%d", &valor [i]);
}
DESPLIEGUE DE UN ARREGLO Y OPERACIONES CON SUS
COMPONENTES
Pseudocodigo:
PARA i desde 0 hasta 10 incrementa
Inicio
DESPLIEGA Valor, Indice + 1, valor
SUMA los valores del arreglo
termina
Codigo en C o C++
for (i=0; i<10; i++)
{
printf ("Valor %d = %d\n", i+1, valor [i]);
suma += valor [i];
}
PRACTICA 51a:

A) HACER UN PROGRAMA (ProgArreg.cpp) EN C o C++ QUE


PIDA EL PROCESO PARA N CALIFICACIONES Y LOS
DATOS DESPLEGANDO AL FINAL SU PROMEDIO.
#include <stdio.h>
#include <conio.h>
int i, valor [100], suma=0, n;
float promedio;
main ()
{ printf ("Cuantas calificaciones ? ");
scanf ("%d", &n);
printf ("Dime los %d Datos en el mismo renglon\n", n);
for (i=0; i<n; i++)
{
scanf ("%d", &valor[i]);
}
for (i=0; i<n; i++)
{
printf ("Valor %d = %d\n", i+1, valor [i]);
suma += valor [i];
}
promedio = (float) suma/n;
printf ("El promedio es %g\n", promedio);
getch();
}
ARREGLOS MULTIDIMENCIONALES:

Un vector es un array unidimensional, es decir, slo utiliza un


ndice para referenciar a cada uno de los elementos. Su
declaracin ser:
tipo nombre [tamao];
Una matriz es un array multidimensional. Se definen igual que
los vectores excepto que se requiere un ndice por cada
dimensin. Su sintaxis es la siguiente:
tipo nombre [tamao 1][tamao 2]...;
Una matriz bidimensional se podra representar grficamente
como una tabla con filas y columnas.
ARREGLOS MULTIDIMENCIONALES:
Ejem.- Una matriz de 2X3 (2 filas por 3 columnas) se inicializa en C/C++
como:
int matriz[2][3] = {
{ 20,50,30 },
{ 4,15,166 }
};

Otra manera es llenar el arreglo mediante una instruccin FOR anidada


Practica 51b
/* Matriz bidimensional. */
#include <stdio.h>
#include <conio.h>

main() /* Rellenamos una matriz */


{
int x,i,numeros[3][4]; /* rellenamos la matriz */
printf("Dime los valores de matriz 3X4\n");
for (x=0;x<3;x++)
for (i=0;i<4;i++)
scanf("%d",&numeros[x][i]);

/* visualizamos la matriz */
for (x=0;x<3;x++)
for (i=0;i<4;i++)
printf("%d",numeros[x][i]);
getch();
}
Nota: al final mostrar la suma de los valores contenidos
Distribucin de datos en una Matrz

int numeros[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

quedaran asignados de la siguiente manera:

numeros[0][0]=1 numeros[0][1]=2 numeros[0][2]=3 numeros[0][3]=4


numeros[1][0]=5 numeros[1][1]=6 numeros[1][2]=7 numeros[1][3]=8
numeros[2][0]=9 numeros[2][1]=10 numeros[2][2]=11 numeros[2][3]=12
QUE SON ORDENAMIENTOS DE DATOS ?

SORT / ORDENACION.-
Es reagrupar un grupo de datos en una
secuencia especifica de orden

(mayor -> menor o menor -> mayor)

EI, Profesor Ramn Castro Liceaga


LA ORDENACION DE ELEMENTOS PUEDE SER:

Ordenacin Interna.- En memoria


principal (arrays, listas).

Ordenacin Externa.- En memoria


secundaria. (dispositivos de
almacenamiento externo.- archivos y
Bases de datos).

EI, Profesor Ramn Castro Liceaga


POR INTERCAMBIO (Burbuja o bubble sort )

El bubble sort, tambin conocido como ordenamiento


burbuja, funciona de la siguiente manera:
Se va comparando cada elemento del arreglo con el
siguiente; si un elemento es mayor que el que le sigue,
entonces se intercambian; esto producir que en el
arreglo quede como su ltimo elemento, el ms grande.
Este proceso deber repetirse recorriendo todo el
arreglo hasta que no ocurra ningn intercambio.
Los elementos que van quedando ordenados ya no se
comparan. "Baja el ms pesado".

EI, Profesor Ramn Castro Liceaga


EJEMPLO: Ordenamiento por Burbuja o bubble sort

Consiste en comparar pares de elementos adyacentes e intercambiarlos


entre s hasta que estn todos ordenados.
Sea un array de 6 nmeros de empleados: {40,21,4,9,10,35}:

Primera pasada:
{21,40,4,9,10,35} <-- Se cambia el 21 por el 40.
{21,4,40,9,10,35} <-- Se cambia el 40 por el 4.
{21,4,9,40,10,35} <-- Se cambia el 9 por el 40.
{21,4,9,10,40,35} <-- Se cambia el 40 por el 10.
{21,4,9,10,35,40} <-- Se cambia el 35 por el 40.

Segunda pasada:
{4,21,9,10,35,40} <-- Se cambia el 21 por el 4.
{4,9,21,10,35,40} <-- Se cambia el 9 por el 21.
{4,9,10,21,35,40} <-- Se cambia el 21 por el 10.

Ya estn ordenados, pero para comprobarlo habra que acabar esta segunda
comprobacin y hacer una tercera.

EI, Profesor Ramn Castro Liceaga


// Definimos una funcin donde A=arreglo y N=tamao
int bubblesort(int A[],int N){
int i,j,AUX;
for(i=2;i<=N;i++){ //avanza
for(j=N;j>=i;j--){ //retrocede
if(A[j-1]>A[j]){ //si i > d intercambio
AUX=A[j-1]; //guardamos en AUX
A[j-1]=A[j]; //pasamos d a i
A[j]=AUX; //copiamos AUX en d
}
}
}
return 1;
EI, Profesor Ramn Castro Liceaga
}
Practica 51c: Hacer un programa con Arreglos que ordene por
el mtodo de la burbuja Bubblesort en forma ascendente un
vector de 10 nmeros de empleados de una empresa.

Cdificacin :
main()
Pseudocdigo:
{
1.- Inicio
int A[10];
2.- Definir un vector de 10 nmeros
llenavector(A,10); // es uma funcin
3.- Llenar el vector con los nmeros printf("ORDENAMIENTO POR BURBUJA \n");
4.- Mostrar la salida de los nmeros printf("Numeros a ordenar: \n");
capturados en desorden
salida(A,10); // es uma funcin
5.- Ordenar el vector por el mtodo printf("\n\nNumeros ordenados: \n");
bubblesort
bubblesort(A,10); // es uma funcin
6.- Mostrar la salida con los nmeros salida(A,10); // es uma funcin
ordenados del vector
getch();
}

EI, Profesor Ramn Castro Liceaga


Funcin que llena el vector con los nmeros

int llenavector(int A[],int N){


int c;
int x;
cout<<"Ingrese 10 numeros de empleados:"<<endl;
for(c=1;c<=N;c++){
cin>>x; // lee x numero
A[c]=x; // lo graba en el vector
}
return 1;
}

EI, Profesor Ramn Castro Liceaga


Mostrar la salida de los nmeros capturados en desorden.

int salida(int A[],int N){


int c;
for(c=1;c<=N;c++){
printf("%d, ",A[c]); // muestra el vector
}
return 1;
}

EI, Profesor Ramn Castro Liceaga


Ordenar el vector por el mtodo bubblesort

int bubblesort(int A[],int N){


int i,j,AUX;
for(i=2;i<=N;i++){
for(j=N;j>=i;j--){
if(A[j-1]>A[j]){
AUX=A[j-1]; //Intercambio
A[j-1]=A[j];
A[j]=AUX;
}
}
}
return 1;
}

EI, Profesor Ramn Castro Liceaga


Muestra la salida de los nmeros ordenados.

int salida(int A[],int N){


int c;
for(c=1;c<=N;c++){
printf("%d, ",A[c]); // muestra el vector
}
return 1;
}

// Nota: este mismo procedimiento fue el que se utiliz para


mostrar los datos desordenados.

EI, Profesor Ramn Castro Liceaga


Que son los Apuntadores ?
Un puntero o apuntador es una variable
que contiene la direccin de memoria de
otra variable.

Permiten la relacin lgica entre una


variable o nodo con otros nodos. Se utilizan
para pasar informacin entre una funcin y
sus puntos de llamada.

Su sintaxis es la siguiente:

tipo *nombre;

Donde nombre es, naturalmente, el


nombre de la variable, y tipo es el tipo del
elemento
cuya direccin almacena el apuntador.
Operadores de Apuntadores

Existen dos operadores especiales para trabajar con apuntadores: & y *.

El primero (&) devuelve la direccin de memoria de su operando.


Por ejemplo, si queremos guardar en el apuntador x la direccin de memoria de la
variable num, deberemos hacer lo siguiente:

x=&num;

El segundo (*) devuelve el valor de la variable cuya direccin es contenida por el


apuntador.
Este ejemplo sita el contenido de la variable apuntada por x, es decir num, en la
variable a:

a=*x;
Asignacin en Apuntadores
Los apuntadores se asignan igual que el resto de las variables.
El programa ejemplo mostrar las direcciones contenidas en p1 y p2, que ser la
misma en ambos apuntadores.

Practica 51d.

/* Asignaciones de punteros. */
#include <stdio.h>
main() /* Asignamos direcciones */
{
int a;
int *p1,*p2;
p1=&a;
p2=p1;
printf("%p %p",p1,p2);
}
De lo simple a lo complejo

Las variables simples pueden almacenar pocos


datos
Los arreglos pueden almacenar conjuntos de
ellos del mismo tipo y al mismo tiempo, estos
dos mecanismos pueden manejar una gran
variedad de situaciones.
Pero a menudo se necesita trabajar sobre
datos de diversos tipos en este caso ni las
variables escalares ni los arreglos son
adecuados.
Definicin de estructuras o registro

Un registro es una estructura que


contiene un conjunto de datos llamados
campos. Los elementos individuales de una
variable estructura reciben el nombre de
campos y pueden ser de tipos diferentes.
Ejemplo1 de estructura (lista simple de animales)

// Estructura de una lista simple de nombres de animales

struct animal {
char nombre[40];
struct animal *siguiente;
};

Lista:

Elementos: Primero actual ultimo


Practica 51d.- (lista simple de nombres de clientes con apuntadores)
#include <stdio.h> do {
printf("\n 1.- Agregar nombre \n 2.- Listar \n 3.- Salir\n");
#include <stdlib.h> printf("Dime la opcion ?");scanf ("%d",&opcion);
#include <malloc.h> getchar();

switch (opcion) {
int main() case 1:
{ struct cliente { actual = (struct cliente *) malloc (sizeof(actual));
char nombre[40]; printf (" dime el nombre");
fgets(actual->nombre,40,stdin);
struct cliente *siguiente;}; if (primer==NULL)
primer=actual;
struct cliente *primer, *ultimo, *actual; else {
ultimo->siguiente=actual;
}
int opcion; actual->siguiente=NULL;
primer=NULL; ultimo=actual;
break;
ultimo=NULL; case 2: printf ("listado de nombres");
actual=primer;
while (actual!= NULL){
printf ("\n Nombre : %s ",actual->nombre);
actual=actual->siguiente;}
break;
case 3 : printf("Fin de programa");
}
} while (opcion != 3);
printf("Programa terminado\n");
return (0);
}
Registros y archivos

Si bien es cierto que se pueden manejar gran


cantidad de datos del mismo y diferente tipo al
mismo tiempo el problema es que al terminar de
ejecutarse el programa los datos se pierden.
De esta situacin nace el concepto de archivos
que son medios en memoria secundaria que
facilita almacenar los datos en forma
permanente.
Organizacin de los archivos :

En general existen dos tipos de archivos:

Archivos Secuenciales.- En este caso los datos se


almacenan en forma consecutiva y no es posible leer
(recuerdan que significa esta operacin) ningun registro
(recuerdan la nota de arriba) directmente, es decir
para leer el registro n se deber recorrer o accesar los
n-1 registros anteriores.

Archivos Directos o Random.- Para este caso si se


puede acceder o leer directamente un rengln n
cualquiera.
Organizacin Secuencial:

-El trmino organizacin secuencial implica


que lgicamente los registros del archivo
estn almacenados consecutivamente.

La organizacin secuencial es la
organizacin de archivo ms comn. Los
registros son almacenados uno tras otro
en orden de llegada. Para acceder un
registro determinado se deben leer todos
los registros que estn almacenados antes
de ste.
Operaciones bsicas con archivos:

ESCRIBIR O GRABAR: Operacin mas elemental con


un archivo, consiste en tomar un o unos datos en
variables de cualquier tipo (escalar, mezcla de datos,
arreglos, estructuras) y almacenarlas en un archivo de
datos en disco.

LEER: Operacin consistente en sacar los datos del


archivo en disco y mandarlos (Ver los datos) o cargar la
variable respectiva
Mtodos de lectura/escritura
El paquete standar de input/output de C, hace disponible 4 metodos o maneras
diferentes de leer y escribir los datos a disco.

Tres de ellas corresponden exactamente a lo aprendido de leer y escribir datos


desde el teclado hacia la pantalla.

1.- Datos a ser grabados o leidos como un caracter a la vez, se utilizaran funciones
analogas a getchar y putchar.

2.- Datos que pueden ser leidos o grabados como una string se usaran funciones
analogas a gets y puts.

3.- Datos que se capturen o desplieguen con formatos parecidos a los usados por
scanf y printf se usaran funciones similares, es decir sern problemas que involucran
mezclas de strings, caracteres, floats, etc.

4.- Tambien se podran leer y escribir datos de tipo arreglo y registros utilizando
instrucciones apropiadas de lectura y escritura de datos que permita el compilador.
Almacenamiento de archivos

Modo Texto: en este caso los datos son almacenados


usando Ascii y por tanto son plenamente visibles usando
cualquier editor.

Modo Binario: en este caso los datos son almacenados


en notacin hexadecimal y por tanto se ocupa un editor
binario para reconocerlos, sin embargo un archivo
binario es mas compacto que un archivo texto.
Operaciones bsicas con los archivos

1.- Creacin de Archivo.- En este proceso se pretende solamente crear un archivo


nuevo en disco con su nombre tipo y especialidad de almacenamiento de datos
apropiado.

2.- Apertura de Archivos.- En este caso se pretende abrir un archivo ya existente


en disco para procesarlo ya sea para cargar o grabar estructuras en sus registros o
leer algun registro en especial para mandarlo a una variable de cualquier tipo.

3.-Cierre de archivos: Es la operacin mas importante en cualquier programa que


maneje archivos, o se cierra el archivo como ultima instruccin del pograma o se
vera el anuncio ABORT,RETRY,FAIL.

4.-Altas en archivo.- En este proceso se captura una estructura en memoria con


sus datos pertinentes y despues se graba la estructura al archivo en disco.

5.-Lectura de archivo.- En este proceso se abre el archivo, se manda el registro


de disco a una estructura en memoria para su procesamiento.
Operaciones bsicas con los archivos
6.- Consulta de archivos: En este proceso se pretende desplegar todos los registros
del archivo en disco a la pantalla ya sea consola o mejor an, a una pagina html

7.-Busqueda en archivos: Una de las operaciones mas comunes consiste en que el


usuario pide toda la informacin de algun renglon en disco porporcionando la
informacin de algun campo generalmente el campo clave de la estructura.

8.- Filtros.- En este proceso el usuario esta interesado en algun conjunto de


renglones con caracteristicas comunes (condicin), por ejemplo todos los alumnos de
sistemas o todos los empleados que ganen mas de $500.00 pesos, o todos los
clientes que sean de tijuana, etc

9.-Modificaciones de registros o archivos: Problema muy comun, donde los datos


originales ya grabados se tienen que cambiar o actualizar, por ejemplo el nombre no
era juan es juana, o la calificacin no es 100 es 20, etc.

10.- Bajas de registros: tambien muy comun este proceso,por ejemplo el alumno ya
egreso, el cliente huyo, etc. (baja fisica o baja logica)
Abrir y cerrar un archivo en C.

Abrir y cerrar

FILE *fopen(char *nombre, char *modo);


Devuelve NULL en caso de error
modo="r" Lectura
modo="r+" Lectura (y escritura)
modo="w" Escritura
modo="w+" Escritura (y lectura)
modo="a" Aadir al final
modo="a+" Aadir al final (y lectura)
modos=rb, rb+, wb, wb+, ab, ab+ binario
int fclose(FILE *puntero al archivo);
Devuelve 0 si no hay error
Ejemplos de creacin, altas y consultas de un archivo en C.
FILE//Prog17.cpp
// Objetivo : Crear la estructura del archivo, sin datos

#include <stdio.h>
#include <conio.h>
#include <string.h>

struct {
int matricula;
char nombre[30];
int edad;}alumno;

main() {

//creando y cerrando el archivo en disco

FILE *archdisco;
// El archivo se llama alumnos.dat el el directorio raiz de C
archdisco = fopen("C:\\alumnos.txt","w");

fclose(archdisco);

printf("** ARCHIVO CREADO..: Verifiquelo en su ruta, Gracias ..\n");


printf(">Presione ENTER para continuar ..");

getchar();
}
Comentarios:

La funcion fopen() cuando realiza el trabajo de abrir un archivo, regresa la


direccion fisica donde crea o graba el archivo en disco.

El primer parametro o argumento en esta funcin es la UNIDAD de disco y el


nombre del archivo.
El segundo parametro o argumento es llamado modo y es una de los varios modos
que podemos usar.

r Lectura.
w Escritura.
a Append, si el archivo ya existe append empieza a aadir los nuevos datos
al final del archivo ya existente.
r+ Lectura y escritura, ya debe existir el archivo.
w+ Crea para lectura y escritura y si ya existe, sobreescribe.
a+ Crea o abre para lectura y append, sino existe el archivo sera creado.

En adicion a los valores listados tambien es permitido agregar uno de los


siguientes caracteres, pero insertandolo antes del signo +
modo significado.

t lo abre en modo texto.


b lo abre en modo binario.
// prog26.cpp. Objetivo: Captura datos en alumnos.txt

#include <stdio.h>
#include <conio.h>
#include <string.h>

struct {
int matricula;
char nombre[30];
int edad;} alumno;

main() {

// captura de campos
printf("No. de Cuenta :");scanf("%d",&alumno.matricula);getchar();
printf("Nombre :");gets(alumno.nombre);
printf("Edad :");scanf("%d",&alumno.edad);

// grabando a disco

FILE *archdisco;

archdisco = fopen("C:\\alumnos.txt","ab+");

fwrite(&alumno,sizeof(alumno),1,archdisco);

fclose(archdisco);

//avisando usuario

printf("** ALUMNO INSERTADO...\n");


printf(">Presione ENTER para continuar ..");

getchar();getchar();

}
// prog27.cpp. Despliega los datos a partir del archivo alumnos.txt
#include <stdio.h>
#include <conio.h>
#include <string.h>

struct {
int matricula;
char nombre[30];
int edad;}alumno;

main() {

// leyendo disco
FILE *archdisco;

archdisco = fopen("C:\\alumnos.txt","rb+");

// aqui siempre debe empezar el ciclo de lectura


// y fread() regresa siempre cuantas estructuras leyo

while(fread(&alumno,sizeof(alumno),1,archdisco)==1)
{
// desplegando estructuras
printf("%d ",alumno.matricula);
printf("%s ",alumno.nombre);
printf("%d ",alumno.edad);
printf("\n");

}; // aqui termina while

// no olvidar cerrar archivo y siempre fuera de while


fclose(archdisco);

printf("**>\n");
printf("Presione ENTER para continuar ..");
getchar();
}
Ejemplo de Directorio Telefonico

struct dir{
char nombre[30]; /* Nombre */
char calleNum[40]; /* calle numero */
char ciudadPob[20]; /* ciudad, poblacion */
char cp[6]; /* Codigo postal */
char telefono[20]; /* Direccion Postal */
struct dir *siguiente; /* Apuntador a la siguiente entrada */
struct dir *anterior; /* Apuntador al registro anterior */
}lista_entrada;

Lista doblemente enlazada


Practica 51e

Hacer un programa Directorio con los


datos del grupo.
Clases:

Programacin Orientada a Objetos.- Paradigma de programacin que utiliza


los objetos en sus interacciones para disear aplicaciones y programas
informticos.

Objeto.- Cualquier cosa que se puede pensar o ver

Clase.- Conjunto de objetos que interactan

Mtodos.- acciones y operaciones

Atributos.- Caractersticas o propiedades de los objetos.

Las caractersticas pueden ser:

Encapsulamiento.- La capacidad de un objeto de tener datos (atributos) y


cdigos o mtodos

Herencia.- Las clases pueden heredar atributos de padres a hijas

Polimorfismo.- Permite crear diferentes mtodos


TERMINOLOGA

Algunos trminos importantes que podemos mencionar son:

Clave.- campo que contiene informacin nica, se le llama campo clave

Registro Fsico o Bloque. Un bloque, en informtica, es la cantidad ms pequea de


datos que pueden transferirse en una operacin de entrada/salida entre la memoria
principal de una computadora y los dispositivos perifricos o viceversa.

Factor de Bloqueo. Es el nmero de registros lgicos que puede contener como


mximo un registro fsico o bloque.

Tipos de Datos. Los tipos de datos hacen referencia al tipo de informacin que se
trabaja, donde la unidad mnima de almacenamiento es el dato. Estructuras de
Datos. Es una es una forma de organizar un conjunto de datos elementales con el
objetivo de facilitar su manipulacin.

Tipos Abstractos de Datos. (TAD) es un modelo matemtico compuesto por una


coleccin de operaciones definidas sobre un conjunto de datos para el modelo.
TERMINOLOGA

Campo : Es la unidad de informacin lgicamente significativa ms pequea en un


archivo. Un registro de un archivo est compuesto de varios campos.

Registro: Conjunto de campos relacionados. Por ejemplo los datos de una


factura, como el RUT, NOMBRE, FECHA, DIRECCION, pueden conformar un
registro.

Acceso directo: Modo de acceder a un archivo, que implica saltar al lugar


preciso donde se encuentra un registro.

Acceso secuencial: Modo de acceder a un archivo, que implica leer el archivo


desde el principio y continuar hasta que se haya ledo todo lo necesario.

Bsqueda secuencial : Mtodo de bsqueda en un archivo, que implica leer el


archivo desde el principio y continuar hacindolo hasta que se haya encontrado el
registro deseado.

Mtodo de acceso: Enfoque proporcionado para localizar informacin en un


archivo.
Caractersticas de los Campos

Longitud: Es el tamao del campo, medido en caracteres. Puede ser fija o


variable.

Clase: Es la definicin del tipo de dato que ser almacenado en el campo. Los
tipos de datos ms comunes son: Numricos, Binarios, Alfabticos,
Alfanumricos y Lgicos

Alineamiento: Es la ubicacin del dato dentro del campo. Las posiciones tpicas
son a la izquierda y a la derecha.

Relleno: Un campo, dependiendo del sistema computacional, una vez definida


su clase puede ser llenado por el sistema, con valores predeterminados o por
defecto. Para los nmeros se utiliza tpicamente los ceros y para los caracteres
se usan los blancos. Puede no existir relleno.
Estructura de Registro

Posicional: En esta representacin cada campo tiene una posicin fija


dentro del registro.

Relacional: Los Valores pueden se de cualquier largo, y la forma de


distinguirlos es a travs de un separador, el que debe ser tal que no
pertenezca al conjunto de valores posibles para los registro.

Rotulada: Los campos atributos se especifican explcitamente en esta


representacin. Para esta representacin se usan rtulos que identifican
cada campo.
Conceptos de la estructura: Presentacin de datos

Estructura Jerrquica:

Campos.- espacio de almacenamiento para un dato en particular


(Ejem. Nombre)

Registros.- Conjunto de campos (Ejem. Registro de clientes)

Archivos.- Conjunto de registros (Ejem: Clientes, artculos,


proveedores)

Base de Datos.- Conjunto de archivos interrelacionados (Ejem. BD


empresa)
Base de Datos

Conjunto de datos almacenados en


archivos relacionados entre si que
tienen un significado implcito para la
toma de decisiones
Modelo de Base de Datos

Es el fundamento terico de una base de datos


y determina de que manera los datos van a ser
guardados, organizados y manipulados en un
sistema de base de datos. De esta forma,
define la infraestructura ofrecida por un
sistema de base de datos particular.

El ejemplo mas popular de un modelo de base de


datos, es el modelo relacional
Sistema Manejador de Base de Datos
El sistema manejador de bases de datos (Data Base
Manager System) es la porcin ms importante del software
de un sistema de base de datos.

Un DBMS es una coleccin de numerosas rutinas de


software interrelacionadas, cada una de las cuales es
responsable de alguna tarea especfica. Consiste en un
conjunto de programas, procedimientos y lenguajes que nos
proporcionan las herramientas necesarias para trabajar con
una base de datos. Incorporar una serie de funciones que
nos permita definir los registros, sus campos, sus
relaciones, insertar, suprimir, modificar y consultar los
datos.
Funciones de un Sistema Manejador de Base de Datos

Las funciones principales de un DBMS son:


Crear y organizar la Base de datos. Establecer
y mantener las trayectorias de acceso a la base
de datos de tal forma que los datos puedan ser
accesados rpidamente. Manejar los datos de
acuerdo a las peticiones de los usuarios.
Registrar el uso de las bases de datos.
Interaccin con el manejador de archivos.
DBMS ms populares

Nombre Productos
Sybase Adaptive Server
Oracle8, Oracle8i, Oracle8iEE,
Oracle
Oracle9i, Oracle 10g
PostgreSQL PostgreSQL
Microsoft Access, MS-SQL Server
MySQL MySQL
Illustra, Universal Server, Dynamic
Informix
Server
IBM DB2
Apache Derby
SQLite SQLite
Firebird Firebird
Conexin con Bases de Datos

Son los procedimientos e instrucciones para


acceder a la Base de Datos ya sea desde el
SMBD o algn lenguaje de programacin en
particular por ejem. C#, Java, Visual Basic,
etc.
Diseo y creacin de Bases de Datos

stos son los pasos bsicos para disear y crear una base de
datos:

1.Determinar su finalidad a partir de analizar un problema de


necesidad de informacin.
2.Hacer un modelo o diseo conceptual. (Nivel general y abstracto)
3.Hacer un modelo lgico. (Nivel detallado Entidad-Relacin)
3.1.Determinar las tablas que se necesitan.
3.2.Determinar los campos que se incluirn en las tablas.
3.3.Determinar las relaciones entre las tablas.
4. Hacer un modelo fsico. (Llevar el modelo lgico al SMBD)
5.Agregar datos.
Instrucciones SQL

Es el lenguaje de programacin para Bases de Datos.

El Lenguaje de Consulta Estructurado (SQL) es un lenguaje Standard


que funciona para interactuar con las Bases de Datos.

Nos centraremos especialmente en las siguientes Instrucciones

SELECT
UPDATE
INSERT
DELETE
SELECT

SELECT es la instruccin por excelencia del SQL, ya que permite


Consultar o desplegar los datos determinados de la Base de Datos.

Sintaxis Bsica:
SELECT <campos>
FROM <tablas>
WHERE <condicin>
ORDER BY <campos>
Ejemplos:
select matricula, nombre, direccion, refpago
from alumnos
where id = 1;

select * from alumnos order by nombre;

select alumnos.matricula, nombre, refpago, monpago


from alumnos, pagos
where refpago = pf;
UPDATE

UPDATE sirve para actualizar datos en una tabla.

Sintaxis Bsica:

UPDATE <tabla>
SET <campo1> = <valor1>
<campo1> = <valor>
WHERE <condicin>
Ejemplo:

UPDATE alumnos SET carrera = 'administracion'


WHERE id = 1;
INSERT

INSERT es para insertar registros a una tabla.

Sintaxis Basica:

INSERT INTO <tabla> ( campo1, campo2... )


VALUES (valor1, valor2.... )

Ejemplos:

INSERT INTO pagos


VALUES (2,'2000000','30','mensualidad',1400);
DELETE
DELETE sirve para borrar registros a una tabla.

Sintaxis Basica:

DELETE FROM <tabla>


WHERE <condicin>

Ejemplo:
DELETE * FROM alumnos
WHERE id >1;

Вам также может понравиться