Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UTM
1
¿Qué es una base de datos?
Una base de datos (BD) es una colección de
información organizada de tal forma que un
programa pueda seleccionar rápidamente
conjuntos de datos deseados.
Las bases de datos tradicionales se
organizan por campos, registros y archivos.
Un campo es una pieza simple de
información.
Un registro es un conjunto completo de
campos.
Un archivo es un conjunto de registros
Una base de datos está determinada por
un conjunto de archivos.
3
Algunas Aplicaciones con DBMS
Sistemas de reservación
Inventarios
Sistema de consulta de una biblioteca
Sistema para control de Recursos humanos
Bases de datos topográficas, etc
El modelo relacional
Este es el modelo que se está empleando con más frecuencia en la
práctica, debido el rápido entendimiento por parte de los usuarios que no
tienen conocimientos profundos sobre Sistemas de Bases de Datos
7
8
3NF
Se cumple con esta forma cuando se tienen columnas
independientes. Es decir cuando una columna no puede ser
derivada de otra.
Por ejemplo no es necesario un campo edad si se tiene por
ejemplo la fecha de nacimiento.
Llaves
Es una columna o grupo de, que funciona como un
identificador único en una columna.
9
El diseño físico
Se hace un refinamiento del diseño lógico y se elige qué DBMS
se usará. En esta etapa se determina:
Los datos que se usarán más comunmente
Columnas que requieran índices
Áreas que necesitarán más espacio físico por un mayor
incremento de la información que habrá en ella
Si es factible hacer una desnormalización de los datos para
obtener una mejora en el rendimiento de la BD
SQL
El lenguaje de consulta estructurado (SQL) es un lenguaje de
base de datos normalizado, utilizado por los diferentes motores
de bases de datos para realizar determinadas operaciones sobre
los datos o sobre la estructura de los mismos.
10
Componentes de SQL
El lenguaje SQL está compuesto por comandos, cláusulas,
operadores y funciones de agregado. Estos elementos se
combinan en las instrucciones para crear, actualizar y manipular
las bases de datos.
Comandos
Existen dos tipos de comandos SQL:
Los DLL que permiten crear y definir nuevas bases de datos,
campos e índices.
Los DML que permiten generar consultas para ordenar, filtrar y
extraer datos de la base de datos.
Comandos DLL
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
ALTER Utilizado para modificar las tablas agregando campos o
cambiando la definición de los campos.
11
Comandos DML:
SELECT Utilizado para consultar registros de la base de
datos que satisfagan un criterio determinado
INSERT Utilizado para cargar lotes de datos en la base de
datos en una única operación.
UPDATE Utilizado para modificar los valores de los campos y
registros especificados
DELETE Utilizado para eliminar registros de una tabla de
una base de datos
Cláusulas
Las cláusulas son condiciones de modificación utilizadas
para definir los datos que desea seleccionar o manipular.
FROM Utilizada para especificar la tabla de la cual se van a
seleccionar los registros
WHERE Utilizada para especificar las condiciones que deben
reunir los registros que se van a seleccionar
GROUP BY Utilizada para separar los registros
seleccionados en grupos específicos
ORDER BY Utilizada para ordenar los registros
seleccionados de acuerdo con un orden específico
12
Operadores lógicos
AND Es el "y" lógico. Evalua dos condiciones y devuelve un
valor de verdad sólo si ambas son ciertas.
OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor
de verdar si alguna de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la
expresión.
Operadores de Comparación
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo
In Utilizado para especificar registros de una base de datos
13
Funciones de Agregado
Las funciones de agregado se usan dentro de
una cláusula SELECT en grupos de registros
para devolver un único valor que se aplica a un
grupo de registros.
AVG Utilizada para calcular el promedio de los
valores de un campo determinado
COUNT Utilizada para devolver el número de
registros de la selección
SUM Utilizada para devolver la suma de todos los
valores de un campo determinado
MAX Utilizada para devolver el valor más alto de un
campo especificado
MIN Utilizada para devolver el valor más bajo de un
campo especificado
14
Supongamos la BD para una
librería con la siguiente estructura
autorLibro
Libros Field Type
Field Type ISBN varchar(20)
ISBN varchar(20) Nombre varchar(40)
titulo varchar(80) Apellidos varchar(40)
precio float
Ventas
editorial varchar(80) Field Type
edicion varchar(20) id int(11)
RFC varchar(30)
annoEdic int(11)
ISBN varchar(20)
Idioma varchar(40) Cliente varchar(60)
annoE existen
ISBN titulo precio editorial edicion Idioma
dic cia
84-189- Españ
Redes para todos 215.62 Prentice Hall 2 1999 7
76952-0 ol
17
Consultas que implican más de una tabla:
La siguiente consulta:
select sum(preciounidad*cantidad) from ventas
select sum(preciounidad*cantidad) from ventas where fecha = '2003-12-13'
Arrojaría
sum(preciounidad*cantidad)
675.94999694824 19
select autorlibro.apellidos, libros.titulo, libros.precio
from autorlibro, libros where libros.ISBN=
autorlibro.ISBN and autorlibro.apellidos like 'Joy%‘
order by titulo
apellidos titulo precio
Joyanes Aguilar Fundamentos de programacion 325.23
21
INSERT
Insertar un único Registro
INSERT INTO Tabla (campo1, campo2, .., campoN)
VALUES (valor1, valor2, ..., valorN)
22
Actualización de valores
No genera ningún resultado. Para saber qué registros
se van a cambiar, hay que examinar primero el
resultado de una consulta de selección que utilice el
mismo criterio y después ejecutar la consulta de
actualización.
25
1. <body>
2. <?php
3. include("conex.php"); //en este archivo está la función
conectarse
4. $link= conectarse();
5. $result = mysql_query("select titulo, precio from
libros",$link);
6. ?>
7. <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
8. <TR><TD>Titulo</TD><TD>Precio</TD></TR>
9. <?php
3. $link=Conectarse();
4. //Petición de los datos desde la otra forma
5. $nombre=$_GET['nombre'];
6. $apellidos=$_GET['apellidos'];
7. //ejecución de la inserción
8. mysql_query ("insert into prueba (Nombre,Apellidos) values
('$nombre','$apellidos')",$link);
9. mysql_close($link);
10. ?> 27
Bibliografía
Tutoriales SQL
http://www.programacion.com/tutorial/sql/
http://www.wwits.net/programs/dbtutorindex.phtml
PHP y MySQL
http://www.webestilo.com/php/php07a.phtml
Libros:
Database Design Guide – Pervasive Software (e-book)
FUNDAMENTOS DE BASES DE DATOS - KORTH, HENRY F.