Está en la página 1de 18

Bases de Datos I.

Introduccin a MySQL

Aplicacin de las bases de datos


Las bases de datos son ampliamente usadas. Las siguientes son algunas de sus aplicaciones ms representativas:

Banca. Para informacin de los clientes, cuentas y prstamos, y transacciones bancarias.


Lneas areas. Para reservas e informacin de planificacin. Las lneas areas fueron de los primeros en usar las bases de datos de forma distribuida geogrficamente (los terminales situados en todo el mundo accedan al sistema de bases de datos centralizado a travs de las lneas telefnicas y otras redes de datos). Universidades. Para informacin de los estudiantes, matrculas de las asignaturas y cursos. Transacciones de tarjetas de crdito. Para compras con tarjeta de crdito y generacin mensual de extractos.

Lneas areas. Para reservas e informacin de planificacin. Las lneas areas fueron de los primeros en usar las bases de datos de forma distribuida geogrficamente (los terminales situados en todo el mundo accedan al sistema de bases de datos centralizado a travs de las lneas telefnicas y otras redes de datos).
Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generacin mensual de facturas, manteniendo el saldo de las tarjetas telefnicas de prepago y para almacenar informacin sobre las redes de comunicaciones.

Aplicacin de las bases de datos


Finanzas. 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. 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.

Recursos humanos. Para informacin sobre los empleados, salarios, impuestos y beneficios, y para la generacin de las nminas.

NOTA. Como esta lista ilustra, las bases de datos forman una parte esencial de casi todas las empresas actuales.

Bases de datos. Concepto


Una base de datos en su definicin mas sencilla, es una coleccin de archivos relacionados. De manera mas tcnica, una base de datos es un conjunto de varios tipos de datos organizados e interrelacionados. A manera de teora de conjuntos, es un conjunto de datos de diferentes mbitos, organizados sistemticamente, es decir, siguen ciertas reglas.

Definicin 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 acta como interfaz entre los datos almacenados en forma binaria en una base de datos y el usuario que desea manejar tales datos.

Usuario

El usuario inicia una operacin sobre los datos


El SGBD Localiza los datos en el sistema.

El SGBD regresa el resultado de la operacin al usuario. El SGBD opera sobre los datos

SQL. Lenguaje de base de datos


SQL. Es el lenguaje estndar 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 definicin 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 manipulacin de datos agrupa a las operaciones SELECT, INSERT, UPDATE y DELETE.

Objetos de una base de datos.


Las bases de datos estn compuestas bsicamente por 6 objetos: Tablas, Vistas, Funciones, ndices, Procedimientos almacenados y Trigger

Objetos tablas.
Las tablas son los objetos principal de una base de datos, pues son la estructura Fsica donde se almacenan los datos. Las tablas contienen registros los cuales contienen campos.

Columnas = Campos

Filas = Registros

TABLA

Introduccin a SQL
Definiendo Objetos de una base de datos (DDL)

Creacin 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 tambin los nombre de las tablas de la base de datos no deben contener espacios en blanco.

Crear 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) )

Modelo de las bases de datos


Para que el sistema sea til debe recuperar datos de forma eficiente. Tal preocupacin ha conducido que se realicen tareas de Anlisis y Diseo de una base de datos. Esta tareas son complementarias, es decir una depende de la otra. Dichas tareas se realizan en la secuencia siguiente: Anlisis. 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 aplicacin 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: Seccin (es) del negocios estan involucradas. Cantidad de informacin. Nivel de detalle requerido para la informacin almacenada. Reportes se van a proveer con la base de datos, etc

Diseo. Con la informacin obtenida en la fase anterior se inicia un proceso de diagramacin de las estructuras donde se almacenara la informacin.

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 Relacin.

Modelo 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 estn muy familiarizados con los sistema de computo y bases de datos.

Un modelo de base de datos se puede llevar a detalle segn 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 direccin o gerencia no necesitan mas que los reportes, es decir, informacin impresa de manera clara para toma de decisiones.

Niveles de abstraccin del modelo de las bases de datos


Nivel alto de abstraccin. Muestra la informacin organizada y presentable. Usuarios de Reportes.

Nivel medio de abstraccin, muestra informacin de la base de datos, tal como, nombres de tablas y columnas y la relacin entre tablas.

Desarrolladores de reportes,

Nivel bajo de abstraccin. Modelo de la base totalmente detallado

DBA, Desarrolladores

Ejemplo: Modelado
Requisito. Se necesita guardar informacin de los alumnos de una institucin educativa. Nos solicitan que mediante la informacin guardada, se pueda recuperar datos de los alumnos tal como: Nombre, matricula, direccin, telfono y fecha de nacimiento. A continuacin se simula una sesin de anlisis para este requerimiento: Analista/desarrollador. Cmo realizas tus bsquedas generalmente por nombre o por apellidos? Usuario. Son mas comunes las bsquedas por apellido, aunque a veces se hacen bsquedas por nombre.

Analista/desarrollador. El valor para tus matriculas se forma a partir de nmeros, letras o numero y letras.
Usuario. Solo nmeros Analista/desarrollador. Cmo determinas estas matriculas siguen un patrn o formato? Usuario. Pues inician con el ao de inscripcin y termina con 4 numeros Analista/desarrollador. Los cuatro ultimos numeros son aleatoiros o consecutivos?, es decir, los asignas segn 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.

Ejemplo: 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 numrico.
De la tercera y cuarta respuesta del usuario, el analista decide que el campo matricula puede ser auto - numrico, con valor inicial en yyyy0001. De la ultima respuesta del usuario, se determina que el campo para el telfono, 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.

Figura para modelar una tabla.


Modelo Fsico

Modelo Lgico

Ejemplo: Modelado
El modelo para la tabla del ejemplo es el siguiente:

Tabla Alumnos Modelo Lgico

Tabla Alumnos Modelo Fsico

Alumnos Matricula Nombre Apellidos Fecha_Nac Telefono Direccion


Pasamos del modelo lgico al modelo Fsico

Alumnos Matricula: int Nombre: char(20) Apellidos: varchar(50) Fecha_Nac: datetime Telefono: char(18) Direccion: text

Implementacin del modelo


Alumnos Matricula: int Nombre: char(20) Apellidos: varchar(50) Fecha_Nac: datetime Telefono: char(18) Direccion: text

CREATE TABLE Alumnos ( Matricula INT,

Nombre VARCHAR (20),


Apellidos VARCHAR(50), Fecha_Nac DATE, Telefono CHAR (18), Direccion TEXT