UNIVERSIDAD POLITECNICA DE QUERETARO
PROGRAMACION ORIENTADA A OBJETOS Y DISEテ前 DE BASE DE DATOS CREACION DE INTERFACES LIGADAS A BASE DE DATOS
2014
UNIVERSIDAD POLITECNICA DE QUERETARO
1.1.1. Índice.
1.1.2. Índice de figuras.
1.1.3. Índice de tablas.
1.2. Análisis del entorno del usuario. 1.2.1. Problema a resolver. Problema: Le contratan para realizar el diseño de un Video Club. Tras analizar detenidamente el problema, enumeramos los datos que nuestra aplicación debe gestionar adecuadamente: • Hemos de mantener un registro de los clientes del video club (No. de cliente, nombre, apellido paterno, apellido materno, dirección y teléfono). • Nuestro videoclub oferta un amplio catálogo de películas (código de la película, titulo, año, director, nombre de los actores). • Cada película la suministra una distribuidora (código de la distribuidora, nombre, dirección, teléfono, página web). • Nuestra aplicación gestiona los alquileres de las copias de las películas. De cada alquiler se almacena el no. del alquiler, fecha en que se alquila, el cliente que la alquila, la fecha de la devolución y el importe que el cliente ha de pagar. • Cada película tiene asociada una tarifa.
1
1.3. Desarrollo del modelo conceptual.
1.3.1. Identificación de Entidades y Atributos.
1.3.2. Identificación de relaciones.
1.3.3. Diccionario de datos.
1.3.4. Diagrama Entidad – Relación.
Este es el diagrama Entidad relación expuesto, por completo y terminado, de primera mano se expone, como se comentó, completo para que pueda ser visualizado de manera general, a continuación
estará expuesto de una mejor manera, parte por parte para que sea mas entendible.
2
PARTE A) La parte “a” hace referencia a que la tabla “Distribuidoras”, ya que esta contendrá el identificador de la distribuidora, su nombre, el teléfono y la página web, el motivo de hacer esta tabla es para poder almacenar los datos primordiales de las distribuidoras, que surten las películas en nuestro videoclub, ya que en caso de querer encargar más películas, recurriríamos a esta tabla.
L
PARTE B)
La parte b trata básicamente de la dirección de las distribuidoras, nosotros no juntamos las direcciones de los clientes con las direcciones de las distribuidoras, ya que esto nos podría originaria desorden a la hora de consultarlas, porque sería más complicado diferenciar, que dirección es de quien. De cliente o de distribuidora.
3
PARTE C)
En esta parte explicamos lo que son las tablas de calles y de colonias que se derivan de la tabla direcciones, que van a ser usadas por las tablas de direcciones de los clientes, que como comentábamos anteriormente separamos las tablas de clientes y las de distribuidoras para un mayor orden. En la tabla de calles se encuentra el identificador de la calle, la descripción y la colonia, que sería la llave foránea de la siguiente tabla, esto se hace para poder relacionarlas De igual manera en la tabla de colonias encontramos lo que son el identificador de las colonias, la descripción que es el nombre, y el identificador del municipio, que sería la llave foránea de esta tabla.
PARTE D)
Si miramos este apartado podemos ver que contiene la tabla municipios y estados, que son una serie de cadena que una tabla depende la otra , que en teoría todas dependerían de la tabla estado, y de ahí todo se irían desglosando.
4
PARTE E) En este apartado observamos que están dos tablas, la tabla de Direcciones relacionadas a los clientes y la tabla de clientes, la tabla de direcciones de clientes tienen los mismos atributos que la tabla de distribuidora antes mencionada, enseguida encontramos la tabla de clientes, que esta tienes otros atributos los cuales son el identificador, el nombre, el apellido paterno, el apellido maternos y el teléfono. Como podemos ver la tabla de dirección contiene un atributo que es el identificador de la tabla clientes, pues esta sería la llave foránea que está siendo compartida, y en la tabla cliente no tiene ninguna llave foránea porque este no depende de ninguna otra tabla.
5
PARTE F)
La siguiente parte, únicamente contiene la parte de Alquileres que será donde se almacene la información de página web, el identificador de distribuidora el nombre de la distribuidora y el teléfono.
PARTE G) Podemos ver que esta la tabla de películas y la tabla de tarifas, que en este caso dependerá la tabla de películas de la tabla de tarifas, ya que en la tabla de películas compartirán la llave foránea que es de identificador de tarifa y el identificador de distribuidora, que serán los datos que están dentro de la tabla. En la tabla de películas es la única tabla de nuestro mer que tiene dos llaves foráneas.
6
PARTE H) En esta apartado vemos lo que es la tabla de detalles de alquileres en esta tabla estarán los atributos de identificador de la tabla, el número de alquiler y el número de película y lo que sería el monto final, este no tiene llave foránea porque esta tabla afectaría a las otras.
Todo el Modelo Entidad Relacional junto y sin las secciones se vería algo así:
7
1.4. Elección del Sistema de Gestión de Base de Datos. 1.4.1. Justificación del Sistema de Gestión de Base de Datos.
SQL SERVER 2008 R2 Justificación del Sistema de Gestión de Base de Datos. Nosotros escogimos este sistema manejador de base de datos, por dos razónese, una la recomendación que los maestros nos hicieron acerca de este mismo, y por ser más sencillo la sintaxis para hacer el scripts, también investigamos y era un sistema gestor de base de datos sencillo de instalar y entre comillas, no tendríamos que tener problemas de compatibilidad con las maquinas que íbamos a ocupar, aunque tuvimos problemas al usar SQL con Windows 8.1 ya que no te daba todos los permisos de cambiarle los puertos que ocupábamos (1433), cuando el sistema no era original. También por las recomendaciones de que era muy sencillo configurarlo para la conexión a la base de datos.
8
1.4.2. Requisitos de instalación del Sistema de Gestión de Base de Datos.
Requisitos de instalación del Sistema de Gestión de Base de Datos. En las ediciones de 32 o de 64 bits de SQL Server 2008 R2 se aplica lo siguiente: •
Microsoft recomienda ejecutar SQL Server 2008 R2 en equipos con el formato de archivo NTFS. Para las actualizaciones a SQL Server 2008 R2, los sistemas de archivos FAT32 no se bloquearán.
•
La instalación de SQL Server bloquera las instalaciones en unidades de disco de solo lectura o comprimidas.
•
SQL Server no instala el kit de desarrollo de software (SDK) de .NET Framework 3.5. Sin embargo, el SDK contiene herramientas que son útiles cuando se usa .NET Framework para desarrollo de SQL Server.
•
Requisitos de reinicio de equipos durante la instalación de SQL Server: la instalación de .NET Framework requiere un reinicio del sistema operativo. Si la instalación de Windows Installer también requiere un reinicio, el programa de instalación esperará hasta que se hayan instalado los componentes de .NET Framework y Windows Installer antes de reiniciar.
El programa de instalación de SQL Server instala los siguientes componentes de software requeridos por el producto: •
.NET Framework 3.5 SP1
•
SQL Server Native Client
•
Archivos auxiliares para la instalación de SQL Server
Para todas las instalaciones de SQL Server 2008 R2 se requiere Microsoft Internet Explorer 6 SP 1 o una versión posterior. Se requiere Internet Explorer 6 Service Pack 1 o una versión posterior para Microsoft Management Console (MMC), SQL Server Management Studio, Business Intelligence Development
9
Studio, el componente Diseñador de informes de Reporting Services y la Ayuda HTML. Las herramientas gráficas de SQL Server 2008 R2 requieren Super VGA o una resolución mayor: resolución mínima de 800 x 600 píxeles. El programa de instalación de SQL Server requiere Microsoft Windows Installer 4.5 o una versión posterior Una vez instalados los componentes requeridos, el programa de instalación de SQL Server comprobará que el equipo en el que se ha instalado SQL Server 2008 R2 también cumple los demás requisitos para su correcta instalación. (Los requisitos de software de red para las versiones de 64 bits de SQL Server 2008 R2 son los mismos que para las versiones de 32 bits). Los sistemas operativos compatibles tienen el software de red integrado. Las instancias predeterminadas y con nombre independientes admiten los siguientes protocolos de red: •
Memoria compartida
•
Canalizaciones con nombre
•
TCP/IP
•
VIA
Nota: El protocolo VIA está desusado. Esta característica se quitará en una versión futura de Microsoft SQL Server.
1.4.3. Requerimientos técnicos del servidor.
Requerimientos técnicos del servidor. Requisitos de espacio en disco duro (32 y 64 bits): Durante la instalación de SQL Server 2008 R2, Windows Installer crea archivos temporales en la unidad del sistema. Antes de ejecutar el programa de instalación para instalar o actualizar SQL Server, compruebe que dispone de al menos 3,6 GB de espacio en disco en la unidad del sistema para estos archivos. Este requisito es aplicable incluso si instala todos los componentes de SQL Server en una unidad distinta de la predeterminada. Los requisitos reales de disco duro dependen de la configuración del sistema y de las características que decida instalar.
10
Motor de base de datos y archivos de datos, Replicación y 711 MB Búsqueda de texto completo.
Analysis Services y archivos de datos
345 MB
Reporting Services y Administrador de informes
304 MB
Integration Services
591 MB
Componentes
de
cliente
(excepto
Libros
en
pantalla
y 1823 MB
herramientas de Integration Services) ,
Libros en pantalla de SQL Server
157 MB
Requisitos de procesador, memoria y sistema operativo: •
Reporting Services A partir de SQL Server 2008 R2, el componente Reporting Services ya no es compatible con los servidores basados en Itanium que ejecutan Windows Server 2003 o Windows Server 2003 R2. Reporting Services continúa siendo compatible con otros sistemas operativos de 64 bits, incluidos los sistemas basados en Windows Server 2008 para Itanium y sistemas basados en Windows Server 2008 R2 para Itanium. Para actualizar a SQL Server 2008 R2 desde una instalación de SQL Server 2008 con Reporting Services en una edición del sistema basada en Itanium de Windows Server 2003 o Windows Server 2003 R2, primero debe actualizar el sistema operativo.
11
•
WOW64 Es una característica de las ediciones de 64 bits de Windows que permite que las aplicaciones de 32 bits se ejecuten de forma nativa en el modo de 32 bits. Las aplicaciones funcionan en el modo de 32 bits, aunque el sistema operativo subyacente se ejecute en el modo de 64 bits. WOW64 se admite solamente para instancias independientes de SQL Server. WOW64 no se admite para instalaciones de clústeres de conmutación por error de SQL Server. En las instalaciones de las ediciones de 64 bits de SQL Server en los sistemas operativos de 64 bits admitidos, las herramientas de administración se admiten en WOW64. Para obtener más información acerca de los sistemas operativos compatibles, seleccione una edición de SQL Server 2008 R2 de las secciones
siguientes.
En un sistema operativo de 64 bits compatible, las instalaciones de las ediciones de 32 bits de SQL Server se pueden instalar en el subsistema de 32 bits de Windows o Windows (WOW64) de un servidor de 64 bits. •
Otras notas del sistema operativo SQL Server 2008 R2 no se admite en las instalaciones básicas de servidor de Windows Server 2008 SP2 y Windows Server 2008 R2. Los sistemas operativos enumerados en las secciones de SQL Server Standard también se admiten para SQL Server Standard for Small Business. Las ediciones SQL Server que se admiten en Windows Server 2008 R2 de 64 bits x64 Standard también se admiten en Windows Small Business Server 64-bit x64.
Referencia: http://technet.microsoft.com/eses/library/ms143506(v=sql.105).aspx #HardDiskSpace
12
1.5. Desarrollo del modelo lógico. 1.5.1. Mapeo del Modelo Entidad – Relación al Modelo Relacional.
NORMALIZACION Estados
(id_estados, descripción_estado)
Municipios
(id_municipio, descripción_municipio, id_estados)
Colonias
(id_colonias, descripción_colonia, id_municipio)
Calles
(id_calle, descripción_calle, id_colonias) (
no_cliente,
nombre,
a_Paterno,
a_Materno
Cliente
Telefono )
Distribuidoras
( id_distribuidora, nombre, telefono, PagWeb) (
Peliculas
cod_peliculas,
Año,
Director,
id_tarifa,
id_distribuidara ) (id_alquiler,
Alquileres
Titulo,
,
fecha_alquiler,
fecha_devolucion,
monto_final, no_cliente) ( id_direcciones, no_interior, no_exterior, no_cliente,
DireccionC
id_calle) (id_direcciones,
no_exterior,
no_interior,
DireccionD
id_distribuidora)
TARIFA
(id_tarifa, descripcion, monto)
DetAlquiler
(id_aetalquiler, id_alquiler, cod_peliculas)
Categorias
(id_categoria, Descripcion)
id_calle,
Nota: las llaves primarias están marcadas como subrayado y las llaves foráneas son las que están en rojo
13
1.5.2. Diagrama de Base de Datos. Pasamos a tablas los datos que tenemos en el modelo entidad-relación. Para pasar a tablas todos los datos sin dejarnos nada y que las tablas tengan sentido por si solas tenemos que seguir unos pasos:
Toda entidad se transforma en una tabla
todo atributo se transforma en una columna dentro de la tabla a la que pertenece
El identificador de la entidad se convierte en la clave primaria de la tabla
Toda relación N:M se convierte en una tabla que tendrá como clave primaria las dos claves primarias de las entidades que se asocian
En las relaciones 1:N la clave primaria de la entidad con cardinalidad 1 pasa a la tabla de la entidad cuya cardinalidad es N
En las relaciones N:M existen tres posibilidades: Si la cardinalidad es (0,1) en ambas entidades, se crea tabla. Mientras que si la cardinalidad de una es (0,1) y de la otra es (1,1) se suele pasar la clave primaria de (1,1) a la de (0,1). Si la cardinalidad de ambas es (1,1) se pasa la clave de cualquiera de ellas a la otra.
En nuestro caso muestro diagrama quedaria de esta manera siguiendo las reglas pasadas
14
http://oscarsotorrio.com/post/2010/10/12/Transformacion-delModelo-ER-al-Modelo-Relacional.aspx
15
1.6. Desarrollo de modelo físico. 1.6.1. Script de base de datos. 1.6.1.1.
Creación de la base de datos.
Por medio del siguiente script podemos crear la base de datos: CREATE DATABASE BVideoClub;
Cuando ejecutamos ese comando nos aparece un mensaje de que se ha completado el comando correctamente (siempre y cuando no haya errores de sintaxis ). Como se muestra en la siguiente imagen.
1.6.1.2.
Creación de las tablas en la base de datos.
Para crear las tablas en la base de datos, es importante introducir el siguiente comando, CREATE TABLE Estados porque es importante que después de esta orden abrir y cerrar paréntesis, porque en estos irán los atributos y sus tipos de datos iran dentro de otros paréntesis que se abrirá enseguida del tipo de dato, en caso de ser llave foránea oh llave primaria se tiene que introducir el siguiente comando o
ejemplo:
CREATE TABLE Colonias( id_colonias int PRIMARY KEY, descripcion_colonia VARCHAR (50), id_municipio int FOREIGN KEY REFERENCES Municipios(id_municipio) );
16
Ejecutando todo el código de todas nuestras tablas, tenemos lo siguiente:
1.6.1.3.
Inserción de datos en las tablas.
Los inserts son una serie de comando que cambian de acuerdo a las tablas que uno tiene, cada inserts es único, de la misma manera que son las tablas. El comando estaría estructurado de la siguiente manera, INSERT INTO “TABLA”(campo1, campo2, campo3) VALUES(valor de campo1, valor de campo2, calor de campo 3);
17
EJEMPLO: INSERT INTO Estados(id_estados,descripcion_estado) VALUES(2,'Baja California Norte');
Este insert está dándole valores a los campos id_estados, descripción_estado, de la tabla Estados, nosotros podemos insertar datos cuantas veces queramos, en este casi cada tabla tendrá 30 inserts y como tenemos alrededor de 13 tablas serian un total de 390 inserts. Por lo tanto por cada insert que ejecutemos nos aparecerá un mensaje de “fila afectada” como se muestra a continuación.
Si ponemos atención al número de líneas en nuestro script dice que tenemos más de 1300 líneas y esto incrementa mucho por los inserts.
18
1.6.1.4.
Actualización de datos en las tablas.
1.6.1.5.
Eliminación de datos en las tablas.
1.6.1.6.
Consultas.
Las consultas son de la misma manera que los inserts una serie de comandos juntos y en un orden específico para poder realizar una consulta, las consultas están compuestas por las palabras reservadas, Select * FROM “nombre de la tabla”
El asterisco significa todo, por lo tanto estarías diciendo, muéstrame
todo de la tabla deseada select *
from Clientes,
te mostraría todo lo que
está dentro de clientes, ahora les mostraremos un ejemplo de una consulta en nuestra base.
Esta ocasión se ejecutó y te muestra todo lo que tiene la tabla con todos sus campos, la primera columna es la llave primaria con un Id auto incrementable, después la descripción y al último el monto, que sería el costo de la película.
19
1.7. Evaluación del modelo físico. 1.7.1. Construcción del prototipo (Programación Orientada a Objetos).
1.7.2. Afinación del sistema. CONSTRUCCIÓN DEL PROTOTIPO.
La interfaz principal permite seleccionar una de las seis opciones que esta contiene como botones.
1) BOTÓN DISTRIBUIDORAS. La opción que este proporciona es enviarnos a una nueva interfaz donde se podrán consultar algunos datos de las distribuidoras de películas como son: el nombre de la distribuidora, todo lo relacionado con la dirección de ubicación, teléfono y pagina web.
20
2) BOTÓN CLIENTES. La opción que este proporciona es enviarnos a una nueva interfaz donde se podrán consultar los datos de los clientes registrados en el video club como son: el nombre del cliente, todo lo relacionado con la dirección del cliente y su teléfono. 3) BOTÓN PELÍCULAS. La opción que este proporciona es enviarnos a una nueva interfaz donde se podrán consultar algunos datos de las películas que se tienen en el video club como son: el nombre de la película, el año en el que se estrenó, el título de la película, y la tarifa de la película. 4) BOTÓN ALQUILAR. La opción que este proporciona es enviarnos a una nueva interfaz donde se podrán consultar algunos datos de las distribuidoras de películas como: el nombre de la distribuidora, todo lo relacionado con la dirección de ubicación, teléfono y pagina web. 5) BOTÓN CATEGORÍAS. La opción que este proporciona es enviarnos a una nueva interfaz donde se podrán consultar los tipos de categorías de las películas. 6) BOTÓN SALIR. Este finalizara la utilización de esta misma interfaz en el caso de que no se quera realizar nada en dicho momento.
21
INTERFAZ DISTRIBUIDORAS.
1) Consultar. La opción que este proporciona es buscar la distribuidora que esté ligada con el código y muestra todo lo relacionado con esta. 2) Estado. La opción que este proporciona es mostrar una lista con todos los estados de la república, para que el usuario seleccione uno de estos. 3) Municipio. La opción que este proporciona es mostrar una lista con algunos municipios relacionados con el estado seleccionado anteriormente, para que el usuario al igual seleccione uno de estos. 4) Colonia.
22
La opción que este proporciona es mostrar una lista con algunas colonias relacionadas con el municipio seleccionado anteriormente, para que el usuario al igual seleccione uno de estos. 5) Calle. La opción que este proporciona es mostrar una lista con algunos municipios relacionados con el estado seleccionado anteriormente, para que el usuario al igual seleccione uno de estos. 6) Guardar. La opción que este proporciona es que al llenar el formulario con datos de una nueva distribuidora, dichos campos alterados sean guardados en la base de datos que se tiene. 7) Actualizar. La opción que este proporciona es que al realizar una consulta y si fuese necesario modificar algo dicho botón al ser seleccionado modifique los campos en la base de datos que se tiene. 8) Eliminar. La opción que este proporciona es eliminar los datos de cualquier distribuidora que se seleccione. 9) Limpiar. La opción que este proporciona es dejar el formulario vacío de tal manera que se pueda utilizar las veces que sea requerido. 10) Atrás. La opción que este proporciona es regresar a la interfaz anterior.
23
INTERFAZ CLIENTES.
1) Consultar. La opción que este proporciona es buscar el cliente que esté ligada con el número y muestra todo lo relacionado con este. 2) Estado. La opción que este proporciona es mostrar una lista con todos los estados de la república, para que el usuario seleccione uno de estos. 3) Municipio. La opción que este proporciona es mostrar una lista con algunos municipios relacionados con el estado seleccionado anteriormente, para que el usuario al igual seleccione uno de estos. 4) Colonia. La opción que este proporciona es mostrar una lista con algunas colonias relacionadas con el municipio seleccionado anteriormente, para que el usuario al igual seleccione uno de estos.
24
5) Calle. La opción que este proporciona es mostrar una lista con algunos municipios relacionados con el estado seleccionado anteriormente, para que el usuario al igual seleccione uno de estos. 6) Guardar. La opción que este proporciona es que al llenar el formulario con datos de una nueva distribuidora, dichos campos alterados sean guardados en la base de datos que se tiene. 7) Actualizar. La opción que este proporciona es que al realizar una consulta y si fuese necesario modificar algo dicho botón al ser seleccionado modifique los campos en la base de datos que se tiene. 8) Eliminar. La opción que este proporciona es eliminar los datos de cualquier distribuidora que se seleccione. 9) Limpiar. La opción que este proporciona es dejar el formulario vacío de tal manera que se pueda utilizar las veces que sea requerido. 10) Atrás. La opción que este proporciona es regresar a la interfaz anterior.
25
Interfaz películas.
1) Consultar. La opción que este proporciona es buscar la película que esté ligada con el código y muestra todo lo relacionado con esta. 2) Tarifa. La opción que este proporciona es dar un rango de las cantidades posibles del costo de una película. 3) Guardar. La opción que este proporciona es que al llenar el formulario con datos de una nueva distribuidora, dichos campos alterados sean guardados en la base de datos que se tiene. 4) Actualizar. La opción que este proporciona es que al realizar una consulta y si fuese necesario modificar algo dicho botón al ser seleccionado modifique los campos en la base de datos que se tiene.
26
5) Eliminar. La opción que este proporciona es eliminar los datos de cualquier distribuidora que se seleccione. 6) Limpiar. La opción que este proporciona es dejar el formulario vacío de tal manera que se pueda utilizar las veces que sea requerido. 7) Atrás. La opción que este proporciona es regresar a la interfaz anterior.
Interfaz alquiler.
1) Consultar. La opción que este proporciona es buscar la película que esté ligada con el folio y muestra toda la información que esté relacionado con el alquiler. 2) Clientes. La opción que este proporciona es mostrar el nombre de los clientes que ya tienen su registro elaborado para poder realizar el alquiler de la película.
27
3) Consultar películas. La opción que este proporciona es realizar una búsqueda con respecto al código de la película para dar las referencias correspondientes a los campos que se deban llenar. 4) Monto final. La opción que este proporciona es dar la cantidad que se debe aportar para poder realizar el alquiler de la película; dicha cantidad tiene una varianza dependiendo el tipo de categoría en el que se encuentre. 5) Guardar. La opción que este proporciona es que al llenar el formulario con datos de una nueva distribuidora, dichos campos alterados sean guardados en la base de datos que se tiene.
6) Actualizar. La opción que este proporciona es que al realizar una consulta y si fuese necesario modificar algo dicho botón al ser seleccionado modifique los campos en la base de datos que se tiene. 7) Eliminar. La opción que este proporciona es eliminar los datos de cualquier distribuidora que se seleccione. 8) Limpiar. La opción que este proporciona es dejar el formulario vacío de tal manera que se pueda utilizar las veces que sea requerido.
28
Interfaz categorías.
1) Consultar. La opción que este proporciona es buscar la película que esté ligada con el número y muestra toda la información que esté relacionado con el nombre de la categoría. 2) Guardar. La opción que este proporciona es que al llenar el formulario con datos de una nueva distribuidora, dichos campos alterados sean guardados en la base de datos que se tiene. 3) Actualizar. La opción que este proporciona es que al realizar una consulta y si fuese necesario modificar algo dicho botón al ser seleccionado modifique los campos en la base de datos que se tiene. 4) Eliminar.
29
La opción que este proporciona es eliminar los datos de cualquier distribuidora que se seleccione. 5) Limpiar. La opción que este proporciona es dejar el formulario vacío de tal manera que se pueda utilizar las veces que sea requerido. 6) Atrás. La opción que este proporciona es regresar a la interfaz anterior.
1.8. Implementación del sistema.
1.9.
Bibliografía.
30