You are on page 1of 65

Introduccin 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 abstraccin de la informacin.

DATO E INFORMACIN

Informacin es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario.

Dato es un conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos.

Para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debe guardar lgicamente en archivos.

Ejemplo Archivos Tradicionales

Ejemplo Archivos Tradicionales


Se cuenta con dos archivos Clientes y Facturas. El primer archivo tiene los datos bsicos 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 1225 Nombre Juan Garca Direccin Guan 1202 Rincn 876 ......... Telefono 4182569 E-mail jgarcia@adinet.co m.uy Fmar@gmail.com ........

Desventajas:
-Se -Se

duplican esfuerzos

1226 ....

Fernando Martnez .......

9157878 .........

presentan redundancias de datos (datos repetidos innecesaramente)


-Se

Facturas
Num 1225 1226 ..... Nombre Joaqun Garca Fernando Martnez ....... Dom. Rincn 1224 Misiones 1456 ........ Producto Azulejos Pintura ....... Precio 1250 900 ......

pueden producir contradicciones entre los datos, si por ejemplo se ingresan nombres diferentes para un mismo cliente.

CONCEPTOS BSICOS

Campo Registro Archivo Base de Datos DBMS Esquema de Base de Datos Administracin de Base de Datos

BASE DE DATOS (BD).

Es una coleccin de archivos interrelacionados, son creados con un DBMS.


Una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla.

El contenido de una base de datos engloba a la informacin concerniente (almacenadas en archivos) de una organizacin, de tal manera que los datos estn disponibles para los usuarios.

Una base de datos, es una coleccin de tablas en las que se almacena un conjunto especfico de datos estructurado. Una tabla contiene una coleccin de filas, tambin denominada tuplas o registros. Columnas, tambin llamadas atributos. Cada columna de la tabla se ha diseado para almacenar un determinado tipo de informacin, ej: fecha, nombres, importes en moneda, o nmeros

CAMPO, REGISTRO Y ARCHIVO

Campo es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una caracterstica de un individuo u objeto.

Registro es una coleccin de campos de iguales o de diferentes tipos. Archivo es una coleccin de registros almacenados siguiendo una estructura homognea.

Estructura de una Base de Datos


Llave primaria

Chile Per

Dominio

Entidad (Tabla)

Legajo 1 2 3 4

Apellido Rimoli Lemos Salgado Ponce


Atributos Columnas

Edad 33 44 55 66

Nacin

Chile Per Brasil Argentina

Registros (filas)

La entidad alumnos se convierte en la tabla:

Entidad Propiedad

Tabla Columna (Atributos)

Cada fila representa un Registro. La clave puede estar formada por una o ms columnas
DPOM - Bases de datos MySQL. Prof. Eugenio Tisselli.

11

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 informacin de los clientes, cuentas y prstamos, y transacciones.

LNEAS AREAS:
informacin de planificacin.

Para reservas e

TELECOMUNICACIONES : Para guardar un registro de las llamadas


realizadas, generacin mensual de facturas, manteniendo el saldo de las tarjetas telefnicas prepago y para almacenar informacin sobre redes de comunicaciones.

UNIVERSIDADES:

Para informacin de los estudiantes, matriculas de las asignaturas y cursos.

FINANZAS:

TRANSACCIONES DE TARJETAS DE CRDITO:


Para compras con TC y generacin mensual de extractos.

Para almacenar informacin sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos.

VENTAS: Para informacin de clientes


productos y compras.

RECURSOS HUMANOS:

para informacin sobre los empleados, salarios, impuestos y beneficios, y para la generacin de nominas.

PRODUCCIN: Para la gestin de


la cadena de produccin y para el seguimiento de la produccin de elementos en las factoras, inventarios de elementos en almacenes y pedidos de elementos.

SISTEMA MANEJADOR DE BD.

Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea especfica.

El objetivo de un sistema manejador base de datos es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular informacin de la base de datos.
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 definicin de datos. (DDL)

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, diseo de bases de datos, Sistemas operativos, comunicacin de datos, hardware y programacin.

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. Anomalas 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 aplicacin, existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es decir que la misma informacin se encuentre ms 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 difcil escribir programas de aplicacin que necesiten acceder a stos (datos) adecuadamente.

ANOMALAS DEL ACCESO CONCURRENTE.

Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos simultneamente.
En un entorno as la interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes.

PROBLEMAS DE SEGURIDAD.

La informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos. No todos los usuarios pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificacin y proteccin 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 aadiendo cdigos apropiados en los diversos programas de aplicacin.

QU ES LA ABSTRACCIN DE DATOS?

Un objetivo importante de un sistema de base de datos es proporcionar a los usuarios una visin abstracta de los datos, es decir, el sistema esconde ciertos detalles de cmo se almacenan y mantienen los datos.

NIVELES DE ABSTRACCIN

Existen diferentes niveles de abstraccin para simplificar la interaccin de los usuarios con el sistema:

Interno-Fsico Conceptual Externo-Visin

NIVEL FSICO

Es la representacin del nivel ms bajo de abstraccin. 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 (ms alto) de abstraccin. 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 trminos de su estructura de diseo.

DEFINICIONES EN EL NIVEL CONCEPTUAL

Consta de las siguientes definiciones: Definicin 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 artculos 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 mltiples.

NIVEL DE VISIN.

Nivel ms alto de abstraccin, es lo que el usuario final puede visualizar del sistema terminado. Describe slo 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 Gestin de Bases de Datos MySQL

Bases de Datos MySQL

Ventajas de MySQL: * Robusto * Cdigo 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...

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, mail, codigocurso.

Bases de Datos MySQL

Dar click en phpMyAdmin,

COLEGIO
Click

alumnos 4

Click

Tipo

Auto incremental
Tipo llave

Click
Llave

Campos: codigo, nombre, mail, codigocurso

Actividad Tarea1
Para entregar el sbado21 de septiembre

Terminar de codificar en php los ejercicios de los talleres 2 y 3, comprobando su funcionamiento en Wampserver o Xamp.

Actividad Tarea2

Crear una Base de datos : empresa Tabla :empleados Dentro de la tabla crear los siguientes campos:

cedula, nombre, cargo, sueldo, eps, tel


Llave no incremental A_I

* Ingresar datos con un programa tipo Formulario (2 programas html php)

Actividad Tarea3

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 Tcnico en programacin de software.

PROGRAMA DE ENTRADA DE DATOS formulario.php

Ingreso o captura de datos


Base de datos :colegio Tabla :alumnos Dentro de la tabla crear los siguientes campos: Codigo, nombre, mail, codigocurso
Juan
juan@hotmail.com 1 PHP 2- ASP 3 - JSP

<html> <head> formulario1.php <title>Problema</title> </head> <body> <h1>Alta de Alumnos</h1> <form action=captura1.php" method="post"> Ingrese nombre: <input type="text" name="nombre"><br> Ingrese mail: <input type="text" name="mail"><br> Seleccione el curso: <select name="codigocurso"> <option value="1">PHP</option> <option value="2">ASP</option> <option value="3">JSP</option> </select> <br> <input type="submit" value="Registrar"> </form> </body> </html>

<?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(nombre,mail,codigocurso) values ('$_REQUEST[nombre]','$_REQUEST[mail]',$_REQU EST[codigocurso])", $conexion) or die("Problemas en el select".mysql_error()); mysql_close($conexion); echo "El alumno fue registrado."; ?>

captura1.php

PROGRAMA DE SALIDA DE INFORMACIN

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 INFORMACIN

consulta de un slo registro

<html> <head> <title>Problema</title> </head> <body> <form action="consulta2.php" method="post"> Ingrese el Cdigo 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 seleccin 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 cdigo."; } mysql_close($conexion); ?>

consulta2.php

Desarrollo de atividad tarea 2

Actividad Tarea2

Crear una Base de datos : empresa Tabla :empleado Dentro de la tabla crear los siguientes campos:

cedula, nombre, cargo, sueldo, eps, tel


Llave no incremental A_I

* Ingresar datos con un programa tipo Formulario (2 programas html php)

Entrada o captura de datos

<html> <head> <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>

formulario1.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."; ?>

captura1.php

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 slo registro

<html> <head> <title>Problema</title> </head> <body> <form action="consulta.php" method="post"> Ingrese la cdula 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 seleccin 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

Actividad Tarea3

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 Tcnico en programacin de software.

Actividad Tarea1
Para entregar el sbado21 de septiembre

Terminar de codificar en php los ejercicios de los talleres 2 y 3, comprobando su funcionamiento en Wampserver o Xamp.

You might also like