Vous êtes sur la page 1sur 96

Introducción a Las Bases

De Datos
OBJETIVOS

 Conocer y comprender el concepto de Base de


datos.
 Reconocer los elementos involucrados en el
concepto de base de datos.
 Conocer los objetivos de los sistemas de base
de datos.
 Conocer los diferentes niveles de abstracción
de la información.
DATO E INFORMACIÓN
 Información es un
conjunto ordenado
de datos los cuales
son manejados
según la necesidad
del usuario.
 Dato es un conjunto de
caracteres con algún
significado, pueden ser  Para que un
numéricos, alfabéticos, conjunto de datos
o alfanuméricos. pueda ser procesado
eficientemente y
pueda dar lugar a
información,
primero se debe
guardar lógicamente
en archivos.
Ejemplo Archivos
Tradicionales
Ejemplo Archivos Tradicionales

Se cuenta con dos archivos Clientes y Facturas. El primer archivo


tiene los datos básicos de los clientes, mientras que en el segundo
se almacenan las ventas realizadas. Al emitir cada factura se
ingresan nuevamente los datos num, nombre, domicilio.
Clientes
Num Nombre Dirección Telefono E-mail
1225 Juan García Guaná 4182569 jgarcia@adinet.co Desventajas:
1202 m.uy
-Se duplican esfuerzos
1226 Fernando Rincón 876 9157878 Fmar@gmail.com -Se presentan
Martínez redundancias de
.... ....... ......... ......... ........ datos (datos repetidos
innecesaramente)
Facturas -Se pueden producir
contradicciones entre
Num Nombre Dom. Producto Precio los datos, si por
ejemplo se ingresan
1225 Joaquín García Rincón Azulejos 1250 nombres diferentes para
1224 un mismo cliente.
1226 Fernando Misiones Pintura 900
Martínez 1456
..... ....... ........ ....... ......
CONCEPTOS BÁSICOS

 Campo
 Registro
 Archivo
 Base de Datos
 DBMS
 Esquema de Base de Datos
 Administración de Base de Datos
BASE DE DATOS (BD).

 Es una colección de  El contenido de una


archivos base de datos
interrelacionados, engloba a la
son creados con un información
DBMS. concerniente
(almacenadas en
 Una finalidad de la archivos) de una
base de datos es organización, de tal
eliminar la manera que los
redundancia o al datos estén
menos minimizarla. disponibles para los
usuarios.
 Una BASE DE DATOS, es una
colección de TABLAS o entidades en
las que se almacena un conjunto
específico de datos estructurado.
 Una tabla contiene una colección de
FILAS, tuplas o registros.
 COLUMNAS, también llamadas
campos o atributos. Cada columna de
la tabla se ha diseñado para almacenar
un determinado tipo de información,
ej: fecha, nombres, importes en
moneda, o números
CAMPO, REGISTRO Y ARCHIVO

 Campo, o columna
es la unidad más
pequeña a la cual  Registro es una
uno puede referirse colección de campos
en un programa. de iguales o de
diferentes tipos.
 Desde el punto de
vista del  Archivo es una
programador colección de
representa una registros
característica de un almacenados
individuo u objeto. siguiendo una
estructura
homogénea.
Estructura de una Base de Datos

Llave
primaria Chile
Perú Dominio

Legajo Apellido Edad Nación


1 Rimoli 33 Chile
Entidad 2 Lemos 44 Perú
(Tabla) Registros
3 Salgado 55 Brasil (filas)
4 Ponce 66 Argentina

Atributos
Columnas
La entidad “alumnos” se convierte en la
tabla:

Entidad Tabla
Propiedad Columna (Atributos)
Cada fila representa un Registro.
La clave puede estar formada por una o
DPOM - Bases de datos MySQL. Prof. 11

más columnas
Eugenio Tisselli.
COMPONENTES DE UN SBD.
 Los tres
componentes
principales de un
sistema de base de
datos son:

 El hardware
 El software DBMS
 Los datos a
manejar
 El personal
encargado del
manejo del
sistema.
 database management
system
APLICACIONES DE LAS BD
BANCA: Para información de los TELECOMUNICACIONES
clientes, cuentas y préstamos, y
transacciones. : Para guardar un registro de las llamadas
realizadas, generación mensual de
LÍNEAS AÉREAS: Para reservas e facturas, manteniendo el saldo de las
información de planificación. tarjetas telefónicas prepago y para
almacenar información sobre redes de
UNIVERSIDADES: Para comunicaciones.
información de los estudiantes, matriculas de
las asignaturas y cursos. FINANZAS: Para almacenar
información sobre grandes empresas,
TRANSACCIONES DE ventas y compras de documentos
formales financieros, como bolsa y bonos.
TARJETAS DE CRÉDITO:
Para compras con TC y generación mensual VENTAS: Para información de
de extractos. clientes productos y compras.
RECURSOS HUMANOS: para PRODUCCIÓN: Para la gestión
información sobre los empleados, salarios, de la cadena de producción y para el
impuestos y beneficios, y para la generación seguimiento de la producción de
de nominas. elementos en las factorías, inventarios de
elementos en almacenes y pedidos de
elementos.
SISTEMA MANEJADOR DE BD.

 El objetivo de un
sistema manejador
base de datos es
proporcionar un
 Un DBMS es una entorno que sea a la
colección de vez conveniente y
numerosas rutinas eficiente para ser
de software utilizado al extraer,
interrelacionadas, almacenar y
cada una de las manipular
cuales es información de la
responsable de una base de datos.
tarea específica.
Database management system SQL. structured query language
ESQUEMA DE LA BD.

 Es la estructura por la que


esta formada la base de datos,
se especifica por medio de un
conjunto de definiciones que
se expresa mediante un
lenguaje especial llamado
lenguaje de definición de
datos. (DDL)
TIPOS DE BASES DE DATOS **
1. JERÁRQUICAS

Éstas son bases de datos que, como su nombre indica,


almacenan su información en una estructura jerárquica.
En este modelo los datos se organizan en una forma
similar a un árbol (visto al revés), en donde un nodo
padre de información puede tener varios hijos. El nodo
que no tiene padres es llamado raíz, y a los nodos que
no tienen hijos se los conoce como hojas.
TIPOS DE BASES DE DATOS
1. JERÁRQUICAS
TIPOS DE BASES DE DATOS
2. TRANSACCIONALES
Son bases de datos cuyo único fin es el envío y
recepción de datos a grandes velocidades, estas
bases son muy poco comunes y están dirigidas por
lo general al entorno de análisis de calidad, datos
de producción e industrial, es importante entender
que su fin único es recolectar y recuperar los datos
a la mayor velocidad posible, por lo tanto la
redundancia y duplicación de información no es un
problema como con las demás bases de datos.
TIPOS DE BASES DE DATOS
2. TRANSACCIONALES
TIPOS DE BASES DE DATOS
3. RELACIONALES
En este modelo, el lugar y la forma en que se
almacenen los datos no tienen relevancia (a
diferencia de otros modelos como el jerárquico y el
de red). Esto tiene la considerable ventaja de que
es más fácil de entender y de utilizar para un
usuario esporádico de la base de datos. La
información puede ser recuperada o almacenada
mediante "consultas" que ofrecen una amplia
flexibilidad y poder para administrar la información.
TIPOS DE BASES DE DATOS
3. RELACIONAL
TIPOS DE BASES DE DATOS
4. DE RED

Es una base de datos conformada por una


colección o set de registros, los cuales están
conectados entre sí por medio de enlaces en
una red. El registro es similar al de una
entidad como las empleadas en el modelo
relacional.
TIPOS DE BASES DE DATOS
4. DE RED
TIPOS DE BASES DE DATOS
5. DOCUMENTALES

Permiten la indexación a texto completo, y en


líneas generales realizar búsquedas más
potentes.

Tesaurus es un sistema de índices optimizado


para este tipo de bases de datos.
OTROS TIPOS DE BASES DE DATOS
5. MULTIDIMENSIONALES
Orientadas desarrollar aplicaciones muy concretas,
como creación de Cubos de información

6. ORIENTADA A OBJETOS
es una base de datos inteligente soporta el
paradigma orientado a objetos almacenando
métodos y datos.
ADMINISTRADOR DE BD.

 Es la persona o equipo de personas


profesionales responsables del
control y manejo del sistema de
base de datos.

 Generalmente tiene(n) experiencia


en DBMS, diseño de bases de datos,
Sistemas operativos, comunicación
de datos, hardware y programación.
OBJETIVOS DE LOS SISTEMAS DE BD.

 Los objetivos principales de un sistema de


base de datos es disminuir los siguientes
aspectos:

 Redundancia e inconsistencia de datos.


 Dificultad para tener acceso a los datos.
 Aislamiento de los datos.
 Anomalías del acceso concurrente.
 Problemas de seguridad.
 Problemas de integridad.
REDUNDANCIA E
INCONSISTENCIA DE DATOS.

 Dado que los archivos son


creados por diferentes tipos de
programas de aplicación, existe
la posibilidad de que si no se
controla detalladamente el
almacenamiento, se pueda
originar un duplicado de
información, es decir que la
misma información se
encuentre más de una vez en un
dispositivo de almacenamiento.
DIFICULTAD PARA TENER
ACCESO A LOS DATOS.

 Un sistema de base de
datos debe contemplar
un entorno de datos
que le facilite al usuario
el manejo de los
mismos.
AISLAMIENTO DE LOS
DATOS.

 Los datos pueden estar repartidos en


varios archivos, con diferentes
formatos, lo que hace difícil escribir
programas de aplicación que necesiten
acceder a éstos (datos) adecuadamente.
ANOMALÍAS DEL ACCESO
CONCURRENTE.

 Para mejorar el funcionamiento global


del sistema y obtener un tiempo de
respuesta más rápido, muchos sistemas
permiten que múltiples usuarios
actualicen los datos simultáneamente.

 En un entorno así la interacción de


actualizaciones concurrentes puede dar
por resultado datos inconsistentes.
PROBLEMAS DE SEGURIDAD.
 La información de toda empresa es
importante, aunque unos datos lo
son más que otros, por tal motivo
se debe considerar el control de
acceso a los mismos.

 No todos los usuarios pueden


visualizar alguna información, por
tal motivo para que un sistema de
base de datos sea confiable debe
mantener un grado de seguridad
que garantice la autentificación y
protección de los datos.
PROBLEMAS DE INTEGRIDAD.

 Los valores de datos


almacenados en la base de
datos deben satisfacer
cierto tipo de restricciones
de consistencia.

 Estas restricciones se hacen


cumplir en el sistema
añadiendo códigos
apropiados en los diversos
programas de aplicación.
¿QUÉ ES LA ABSTRACCIÓN DE
DATOS?

 Un objetivo importante
de un sistema de base de
datos es proporcionar a
los usuarios una visión
abstracta de los datos, es
decir, el sistema esconde
ciertos detalles de cómo
se almacenan y
mantienen los datos.
NIVELES DE ABSTRACCIÓN

 Existen diferentes niveles de abstracción


para simplificar la interacción de los
usuarios con el sistema:

 Interno-Físico
 Conceptual
 Externo-Visión
NIVEL FÍSICO

 Es la representación del nivel más bajo


de abstracción.
 En éste se describe en detalle la forma
en como de almacenan los datos en los
dispositivos de almacenamiento
 Por ejemplo, mediante índices para el
acceso aleatorio a los datos.
NIVEL CONCEPTUAL

 El siguiente nivel
(más alto) de
abstracción.
 Describe que datos
son almacenados
realmente en la base
de datos y las
relaciones que
existen entre los
mismos.
 Describe la base de
datos completa en
términos de su
estructura de
diseño.
DEFINICIONES EN EL NIVEL
CONCEPTUAL
 Consta de las siguientes definiciones:
 Definición de los datos:

 Se describen el tipo de datos y la longitud


de campo todos los elementos
direccionables en la base. Los elementos
por definir incluyen artículos elementales
(atributos), totales de datos y registros
conceptuales (entidades).
 Relaciones entre datos:

 Se definen las relaciones entre datos para


enlazar tipos de registros relacionados
para el procesamiento de archivos
múltiples.
NIVEL DE VISIÓN.

 Nivel más alto de


abstracción, es lo que el
usuario final puede visualizar
del sistema terminado.

 Describe sólo una parte de la


base de datos al usuario
acreditado para verla.
BASES DE DATOS
MYSQL
Bases de Datos MySQL

Para crear una base de


datos utilizaremos el
Sistema de Gestión de
Bases de Datos MySQL
Bases de Datos MySQL

Ventajas de MySQL:
* Robusto
* Código abierto
Bases de Datos MySQL

Existe una herramienta,


llamada phpMyAdmin,
que permite administrar las
bases de datos MySQL
mediante una interfaz
sencilla creada en PHP...INGR.EXP.
Ejercicio. Crear una BD
 Crear una base de datos con
nombre COLEGIO
 Crear una tabla de nombre
ALUMNOS
 Dentro de la tabla crear los
siguientes campos:
 codigo, nombre, apellidos, mail,
curso
Bases de Datos MySQL

Dar click en
phpMyAdmin,
colegio
Click
alumnos Click
5
Tipo llave

Llave

Campos: codigo, nombres, apellidos correo, curso


INSERTAR REGISTROS EN LA
TABLA DE LA BASE DE DATOS
Actividad 1
 Crear una Base de datos : empresa
 Tabla :empleados
 Dentro de la tabla crear los siguientes
campos:
cedula, nombre, cargo, sueldo, eps, telefono

 Insertar 10 registros, por medio de la opción


ENTRADA de PHPMYADMIN
Actividad 2

 Crear una Base de datos utilizando el


PHPmyadmin que contenga 2 tablas y
que correspondan al proyecto que
tiene pensado desarrollar durante el
curso de Técnico en programación de
software.
FORMAS DE
ENTRADA DE DATOS
ENTRADA DE
DATOS
1. PHPMYADMIN
ENTRADA DE
DATOS
2. comando INSERT
comando INSERT

"INSERT INTO tabla1(nombre,edad,estatura)


VALUES(".$NOMBRE.",".$EDAD.",".$ESTATU
RA.") ";
PROGRAMAS HTML
Y PHP
<html>
<head> formulario1.php
<title>Problema</title>
</head>
<body>
<h1>Alta de Alumnos</h1>
<form action="programa1.php" method="post">
Ingrese código de Estudiante:
<input type="text" name="codigo"><br>
Ingrese Nombres:
<input type="text" name="nombres"><br>
Ingrese Apellidos:
<input type="text" name="apellidos"><br>
Ingrese Correo:
<input type="text" name="correo"><br>
Ingrese Curso:
<input type="text" name="curso"><br>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
CONEXIÓN CON LA
BASE DE DATOS
<?php
$conexion=mysql_connect("localhost"
,"root","")
or die("Problemas en la conexion");
mysql_select_db("colegio",$conexion)
or
die("Problemas en la seleccion de la
base de datos");
?>
CONEXIÓN CON LA
BASE DE DATOS
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db("colegio",$conexion) or
die("Problemas en la selección de la base de datos");
?>

REEMPLAZAR
Guardar en archivo

include ("c:/wamp/www/aplicativo/conectar.php");
programa1.php
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db("colegio",$conexion) or
die("Problemas en la seleccion de la base de
datos");
mysql_query("insert into alumnos (codigo,
nombres, apellidos, correo, curso)
values('$_REQUEST[codigo]',
'$_REQUEST[nombres]','$_REQUEST[apellidos]',
'$_REQUEST[correo]','$_REQUEST[curso]')",
$conexion)
or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue registrado.";
?>
Actividad
 Base de datos :colegio
 Tabla :alumnos
 Campos: codigo, nombre, apellidos, mail,
nombre curso

 Ingresar 10 registros por medio de


formulario HTML y programa PHP.
 Utilizar la instrucción INCLUDE.
Acceso a formularios desde
PHP

Elementos de tipo INPUT

SELECT
<html>
<head>
<title>Problema</title>
formulario2.php
</head>
<body>
<h1>Alta de Alumnos</h1>
<form action="programa1.php" method="post">
Ingrese código de Estudiante:
<input type="text" name="codigo"><br>
Ingrese Nombres:
<input type="text" name="nombres"><br>
Ingrese Apellidos:
<input type="text" name="apellidos"><br>
Ingrese Correo:
<input type="text" name="correo"><br>
Seleccione el curso:
<select name="curso">
<option value="1">Primero</option>
<option value="2">Segundo</option>
<option value="3">Tercero</option>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
programa2.php
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db("colegio",$conexion) or
die("Problemas en la seleccion de la base de
datos");
mysql_query("insert into alumnos (codigo,
nombres, apellidos, correo, curso)
values('$_REQUEST[codigo]',
'$_REQUEST[nombres]','$_REQUEST[apellidos]',
'$_REQUEST[correo]','$_REQUEST[curso]')",
$conexion)
or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo "El alumno fue registrado.";
?>
EXPORTAR BASE DE
DATOS
IMPORTAR BASE DE
DATOS
Colegio
Actividad
(Para lunes 18 de noviembre)
1.
 Utilizar la base de datos creada: empresa
 Tabla :empleado

 campos:

cedula, nombre, cargo, sueldo, eps, tel


Ingresar 15 registros con programas
formulario HTML y PHP.
Utilizar la instrucción INCLUDE

2. Leer y estudiar el documento de MYsql


PROGRAMA DE SALIDA DE
INFORMACIÓN
consulta de todos
los registros
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db(“colegio",$conexion) or
die("Problemas en la seleccion de la base de datos");
#Efectuamos la consulta SQL
$result = mysql_query ("select * from alumnos" )
or die("Error en la consulta SQL");
#Mostramos los resultados obtenidos
echo "<table border=’1'>";
echo
"<th>CODIGO</th><th>NOMBRE</th><th>MAIL</th><th>CODIGO
CURSO</th>";
while( $row = mysql_fetch_array ( $result ))
{
echo "<tr>";
echo "<td>".$row[ "codigo" ]."</td>";
echo "<td>".$row[ "nombre" ]."</td>";
echo "<td>".$row[ "mail" ]. "</td>";
echo "<td>".$row[ "codigocurso" ]."</td>";
echo "<tr>";
}
echo "</table>";
consulta1.php
PROGRAMA DE SALIDA DE
INFORMACIÓN
consulta de un sólo
registro
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="consulta2.php"
method="post">
Ingrese el Código del alumno a consultar:
<input type="text" name="codigo">
<br>
<input type="submit" value="buscar">
</form>
</body>
</htm
formulario2.php
<?php
$conexion=mysql_connect("localhost","root","") or
die("Problemas en la conexion");
mysql_select_db("base1",$conexion) or
die("Problemas en la selección de la base de datos");
$registros=mysql_query("select nombre,mail, codigocurso
from alumnos where codigo='$_REQUEST[codigo]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
echo "Nombre:".$reg['nombre']."<br>";
echo "Mail:".$reg['mail']."<br>";
echo "Curso:";
switch ($reg['codigocurso'])
{
case 1:echo "PHP";
break;
case 2:echo "ASP";
break;
case 3:echo "JSP";
break;
}
}
else
{
echo "No existe un alumno con ese código.";
}
mysql_close($conexion);
?>
consulta2.php
Entrada o captura de
datos
<html>
<head>
formulario1.php
<title>Caprura datos</title>
</head>
<body>
<h1>Registro Empleados</h1>
<form action="captura1.php" method="post">
Ingrese Cedula:
<input type="text" name="cedula"><br>
Ingrese Nombre:
<input type="text" name="nombre"><br>
Ingrese Cargo:
<input type="text" name="cargo"><br>
Ingrese Sueldo:
<input type="text" name="sueldo"><br>
Ingrese EPS:
<input type="text" name="eps"><br>
Ingrese Telefono:
<input type="text" name="telefono"><br>
</select>
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
captura1.php
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or
die("Problemas en la seleccion de la base de datos");
mysql_query("insert into
empleado(cedula,nombre,cargo,sueldo,eps,telefono)
values
('$_REQUEST[cedula]','$_REQUEST[nombre]','$_REQUEST
[cargo]','$_REQUEST[sueldo]','$_REQUEST[eps]',$_REQU
EST[telefono])",
$conexion) or die("Problemas en el
select".mysql_error());
mysql_close($conexion);
echo "El empleado fue registrado.";
?>
Salida de datos
con todos los
registros
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or
die("Problemas en la seleccion de la base de datos");
#Efectuamos la consulta SQL
$result = mysql_query ("select * from empleado" )
or die("Error en la consulta SQL");

#Mostramos los resultados obtenidos

echo "<table border=’1'>";


echo
"<th>CEDULA</th><th>NOMBRE</th><th>CARGO</th><th>SUELDO</th><th>E
PS</th><th>TELEFONO</th>";
while( $row = mysql_fetch_array ( $result ))
{
echo "<tr>";
echo "<td>".$row[ "cedula" ]."</td>";
echo "<td>".$row[ "nombre" ]."</td>";
echo "<td>".$row[ "cargo" ]. "</td>";
echo "<td>".$row[ "sueldo" ]."</td>";
echo "<td>".$row[ "eps" ]."</td>";
echo "<td>".$row[ "telefono" ]."</td>";
echo "<tr>";
}
echo "</table>"; consultatodos.php
?>
Salida de datos
consulta un sólo
registro
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="consulta.php"
method="post">
Ingrese la cédula del empleado a consultar:
<input type="text" name="cedula">
<br>
<input type="submit" value="buscar">
</form>
</body>
</html>
formulario.php
<?php
$conexion=mysql_connect("localhost","root","") or
die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or
die("Problemas en la selección de la base de datos");
$registros=mysql_query("select
cedula,nombre,cargo,sueldo,eps,telefono
from empleado where cedula='$_REQUEST[cedula]'",$conexion) or
die("Problemas en el select:".mysql_error());
if ($reg=mysql_fetch_array($registros))
{
echo "CEDULA:".$reg['cedula']."<br>";
echo "NOMBRE:".$reg['nombre']."<br>";
echo "CARGO:".$reg['cargo']."<br>";
echo "SUELDO:".$reg['sueldo']."<br>";
echo "EPS:".$reg['eps']."<br>";
echo "TELEFONO:".$reg['telefono']."<br>";
}
else
{
echo "No existe empledo con ese Documento de Identidad.";
}
mysql_close($conexion);
?> consulta.php

Vous aimerez peut-être aussi