Está en la página 1de 114

Base de datos(BD)

La informacin, su valor e importancia en el mundo de hoy


1. Qu es una Base de Datos? 2. Para qu sirven las bases de datos? 3. Porqu las base de datos son tan importantes en el mundo de hoy? 4. Cules son los componentes esenciales de una base de datos? 5. Por qu es tan importante disear una base de datos? 6. Cmo se construye una base de datos? 7. Por qu base de datos relacionales?

Qu es una base de datos?


Una base de datos es un conjunto o coleccin de datos relacionados, integrados en archivos centralizados, usualmente almacenados por largos periodos(a menudo de muchos aos) con el propsito de Ser accesados y utilizados por mltiples usuariosy programas de aplicacin

Para qu sirven las bases de datos? Cul es su utilidad?

El propsito de las bases de datos es: Registrar almacenar, accesar y procesar grandes volmenes de datos de forma rpida y eficiente. En otras palabras permite al usuario generar, administrar y gestionar la informacin de su inters, a partir de datos coleccionados. Sin los datos ni la capacidad de procesarlos, una organizacin no estara en la posibilidad de completar con xito la mayor parte de las actividades de negocio. Una BD puede ayudar a la compaa a organizar y procesar cantidades cada vez mayores de datos, para ser ms eficaz y por tanto exitosa.

Qu son los datos y qu es la informacin?


Dato: Unidad de informacin(Cuantitativa o cualitativa) tomada en bruto, es decir registrado tal cual surge de su fuente de origen, y cuya naturaleza individual ofrece un conocimiento limitado del objeto o fenmeno de estudio. La palabra dato proviene del latn datum que significa lo que se da. La Real Academia Espaola lo define como: el antecedente necesario para lograr el conocimiento exacto de una cosa o para deducir las consecuencias legtimas de un hecho. Llamamos informacin al incremento en el conocimiento, que puede inferirse a partir de los datos. En otras palabras, la informacin surge de dar a un conjunto de datos por medio de un proceso, permitindonos por tanto, acceder a un conocimiento ms amplio y til de algn fenmeno u objeto de inters

Hasta hace poco la informacin misma no se consideraba un activo importante de una compaa. Sin embargo, hoy da, se reconoce que para los administradores es muy importante estar perfectamente bien informados, primeramente de todo lo que ocurre dentro de su empresa y segundo, de todo lo que ocurre en los mercados a fin de hacer una buena toma de decisiones.

Por qu las bases de datos son tan importantes en el mundo de hoy?

Los retos de la globalizacin ecnmica

Sin duda alguna son factores determinantes: Una Direccin emprendedora de calidad, altamente competitiva y con gran visin. Metas y objetivos muy bien trazados Una planeacin y administracin cuidadosa de las actividades en toda la organizacin. Personal creativo, comprometido, responsable y altamente calificado. Una poltica de calidad total en la produccin de bienes y servicios. Capacitacin continua y permanente del personal Informacin concerniente a nuestra empresa, y de todo lo relacionado con los mercados, polticas y cambios en el comercio nacional e internacional.

Qu factores son determinantes para el xito y permanencia de una empresa en el mercado mundialque sabemos es competitivo y por dems agresivo?

La decada de los 80s ser recordada como el inicio de la era de la globalizacin econmica. Surge la competencia econmica e industrial a nivel mundial. Pases en vas de desarrollo compiten con los pases industrializados para ofrecer no solo una mayor variedad de productos de alta calidad a un menor costo, sino tambien todo tipo de bienes y servicios. Esto trae consigo una gran cantidad de retos

El valor de la informacin
El valor de la informacin est directamente relacionado con la utilidad que represente para los administradores de la toma de decisiones, para el cumplimiento de las metas y objetivos de la organizacin. La causa del fracaso de algunos negocios modernos es tener demasiados datos y no suficiente informacin. Por otra parte, la informacin tiene un valor intrnseco comparable al oro molido Ya que todo mundo sabe que: La informacin, es decir, el conocimiento es poder. Poder de: decidir, influir, cambiar, dirigir, realizar, y por tanto obtener privilegios de altos estndares de vida.

El valor de la informacin puede medirse, por ejemplo, con base en el tiempo requerido para tomar una decisin o en el aumento de las utilidades de la compaa. Considrese el caso de un pronstico de mercado de acuerdo con el cual la demanda de un nuevo producto ser alta. Si la informacin de este pronstico de mercado se toma en cuenta en el desarrollo del nuevo producto y gracias a ello la compaa obtiene utilidades adicionales por $100 000 000.00 de dlares, entonces el valor de esa informacin para la compaa equivaldra a esa misma cantidad menos el costo de operacin en la obtencin de la informacin.

Caractersticas de la informacin
1. Para que la informacin sea til y por tanto valiosa, debe poseer las siguientes cualidades o caractersticas: Econmica. La produccin de la informacin debe ser relativamente econmica.

2.
3. 4. 5. 6. 7. 8. 9. 10.

Pertinente. Debe ser realmente importante para el responsable de la toma de decisiones.


Completa. Contiene todos los datos necesarios para la toma de decisiones. Accesible. Debe ser fcil de acceso solo para el personal autorizado. Simple. No debe ser compleja para su manejo y anlisis, ni debe de haber un exceso de informacin. Flexible. Debe ser til para muchos propsitos. Verificable. Esto significa la posibilidad de comprobar que es correcta. Exacta. La informacin exacta carece de errores(es confiable). Oportuna. Debe ser disponible en todo momento que se le requiera. Segura. Debe estar protegida contra el acceso a ella por parte de personal no autorizado

Para tener informacin con tales caractersticas, solo es posible mediante el uso de Sistemas de Informacin bien diseados, es decir, a la medida de las necesidades de la empresa. Sin embargo no debemos olvidar que el ncleo o corazn de todo sistema de informacin lo constituyen las Bases de Datos.

El papel estratgico de los Sistemas de informacin y las Bases de Datos


Planeando una estrategia de comercializacin internacional

Una empresa se organiza y estructura en varios niveles y reas funcionales, que realizan diversas tareas especficas. Cada nivel y rea tiene diferentes necesidades de informacin. Esto significa que en una empresa existen varios tipos de sistemas de informacin.

Pero, Qu es un Sistema de Informacin?


Un sistema de informacin se puede definir tcnicamente como un conjunto de componentes interrelacionados(personas, hardware, software, procesos, polticas, etc.) que rene, procesa, almacena y distribuye informacin para apoyar la toma de decisiones y el control en una organizacin. Tambin ayudan a los administradores y trabajadores a analizar y resolver problemas, visualizar aspectos complejos y crear nuevos productos. Los sistemas de informacin contienen informacin acerca de personas, lugares y cosas importantes dentro de la organizacin y de su entorno.

La tecnologa digital, las telecomunicaciones, los modernos y rpidos sistemas de transportacin y carga, as como la informtica, estn transformando la forma de administrar y hacer negocios a nivel mundial de las empresas hoy en da. Sin embargo, un factor determinante ha sido la aparicin de la www o red mundial, mejor conocida como internet, que entre otras muchas otras cosas nos permite hacer compras a cualquier parte del mundo desde nuestro hogar

Ejemplo: supongamos que una chica quiere verse mejor, pero para hacerlo, necesita adquirir cierto producto que solo lo consigue en Francia, lo nico que tiene que hacer encender su computadora conectarse a internet buscar una tienda o empresa que tenga pgina web y que tenga el articulo que desea, hacer el pedido, pagar con su tarjeta de crdito con aceptacin internacional y en un plazo de entre 24 a 48 horas puede tener el producto deseado hasta las puertas de su hogar.

Para la entrega de los pedidos exixtesn compaas especializadas como UPS, DHL, Estrella Blanca, etc. Que se encargan de entregar las mercancas, transportandolas por aire, mar y tierra. Sus servicios abarcan prcticamente todo el planeta. Estas empresas tambin hacen uso extensivo de los sistemas de informacin.

Base de Datos Neptuno


Ejemplificando esta base de datos se familiarizar con BD que son y para que sirven.

La estructura Organizacional y los diferentes tipos de Sistemas de Informacin

La estructura organizacional piramidal de una empresa que muestra tanto sus niveles de Administracin como reas de trabajo
Administradores de nivel superior nivel Estrategico
Administradores de nivel medio Nivel de Administracin

Trabajadores de Conocimientos y Datos- Nivel de Conocimientos.

Empleados operativos Nivel Operativo


Ventas y marketing Produccin Finanzas Contabilidad Recursos humanos

Los sistemas de informacin orientados a las transacciones o a la productividad apoyan a los empleados haciendo un seguimiento de las actividades y transacciones diarias de la organizacin como: ventas, recibos, depsitos y/o retiros en efectivo, nmina, flujo de materiales, envo de pedidos etc. El propsito principal de ste tipo de sistemas es contestar preguntas de rutina y rastrear el flujo de transacciones a travs de la organizacin.

Los sistemas de conocimientos apoyan a: investigadores, ingenieros, laboratoristas, tcnicos, etc. Que trabajan para una organizacin a desarrollar su trabajo de investigacin, diseo de nuevos productos, o mejora de los existentes. Tambin apoyan a la empresa a descubrir, organizar e integrar conocimientos nuevos a la organizacin.

Los Sistemas de Informacin de Apoyo a la Administracin, estn diseados para servir a las actividades de seguimiento, control, toma de decisiones y administracin, de los administradores de nivel medio. La pregunta principal que tratan de contestar stos sistemas es: estn funcionando bien las cosas?.

Los Sistemas de informacin a nivel estratgico ayudan a la alta gerencia a abordar y resolver cuestiones estratgicas, tendencias a mediano y a largo plazo, tanto de la empresa, como de las polticas y cambios en las economas del resto del mundo. Algunas de las preguntas que tratan de contestar son: Qu niveles de empleo habr dentro de 5 aos?Qu tendencias de costos a largo plazo prevalecen en la industria y qu se deber hacer?

Entorno y componentes de un Sistema de Informacin(Sistemas de Bases de Datos)

Como se vio, un sistema de informacin(Sistema de base de datos) se refiere a una organizacin de componentes que regulan la coleccin, almacenamiento, administracin, distribucin y uso de los datos de la base de datos corporativa. Desde el punto de vista de la administracin general, un sistema de base de datos tiene cinco componentes principales: 1. Hardware 2. Software 3. Personas 4. Polticas y procedimientos 5. Datos

La palabra Hardware identifica todos los componentes fsicos del sistema tales como: computadora, servidores, dispositivos de entrada y salida, dispositivos de almacenamiento, redes, equipos de telecomunicacin, concentradores, ruteadores, etc.

El software se refiere al conjunto de programas que son utilizados en el Sistema de informacin, y el cual comnmente identificamos tres tipos de software: 1. Sistema Operativo 2. Sistema Administrador de Bases de Datos(DBMS) 3. Programas de aplicacin y utileras.

Personas
Podemos decir que existen dos tipos de usuarios: No informticos. Son las personas que necesitan informacin de la base de datos para desarrollar su responsabilidad primaria.(altos gerentes, mandos medios, supervisores, contadores, etc.) Usuarios informticos: Gerente informtico(CIO), analistas, diseadores de sistemas, diseadores de bases de datos, administradores de bases de datos, programadores, etc.

El Sistema Administrador de Bases de Datos o DBMS(DataBase Management System)


Un DBMS es un conjunto coordinado de programas, procedimientos, lenguaje, etc. Que suministra tanto a los usuarios no informticos como a los analistas, programadores o al administrador de la base de datos, los medios necesarios para describir, recuperar y procesar los datos almacenados en la base de datos, manteniendo su integridad, confidencialidad y seguridad. Un DBMS normalmente se compra a un vendedor o compaa de software especializado

DBMS= DataBase Management Sistem o Sistema Administrador de Bases de Datos SMBD= Sistema gestor de Bases de Datos Un DMBS efecta varias tareas importantes que garantizan la integridad y consistencia de los datos en la Base de Datos, y que solo se pueden efectuar por el medio del DBMS.

Usuario
Programas de Aplicacin que hacen uso de los Datos
DBMS Sistema Administrador de Base de Datos

Bases de datos

Funciones del DBMS y de los Programas de Aplicacin


Usuario
Programas de Aplicacin que hacen uso de los Datos
DBMS Sistema Administrador de Base de Datos

Bases de datos

Crea interfaces de comunicacin Crear y procesar formularios Crear y enviar consultas Crear y procesar reportes Ejecutar programas Controlar las Aplicaciones

Crea la Base de Datos manipulacin de datos Controla el acceso concurrente Mantiene la estructura de la base de Datos Permite el cumplimiento de las reglas Respalda y recupera datos Permite proporcionar el cumplimiento de reglas Respalda y recupera datos Permite Proporcionar seguridad a la BD

Programas de Aplicacin que efectan consultas


Un Programa de aplicacin puede efectuar una peticin de consulta de datos y enviarla al DBMS. Tales peticiones(o solicitudes) son casi siempre expresadas en un lenguaje llamado SQL (Stuctured Query Languaje), es decir, Lenguaje de consulta Estructurado. EL SQL es un Lenguaje de Consulta NO procedural lo que significa que permite que el usuario plantee una consulta especificando sencillamente que debe de hacerse. Los modernos DBMS permiten 2 formas de hacer consultas: 1. Mediante una interfase de consulta grafica llamadas consultas mediante Ejemplo(Query by Example). 2. Mediante una forma textual, haciendo uso de unos pocos pero sencillos comandos especficos. Es decir haciendo uso de SQL.

El Diccionario de Datos: Funcin e importancia


El Diccionario de Datos es una base de datos que almacena toda una descripcin muy detallada acerca de la base de datos que se esta trabajando. Es decir contiene informacin referente a: La definicin de trminos y elementos de datos. La estructura de los datos Las relaciones entre los datos Manejo y validacin de datos. Restricciones sobre los datos. Las descripciones de las cuentas de usuarios. Las Autorizaciones de cada usuario La localizacin de todos los lugares de la empresa en donde se esta utilizando cada dato. Las definiciones de los formatos de las pantallas y de los informes.

Como puede verse, una Base de Datos es Auto descriptivo debido al diccionario de datos, pero, Porqu es tan importante esta caracterstica de auto descripcin?
Entre otras cosas porque: Permite la independencia de Datos/Programas. Ayuda a los programadores a disear y escribir programas Permite el control de la redundancia de datos. Simplifica la modificacin de la BD. Permite modificar ms fcilmente los datos. El Diccionario de datos es por tanto un elemento de informacin muy til tanto para los usuarios como para los Analistas-diseadores y el Administrador de la base de Datos

Manipulacin de los datos


El SGBD proporciona lenguajes para definir y manipular los datos de la BD: Lenguaje de definicin de datos(DDL). Se utiliza para definir el esquema conceptual y los distintos subesquemas externos de la BD. Lenguaje de Manipulacin de datos(DML). Mediante este lenguaje podemos manipular los datos de la BD, es decir, podemos, insertar datos, modificar los ya existentes, eliminar y recuperar datos almacenados. Lenguaje de Control de Datos(CDL). Se utiliza para controlar el acceso a la informacin de la BD definiendo privilegios y tipos de acceso, as como para el control de la seguridad de los datos.(de esta tarea se encarga el administrador de la Base de datos)
Tambin los SGBD pueden procesar peticiones DML formuladas en programas escritos en otros lenguajes como C, C++, Delphi, Visual Basic etc.

Los modernos SGBD permiten el cumplimiento de reglas tanto de integridad, como de valores permitidos o de dominio, as como de otras ms. Ejem. El precio unitario de un producto debe ser mayor o igual a cero.

La seguridad de los Datos.


Una BD est expuesta a ser accesada por personal no autorizado tanto desde dentro de la misma corporacin, como desde cualquier punto del planeta por medio de internet. Es responsabilidad del administrador de la BD salvaguardar la integridad de los datos almacenados en la BD de Datos. El SGBD posee un sistema de seguridad que impone seguridad para los usuarios y privaca para los datos almacenados. Las reglas de seguridad determinan que usuarios pueden accesar la BD, que datos y que operaciones puede realizar con los datos acceados. Esto es especialmente importante para una BD multiusuario, donde una gran cantidad de usuarios pueden accesar silmultneamente a la BD

Cracker penetrando en una BD corporativa, por medio de internet

Por qu es tan importante disear una Base de DAtos?

Vale la pena hacer una observacin, y es que, el diseo de BD es tanto una ciencia como un arte. Una ciencia, porque el diseador va a aplicar conocimientos tericos bien fundamentados, estudiados y adems funcionales. Un arte, porque si bien, puede ser que domine las tcnicas y las herramientas para la modelacin de datos, el uso de estas herramietas y tcnicas, es un arte que requiere de toda la experiencia del diseador guiada por su intuicin

El diseo de una Base de datos es solo una parte de una actividad mayor llamada Anlisis y Diseo de Sistemas de Informacin Los sistemas de informacin no se implantan de la noche a la maana, ni mucho menos los realizan gente inexperta. Mas bien son el producto de un proceso bien planeado, controlado y cuidadosamente desarrollado por gente experta

Un Sistema de informacin representa una fuerte inversin financiera, por lo que se espera, cumpla con todas las expectativas para las que fue creada. El diseo de una Base de Datos es crucial, ya que un mal diseo representara no soloo un desperdicio de esfuerzo, dinero, tiempo y recursos dedicados, sino que, probablemente, podra costar la supervivencia de la misma empresa.

Modelado de datos
Qu es un modelo?

Un modelo es una abstraccin que nos permite entender ms fcilmente un sistema complejo mediante una descripcin simplificada del mismo. En la descripcin se omiten una gran cantidad de detalles especficos pero se preservan las propiedades crticas y o inters. En Diseo de Base de Datos el termino modelo tiene dos significados(ambos aceptados ampliamente, y utilizados de forma indistinta): 1. Como una representacin(dibujo o diagrama) de la estructura y de las relaciones de lo que necesita en la BD para sustentar los requerimientos de los usuarios. Este diagrama en su forma final se conoce como el Modelo de la Base de Datos. 2. Como una metodologa o herramienta, con su propio lenguaje, elementos constructores y reglas de construccin, que permiten llevar a cabo una tarea: La construccin de un Modelo de BD

Un modelo de datos es un conjunto de conceptos, reglas y convenciones que permiten describir, a distintos niveles de abstraccin, la estructura de una BD. De acuerdo al comit ANSI/X3/SPARC* EL Modelo de Datos de un Sistema de BD, se puede ver y Describir en tres distintos niveles: 1. Nivel externo Modelo externo de Datos. 2. Nivel GlobalModelo Conceptual de Datos. 3. Nivel Interno Modelo de Datos Interno.
*Nota: ESTe mismo comit esta encargado de estandarizar la arquitectura de los sistemas Gestores de Bases de Datos con lo cual se pretende que una vez desarrollada una Bde implementada en un SGBD, el cambio de est a otro producto comercial, no implique tener que disear de nuevo la BD, ni tampoco que los programas que acceden a la misma tengan que ser reescritos. La (flecha Significa define y nos lleva a plantear

Niveles de Abstraccin de una BD


Nivel usuario
Vista1 modelo descripcin cantidad

Vista 2 Proveedores Insumos costos compras remesa


Vista 3 TarjetaNo nombre depto salario faltas

Nivel empresa
Producto, modelo, descripcin cantidad proveedores insumos costos Nocliente, nombrecliente,credito, pedido totalproducto, cantidad

Nivel maquina Estructura fsica

Nivel externo
Un modelo externo(tambin conocido como estructura lgica de usuario) es el subconjunto de datos que necesita un usuario en particular para llevar a cabo su trabajo. El subconjunto anterior, es un subconjunto de datos tomado de la totalidad del conjunto de datos que se emplea en la empresa. Por lo tanto habr esquemas o modelos externos como exijan las diferentes aplicaciones, adems un mismo esquema puede ser utilizado por varias aplicaciones. El propsito de los modelos externos es satisfacer las necesidades de los usuarios

Nivel Global
El modelo conceptual tambin conocido como el modelo lgico de datos de la corporacin, es una descripcin global del conjunto de datos de la empresa, es decir, es un esquema grafico o dibujo que muestra la estructura lgica de los datos de toda empresa y es independiente, tanto del hardware como del software. Por lo tanto podemos decir que el modelo conceptual, constituye el plano arquitectnico de la BD de toda la corporacin. El trmino conceptual, provienen del hecho de que el modelo permite describir y representar conceptos del mundo real atendiendo a la forma lgica y natural de agrupar los datos. Existen diversos modelos conceptuales de BD: modelo relacional, modelo entidad- relacin(extendido), el modelo semntico, el modelo orientado a objetos, modelo multidimensional, etc.

Modelo conceptual de una Base de datos

Algunos gurs del diseo de BD, reconocen la necesidad de agregar un cuarto modelo de datos al esquema ANSI/X3/SPARC, llamado modelo lgico o (o convencional)cuyo propsito es la de proporcionar una descripcin de datos implementable y procesable por el computador mediante el uso de un SGBD. Este modelo lgico(o cannico) se deriva directamente del modelo conceptual mediante la aplicacin de una serie de reglas de transformacin y restricciones que tienen en cuenta como la informacin puede ser tratada por los procedimientos que van a manejar y definir la informacin, en base a las otras representaciones. El modelo constituye un eslabn intermedio o de enlace entre el modelo conceptual y el fsico. El trmino lgico subraya el hecho de que la estructura usada por estos modelos aunque abstracta, refleja una organizacin lgica particular: estructura jerrquica(de rbol), estructura reticular (de red), tabla(relacin), objeto, etc. Este curso se enfoca en el modelo Conceptual y el modelo lgico(ambos relacionales).

Nivel Fsico
Es el proceso de producir la descripcin de la implementacin de la BD en memoria secundaria: estructuras de almacenamiento y mtodos de acceso que garanticen un acceso eficiente a los datos Para llevar a cabo esta etapa, se debe haber decidido cual es el SGBD que se va a utilizar, ya que el esquema fsico se adapta a l. Entre el diseo fsico y el dise lgico hay una retroalimentacin. En general el propsito del diseo fsico es describir cmo se va implementar fsicamente el esquema lgico obtenido en la fase anterior. Concretamente, en el modelo relacional, esto consiste en: Obtener un conjunto de relaciones(tablas) y las restricciones que se deben de cumplir sobre ellas. Determinar las estructuras de almacenamiento y los mtodos de acceso que van a utilizar para conseguir unas prestaciones optimas.

BD Jerrquicas
En 1970 surge formalmente la 1ra BD jerrquica llamada IMS(Inforation Management System)como un esfuerzo conjunto de la North American Rockwell e IBM. DBMS jerrquico utiliza jerarquas o rboles para la representacin lgica de los datos. Los archivos son organizados en jerrquicas, y normalmente cada uno de ellos se corresponde con las entidades de la BD. Los rboles Jerrquicos se representan de forma invertida con la raz hacia arriba y las hojas hacia abajo.

Estructura de un rbol jerrquico

Bases de Datos MySQL

Tablas y consultas.

61

Bases de Datos MySQL


Recordemos el modelo Entidad Relacin de una escuela...

62

Bases de Datos MySQL

63

Bases de Datos MySQL

Propiedades de las entidades.


64

Bases de Datos MySQL


La entidad alumnos se convierte en la tabla:

Entidad Propiedad

Tabla Columna

Cada fila representa un Registro. La clave puede estar formada por una o mas columnas
65

Bases de Datos MySQL

Para crear la base de datos escuela utilizaremos el Sistema de Gestin de Bases de Datos MySQL
66

Bases de Datos MySQL

Ventajas de MySQL: * Robusto * Cdigo abierto * Forma parte de LAMP


67

Bases de Datos MySQL

Existe una herramienta, llamada phpMyAdmin, que permite administrar las bases de datos MySQL mediante una interfaz sencilla creada en PHP...
68

Bases de Datos MySQL


Ejercicio:
En una base de datos nueva, crear la tabla alumnos, con los campos clave_alumno, nombre, edad y curso_actual utilizando phpMyAdmin.

69

Bases de Datos MySQL


Creacin de una tabla:

Indicar, para cada campo de la tabla los siguientes datos:


Field : Nombre del atributo. Type : Tipo de dato del atributo. Length/Values : Indica la longitud mxima del tipo de dato (especialmente para VARCHAR). Attributes : UNSIGNED : Slo toma valores positivos (para INTEGER, SMALLINT, ...). Null : El atributo puede tomar valores nulos? (la clave o identificador de la tabla nunca puede tener valores nulos!!!). Default : Valor por defecto del atributo al aadir una nueva fila. Extra : AUTO_INCREMENT (normalmente se usa para generar, automticamente, valores de la clave). Primary : Se debe marcar si el atributo es Clave Primaria (el identificador) de la tabla. Index : Crea un ndice dentro de la tabla. Unique: Se debe marcar si el valor del atributo es nico para toda la tabla. 70

Bases de Datos MySQL


Tipos de Datos en MySQL: Los tipos de datos que puede haber en un campo o atributo de una tabla forman tres grandes grupos: 1. Tipos Numricos 2. Tipos de Fecha 3. Tipos de Cadena de Caracteres

71

Bases de Datos MySQL


1) Tipos numricos: Existen tipos de datos numricos, que se pueden dividir en dos grandes grupos, los que incluyen valores decimales (coma flotante) y los que no. TinyInt: es un nmero entero con o sin signo. Con signo el rango de valores vlidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 Bit Bool: un nmero entero que puede ser 0 1 SmallInt: nmero entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535.

MediumInt: nmero entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a 16777215.
Integer, Int: nmero entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295 BigInt: nmero entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615. Float: nmero pequeo en coma flotante de precisin simple. Los valores vlidos van desde -3.402823466E+38 a 1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38. Real, Double: nmero en coma flotante de precisin doble. Los valores permitidos van desde 1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308 Decimal, Dec, Numeric: Nmero en coma flotante. El nmero se almacena como una cadena

72

Bases de Datos MySQL


2) Tipo Fecha:

Al almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es vlida o no. Simplemente comprueba que el mes est entre 0 y 12 y que el da est entre 0 y 31.
Date: Almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de: ao-mes-dia DateTime: Combinacin de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de ao-mes-dia horas:minutos:segundos TimeStamp: Combinacin de fecha y hora. El rango va desde el 1 de enero de 1970 al ao 2037.

Time: Almacena la hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS'
Year: almacena un ao. El rango de valores permitidos va desde el ao 1901 al ao 2155. El campo puede tener tamao dos o tamao 4 dependiendo de si queremos almacenar el ao con dos o cuatro dgitos. 73

Bases de Datos MySQL


3) Tipos de Cadena de Caracteres: Char(n): almacena una cadena de longitud fija. La cadena podr contener desde 0 a 255 caracteres. VarChar(n): almacena una cadena de longitud variable. La cadena podr contener desde 0 a 255 caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los de tipo Text y los de tipo BLOB (Binary large Object). La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo Text se ordena sin tener en cuenta las Maysculas y las minsculas, el tipo BLOB se ordena tenindolas en cuenta. Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud mxima de 255 caracteres. Blob y Text: un texto con un mximo de 65535 caracteres. MediumBlob y MediumText: un texto con un mximo de 16.777.215 caracteres. LongBlob y LongText: un texto con un mximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicacin en Internet, los paquetes pueden tener un mximo de 16 Mb. Enum: campo que puede tener un nico valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos Set: un campo que puede contener ninguno, uno varios valores de una lista. La lista puede tener un 74 mximo de 64 valores.

Bases de Datos MySQL


Ejercicio: Insertar registros en la nueva tabla alumnos. Insertar al menos 4 registros de este tipo:

75

Bases de Datos MySQL

El lenguaje standard para los sistemas de bases de datos relacionales se llama SQL.

76

Bases de Datos MySQL


Componentes del lenguaje SQL: * DML (Data Manipulation Language) Manipulacin de los datos Seleccionar / Aadir / Modificar / Borrar * DDL (Data Definition Language) Creacin de objetos de la BD Creacin de tablas, ...

77

Bases de Datos MySQL


DML = Data Manipulation Language

(Manipulacin de los Datos)


* Select Permite hacer consultas en la BD, obteniendo una nueva tabla con los resultados de la consulta

* Insert
Permite aadir registros en la BD (filas de una tabla) * Update Permite modificar registros en la BD (filas de una tabla) * Delete Permite borrar registros en la BD (filas de una tabla)
78

Bases de Datos MySQL


Consulta de datos: SELECT

Notacin:
SELECT <nombre_cols> FROM <nombre_tablas>; Ejemplo sobre la tabla alumnos:

empleados (clave_alumno, nombre, edad, curso_actual)

SELECT nombre, edad FROM alumnos;

79

Bases de Datos MySQL


Para mostrar todos los campos (columnas) de la tabla alumnos: SELECT * FROM empleados; Para evitar mostrar filas duplicadas:

SELECT DISTINCT nombre FROM alumnos;


80

Bases de Datos MySQL


Filtros (WHERE). Sirven para aplicar condiciones (o restricciones) en la seleccin de datos. Notacin: SELECT <nombre_cols> FROM <nombre_tablas> WHERE <condiciones_booleanas>; Ejemplo:

SELECT nombre, curso_actual


FROM alumnos WHERE edad = 10;
81

Bases de Datos MySQL


Operadores de comparacin aplicables en la clusula WHERE:

=
> < >= <= <> Operadores lgicos aplicables en la clusula WHERE: AND / OR / NOT Otros predicados aplicables en la clusula WHERE:

<atributo> BETWEEN <limit_1>AND <limit_2> {Rango de valores}


<atributo> LIKE <expr> {cadena de caracteres } Comodines: %, _ <atributo> IS [NOT] NULL {consultar si el atributo tiene valor o no}
82

Bases de Datos MySQL


Ejemplos:

AND:
SELECT nombre FROM alumnos WHERE curso_actual = 3 AND edad >= 10; BETWEEN: SELECT * FROM alumnos WHERE edad BETWEEN 8 AND 12; LIKE:

SELECT *
FROM alumnos WHERE nombre LIKE "M%" AND curso_actual = 3;
83

Bases de Datos MySQL


Ejercicios:
1. Obtener el nombre de todos los alumnos que actualmente estn cursando cuarto ao. 2. Obtener todos los datos de los alumnos cuya edad sea menor o igual que diez aos, o que estn en un curso anterior al tercero.
84

Bases de Datos MySQL


Ordenacin de los datos presentados (ORDER BY)

Notacin:
SELECT <nombre_cols> FROM <nombre_tablas> [ WHERE <condiciones_booleanas> ]

ORDER BY <atributo_1>, ..., <atributo_N>;


Ejemplo: SELECT nombre, edad FROM alumnos ORDER BY edad DESC; {por defecto es ASC}
85

Bases de Datos MySQL


Funciones de agregacin

COUNT(<fila>) {devuelve el total de filas seleccionadas}


SUM(<columna>) {suma los valores de una columna} MIN(<columna>) {devuelve valor mnimo columna} MAX(<columna>) {devuelve valor mximo columna}

AVG(<columna>) {devuelve la mediana de la columna}


... Ejemplos: SELECT COUNT(*) FROM alumnos; SELECT AVG(edad) FROM alumnos WHERE curso_actual = 3;
86

Bases de Datos MySQL


Ejercicios:
3. Obtener la edad del mayor de los alumnos. 4. Obtener el nmero de alumnos cuya edad sea 11 aos.

87

Bases de Datos MySQL


Ejercicios: 5. Crear el resto de tablas: profesores, listas, aulas, asignaturas, horarios. OJO: la tabla listas tiene los siguientes campos: clave_alumno, clave_profesor. Ambos campos forman la clave de la tabla.

88

Bases de Datos MySQL

89

Bases de Datos MySQL


Ejercicios extra:
1. Crear y ejecutar el comando SELECT para obtener los nombres (ordenados alfabticamente) de los alumnos que tengan 10 aos y estn en el tercer curso.

2. Crear y ejecutar el comando SELECT para obtener el nombre y curso actual de los alumnos cuya edad est entre 11 y 12.
3. Obtener el nmero de alumnos cuya edad sean 10 aos.

90

Bases de Datos MySQL


Relaciones entre tablas: Recordemos que un aula puede tener varias asignaturas, segn nuestro modelo

Por lo tanto, la relacin entre las tablas est dada por la relacin entre sus campos

91

Bases de Datos MySQL

Aulas (clave_aula, nombre ) Asignaturas (clave_asignatura, clave_aula )

En la tabla Asignaturas, clave_aula hace referencia a la clave del mismo nombre en la tabla Aulas.
92

Bases de Datos MySQL


Alumnos (clave_alumno, nombre ) Listas (clave_alumno, clave_profesor) Profesores (clave_profesor, nombre )

93

Bases de Datos MySQL


Consultas en ms de una tabla

Notacin:
SELECT <nom_cols> FROM <nom_tabla>, <nom_tabla>, ... , <nom_tabla> [ WHERE <condiciones_booleanas> ]

Ejemplo:
SELECT asignaturas.nombre, aulas.nombre FROM asignaturas, aulas WHERE aulas.clave_aula = asignaturas.clave_aula;

94

Bases de Datos MySQL


Ejemplo 1. Nombres de las aulas donde se hace la asignatura de Historia:

SELECT aulas.nombre FROM aulas, asignaturas WHERE asignaturas.nombre = 'Historia' AND aulas.clave_aula = asignaturas.clave_aula

95

Bases de Datos MySQL


Ejemplo 2. Horarios y dias en los que se imparte la asignatura de Historia:

SELECT horarios.hora_inicio, horarios.hora_fin, horarios.dia FROM horarios, asignaturas WHERE asignaturas.nombre = 'Historia' AND horarios.clave_asignatura = asignaturas.clave_asignatura ORDER BY horarios.dia, horarios.hora_inicio

96

Bases de Datos MySQL


Ejemplo 3. Asignaturas que comienzan entre 8:00 y 10:00: SELECT asignaturas.nombre, horarios.hora_inicio, horarios.hora_fin, horarios.dia FROM asignaturas, horarios WHERE asignaturas.clave_asignatura = horarios.clave_asignatura AND horarios.hora_inicio BETWEEN '08:00:00' AND '10:00:00' ORDER BY horarios.dia, horarios.hora_inicio, asignaturas.nombre
97

Bases de Datos MySQL


Ejemplo 4. Asignaturas que comienzan entre 8 y 10 el dia lunes: SELECT asignaturas.nombre, horarios.hora_inicio, horarios.hora_fin, horarios.dia FROM asignaturas, horarios WHERE asignaturas.clave_asignatura = horarios.clave_asignatura AND horarios.hora_inicio BETWEEN '08:00:00' AND '10:00:00' AND horarios.dia = 'lunes' ORDER BY horarios.dia, horarios.hora_inicio, asignaturas.nombre 98

Bases de Datos MySQL


Ejemplo 5. Alumnos cuyo profesor es 'Roberto Juarez': SELECT DISTINCT alumnos.nombre FROM alumnos, profesores, listas WHERE profesores.nombre = 'Roberto Juarez' AND listas.clave_profesor = profesores.clave_profesor AND alumnos.clave_alumno = listas.clave_alumno ORDER BY alumnos.nombre

99

Current_date; fecha del sistema select version(); select version(), current_date(); show databases; use test; usar algunas de las bases de datos. Show tables; muestra tablas

crea una base de datos en bloc de notas separados los campos por tab y los registros con enter. luego para importarla a la tabla creada se coloca la siguiente instruccin:(nota esto solo para mas rapido)

gistro

Agregando un registro a la tabla

Modificar un registro

Agregar otra tabla: eventos con los siguientes datos

Relacionar tablas: mascotas y eventos