Está en la página 1de 12

RESUMEN DE ANALISIS Y DISEÑO II PARCIAL, I SEMESTRE

El diseño de software es el proceso por el que un agente crea una especificación de un artefacto de software, pensado
para cumplir unos objetivos, utilizando un conjunto de componentes primitivos y sujeto a restricciones.1 El diseño de
software  se puede referir a "toda la actividad implicada en conceptualizar, enmarcar, implementar, poner en
funcionamiento y, finalmente, modificar sistemas complejos" o "la actividad que sigue a la especificación de requisitos y
procede a la programación, como en un proceso de ingeniería de software estilizado.
El diseño de software es el proceso de visionado y definición de soluciones software a uno o más conjuntos de
problemas. Uno de los componentes principales del diseño de software es el análisis de requisitos del software (ARS, del
inglés SRA). Se trata de una parte del proceso de desarrollo de software que enumera especificaciones empleadas en
ingeniería de software. Si el software está "automatizado" o centrado en el usuario, el diseño de software puede
implicar también el diseño de experiencia de usuario que utiliza un storyboard o guion gráfico para ayudar determinar
esas especificaciones. Si el software es completamente automatizado (es decir, sin usuario o interfaz de usuario), un
diseño de software puede ser tan sencillo como un diagrama de flujo o un texto describiendo una secuencia planeada de
acontecimientos. También hay métodos semiestándares como el Lenguaje Unificado de Modelado (UML) y conceptos
fundamentales de modelado. En cualquier caso, normalmente alguna documentación del plan resulta como producto
del diseño. Además, un diseño de software puede ser independiente de la plataforma o específico de la plataforma,
dependiendo de la disponibilidad de la tecnología utilizada para el diseño.
La diferencia principal entre análisis y el diseño de software es que la producción de un análisis de software se compone
de problemas más pequeños para solucionar. Además, el análisis no tendría que ser diseñado de manera muy distinta
por miembros de equipo diferente. En contraste, el diseño se enfoca a capacidades y, por tanto, múltiples diseños
existen y existirán para el mismo problema. Según el entorno, el diseño también varía en función de si se está creando a
partir de frameworks fiables o implementando con patrones de diseño adecuados. Ejemplos de diseño incluyen sistemas
de operaciones, páginas web, dispositivos móviles o incluso el nuevo paradigma de computación en la nube.
El diseño de software es un proceso y un modelo. El proceso de diseño es una secuencia de pasos que habilita al
diseñador para describir todos los aspectos del software a construir. La habilidad creativa, la experiencia, el sentido de
qué hace a un "buen" software y el compromiso con la calidad son ejemplos de factores críticos para el éxito de un
diseño competente. Es importante tener en cuenta aun así que el proceso de diseño no es siempre un procedimiento
sencillo; el modelo de diseño puede ser comparado con los planos de una casa para un arquitecto. Se empieza
representando la totalidad de la cosa que se va a construir (p. ej., un renderizado tridimensional de la casa); la cosa se va
refinando lentamente para sevir como guía a la hora de construir cada detalle (p. ej., la parte de fontanería). Del mismo
modo, el modelo de diseño que se crea para el software proporciona una variedad de visiones distintas del software. Los
principios básicos de diseño ayudan al ingeniero de software a navegar por el proceso de diseño. Davis sugiere un
conjunto de principios de diseño de software que han sido adaptados y extendidos en la siguiente lista: 3
El proceso de diseño no tendría que sufrir "visión de túnel." Un buen diseñador tendría que considerar enfoques
alternativos, juzgando cada uno basándose en los requisitos del problema, en los recursos disponibles para hacer el
trabajo.
El diseño tendría que ser rastreable por el modelo de análisis. Ya que un único elemento del modelo de diseño a
menudo puede remontarse a múltiples requisitos, es necesario tener un medio para observar cómo los requisitos han
sido satisfechos por el modelo de diseño.
El diseño no tendría que reinventar la rueda. Los sistemas se  construyen utilizando un conjunto de patrones de diseño,
muchos de los cuales probablemente han sido utilizados anteriormente. Estos patrones deberían ser escogidos como
alternativa a la reinvención. Se dispone de poco tiempo y recursos limitados; tiempo de diseño tendría que invertirse en
representar ideas verdaderamente nuevas integrando patrones que ya existan (siempre y cuándo esto sea posible).
El diseño debe "minimizar la distancia intelectual" entre el software y el problema tal y como existe en el mundo real.
Esto es, la estructura del diseño de software debe, siempre que sea posible, imitar la estructura del dominio del
problema.
El diseño tiene que exhibir uniformidad e integración. Un diseño es uniforme si resulta plenamente coherente. Para
conseguir esto, las reglas de estilo y formato han de ser definidas para el equipo de diseño antes de que comience el
trabajo de diseño. Un diseño está integrado si se ha tomado la molestia en definir interfaces entre componentes de
diseño.
El diseño tendría que ser estructurado para adaptarse al cambio. Los conceptos de diseño que se exponen en la
próxima sección, habilitan al diseño para conseguir este principio.
El diseño tendría que estar estructurado para degradarse suavemente, incluso cuándo los datos, los acontecimientos
o las condiciones operativas son irregulares. El software bien diseñado nunca debería "explotar"; debe ser diseñado
para adaptarse a circunstancias inusuales, y si tuviera que terminar su ejecución, habrá de hacerlo de la manera más
grácil posible.
El diseño no es codificación, la codificación no es diseño. Incluso cuándo los diseños detallados de procesos están
creados para componentes del programa, el nivel de abstracción del modelo de diseño es más alto que el del código
fuente. Las únicas decisiones de diseño del nivel de codificación tendrían que referirse a pequeños detalles de
implementación para habilitar la codificación del diseño de procesos.
La calidad del diseño tendría que ser evaluado cuando se está creando, no después. Una variedad de conceptos y
medidas de diseño están disponibles para asistir al diseñador en la evaluación de la calidad durante el proceso de
desarrollo.
El diseño tendría que ser revisado para minimizar los errores conceptuales (semánticos). A veces hay una tendencia a
centrarse en minucias cuándo se revisa el diseño. El equipo de diseño tendría que asegurarse de que los elementos
conceptuales importantes del diseño (omisiones, ambigüedad, incongruencias) han sido tratados antes de preocuparse
por la sintaxis del modelo de diseño.
Conceptos de diseño
Los conceptos de diseño proporcionan al diseñador de software una base sobre la que se pueden aplicar métodos más
sofisticados. El conjunto de conceptos fundamentales del diseño ha evolucionado. Son los siguientes:
Abstracción - la abstracción es el proceso o resultado de la generalización reduciendo el contenido de información de un
concepto o un fenómeno observable, típicamente para retener información única que es pertinente para un propósito
particular. Es el acto de Representar características esenciales sin incluir los detalles de fondo o explicaciones.
Refinamiento - es el proceso de elaboración. Una jerarquía se desarrolla descomponiendo una declaración macroscópica
de función de un modo sensato hasta que se logre obtener declaraciones del lenguaje de programación. En cada paso,
una o varias instrucciones de un programa dado se descomponen en instrucciones más detalladas. La abstracción y El
Refinamiento son conceptos complementarios .
Modularidad - La arquitectura de software está dividida en componentes llamados módulos.
Arquitectura de software - se refiere a la estructura global del software y las maneras en que esa estructura proporciona
integridad conceptual al sistema. Una buena arquitectura de software amortizará la inversión en cuanto al resultado
deseado del proyecto, p. ej. en el rendimiento, la calidad, el programa y el coste.
Jerarquía de control - Un estructura de programa  que representa la organización de un componente e implica una
jerarquía de control.
Estructural Partitioning - La estructura de programa puede ser dividida horizontal y verticalmente. Las particiones
horizontales definen ramas separadas de jerarquía modular para cada función importante. Las particiones verticales
sugiere que el control y el trabajo tendrían que ser distribuidos de arriba a abajo en la estructura de programa.
Estructura de datos - es una representación de la relación lógica entre los elementos individuales de los datos.
Procedimiento de software - centra en el procesamiento de cada módulo individualmente.
Ocultar Información- los módulos tendrían que ser especificados y diseñados de modo que la información contenida
dentro de un módulo es inaccesible a otros módulos, que no tienen ninguna necesidad de conocer esa información.
En su modelo de objeto, Grady Booch menciona Abstracción, Encapsulación, Modularización y Jerarquía como principios
fundamentales del diseño de software 4. El acrónimo PHAME (del inglés: Principles of Hierarchy, Abstraction,
Modularisation, and Encapsulation) se utiliza a veces para referirse a estos cuatro principios fundamentales. 5
Consideraciones de diseño
Hay muchos aspectos a considerar en el diseño de una pieza de software. La importancia de cada consideración tendría
que reflejar los objetivos y expectativas para los que el software está siendo creado. Algunos de estos aspectos son:
Compatibilidad - El software es capaz de operar con otros productos que están diseñado para interoperar con otros
productos. Por ejemplo, una pieza de software puede ser compatible con una versión más vieja de sí misma.
Extensibilidad - Las capacidades nuevas pueden añadirse al software sin cambios importantes a la arquitectura
subyacente.
Modularidad - El software resultante contiene componentes bien definidos e independientes que llevan a una mejor
mantenibilidad. Los componentes podrían ser entonces implementados y probados en aislamiento antes de ser
integrados en el sistema de software deseado. Esto permite la división de trabajo en un proyecto de desarrollo del
software.
Tolerancia a los fallos - El software es resistente y capaz de recuperarse de los fallos de componente.
Mantenibilidad - Una forma de medir cómo se consiguen los arreglos de errores y las modificaciones funcionales. Una
alta mantenibilidad puede ser producto de la modularidad y la extensibilidad.
Fiabilidad (durabilidad del Software) - El software es capaz de realizar una función bajo determinadas condiciones
durante un periodo específico de tiempo.
Reusabilidad- La capacidad de utilizar algunos o todos los aspectos del software existente en otros proyectos con pocas
o ninguna modificación.
Robustez - El software es capaz de operar bajo tensión o tolerar una entrada imprevisible o inexistente. Por ejemplo,
puede ser diseñado con resistencia a condiciones malas de memoria.
Seguridad - El software es capaz de resistir a influencias y actos hostiles.
Usabilidad - La interfaz de usuario del software tiene que ser utilizable para su audiencia objetivo. Los valores por
defecto para los parámetros tienen que ser escogidos de modo que sean una buena elección para la mayoría de los
usuarios.6
Rendimiento - El software realiza sus tareas dentro de una ventana temporal que es aceptable para el usuario, y no
requiere demasiada memoria.
Portabilidad - El software tendría que ser utilizable a través de un número de entornos y condiciones diferentes.
Escalabilidad - El software se adapta bien a un número creciente de datos o usuarios.
Documentos que debe tener un proyecto de software
¿Cómo documentar un proyecto de software sin perder agilidad en las entregas?
Existen múltiples metodologías y modelamientos que NoS permite analizar y diseñar sistemas de información para su
posterior construcción y puesta en producción; esto quiere decir que la existencia de metodologías como RUP y scrum y
modelamientos de datos como UML son la evidencia que soporta el argumento relacionado con que ninguna
metodología y modelamiento satisface en un 100% las necesidades de los equipos de desarrollo por lo cual, la mejor
forma de garantizar la documentación de un proyecto de software es seleccionando lo mejor que cada metodología y
modelamiento de sistemas de información NoS puede ofrecer para documentar un desarrollo de software sin llegar a
convertir la documentación en un proceso robusto y lento para lograr poner en producción el sistema de información
construido.

Seleccionar la documentación requerida para un proyecto de software, se determina a partir de la complejidad del
software a construir y la rigidez de los procedimientos de la compañía en donde se habrá de implementar el software
construido por lo cual, los aspectos para la selección de la documentación de software son los siguientes:

1) Identificar el grado de rigidez de los procedimientos de la compañía donde va a operar el software.

2) Identificar el grado de complejidad del software a construir.

3) Seleccionar los diagramas UML mínimos requeridos para realizar el modelamiento de software correctamente.

4) Seleccionar la metodología a utilizar durante el ciclo de vida del desarrollo de software.


¿Cómo trabajar en equipo en un proyecto de software?
Un equipo de desarrollo completo lo integra los siguientes perfiles:

1) Jefe o líder del área de desarrollo.


2) Analistas funcionales de software.

3) Analistas de sistemas.

4) Desarrolladores FrontEnd.

5) Desarrolladores BackEnd.

6) Analistas de pruebas QA.

7) Documentadores del producto de software.

Por consiguiente, el jefe o líder del área debe permitir que los integrantes del equipo de desarrollo se puedan
empoderar de su cargo y tomen decisiones que permitan dar celeridad al proyecto de software.

¿Cuales son los documentos básicos que debe tener un proyecto de software?

Los documentos para soportar un software son los siguientes:

1) Documento de requerimientos sea por casos de uso, Historias de usuario o procesos.

2) Documento de prueba del software.

3) Documento de prueba de escritorio.

4) Documento de buenas practicas de desarrollo.

5) Documento de análisis y diseño con los diagramas UML necesarios.

6) Diccionario de datos.

7) Documento de lecciones aprendidas.

8) Manual de instalación del software.

9) Manual funcional y técnico del software.

Sin embargo, no es necesario hacer uso de todos los documentos sino los que el equipo de desarrollo considere
convenientes para documentar correctamente el producto de software.
II PARCIAL INFORMATICA II
La historia de Internet se remonta al temprano desarrollo de las redes de comunicación. La idea de una red de
ordenadores diseñada para permitir la comunicación general entre usuarios de varias computadoras sea tanto
desarrollos tecnológicos como la fusión de la infraestructura de la red ya existente y los sistemas
de telecomunicaciones. La primera descripción documentada acerca de las interacciones sociales que podrían ser
propiciadas a través del networking (trabajo en red) está contenida en una serie de memorandos escritos por J.C.R.
Licklider, del Massachusetts Institute of Technology, en agosto de 1962, en los cuales Licklider discute sobre su concepto
de Galactic Network (Red Galáctica).
 Las más antiguas versiones de estas ideas aparecieron a finales de los años cincuenta. Implementaciones
prácticas de estos conceptos empezaron a finales de los ochenta y a lo largo de los noventa. En la década de
1980, tecnologías que reconoceríamos como las bases de la moderna Internet, empezaron a expandirse por
todo el mundo. En los noventa se introdujo la World Wide Web (WWW), que se hizo común.
La infraestructura de Internet se esparció por el mundo, para crear la moderna red mundial de computadoras que hoy
conocemos. Atravesó los países occidentales e intentó una penetración en los países en desarrollo, creando un acceso
mundial a información y comunicación sin precedentes, pero también una brecha digital en el acceso a esta nueva
infraestructura. Internet también alteró la economía del mundo entero, incluyendo las implicaciones económicas de
la burbuja de las .com.
Un método de conectar computadoras, prevalente sobre los demás, se basaba en el método de la computadora central
o unidad principal, que simplemente consistía en permitir a sus terminales conectarse a través de largas líneas
alquiladas. Este método se usaba en los años cincuenta por el Proyecto RAND para apoyar a investigadores
como Herbert Simon, en Pittsburgh (Pensilvania), cuando colaboraba a través de todo el continente con otros
investigadores de Santa Mónica (California)trabajando en demostración automática de teoremas e inteligencia artificial.
 Un pionero fundamental en lo que se refiere a una red mundial, J.C.R. Licklider, comprendió la necesidad de una
red mundial, según consta en su documento de enero,1960, «Man-Computer Symbiosis» («Simbiosis Hombre-
Computadora»).
Una red de muchos [ordenadores], conectados mediante líneas de comunicación de banda ancha" las cuales
proporcionan "las funciones que existen hoy en día de las bibliotecas junto con anticipados avances en el guardado y
adquisición de información y [otras] funciones simbióticas

En octubre de 1962, Licklider fue nombrado jefe de la oficina de procesado de información DARPA. La Agencia de
Proyectos de Investigación Avanzados de Defensa Como parte del papel de la oficina de procesado de información, se
instalaron tres terminales de redes: una para la System Development Corporationen Santa Mónica, otra para el Proyecto
Genie en la Universidad de California (Berkeley) y otra para el proyecto Multics en el Instituto Tecnológico de
Massachusetts. La necesidad de Lic klider de redes se haría evidente por los problemas que esto causó.
Para cada una de estas tres terminales, tenía tres diferentes juegos de comandos de usuario. Por tanto, si estaba
hablando en red con alguien en la S.D.C. y quería hablar con alguien que conocía en Berkeley o en el M.I.T. sobre esto,
tenía que irme de la terminal de la S.C.D., pasar y registrarme en la otra terminal para contactar con él.

Dije, es obvio lo que hay que hacer: si tienes esas tres terminales, debería haber una terminal que fuese a donde sea que
quisieras ir y en donde tengas interactividad. Esa idea es el ARPANet.

Como principal problema en lo que se refiere a las interconexiones está el conectar diferentes redes físicas para formar una sola red
lógica. Durante la década de 1960, varios grupos trabajaron en el concepto de la  conmutación de paquetes. Un paquete es un grupo
de información que consta de dos partes: los datos propiamente dichos y la información de control, en la que está especificado la
ruta a seguir a lo largo de la red hasta el destino del paquete. Mil octetos es el límite de longitud superior de los paquetes, y si la
longitud es mayor el mensaje se fragmenta en otros paquetes. Normalmente se considera que Donald Davies(National Physical
Laboratory), Paul Baran (Rand Corporation) yLeonard Kleinrock (MIT) lo han inventado simultáneamente.
Año Evento
1958 La compañía BELL crea el primer módem que permitía transmitir datos binarios sobre una línea telefónica simple.

1961 Leonard Kleinrock del Massachusetts Institute of Technology publica una primera teoría sobre la utilización de
la conmutación de paquetes para transferir datos.
1962 Inicio de investigaciones por parte de ARPA, una agencia del ministerio estadounidense de defensa, donde J.C.R.
Licklider defiende exitosamente sus ideas relativas a una red global de computadoras.
1964 Leonard Kleinrock del MIT publica un libro sobre la comunicación por conmutación de paquetes para
implementar una red.
1967 Primera conferencia sobre ARPANET
1969 Conexión de las primeras computadoras entre 4 universidades estadounidenses a través de la  Interface Message
Processor de Leonard Kleinrock
1971 23 computadoras son conectadas a ARPANET. Envío del primer correo por Ray Tomlinson.
1972 Nacimiento del InterNetworking Working Group, organización encargada de administrar Internet.
1973 Inglaterra y Noruega se adhieren a Internet, cada una con una computadora.
1979 Creación de los NewsGroups (foros de discusión) por estudiantes americanos.
1982 Definición del protocolo TCP/IP y de la palabra «Internet»
1983 Primer servidor de nombres de sitios.
1984 1000 computadoras conectadas.
1987 10000 computadoras conectadas.
1989 100000 computadoras conectadas.
1990 Desaparición de ARPANET
1991 Se anuncia públicamente la World Wide Web
1992 1 millón de computadoras conectadas.
1993 Aparición del navegador web NCSA Mosaic1
Primer buscador de la historia, Wandex servía como un índice de páginas web. 1
1996 10 millones de computadoras conectadas.
2000 Explosión de la Burbuja.com
2009 Primer sitio web que permitió la interacción táctil.1
La familia de protocolos de Internet es un conjunto de protocolos de red en los que se basa Internet y que permiten la transmisión
de datos entre computadoras.
En ocasiones se le denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más importantes que la componen,
que fueron de los primeros en definirse, y que son los dos más utilizados de la familia:

1. TCP (Transmission Control Protocol), Protocolo de Control de Transmisión, e,


2. IP (Internet Protocol), Protocolo de Internet.
Existen tantos protocolos en este conjunto que llegan a ser más de cien diferentes, entre ellos se encuentran, entre otros:

 ARP (Address Resolution Protocol), Protocolo de Resolución de Direcciones, para la resolución de direcciones,


 FTP (File Transfer Protocol), Protocolo de Transferencia de Archivos, para transferencia de archivos o ficheros,
 HTTP (HyperText Transfer Protocol), Protocolo de Transferencia de HiperTexto, que es popular porque se utiliza para acceder a
las páginas web,
 POP (Post Office Protocol), Protocolo de Oficina Postal, paracorreo electrónico,
 SMTP (Simple Mail Transfer Protocol), Protocolo de Transferencia Simple de Correo, para correo electrónico,
 Telnet (Teletype Network), para acceder a equipos remotos.
TCP/IP fue desarrollado y demostrado por primera vez en 1972por el Departamento de Defensa de los Estados Unidos, ejecutándolo
en ARPANET, una red de área extensa de dicho departamento.

El TCP/IP es la base de Internet que sirve para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo PC,
minicomputadoras y computadoras centrales sobre redes de área local y área extensa.Cada computadora necesita una configuración
correcta para conectar a Internet, esto es un protocolo, un cliente y un adaptador. En nuestro caso el cliente seria ya dependiendo
de las personas que vayan a utilizar su equipo, el adaptador del dispositivo que este utilizando en su computadora y en protocolo
que será el mas usado el TCP/IP.

El protocolo TCP/IP no es mas que un protocolo para poder comunicarse con otras computadoras. Este protocolo norma la manera
en que la computadora host se comunica al definir se empaquetan los datos y como se encuentra el camino hasta la computadora
remota. Este protocolo esta formado por dos protocolos diferentes, unidos y acoplados. Cada persona tiene una contraseña dada
por el proveedor de Internet que es única también.

Que es un dominio?

Al existir infinidad de ordenadores conectados a la Red, resulta imprescindible arbitrar un sistema que permita reconocer e
individualizar cada máquina que esté en conexión. Para poder transmitir la información de un ordenador a otro es necesario que
exista una dirección unívoca para transferir los datos. En un principio las direcciones de los ordenadores conectados se hacía a través
de direcciones que funcionaban a modo de números de teléfono. Pero como los humanos no somos buenos para recordar números
sino que por lo general prefiere utilizar nombres pues son más fáciles de recordar, inició la aparición de los llamados "nombres
de dominio" que nacieron con la tarea de ayudar a los humanos en su lucha contra los números y así identificar un directorio en la
red.

Los dominios del primer nivel son más específicos como COM, NET, EDU, lo cual indica el tipo de organización que es incluso en país
donde se encuentra. Mostraremos unos ejemplos.

Nombre Descripción
Com Organizaciones comerciales y con fines de lucro
Net Organizaciones diversas y sin fines de lucro
Edu Universidad que imparten carreras de cuarto años
Gov Agencias del gobierno federal
Do Republica dominicana Los
Uk Reino unido
servidores de nombre de dominio traducen estos nombres en direcciones IP.
El concepto de proveedor de servicios de Internet refiere una empresa que proporciona conectividad con Internet. La labor de
estas empresas es de mantener una gran red que se conecta directamente con Internet. La computadora que utiliza la gente común
con usted y yo establece una conexión de red con el proveedor de servicios a través de un protocolo de conexión y de un módem. A
esto se le llama conexión PPP.
La diferencia entre una conexión directa con una PPP es que la PPP es más lenta que la directa y también que es temporal o hasta
que el cliente siga pagando el servicio.
Todas la paginas de Internet tienen un formato, este es el HTML que es un lenguaje que especifica como se ve un documento en
Internet. Es conocido como lenguaje de etiquetas o de marcado de hipertexto. Esto quiere decir que las paginas de Internet se
pueden modificar. Editores como el FRONTPAGE y el COMPOSER son uno de los usados para modificar o hacer paginas de Internet.
Hay muchos otros lenguajes de programación que en combinación del HTML hacen que las paginas de Internet sean más eficiente,
rápidas y llamativas. Ejemplos de estos programas son JAVA, FLASH, MACROMEDIA, etc
SERVICIOS DE INTERNET

1. Correo Electrónico (E-MAIL) ejemplo: 1978duniaalvarado@gmail.com


Es tal vez el principal servicio de Internet, y sin duda el de mayor importancia histórica. Cada persona que está conectada cuenta con
un "buzón electrónico" personal, simbolizado en una dirección de correo.
El correo electrónico sirve para enviar y recibir mensajes a otros usuarios, y por eso no hay nunca dos nombres iguales. La primera
parte de una dirección identifica habitualmente a la persona y la segunda a la empresa u organización para la que trabaja, o al
proveedor de Internet a través del que recibe la información.
2. CHAT(Conversación), MESSENGER(Mensajería)
Hay programas y sitios que permiten que los usuarios se comuniquen mediante el teclado, micrófono o ambos en el caso del
messenger o mensajería en tiempo real.
3.Comunicacion on line
4. Comercio electrónico
5.Foros y grupos de discusión
6. Tramites personales
7. Educación en línea
8. Entretenimiento
Resumen de Base de Datos
Los sistemas gestores de bases de datos son la herramienta más adecuada para almacenar los datos en un sistema de
información debido a sus características de seguridad, recuperación ante fallos, gestión centralizada, estandarización del
lenguaje de consulta y funcionalidad avanzada

Entendemos como Base de Datos un conjunto de datos estructurado y almacenado de forma sistemática con objeto de
facilitar su posterior utilización. Una base de datos puede, por tanto, constituirse con cualquier tipo de datos, incluyendo
los de tipo puramente espacial (geometrías, etc.) tales como los que se utilizan en un SIG, así como, por supuesto, datos
numéricos y alfanuméricos como los que constituyen la componente temática de la información geoespacial. Los
elementos clave de la base de datos son esa estructuración y sistematicidad, pues ambas son las responsables de las
características que hacen de la base de datos un enfoque superior a la hora de gestionar datos.

Una base de datos es un conjunto de datos que están organizados para un uso determinado y el conjunto de los
programas que permiten gestionar estos datos es lo que se denomina Sistema Gestor de Bases de Datos.

Las bases de datos de Access 2013 tienen la extensión .ACCDB para que el ordenador las reconozca como tal.

Casi todos los sistemas de gestión de base de datos modernos almacenan y tratan la información utilizando el
modelo de gestión de bases de datos relacional.

En un sistema de base de datos relacional, los datos se organizan en Tablas.

Las tablas almacenan información sobre un tema como pueden ser los clientes de una empresa, o los pedidos
realizados por cada uno de ellos; las tablas se relacionan de forma que a partir de los datos de la tabla de clientes
podamos obtener información sobre los pedidos de estos y viceversa.

Una tabla de datos es un objeto que se define y utiliza para almacenar datos. Una tabla contiene información
sobre un tema o asunto particular, como pueden ser como hemos visto antes, clientes o pedidos.

Las tablas contienen columnas/campos que almacenan los diferentes datos como el código del cliente, nombre
del cliente, dirección,...

Y al conjunto de campos para un mismo objeto de la tabla se le denomina registro/fila, así todos los campos de
un cliente forman un registro, todos los datos de otro cliente forman otro registro,...  

Todos los valores de una columna determinada tienen el mismo tipo de dato, el tipo de dato define el conjunto
de valores que se podrán introducir en la columna. los tipos de datos vienen predefinidos y pueden variar de un
sistema de base de datos a otro pero suelen ser muy parecidos. Por ejemplo en Access 2013 tenemos el tipo
entero que representa números sin decimales tanto positivos como negativos hasta un cierto valor, volveremos
sobre los tipos de datos en un próximo tema.

A parte de estos valores, en una columna podemos encontrar un valor especial, el valor nulo (NULL) que indica
que en esa fila, esa columna no contiene ningún valor. Y evidentemente no es lo mismo que en un campo se
encuentre el valor 0 (cero) a que esté el valor NULL como veremos más adelante.

En una tabla no pueden haber dos columnas con el mismo nombre pero ese nombre sí se puede utilizar en otra
tabla.

Normalmente todas las tablas deben tener una clave principal definida. Una clave principal es una columna (o
combinación de columnas) que permite identificar de forma inequívoca cada fila de la tabla, por lo que no
pueden haber en una tabla dos filas con el mismo valor en la columna definida como clave principal. En el
ejemplo anterior la clave principal sería el campo Código ya que todos los clientes tienen un código y dos
clientes no pueden tener el mismo código (un mismo valor no se puede repetir en la columna Código, dos
clientes no pueden tener por ejemplo el código 2).

Una clave foránea es una columna (o combinación de columnas) que contiene un valor que hace referencia a
una fila de otra tabla (en algunos casos puede ser la misma tabla).

Por ejemplo, tenemos dos tablas, una de alumnos y otra de cursos, en la tabla de alumnos pondríamos una
columna curso : para saber en qué curso está matriculado el alumno, la columna curso en la tabla de alumnos es
clave foránea, mientras que la columna codigo de la tabla de cursos será clave primaria.

Las claves ajenas no permiten relacionar tablas entre sí.

Una tabla tiene una única clave primaria y puede contener cero o más claves foráneas.

Cuando se define una columna como clave principal, ninguna fila de la tabla puede contener un valor nulo en
esa columna ni tampoco se pueden repetir valores en la columna.

Cuando se define una columna como clave foránea, las filas de la tabla pueden contener en esa columna o bien
el valor nulo, o bien un valor que existe en la otra tabla. Eso es lo que se denomina integridad referencial que
consiste en que los datos que referencian otros (clave foránea) deben ser correctos.

Finalmente para poder manejar la información almacenada en la base de datos tenemos un lenguaje estándar
(varía poco de un sistema gestor a otro), el lenguaje SQL. En este curso no se estudia este lenguaje sino que se
utilizan las herramientas gráficas que nos proporciona Access para manejar la información almacenada en la
base de datos.

Una consulta es un objeto que proporciona una visión personal de los datos almacenados en las tablas ya
creadas.

Existen varios tipos de consultas para seleccionar, actualizar, borrar datos, etc., pero la mayoría de las veces se
utilizan para extraer de las tablas los datos que cumplen ciertas condiciones.

Por ejemplo, podríamos crear una consulta para obtener todos los datos de los clientes cuyo código postal sea
46625.

Access incorpora un entorno gráfico para crear consultas de forma sencilla y rápida que veremos a lo largo de
este curso.

Un formulario es el objeto de Access 2013 diseñado para la introducción, visualización y modificación de los
datos de las tablas.

Existen diferentes tipos de formularios pero los que más se utilizan tienen la forma de pestañas de datos para la
introducción por ejemplo de los diferentes clientes de la tabla CLIENTES

¿Por qué interesa usar una base de datos?

En base al ejemplo anterior, podemos analizar algo más sistemáticamente las ventajas de una base de datos
frente a una gestión no organizada de los datos. Las ventajas de utilizar un almacenamiento estructurado se
aprecian en diversos puntos, ya que afectan no solo a los datos sino también al propio uso que se hace de estos.
Algunas ventajas que afectan directamente a los datos son las siguientes:
 Mayor independencia. Los datos son independientes de las aplicaciones que los usan, así como de los
usuarios.
 Mayor disponibilidad. Se facilita el acceso a los datos desde contextos, aplicaciones y medios distintos,
haciéndolos útiles para un mayor número de usuarios.
 Mayor seguridad (protección de los datos). Por ejemplo, resulta más fácil replicar una base de datos
para mantener una copia de seguridad que hacerlo con un conjunto de ficheros almacenados de forma no
estructurada. Además, al estar centralizado el acceso a los datos, existe una verdadera sincronización de
todo el trabajo que se haya podido hacer sobre estos (modificaciones), con lo que esa copia de seguridad
servirá a todos los usuarios.
 Menor redundancia. Un mismo dato no se encuentra almacenado en múltiples ficheros o con múltiples
esquemas distintos, sino en una única instancia en la base de datos. Esto redunda en menor volumen de
datos y mayor rapidez de acceso.
 Mayor eficiencia en la captura, codificación y entrada de datos.

Esto tiene una consecuencia directa sobre los resultados que se obtienen de la explotación de la base de datos,
presentándose al respecto ventajas como, por ejemplo:

 Mayor coherencia. La mayor calidad de los datos que se deriva de su mejor gestión deriva en mayor
calidad de los resultados.
 Mayor eficiencia. Facilitando el acceso a los datos y haciendo más sencilla su explotación, la obtención
de resultados es más eficiente.
 Mayor valor informativo. Resulta más sencillo extraer la información que los datos contienen, ya que
uno de los cometidos de la base de datos es aumentar el valor de estos como fuente de información.

Por último, los usuarios de la base de datos también obtienen ventajas al trabajar con estas, entre los que cabe
citar:

 Mayor facilidad y sencillez de acceso. El usuario de la base de datos se debe preocupar únicamente de
usar los datos, disponiendo para ello de las herramientas adecuadas y de una estructura solida sobre la
que apoyarse.
 Facilidad para reutilización de datos. Esto es, facilidad para compartir.

De forma resumida, puede decirse que la principal bondad de una base de datos es la centralización que supone
de todos los datos con los que se trabaja en un contexto determinado, con las consecuencias que ello tiene para
una mejor gestión, acceso o estructuración de estos

Modelos de bases de datos

En función de la estructura utilizada para construir una base de datos, existen diversos modelos de bases de
datos. El modelo de la base de datos define un paradigma de almacenamiento, estableciendo cómo se
estructuran los datos y las relaciones entre estos. Las distintas operaciones sobre la base de datos (eliminación o
sustitución de datos, lectura de datos, etc.) vienen condicionadas por esta estructura, y existen notables
diferencias entre los principales modelos, cada uno de ellos con sus ventajas e inconvenientes particulares.
Algunos de los más habituales son los siguientes:

 Bases de datos jerárquicas. Los datos se recogen mediante una estructura basada en nodos
interconectados. Cada nodo puede tener un único padre y cero, uno o varios hijos. De este modo, se crea
una estructura en forma de árbol invertido en el que todos sus nodos dependen en última instancia de
uno denominado raíz. Aunque potente, el modelo jerárquico presenta algunas deficiencias,
principalmente la escasa independencia de sus registros (el acceso a un registro —un nodo— implica
que se ha de pasar por sus padres, restando flexibilidad a la navegación por la base de datos). Otra grave
deficiencia de este modelo es la mala gestión de la redundancia de datos, ya que si un registro guarda
relación con dos o más, debe almacenarse varias veces, ya que no se permite que el nodo
correspondiente tenga varios padres. Esto tiene consecuencias no solo en el mayor volumen de datos que
se almacena, sino también en la integridad y coherencia de los datos. Si se modifica una de las «copias»
de ese registro en la base de datos, deben modificarse también las restantes, ya que, aunque no
conectadas en la estructura de la base de datos, realmente representan una única realidad y debieran ser
idénticas entre sí.
 Bases de datos en red. Con objeto de solucionar los problemas de redundancia de las bases de datos
jerárquicas, surge el modelo en red. Este modelo permite la aparición de ciclos en la estructura de la
base de datos (es decir, no ha de existir un único padre para cada nodo), lo cual permite una mayor
eficacia en lo que a la redundancia de datos se refiere. Presenta, no obstante, otros problemas, siendo el
más importante de ellos su gran complejidad, lo que hace difícil la administración de la base de datos.
 Bases de datos relacionales. Constituyen el modelo de bases de datos más utilizado en la actualidad.
Solucionan los problemas asociados a las bases de datos jerárquicas y en red, utilizando para ello un
esquema basado en tablas, que resulta a la vez sencillo de comprender y fácil de utilizar para el análisis
y la consulta de los datos. Las tablas contienen un número dado de registros (equivalentes a las filas en
la tabla), así como campos (columnas), lo que da lugar a una correcta estructuración y un acceso
eficiente.
 Bases de datos orientadas a objetos. Se trata de uno de los modelos más actuales, derivado
directamente de los paradigmas de la programación orientada a objetos. El modelo extiende las
capacidades de las bases de datos relacionales, de tal modo que estas pueden contener objetos,
permitiendo así una integración más fácil con la propia arquitectura de los programas empleados para el
manejo de la base de datos, en caso de que estos hayan sido desarrollados mediante programación
orientada a objetos. Su popularidad crece de forma notable en ciertas áreas en las cuales resultan más
ventajosas que el modelo relacional, siendo los SIG una de ellas.

También podría gustarte