Title: Bases de Datos I. Introducci
1Bases de Datos I. Introducción a MySQL
2Aplicación de las bases de datos
Las bases de datos son ampliamente usadas. Las
siguientes son algunas de sus aplicaciones más
representativas
Banca. Para información de los clientes, cuentas
y préstamos, y transacciones bancarias.
Líneas aéreas. Para reservas e información de
planificación. Las líneas aéreas fueron de los
primeros en usar las bases de datos de forma
distribuida geográficamente (los terminales
situados en todo el mundo accedían al sistema de
bases de datos centralizado a través de las
líneas telefónicas y otras redes de datos).
Universidades. Para información de los
estudiantes, matrículas de las asignaturas y
cursos.
Transacciones de tarjetas de crédito. Para
compras con tarjeta de crédito y generación
mensual de extractos.
Líneas aéreas. Para reservas e información de
planificación. Las líneas aéreas fueron de los
primeros en usar las bases de datos de forma
distribuida geográficamente (los terminales
situados en todo el mundo accedían al sistema de
bases de datos centralizado a través de las
líneas telefónicas y otras redes de datos).
Telecomunicaciones. Para guardar un registro de
las llamadas realizadas, generación mensual de
facturas, manteniendo el saldo de las tarjetas
telefónicas de prepago y para almacenar
información sobre las redes de comunicaciones.
3Aplicación de las bases de datos
Finanzas. Para almacenar información sobre
grandes empresas, ventas y compras de documentos
formales financieros, como bolsa y bonos.
Ventas. Para información de clientes, productos y
compras.
Producción. Para la gestión de la cadena de
producción y para el seguimiento de la producción
de elementos en las factorías, inventarios de
elementos en almacenes y pedidos de elementos.
Recursos humanos. Para información sobre los
empleados, salarios, impuestos y beneficios, y
para la generación de las nóminas.
NOTA. Como esta lista ilustra, las bases de datos
forman una parte esencial de casi todas las
empresas actuales.
4Bases de datos. Concepto
- Una base de datos en su definición mas sencilla,
es una colección de archivos relacionados. - De manera mas técnica, una base de datos es un
conjunto de varios tipos de datos organizados e
interrelacionados. - A manera de teoría de conjuntos, es un conjunto
de datos de diferentes ámbitos, organizados
sistemáticamente, es decir, siguen ciertas reglas.
5Definición de Manejador de bases de datos.
Un manejador de base de datos, conocido con las
siglas SGBD Sistema Gestor de Base de Datos o
en ingles DBMS Database Manager System, es un
software que actúa como interfaz entre los datos
almacenados en forma binaria en una base de datos
y el usuario que desea manejar tales datos.
El usuario inicia una operación sobre los datos
Usuario
El SGBD Localiza los datos en el sistema.
El SGBD regresa el resultado de la operación al
usuario.
El SGBD opera sobre los datos
6SQL. Lenguaje de base de datos
SQL. Es el lenguaje estándar para el manejo de
base de datos. SQL - Structured Query Language.
SQL se divide en dos Sub-lenguajes.
DDL (Data Definition Language). Lenguaje para la
definición de objetos de la base de datos.
Agrupa a las operaciones CREATE DATABASE,
CREATE TABLE, CREATE INDEX ETC
DML (Data Manipulation Language). Lenguaje para
la manipulación de datos agrupa a las
operaciones SELECT, INSERT, UPDATE y DELETE.
7Objetos de una base de datos.
Las bases de datos están compuestas básicamente
por 6 objetos Tablas, Vistas, Funciones,
Índices, Procedimientos almacenados y Trigger
8Objetos tablas.
Las tablas son los objetos principal de una base
de datos, pues son la estructura Física donde se
almacenan los datos. Las tablas contienen
registros los cuales contienen campos.
Columnas Campos
Filas Registros
TABLA
9Introducción a SQL
- Definiendo Objetos de una base de datos (DDL)
10Creación de bases de datos
Sentencia CREATE DATABASE. Esta sentencia crea
una base de datos.
Sintaxis CREATE DATABASE NOMBRE_BASE
Ejemplos crear una base llamada
BasePrueba CREATE DATABASE BasePrueba
Crear una base de datos llamada
Base2 CREATE DATABASE Base2 Crear una
base de datos llamada Base_Tres CREATE
DATABASE BaseTres
Importante. Los nombres de las base de datos y
así como también los nombre de las tablas de la
base de datos no deben contener espacios en
blanco.
11Crear tablas.
Sentencia CREATE TABLE. Construye una tabla
Sintaxis CREATE TABLE nombreDeTabla
( Campo1 tipo de dato , Campo2 Tipo de
dato, Campo2 Tipo de dato, )
Ejemplo CREATE TABLE TABLA1 ( Campo1
int, Campo2 int, Campo3
char(3) ) CREATE TABLE Proveedores (
ClaveProveedor int, Nombre
char(40) )
12Modelo de las bases de datos
Para que el sistema sea útil debe recuperar datos
de forma eficiente. Tal preocupación ha conducido
que se realicen tareas de Análisis y Diseño de
una base de datos. Esta tareas son
complementarias, es decir una depende de la otra.
Dichas tareas se realizan en la secuencia
siguiente
- Análisis. En este fase, se realiza una entrevista
(en el mejor de los casos una serie de
entrevistas) con la persona o grupo de personas
que requiere la aplicación de base de datos, esto
con el fin de que se defina cual es el objetivo
de la base de datos, es decir, se destacan
factores como - Sección (es) del negocios estan involucradas.
- Cantidad de información.
- Nivel de detalle requerido para la información
almacenada. - Reportes se van a proveer con la base de datos,
etc
Diseño. Con la información obtenida en la fase
anterior se inicia un proceso de diagramación de
las estructuras donde se almacenara la
información.
El resultado de estas dos fases es un diagrama
que expresa las estructura de la base de datos. A
este diagrama se le llama el Modelo Entidad
Relación.
13Modelo de las bases de datos
El objetivo principal de un modelo de bases de
datos es proporcionar una herramienta que sirva
como referencia tanto al personal especializado
en bases de datos, como a los usuarios finales,
estos últimos tal vez no estén muy familiarizados
con los sistema de computo y bases de datos.
Un modelo de base de datos se puede llevar a
detalle según lo requiera el personal que lo
interpreta. Por ejemplo
DBA (Administrador de la base de datos). Necesita
conocer, a partir del modelo, nombre de la tabla,
campos en la tabla, tipos de datos de cada tabla,
claves primarias, relaciones entre tablas, campos
con posibilidad de dato vació, etc.
Un desarrollador de reportes solo necesita
conocer nombre de tabla, campos en la tabla y el
objetivo de cada tabla.
Personal como un gerente, un director, la (el)
asistente de la dirección o gerencia no necesitan
mas que los reportes, es decir, información
impresa de manera clara para toma de decisiones.
14Niveles de abstracción del modelo de las bases de
datos
Nivel alto de abstracción. Muestra la información
organizada y presentable.
Usuarios de Reportes.
Nivel medio de abstracción, muestra información
de la base de datos, tal como, nombres de tablas
y columnas y la relación entre tablas.
Desarrolladores de reportes,
Nivel bajo de abstracción. Modelo de la base
totalmente detallado
DBA, Desarrolladores
15Ejemplo Modelado
Requisito. Se necesita guardar información de los
alumnos de una institución educativa. Nos
solicitan que mediante la información guardada,
se pueda recuperar datos de los alumnos tal como
Nombre, matricula, dirección, teléfono y fecha de
nacimiento.
A continuación se simula una sesión de análisis
para este requerimiento
Analista/desarrollador. Cómo realizas tus
búsquedas generalmente por nombre o por apellidos?
Usuario. Son mas comunes las búsquedas por
apellido, aunque a veces se hacen búsquedas por
nombre.
Analista/desarrollador. El valor para tus
matriculas se forma a partir de números, letras o
numero y letras.
Usuario. Solo números
Analista/desarrollador. Cómo determinas estas
matriculas siguen un patrón o formato?
Usuario. Pues inician con el año de inscripción y
termina con 4 numeros
Analista/desarrollador. Los cuatro ultimos
numeros son aleatoiros o consecutivos?, es decir,
los asignas según se van inscribiendo los
alumnos (1,2, 3, etc) o los asignas bajo otro
criterio?
Usuario. Son consecutivo, en este momento estamos
con el alumno 721.
Analista/desarrollador. El telefono es
obligatorio?
Usuario. Si.
16Ejemplo Modelado
De la primera respuesta del usuario, el analista
decide que para el nombre del alumno lo mejor
será que exista un campo nombre y un campo
apellido.
De la segunda respuesta de usuario, el analista
decide que existirá un campo matricula de tipo
numérico.
De la tercera y cuarta respuesta del usuario, el
analista decide que el campo matricula puede ser
auto - numérico, con valor inicial en yyyy0001.
De la ultima respuesta del usuario, se determina
que el campo para el teléfono, siempre debe
recibir un dato.
Todo lo anterior se planea almacenarlo en una
tabla de una base de datos. Por lo tanto
necesitamos un diagrama que describa la tabla.
Figura para modelar una tabla. Modelo Físico
Figura para modelar una tabla. Modelo Lógico
17Ejemplo Modelado
El modelo para la tabla del ejemplo es el
siguiente
Tabla Alumnos Modelo Lógico
Tabla Alumnos Modelo Físico
Pasamos del modelo lógico al modelo Físico
18Implementación del modelo
CREATE TABLE Alumnos ( Matricula
INT, Nombre VARCHAR (20), Apellidos
VARCHAR(50), Fecha_Nac DATE, Telefono CHAR
(18), Direccion TEXT )