Bases de datos. 1. Introducción



Documentos relacionados
Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

T12 Vistas y tablas temporales

Base de datos en Excel

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

U.E JUAN DE VELASCO CREAR DATOS EN SQL

Procedimientos para agrupar y resumir datos

select nombre from profesores where categoria='aso6';

Introducción a PostgreSQL con PHP

Plantillas Office. Manual de usuario Versión 1.1

Manual de rol gestor de GAV para moodle 2.5

Servicio de Apoyo a la Investigación. Tutorial EndNoteWeb

3.1. Guardar un libro de trabajo

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

SQL (Structured Query Language)

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Curso de PHP con MySQL Gratis

Bases de datos relacionales y el modelo entidad-relación

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas

POWER POINT. Iniciar PowerPoint

Curso Excel Básico - Intermedio

PLANTILLAS DE DOCUMENTOS EN WORD 2007

BASES DE DATOS - Microsoft ACCESS 2007-

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

IMPLEMENTACION DE UN SERVIDOR DE ACTUALIZACIONES MASTER

Guía de Aprendizaje No. 1

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Manual de NetBeans y XAMPP

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

5.4. Manual de usuario

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Toda base de datos relacional se basa en dos objetos

P á g i n a 1 OPERADOR PC

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

Repaso de Conceptos Básicos de Bases de Datos

Uso del Programa Gantt Project

1.- INTRODUCCIÓN 2.- PARÁMETROS

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

5- Uso de sentencias avanzadas

EL PROGRAMA DE PRESENTACIONES IMPRESS (I)

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa.

Indicaciones específicas para los análisis estadísticos.

Bases de datos en Excel

Internet Information Server

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

GMAIL (avanzado) 1. Accede a la web de Gmail, Te destacamos las funcionalidades que vamos a enseñarte a. 2. Vamos a enseñarte a:

Sesión No. 11. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

MS ACCESS BÁSICO 6 LOS INFORMES

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Versión Página 2 de 29

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común:

MANUAL BASICO DE WEBEX

MANUAL DE USO PROGRAMA DE GESTIÓN AGENCIAS DE VIAJES

Creando una webquests

Práctico. Excel para la toma de decisiones. Ayudante : César Villalobos Luengo Profesora : Dra. Angélica Urrutia

GUÍA RED SOCIAL FACEBOOK

Trabajos de Ampliación. Bases de datos NoSQL.

HERRAMIENTAS DE ACCESS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

15 CORREO WEB CORREO WEB

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

GVisualPDA Módulo de Almacén

Tutorial: Primeros Pasos con Subversion

Conectar Flash con Access usando MDM Zinc

Administración de la producción. Sesión 11: Gestor de Base de Datos (Access)

CONFIGURACION AVANZADA DE OUTLOOK EXPRESS 6

Tutorial de Unity 3D Tema 52 Bases de Datos. Tutorial de Unity 3D. Bases de Datos

Parte II: Herramientas

Accesibilidad web GUÍA FUNCIONAL

Opciones disponibles para arrancar MAX

Guía Notas Parciales. Intermedio

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

BREVE MANUAL DE SOLVER

Manual Ingreso Notas y Acta Electrónica

MANUAL TARIFICADOR. Clic aquí Descargar Tarificador

Instalación y Registro Versiones Educativas 2013

COMO CREAR UNA PÁGINA WEB 3-VÍNCULOS. IMÁGENES. FORMULARIOS.

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Mini-guía: Gestión Backup

Apuntes para hacer páginas Web con FrontPage

Gobierno del Estado de México

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

Diseño de formularios

GUIA PARA GENERAR PROSPECTOS Y VENTAS EN WEB

Copyright 2015 Pepa Cobos. Todos los derechos reservados.

2_trabajar con calc I

Base de datos relacional

Transcripción:

Bases de datos 1. Introducción Habitualmente, los programas trabajan con información que está en un fichero. Por ejemplo, nuestro simulador de tráfico aéreo trabaja con una lista de planes de vuelo que inicialmente está en un fichero de texto. Al inicio del proceso de simulación, el programa lee el fichero de texto y coloca la información de los planes de vuelo en una estructura de datos (una lista de planes de vuelo). Durante la simulación utiliza la información que hay en la lista (hace recorridos y búsquedas en la lista). Y finalmente, si el usuario lo desea, el programa guarda los planes de vuelo modificados en un fichero de texto. Por tanto, los ficheros de texto se ha usado en dos momentos: al inicio cuando se lee la información para cargarla en la estructura de datos y al final cuando se vuelca la información de la lista en un fichero. Durante el proceso de simulación los ficheros no se usan para nada. Con mucha frecuencia ocurre que un programa necesita usar cierta información, pero sólo en parte y de forma puntual. Por ejemplo, supongamos que nuestro simulador maneja también información sobre las compañías aéreas. Para cada compañía queremos tener su identificación, su teléfono y su email, para poder comunicarnos con ella. Podríamos pensar en tener un fichero de texto con la información de todas las compañías del mundo, y cargar ese fichero en una estructura de datos al inicio del programa para tenerla disponible durante la simulación, exactamente igual que con la lista de planes de vuelo. Pero a diferencia de los planes de vuelo, la información sobre compañías sólo la necesitamos en momentos concretos y sólo para algunas compañías (por ejemplo, para generar una lista de compañías afectadas por la regulación, con los teléfonos de contacto). Sería muy ineficiente mantener en una estructura de datos la información de todas las compañías, cuando en realidad sólo necesitaremos la información de unas pocas de ellas. Para estos casos, lo ideal es usar una base de datos y un sistema de gestión de bases de datos. Una base de datos no es más que un fichero organizado de forma especial (no es un fichero de texto) y el sistema de gestión es una aplicación que realiza de forma eficiente consultas y modificaciones de la información que hay en la base de datos. En nuestro proyecto, usaremos una base de datos con las compañías aéreas de todo el mundo. Al inicio de la simulación el programa se conectará a la base de datos (no se cargarán todos los datos en una estructura, como ocurre con la lista de planes de vuelo). Durante la simulación, cuando sea necesario consultar los datos de alguna compañía aérea se realizará la consulta correspondiente a la base de datos, que se resolverá de forma eficiente gracias al gestor de bases de datos. Cuando acabe nuestro programa simplemente cerraremos la conexión a la base de datos y listo. 1

En este práctica aprenderemos a utilizar el sistema de gestión de bases de datos Microsoft SQL Compact Edition, que viene incorporado en la instalación de Visual C# Express Edition. La práctica se organiza entorno a una colección de videos que explican cómo usar ese sistema de gestión de bases de datos desde nuestros programas. En esta guía se explica brevemente todo lo que hay que saber para poder interpretar adecuadamente la información de los vídeos. A lo largo de la guía se proponen ejercicios que deberás ir haciendo a medida que avanzas. 2. Las tablas de una base de datos y el lenguaje para hacer operaciones Conceptualmente, una base de datos no es más que una colección de tablas. Cada una de las tablas representa una entidad. Por ejemplo, nuestra base de datos va a tener una tabla para representar la entidad línea aérea. Podríamos tener más tablas para representar entidades como modelo de aeronave (con información sobre las características técnicas de todos los modelos de aeronave del mundo) o la entidad aeródromo (con información sobre las características de todos los aeródromos). Una tabla tiene una serie de finas. Cada fila corresponde a un registro de la base de datos. En el caso de la tabla de líneas aéreas cada fila de la tabla contiene la información de una línea aérea. Las columnas de la tabla corresponden a las diversas informaciones que queremos tener registradas para cada registro. En nuestro ejemplo, para cada línea aérea queremos tener su nombre, su teléfono y el número de aeronaves que tiene la línea aérea. La siguiente imagen muestra el aspecto que puede tener la tabla de líneas aéreas, con información de tres líneas aéreas. Para hacer operaciones con las tablas de una base de datos (consultas y modificaciones) se usa un lenguaje estándar que se denomina SQL (Structured Query Language). La consulta más básica que se puede hacer en SQL es: SELECT * FROM LineasAereas Con esta consulta estamos pidiendo que seleccione todas las columnas (*) de todos los registros de la tabla que se llama LineasAereas. El resultado de esta 2

consulta es una tabla con toda la información de la base de datos, es decir, una tabla como la de la imagen anterior. A continuación se muestran algunas consultas con la tabla que se obtiene como resultado (asumiendo que la tabla LineasAereas contiene la información que se muestra en la imagen anterior). SELECT Nombre FROM LineasAereas SELECT Telefono FROM LineasAereas WHERE (Nombre = 'Iberia') SELECT Nombre, Telefono FROM LineasAereas WHERE (NumeroAeronaves > 50) AND (NumeroAeronaves < 100) Además de consultas, también pueden hacerse operaciones de modificación de registros en la base de datos. Por ejemplo, la operación para insertar un nuevo registro en la tabla sería: INSERT INTO LineasAereas VALUES('AirNostrum', '913456723', 14) La operación para incrementar el número de aeronaves de Iberia sería: UPDATE LineasAereas SET NumeroAeronaves = NumeroAeronaves + 1 WHERE (Nombre = 'AirNostrum') Ya puedes ver el primer video de la colección, que muestra cómo crear una base de datos y la tabla correspondiente usando el asistente de bases de datos, y cómo realizar operaciones en el lenguaje SQL, también desde el asistente. Reproduce en tu ordenador las operaciones que te muestre el video y comprueba que todo funciona correctamente. Parte I: Crear la base de datos y hacer consultas desde el asistente http://youtu.be/btulvdf9ez0 Como ejercicio complementario, añade a la base de datos una nueva tabla para registrar modelos de aeronave. Decide tu mismo qué información quieres registrar de cada modelo (dos o tres datos), define las columnas de la tabla, añade algunos registros y práctica con algunas consultas. Esta tabla muestra más tipos de operaciones en SQL que te ayudarán a tener una visión más amplia de lo que se puede hacer. Los ejemplos se refieren a 3

una base de datos que tiene una tabla de clientes y para cada cliente tenemos su DNI, su nombre y su edad SELECT count(*) FROM clientes; SELECT * FROM clientes WHERE edad>18 ORDER BY edad ASC; SELECT * FROM clientes WHERE edad>18 ORDER BY edad DESC; SELECT * FROM clientes WHERE edad>18 AND edad <30; SELECT * FROM clientes WHERE DNI= 1111111111H ; SELECT * FROM clientes WHERE nombre LIKE j% ; SELECT * FROM clients WHERE DNI LIKE %H ; SELECT max(edad) FROM clientes; INSERT INTO clientes VALUES ( 22222222T, enric,25); UPDATE clientes SET nombre= pep WHERE DNI= 22222222T ; UPDATE clientes SET edad=edad+1 WHERE DNI= 22222222T ; DELETE FROM clientes WHERE DNI= 22222222T and edad<18; DELETE FROM clientes WHERE DNI= 22222222T ; Intenta adaptar algunas de estas consultas y modificaciones al caso de tu base de datos y tus tablas. 3. Consultas y modificaciones de bases de datos desde nuestros programas en C# En el video anterior has visto cómo crear una base de datos con sus tablas y hacer operaciones con ellas usando el asistente de bases de datos. Pero lo que nos interesa realmente es realizar operaciones con bases de datos desde nuestros programas en C#. Los siguientes videos muestran cómo conectarse desde nuestro programa a una base de datos, realizar consultas y modificaciones. Es importante que veas cómo el programa debe recorrer la tabla resultante de una consulta para extraer de ella la información y mostrarla al usuario. También es importante que veas la diferencia entre hacer una consulta (que da como resultado una tabla con los resultados de la consulta) y hacer una operación de modificación de la base de datos (que no da como resultado ninguna tabla, sino un número entero que indica cuántas filas de la tabla han sido afectadas por la modificación). Parte II: Conectarse a la base de datos http://youtu.be/7nvrsclokfi Parte III: Consultas a la base de datos http://youtu.be/1ourncq9n0a Parte IV: Más consultas http://youtu.be/hh9_aib_hfm 4

Parte V: Modificaciones de la base de datos http://youtu.be/xf8xtj4d-qy Reproduce en tu ordenador las operaciones que muestran estos vídeos y verifica que funcionan correctamente. Después, añade operaciones para realizar consultas y modificaciones de la tabla de modelos de aeronave (las consultas y modificaciones que te apetezcan). 4. Copiar la base de datos de un proyecto a otro La base de datos es un fichero que está en la carpeta de nuestro proyecto (junto con los ficheros de código o los ficheros de texto con datos). El siguiente video de la colección explica un problema que puede aparecer con los ficheros de la base de datos y que afecta a la integridad de la información que hay en la base de datos. Además de explicar cómo se resuelve este problema, el video muestra cómo debes hacer para pasar la base de datos a tus compañeros de forma que puedan incorporarla a su proyecto. Esto será necesario porque si trabajáis juntos en el proyecto tendréis que usar todos la misma base de datos y si alguien del equipo modifica esa base de datos debe pasársela al resto. Parte VI: El problema con los ficheros de la base de datos y cómo pasarle la base de datos a los compañeros. http://youtu.be/5eu6dhzzzvy Comprueba que no tienes problema para pasar tu base de datos de un proyecto a otro nuevo. 5. Reorganizar el código El último video de la colección muestra cómo reorganizar el código de forma que cada una de las operaciones que quieres hacer con la base de datos está encapsulada en una función o un procedimiento. El código queda así mucho más claro. Parte VII: Reorganizar el código http://youtu.be/-ixb6exltgk Completa el código con procedimientos y funciones para hacer las operaciones que te interesa con la tabla de modelos de aeronave. En Atenea encontrarás el código correspondiente a esta última versión de nuestro programa. 5

6. Más sobre bases de datos En esta práctica has aprendido a trabajar con bases de datos que tienen una o varias entidades (tablas). Esas entidades no tienen relación entre sí y se trabaja de forma independiente con ellas. Normalmente, las entidades de una base de datos tienen relación entre si. Por ejemplo, la tabla de líneas aéreas puede estar relacionada con la tabla de modelos de aeronave porque una línea aérea puede tener varias aeronaves y cada una de ellas es de un modelo determinado. Cuando las tablas están relacionadas entonces es posible realizar en SQL consultas más complejas como por ejemplo: Dime las características técnicas de todas las aeronaves que tiene una determinada línea aérea Dime el nombre y el teléfono de todas las líneas aéreas que tienen al menos 3 aeronaves con capacidad para más de 150 pasajeros En este curso no vamos a estudiar cómo hacer bases de datos con entidades relacionadas entre si, ni como hacer esas consultas más complejas. Pero si te interesa el tema, en la siguiente página web encontrarás un tutorial muy bueno que te permitirá aprender mucho más: http://www.w3schools.com/sql/default.asp 7. Ejercicio Implement a data base with two entities: user and product. The attributes of a user are: name and password. The attributes of a product are: name, price and number of units of this product available in the store. Write a C# program (in console mode) that presents to the user a menu with three options: Subscribe: The program will ask the user for name and password and will insert a new record in the database. Unsubscribe: The program will ask the user for name and password and will access the data base to check if the password is correct. If so, the program will delete the user from the data base. On the contrary, the program rejects the chosen option. Access to the system: The program will ask the user for name and password and will access the data base to check if the password is correct. If so, the program will present the user a second group of options. On the contrary, the program rejects the chosen option. 6

The second group of options to be presented to the user if he gains access to the system is: List all products in the data base. List information of one product whose name is introduced from console. Insert a new product. Delete the product whose name is introduced from console Calculate the total value of products in the store (the sum of units per prices). List product that satisfy two conditions: o are more expensive than a given price (to be read from console) o the number of units of the product in store are less that another quantity also read from console. 7